Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions langchain-core/src/messages/ai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,11 +219,15 @@ export class AIMessage extends BaseMessage {
}
}

export function isAIMessage(x: BaseMessage): x is AIMessage {
export function isAIMessage(x: BaseMessage | null | undefined): x is AIMessage {
if (!x) return false;
return x._getType() === "ai";
}

export function isAIMessageChunk(x: BaseMessageChunk): x is AIMessageChunk {
export function isAIMessageChunk(
x: BaseMessageChunk | null | undefined
): x is AIMessageChunk {
if (!x) return false;
return x._getType() === "ai";
}

Expand Down
5 changes: 3 additions & 2 deletions langchain-core/src/messages/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -544,13 +544,14 @@ export type BaseMessageLike =
| SerializedConstructor;

export function isBaseMessage(
messageLike?: unknown
messageLike: unknown | null | undefined
): messageLike is BaseMessage {
if (!messageLike) return false;
return typeof (messageLike as BaseMessage)?._getType === "function";
}

export function isBaseMessageChunk(
messageLike?: unknown
messageLike: unknown | null | undefined
): messageLike is BaseMessageChunk {
return (
isBaseMessage(messageLike) &&
Expand Down
15 changes: 12 additions & 3 deletions langchain-core/src/messages/chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,10 @@ export class ChatMessage
return "generic";
}

static isInstance(message: BaseMessage): message is ChatMessage {
static isInstance(
message: BaseMessage | null | undefined
): message is ChatMessage {
if (!message) return false;
return message._getType() === "generic";
}

Expand Down Expand Up @@ -109,10 +112,16 @@ export class ChatMessageChunk extends BaseMessageChunk {
}
}

export function isChatMessage(x: BaseMessage): x is ChatMessage {
export function isChatMessage(
x: BaseMessage | null | undefined
): x is ChatMessage {
if (!x) return false;
return x._getType() === "generic";
}

export function isChatMessageChunk(x: BaseMessageChunk): x is ChatMessageChunk {
export function isChatMessageChunk(
x: BaseMessageChunk | null | undefined
): x is ChatMessageChunk {
if (!x) return false;
return x._getType() === "generic";
}
8 changes: 6 additions & 2 deletions langchain-core/src/messages/function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,16 @@ export class FunctionMessageChunk extends BaseMessageChunk {
}
}

export function isFunctionMessage(x: BaseMessage): x is FunctionMessage {
export function isFunctionMessage(
x: BaseMessage | null | undefined
): x is FunctionMessage {
if (!x) return false;
return x._getType() === "function";
}

export function isFunctionMessageChunk(
x: BaseMessageChunk
x: BaseMessageChunk | null | undefined
): x is FunctionMessageChunk {
if (!x) return false;
return x._getType() === "function";
}
8 changes: 6 additions & 2 deletions langchain-core/src/messages/human.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,16 @@ export class HumanMessageChunk extends BaseMessageChunk {
}
}

export function isHumanMessage(x: BaseMessage): x is HumanMessage {
export function isHumanMessage(
x: BaseMessage | null | undefined
): x is HumanMessage {
if (!x) return false;
return x.getType() === "human";
}

export function isHumanMessageChunk(
x: BaseMessageChunk
x: BaseMessageChunk | null | undefined
): x is HumanMessageChunk {
if (!x) return false;
return x.getType() === "human";
}
8 changes: 6 additions & 2 deletions langchain-core/src/messages/system.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,16 @@ export class SystemMessageChunk extends BaseMessageChunk {
}
}

export function isSystemMessage(x: BaseMessage): x is SystemMessage {
export function isSystemMessage(
x: BaseMessage | null | undefined
): x is SystemMessage {
if (!x) return false;
return x._getType() === "system";
}

export function isSystemMessageChunk(
x: BaseMessageChunk
x: BaseMessageChunk | null | undefined
): x is SystemMessageChunk {
if (!x) return false;
return x._getType() === "system";
}
15 changes: 12 additions & 3 deletions langchain-core/src/messages/tool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,10 @@ export class ToolMessage extends BaseMessage implements DirectToolOutput {
return "tool";
}

static isInstance(message: BaseMessage): message is ToolMessage {
static isInstance(
message: BaseMessage | null | undefined
): message is ToolMessage {
if (!message) return false;
return message._getType() === "tool";
}

Expand Down Expand Up @@ -314,10 +317,16 @@ export function defaultToolCallParser(
return [toolCalls, invalidToolCalls];
}

export function isToolMessage(x: BaseMessage): x is ToolMessage {
export function isToolMessage(
x: BaseMessage | null | undefined
): x is ToolMessage {
if (x == null) return false;
return x._getType() === "tool";
}

export function isToolMessageChunk(x: BaseMessageChunk): x is ToolMessageChunk {
export function isToolMessageChunk(
x: BaseMessageChunk | null | undefined
): x is ToolMessageChunk {
if (x == null) return false;
return x._getType() === "tool";
}
Loading