@langchain/core 1.0.0-alpha.2 → 1.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/agents.d.ts.map +1 -1
  2. package/dist/caches/base.cjs +5 -18
  3. package/dist/caches/base.cjs.map +1 -1
  4. package/dist/caches/base.d.cts +4 -20
  5. package/dist/caches/base.d.cts.map +1 -1
  6. package/dist/caches/base.d.ts +4 -20
  7. package/dist/caches/base.d.ts.map +1 -1
  8. package/dist/caches/base.js +5 -18
  9. package/dist/caches/base.js.map +1 -1
  10. package/dist/callbacks/base.d.cts +3 -2
  11. package/dist/callbacks/base.d.cts.map +1 -1
  12. package/dist/callbacks/base.d.ts +3 -2
  13. package/dist/callbacks/base.d.ts.map +1 -1
  14. package/dist/callbacks/manager.d.cts +1 -1
  15. package/dist/callbacks/manager.d.ts +1 -1
  16. package/dist/language_models/base.d.cts +1 -1
  17. package/dist/language_models/base.d.ts +1 -1
  18. package/dist/language_models/chat_models.cjs +1 -0
  19. package/dist/language_models/chat_models.cjs.map +1 -1
  20. package/dist/language_models/chat_models.d.cts +2 -1
  21. package/dist/language_models/chat_models.d.cts.map +1 -1
  22. package/dist/language_models/chat_models.d.ts +2 -1
  23. package/dist/language_models/chat_models.d.ts.map +1 -1
  24. package/dist/language_models/chat_models.js +2 -1
  25. package/dist/language_models/chat_models.js.map +1 -1
  26. package/dist/messages/ai.cjs +32 -60
  27. package/dist/messages/ai.cjs.map +1 -1
  28. package/dist/messages/ai.d.cts +26 -119
  29. package/dist/messages/ai.d.cts.map +1 -1
  30. package/dist/messages/ai.d.ts +26 -119
  31. package/dist/messages/ai.d.ts.map +1 -1
  32. package/dist/messages/ai.js +32 -60
  33. package/dist/messages/ai.js.map +1 -1
  34. package/dist/messages/base.cjs +48 -28
  35. package/dist/messages/base.cjs.map +1 -1
  36. package/dist/messages/base.d.cts +37 -39
  37. package/dist/messages/base.d.cts.map +1 -1
  38. package/dist/messages/base.d.ts +37 -39
  39. package/dist/messages/base.d.ts.map +1 -1
  40. package/dist/messages/base.js +48 -28
  41. package/dist/messages/base.js.map +1 -1
  42. package/dist/messages/chat.cjs +18 -12
  43. package/dist/messages/chat.cjs.map +1 -1
  44. package/dist/messages/chat.d.cts +21 -13
  45. package/dist/messages/chat.d.cts.map +1 -1
  46. package/dist/messages/chat.d.ts +21 -13
  47. package/dist/messages/chat.d.ts.map +1 -1
  48. package/dist/messages/chat.js +18 -12
  49. package/dist/messages/chat.js.map +1 -1
  50. package/dist/messages/content/index.cjs.map +1 -1
  51. package/dist/messages/content/index.d.cts +1 -1
  52. package/dist/messages/content/index.d.cts.map +1 -1
  53. package/dist/messages/content/index.d.ts +1 -1
  54. package/dist/messages/content/index.d.ts.map +1 -1
  55. package/dist/messages/content/index.js.map +1 -1
  56. package/dist/messages/function.cjs +8 -13
  57. package/dist/messages/function.cjs.map +1 -1
  58. package/dist/messages/function.d.cts +11 -11
  59. package/dist/messages/function.d.cts.map +1 -1
  60. package/dist/messages/function.d.ts +11 -11
  61. package/dist/messages/function.d.ts.map +1 -1
  62. package/dist/messages/function.js +8 -13
  63. package/dist/messages/function.js.map +1 -1
  64. package/dist/messages/human.cjs +20 -11
  65. package/dist/messages/human.cjs.map +1 -1
  66. package/dist/messages/human.d.cts +20 -15
  67. package/dist/messages/human.d.cts.map +1 -1
  68. package/dist/messages/human.d.ts +20 -15
  69. package/dist/messages/human.d.ts.map +1 -1
  70. package/dist/messages/human.js +20 -11
  71. package/dist/messages/human.js.map +1 -1
  72. package/dist/messages/index.cjs +10 -0
  73. package/dist/messages/index.cjs.map +1 -1
  74. package/dist/messages/index.d.cts +9 -7
  75. package/dist/messages/index.d.ts +9 -7
  76. package/dist/messages/index.js +8 -2
  77. package/dist/messages/index.js.map +1 -1
  78. package/dist/messages/message.cjs +15 -0
  79. package/dist/messages/message.cjs.map +1 -0
  80. package/dist/messages/message.d.cts +598 -0
  81. package/dist/messages/message.d.cts.map +1 -0
  82. package/dist/messages/message.d.ts +598 -0
  83. package/dist/messages/message.d.ts.map +1 -0
  84. package/dist/messages/message.js +14 -0
  85. package/dist/messages/message.js.map +1 -0
  86. package/dist/messages/metadata.cjs +41 -0
  87. package/dist/messages/metadata.cjs.map +1 -0
  88. package/dist/messages/metadata.d.cts +98 -0
  89. package/dist/messages/metadata.d.cts.map +1 -0
  90. package/dist/messages/metadata.d.ts +98 -0
  91. package/dist/messages/metadata.d.ts.map +1 -0
  92. package/dist/messages/metadata.js +40 -0
  93. package/dist/messages/metadata.js.map +1 -0
  94. package/dist/messages/modifier.cjs +5 -7
  95. package/dist/messages/modifier.cjs.map +1 -1
  96. package/dist/messages/modifier.d.cts +7 -5
  97. package/dist/messages/modifier.d.cts.map +1 -1
  98. package/dist/messages/modifier.d.ts +7 -5
  99. package/dist/messages/modifier.d.ts.map +1 -1
  100. package/dist/messages/modifier.js +5 -7
  101. package/dist/messages/modifier.js.map +1 -1
  102. package/dist/messages/system.cjs +20 -11
  103. package/dist/messages/system.cjs.map +1 -1
  104. package/dist/messages/system.d.cts +20 -15
  105. package/dist/messages/system.d.cts.map +1 -1
  106. package/dist/messages/system.d.ts +20 -15
  107. package/dist/messages/system.d.ts.map +1 -1
  108. package/dist/messages/system.js +20 -11
  109. package/dist/messages/system.js.map +1 -1
  110. package/dist/messages/tool.cjs +15 -13
  111. package/dist/messages/tool.cjs.map +1 -1
  112. package/dist/messages/tool.d.cts +72 -46
  113. package/dist/messages/tool.d.cts.map +1 -1
  114. package/dist/messages/tool.d.ts +72 -46
  115. package/dist/messages/tool.d.ts.map +1 -1
  116. package/dist/messages/tool.js +15 -13
  117. package/dist/messages/tool.js.map +1 -1
  118. package/dist/messages/transformers.cjs.map +1 -1
  119. package/dist/messages/transformers.d.cts +2 -1
  120. package/dist/messages/transformers.d.cts.map +1 -1
  121. package/dist/messages/transformers.d.ts +2 -1
  122. package/dist/messages/transformers.d.ts.map +1 -1
  123. package/dist/messages/transformers.js.map +1 -1
  124. package/dist/messages/utils.cjs +8 -1
  125. package/dist/messages/utils.cjs.map +1 -1
  126. package/dist/messages/utils.d.cts +83 -3
  127. package/dist/messages/utils.d.cts.map +1 -1
  128. package/dist/messages/utils.d.ts +83 -3
  129. package/dist/messages/utils.d.ts.map +1 -1
  130. package/dist/messages/utils.js +8 -2
  131. package/dist/messages/utils.js.map +1 -1
  132. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +1 -1
  133. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +1 -1
  134. package/dist/prompt_values.d.cts +4 -3
  135. package/dist/prompt_values.d.cts.map +1 -1
  136. package/dist/prompt_values.d.ts +4 -3
  137. package/dist/prompt_values.d.ts.map +1 -1
  138. package/dist/prompts/chat.d.cts +3 -3
  139. package/dist/prompts/chat.d.cts.map +1 -1
  140. package/dist/prompts/chat.d.ts +3 -3
  141. package/dist/prompts/chat.d.ts.map +1 -1
  142. package/dist/prompts/few_shot.d.cts +1 -1
  143. package/dist/prompts/few_shot.d.ts +1 -1
  144. package/dist/prompts/image.d.cts +1 -1
  145. package/dist/prompts/image.d.ts +1 -1
  146. package/dist/prompts/prompt.d.cts +1 -1
  147. package/dist/prompts/prompt.d.ts +1 -1
  148. package/dist/prompts/template.d.cts +1 -1
  149. package/dist/prompts/template.d.ts +1 -1
  150. package/dist/runnables/base.d.cts +1 -1
  151. package/dist/runnables/base.d.ts +1 -1
  152. package/dist/tools/index.d.cts +1 -1
  153. package/dist/tools/index.d.ts +1 -1
  154. package/dist/tools/types.d.cts +1 -1
  155. package/dist/tools/types.d.ts +1 -1
  156. package/dist/tracers/base.d.cts +1 -1
  157. package/dist/tracers/base.d.ts +1 -1
  158. package/dist/tracers/tracer_langchain_v1.d.cts +1 -1
  159. package/dist/tracers/tracer_langchain_v1.d.ts +1 -1
  160. package/dist/utils/testing/index.d.cts +4 -3
  161. package/dist/utils/testing/index.d.cts.map +1 -1
  162. package/dist/utils/testing/index.d.ts +4 -3
  163. package/dist/utils/testing/index.d.ts.map +1 -1
  164. package/package.json +1 -1
@@ -8,39 +8,48 @@ var SystemMessage = class extends require_base.BaseMessage {
8
8
  static lc_name() {
9
9
  return "SystemMessage";
10
10
  }
11
- _getType() {
12
- return "system";
11
+ type = "system";
12
+ constructor(fields) {
13
+ super(fields);
13
14
  }
14
- constructor(fields, kwargs) {
15
- super(fields, kwargs);
15
+ static isInstance(obj) {
16
+ return super.isInstance(obj) && obj.type === "system";
16
17
  }
17
18
  };
18
19
  /**
19
20
  * Represents a chunk of a system message, which can be concatenated with
20
21
  * other system message chunks.
21
22
  */
22
- var SystemMessageChunk = class SystemMessageChunk extends require_base.BaseMessageChunk {
23
+ var SystemMessageChunk = class extends require_base.BaseMessageChunk {
23
24
  static lc_name() {
24
25
  return "SystemMessageChunk";
25
26
  }
26
- _getType() {
27
- return "system";
28
- }
29
- constructor(fields, kwargs) {
30
- super(fields, kwargs);
27
+ type = "system";
28
+ constructor(fields) {
29
+ super(fields);
31
30
  }
32
31
  concat(chunk) {
33
- return new SystemMessageChunk({
32
+ const Cls = this.constructor;
33
+ return new Cls({
34
34
  content: require_base.mergeContent(this.content, chunk.content),
35
35
  additional_kwargs: require_base._mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
36
36
  response_metadata: require_base._mergeDicts(this.response_metadata, chunk.response_metadata),
37
37
  id: this.id ?? chunk.id
38
38
  });
39
39
  }
40
+ static isInstance(obj) {
41
+ return super.isInstance(obj) && obj.type === "system";
42
+ }
40
43
  };
44
+ /**
45
+ * @deprecated Use {@link SystemMessage.isInstance} instead
46
+ */
41
47
  function isSystemMessage(x) {
42
48
  return x._getType() === "system";
43
49
  }
50
+ /**
51
+ * @deprecated Use {@link SystemMessageChunk.isInstance} instead
52
+ */
44
53
  function isSystemMessageChunk(x) {
45
54
  return x._getType() === "system";
46
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system.cjs","names":["BaseMessage","fields: string | SystemMessageFields","kwargs?: Record<string, unknown>","BaseMessageChunk","chunk: SystemMessageChunk","mergeContent","_mergeDicts","x: BaseMessage","x: BaseMessageChunk"],"sources":["../../src/messages/system.ts"],"sourcesContent":["import {\n BaseMessage,\n BaseMessageChunk,\n mergeContent,\n _mergeDicts,\n type MessageType,\n type BaseMessageFields,\n type MessageContent,\n} from \"./base.js\";\n\nexport type SystemMessageFields = BaseMessageFields;\n\n/**\n * Represents a system message in a conversation.\n */\nexport class SystemMessage extends BaseMessage {\n declare content: MessageContent;\n\n static lc_name() {\n return \"SystemMessage\";\n }\n\n _getType(): MessageType {\n return \"system\";\n }\n\n constructor(\n fields: string | SystemMessageFields,\n /** @deprecated */\n kwargs?: Record<string, unknown>\n ) {\n super(fields, kwargs);\n }\n}\n\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport class SystemMessageChunk extends BaseMessageChunk {\n declare content: MessageContent;\n\n static lc_name() {\n return \"SystemMessageChunk\";\n }\n\n _getType(): MessageType {\n return \"system\";\n }\n\n constructor(\n fields: string | SystemMessageFields,\n /** @deprecated */\n kwargs?: Record<string, unknown>\n ) {\n super(fields, kwargs);\n }\n\n concat(chunk: SystemMessageChunk) {\n return new SystemMessageChunk({\n content: mergeContent(this.content, chunk.content),\n additional_kwargs: _mergeDicts(\n this.additional_kwargs,\n chunk.additional_kwargs\n ),\n response_metadata: _mergeDicts(\n this.response_metadata,\n chunk.response_metadata\n ),\n id: this.id ?? chunk.id,\n });\n }\n}\n\nexport function isSystemMessage(x: BaseMessage): x is SystemMessage {\n return x._getType() === \"system\";\n}\n\nexport function isSystemMessageChunk(\n x: BaseMessageChunk\n): x is SystemMessageChunk {\n return x._getType() === \"system\";\n}\n"],"mappings":";;;;;;AAeA,IAAa,gBAAb,cAAmCA,yBAAY;CAG7C,OAAO,UAAU;AACf,SAAO;CACR;CAED,WAAwB;AACtB,SAAO;CACR;CAED,YACEC,QAEAC,QACA;EACA,MAAM,QAAQ,OAAO;CACtB;AACF;;;;;AAMD,IAAa,qBAAb,MAAa,2BAA2BC,8BAAiB;CAGvD,OAAO,UAAU;AACf,SAAO;CACR;CAED,WAAwB;AACtB,SAAO;CACR;CAED,YACEF,QAEAC,QACA;EACA,MAAM,QAAQ,OAAO;CACtB;CAED,OAAOE,OAA2B;AAChC,SAAO,IAAI,mBAAmB;GAC5B,SAASC,0BAAa,KAAK,SAAS,MAAM,QAAQ;GAClD,mBAAmBC,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,mBAAmBA,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,IAAI,KAAK,MAAM,MAAM;EACtB;CACF;AACF;AAED,SAAgB,gBAAgBC,GAAoC;AAClE,QAAO,EAAE,UAAU,KAAK;AACzB;AAED,SAAgB,qBACdC,GACyB;AACzB,QAAO,EAAE,UAAU,KAAK;AACzB"}
1
+ {"version":3,"file":"system.cjs","names":["BaseMessage","fields:\n | $InferMessageContent<TStructure, \"system\">\n | SystemMessageFields<TStructure>","obj: unknown","BaseMessageChunk","chunk: SystemMessageChunk<TStructure>","mergeContent","_mergeDicts","x: BaseMessage","x: BaseMessageChunk"],"sources":["../../src/messages/system.ts"],"sourcesContent":["import {\n BaseMessage,\n BaseMessageChunk,\n mergeContent,\n _mergeDicts,\n type BaseMessageFields,\n} from \"./base.js\";\nimport { $InferMessageContent, MessageStructure } from \"./message.js\";\nimport { Constructor } from \"./utils.js\";\n\nexport interface SystemMessageFields<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessageFields<TStructure, \"system\"> {}\n\n/**\n * Represents a system message in a conversation.\n */\nexport class SystemMessage<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessage<TStructure, \"system\"> {\n static lc_name() {\n return \"SystemMessage\";\n }\n\n readonly type = \"system\" as const;\n\n constructor(\n fields:\n | $InferMessageContent<TStructure, \"system\">\n | SystemMessageFields<TStructure>\n ) {\n super(fields);\n }\n\n static isInstance(obj: unknown): obj is SystemMessage {\n return super.isInstance(obj) && obj.type === \"system\";\n }\n}\n\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport class SystemMessageChunk<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessageChunk<TStructure, \"system\"> {\n static lc_name() {\n return \"SystemMessageChunk\";\n }\n\n readonly type = \"system\" as const;\n\n constructor(\n fields:\n | $InferMessageContent<TStructure, \"system\">\n | SystemMessageFields<TStructure>\n ) {\n super(fields);\n }\n\n concat(chunk: SystemMessageChunk<TStructure>) {\n const Cls = this.constructor as Constructor<this>;\n return new Cls({\n content: mergeContent(this.content, chunk.content),\n additional_kwargs: _mergeDicts(\n this.additional_kwargs,\n chunk.additional_kwargs\n ),\n response_metadata: _mergeDicts(\n this.response_metadata,\n chunk.response_metadata\n ),\n id: this.id ?? chunk.id,\n });\n }\n\n static isInstance(obj: unknown): obj is SystemMessageChunk {\n return super.isInstance(obj) && obj.type === \"system\";\n }\n}\n\n/**\n * @deprecated Use {@link SystemMessage.isInstance} instead\n */\nexport function isSystemMessage<TStructure extends MessageStructure>(\n x: BaseMessage\n): x is SystemMessage<TStructure> {\n return x._getType() === \"system\";\n}\n\n/**\n * @deprecated Use {@link SystemMessageChunk.isInstance} instead\n */\nexport function isSystemMessageChunk<TStructure extends MessageStructure>(\n x: BaseMessageChunk\n): x is SystemMessageChunk<TStructure> {\n return x._getType() === \"system\";\n}\n"],"mappings":";;;;;;AAiBA,IAAa,gBAAb,cAEUA,yBAAkC;CAC1C,OAAO,UAAU;AACf,SAAO;CACR;CAED,AAAS,OAAO;CAEhB,YACEC,QAGA;EACA,MAAM,OAAO;CACd;CAED,OAAO,WAAWC,KAAoC;AACpD,SAAO,MAAM,WAAW,IAAI,IAAI,IAAI,SAAS;CAC9C;AACF;;;;;AAMD,IAAa,qBAAb,cAEUC,8BAAuC;CAC/C,OAAO,UAAU;AACf,SAAO;CACR;CAED,AAAS,OAAO;CAEhB,YACEF,QAGA;EACA,MAAM,OAAO;CACd;CAED,OAAOG,OAAuC;EAC5C,MAAM,MAAM,KAAK;AACjB,SAAO,IAAI,IAAI;GACb,SAASC,0BAAa,KAAK,SAAS,MAAM,QAAQ;GAClD,mBAAmBC,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,mBAAmBA,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,IAAI,KAAK,MAAM,MAAM;EACtB;CACF;CAED,OAAO,WAAWJ,KAAyC;AACzD,SAAO,MAAM,WAAW,IAAI,IAAI,IAAI,SAAS;CAC9C;AACF;;;;AAKD,SAAgB,gBACdK,GACgC;AAChC,QAAO,EAAE,UAAU,KAAK;AACzB;;;;AAKD,SAAgB,qBACdC,GACqC;AACrC,QAAO,EAAE,UAAU,KAAK;AACzB"}
@@ -1,31 +1,36 @@
1
- import { BaseMessage, BaseMessageChunk, BaseMessageFields, MessageContent, MessageType } from "./base.cjs";
1
+ import { BaseMessage, BaseMessageChunk, BaseMessageFields } from "./base.cjs";
2
+ import { $InferMessageContent, MessageStructure } from "./message.cjs";
2
3
 
3
4
  //#region src/messages/system.d.ts
4
- type SystemMessageFields = BaseMessageFields;
5
+ interface SystemMessageFields<TStructure extends MessageStructure = MessageStructure> extends BaseMessageFields<TStructure, "system"> {}
5
6
  /**
6
7
  * Represents a system message in a conversation.
7
8
  */
8
- declare class SystemMessage extends BaseMessage {
9
- content: MessageContent;
9
+ declare class SystemMessage<TStructure extends MessageStructure = MessageStructure> extends BaseMessage<TStructure, "system"> {
10
10
  static lc_name(): string;
11
- _getType(): MessageType;
12
- constructor(fields: string | SystemMessageFields, /** @deprecated */
13
- kwargs?: Record<string, unknown>);
11
+ readonly type: "system";
12
+ constructor(fields: $InferMessageContent<TStructure, "system"> | SystemMessageFields<TStructure>);
13
+ static isInstance(obj: unknown): obj is SystemMessage;
14
14
  }
15
15
  /**
16
16
  * Represents a chunk of a system message, which can be concatenated with
17
17
  * other system message chunks.
18
18
  */
19
- declare class SystemMessageChunk extends BaseMessageChunk {
20
- content: MessageContent;
19
+ declare class SystemMessageChunk<TStructure extends MessageStructure = MessageStructure> extends BaseMessageChunk<TStructure, "system"> {
21
20
  static lc_name(): string;
22
- _getType(): MessageType;
23
- constructor(fields: string | SystemMessageFields, /** @deprecated */
24
- kwargs?: Record<string, unknown>);
25
- concat(chunk: SystemMessageChunk): SystemMessageChunk;
21
+ readonly type: "system";
22
+ constructor(fields: $InferMessageContent<TStructure, "system"> | SystemMessageFields<TStructure>);
23
+ concat(chunk: SystemMessageChunk<TStructure>): this;
24
+ static isInstance(obj: unknown): obj is SystemMessageChunk;
26
25
  }
27
- declare function isSystemMessage(x: BaseMessage): x is SystemMessage;
28
- declare function isSystemMessageChunk(x: BaseMessageChunk): x is SystemMessageChunk;
26
+ /**
27
+ * @deprecated Use {@link SystemMessage.isInstance} instead
28
+ */
29
+ declare function isSystemMessage<TStructure extends MessageStructure>(x: BaseMessage): x is SystemMessage<TStructure>;
30
+ /**
31
+ * @deprecated Use {@link SystemMessageChunk.isInstance} instead
32
+ */
33
+ declare function isSystemMessageChunk<TStructure extends MessageStructure>(x: BaseMessageChunk): x is SystemMessageChunk<TStructure>;
29
34
  //#endregion
30
35
  export { SystemMessage, SystemMessageChunk, SystemMessageFields, isSystemMessage, isSystemMessageChunk };
31
36
  //# sourceMappingURL=system.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.cts","names":["BaseMessage","BaseMessageChunk","MessageType","BaseMessageFields","MessageContent","SystemMessageFields","SystemMessage","Record","SystemMessageChunk","isSystemMessage","isSystemMessageChunk"],"sources":["../../src/messages/system.d.ts"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, type MessageType, type BaseMessageFields, type MessageContent } from \"./base.js\";\nexport type SystemMessageFields = BaseMessageFields;\n/**\n * Represents a system message in a conversation.\n */\nexport declare class SystemMessage extends BaseMessage {\n content: MessageContent;\n static lc_name(): string;\n _getType(): MessageType;\n constructor(fields: string | SystemMessageFields, \n /** @deprecated */\n kwargs?: Record<string, unknown>);\n}\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport declare class SystemMessageChunk extends BaseMessageChunk {\n content: MessageContent;\n static lc_name(): string;\n _getType(): MessageType;\n constructor(fields: string | SystemMessageFields, \n /** @deprecated */\n kwargs?: Record<string, unknown>);\n concat(chunk: SystemMessageChunk): SystemMessageChunk;\n}\nexport declare function isSystemMessage(x: BaseMessage): x is SystemMessage;\nexport declare function isSystemMessageChunk(x: BaseMessageChunk): x is SystemMessageChunk;\n"],"mappings":";;;KACYK,mBAAAA,GAAsBF;;AAAlC;AAIA;AAAkC,cAAbG,aAAAA,SAAsBN,WAAAA,CAAT;EAAA,OACrBI,EAAAA,cAAAA;EAAc,OAEXF,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAW,QACMG,CAAAA,CAAAA,EADjBH,WACiBG;EAAmB,WAEvCE,CAAAA,MAAAA,EAAAA,MAAAA,GAFoBF,mBAEpBE,EAAM;EANmC,MAAA,CAAA,EAMzCA,MANyC,CAAA,MAAA,EAAA,OAAA,CAAA;AAYtD;;;;;AAMaA,cANQC,kBAAAA,SAA2BP,gBAAAA,CAMnCM;EAAM,OACDC,EANLJ,cAMKI;EAAkB,OAAGA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAkB,QAPTP,CAAAA,CAAAA,EAGhCC,WAHgCD;EAAgB,WAAA,CAAA,MAAA,EAAA,MAAA,GAI/BI,mBAJ+B,EASxCI;EAAe,MAAA,CAAA,EAH1BF,MAG0B,CAAA,MAAA,EAAA,OAAA,CAAA;EAAA,MAAIP,CAAAA,KAAAA,EAFzBQ,kBAEyBR,CAAAA,EAFJQ,kBAEIR;;AAAgC,iBAAnDS,eAAAA,CAAmD,CAAA,EAAhCT,WAAgC,CAAA,EAAA,CAAA,IAAbM,aAAa;AACnDI,iBAAAA,oBAAAA,CAAoB,CAAA,EAAIT,gBAAJ,CAAA,EAAA,CAAA,IAA4BO,kBAA5B"}
1
+ {"version":3,"file":"system.d.cts","names":["BaseMessage","BaseMessageChunk","BaseMessageFields","$InferMessageContent","MessageStructure","SystemMessageFields","TStructure","SystemMessage","SystemMessageChunk","isSystemMessage","isSystemMessageChunk"],"sources":["../../src/messages/system.d.ts"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, type BaseMessageFields } from \"./base.js\";\nimport { $InferMessageContent, MessageStructure } from \"./message.js\";\nexport interface SystemMessageFields<TStructure extends MessageStructure = MessageStructure> extends BaseMessageFields<TStructure, \"system\"> {\n}\n/**\n * Represents a system message in a conversation.\n */\nexport declare class SystemMessage<TStructure extends MessageStructure = MessageStructure> extends BaseMessage<TStructure, \"system\"> {\n static lc_name(): string;\n readonly type: \"system\";\n constructor(fields: $InferMessageContent<TStructure, \"system\"> | SystemMessageFields<TStructure>);\n static isInstance(obj: unknown): obj is SystemMessage;\n}\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport declare class SystemMessageChunk<TStructure extends MessageStructure = MessageStructure> extends BaseMessageChunk<TStructure, \"system\"> {\n static lc_name(): string;\n readonly type: \"system\";\n constructor(fields: $InferMessageContent<TStructure, \"system\"> | SystemMessageFields<TStructure>);\n concat(chunk: SystemMessageChunk<TStructure>): this;\n static isInstance(obj: unknown): obj is SystemMessageChunk;\n}\n/**\n * @deprecated Use {@link SystemMessage.isInstance} instead\n */\nexport declare function isSystemMessage<TStructure extends MessageStructure>(x: BaseMessage): x is SystemMessage<TStructure>;\n/**\n * @deprecated Use {@link SystemMessageChunk.isInstance} instead\n */\nexport declare function isSystemMessageChunk<TStructure extends MessageStructure>(x: BaseMessageChunk): x is SystemMessageChunk<TStructure>;\n"],"mappings":";;;;UAEiBK,uCAAuCD,mBAAmBA,0BAA0BF,kBAAkBI;AAAvH;;;AAA2EF,cAKtDG,aALsDH,CAAAA,mBAKrBA,gBALqBA,GAKFA,gBALEA,CAAAA,SAKwBJ,WALxBI,CAKoCE,UALpCF,EAAAA,QAAAA,CAAAA,CAAAA;EAAgB,OAA4BE,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAU,SAA5BJ,IAAAA,EAAAA,QAAAA;EAAiB,WAAA,CAAA,MAAA,EAQ9FC,oBAR8F,CAQzEG,UARyE,EAAA,QAAA,CAAA,GAQjDD,mBARiD,CAQ7BC,UAR6B,CAAA;EAKjGC,OAAAA,UAAa,CAAA,GAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAIUA,aAJV;;;;;;AAGVJ,cAOHK,kBAPGL,CAAAA,mBAOmCC,gBAPnCD,GAOsDC,gBAPtDD,CAAAA,SAOgFF,gBAPhFE,CAOiGG,UAPjGH,EAAAA,QAAAA,CAAAA,CAAAA;EAAoB,OAA6CG,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAU,SAA9BD,IAAAA,EAAAA,QAAAA;EAAmB,WAC5CE,CAAAA,MAAAA,EASpBJ,oBAToBI,CASCD,UATDC,EAAAA,QAAAA,CAAAA,GASyBF,mBATzBE,CAS6CD,UAT7CC,CAAAA;EAAa,MAJ0CP,CAAAA,KAAAA,EAcjFQ,kBAdiFR,CAc9DM,UAd8DN,CAAAA,CAAAA,EAAAA,IAAAA;EAAW,OAAA,UAAA,CAAA,GAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAelEQ,kBAfkE;AAU9G;;;;AAAyHF,iBAUjGG,eAViGH,CAAAA,mBAU9DF,gBAV8DE,CAAAA,CAAAA,CAAAA,EAUzCN,WAVyCM,CAAAA,EAAAA,CAAAA,IAUtBC,aAVsBD,CAURA,UAVQA,CAAAA;;;;AAGpDD,iBAW7CK,oBAX6CL,CAAAA,mBAWLD,gBAXKC,CAAAA,CAAAA,CAAAA,EAWgBJ,gBAXhBI,CAAAA,EAAAA,CAAAA,IAWwCG,kBAXxCH,CAW2DC,UAX3DD,CAAAA"}
@@ -1,31 +1,36 @@
1
- import { BaseMessage, BaseMessageChunk, BaseMessageFields, MessageContent, MessageType } from "./base.js";
1
+ import { BaseMessage, BaseMessageChunk, BaseMessageFields } from "./base.js";
2
+ import { $InferMessageContent, MessageStructure } from "./message.js";
2
3
 
3
4
  //#region src/messages/system.d.ts
4
- type SystemMessageFields = BaseMessageFields;
5
+ interface SystemMessageFields<TStructure extends MessageStructure = MessageStructure> extends BaseMessageFields<TStructure, "system"> {}
5
6
  /**
6
7
  * Represents a system message in a conversation.
7
8
  */
8
- declare class SystemMessage extends BaseMessage {
9
- content: MessageContent;
9
+ declare class SystemMessage<TStructure extends MessageStructure = MessageStructure> extends BaseMessage<TStructure, "system"> {
10
10
  static lc_name(): string;
11
- _getType(): MessageType;
12
- constructor(fields: string | SystemMessageFields, /** @deprecated */
13
- kwargs?: Record<string, unknown>);
11
+ readonly type: "system";
12
+ constructor(fields: $InferMessageContent<TStructure, "system"> | SystemMessageFields<TStructure>);
13
+ static isInstance(obj: unknown): obj is SystemMessage;
14
14
  }
15
15
  /**
16
16
  * Represents a chunk of a system message, which can be concatenated with
17
17
  * other system message chunks.
18
18
  */
19
- declare class SystemMessageChunk extends BaseMessageChunk {
20
- content: MessageContent;
19
+ declare class SystemMessageChunk<TStructure extends MessageStructure = MessageStructure> extends BaseMessageChunk<TStructure, "system"> {
21
20
  static lc_name(): string;
22
- _getType(): MessageType;
23
- constructor(fields: string | SystemMessageFields, /** @deprecated */
24
- kwargs?: Record<string, unknown>);
25
- concat(chunk: SystemMessageChunk): SystemMessageChunk;
21
+ readonly type: "system";
22
+ constructor(fields: $InferMessageContent<TStructure, "system"> | SystemMessageFields<TStructure>);
23
+ concat(chunk: SystemMessageChunk<TStructure>): this;
24
+ static isInstance(obj: unknown): obj is SystemMessageChunk;
26
25
  }
27
- declare function isSystemMessage(x: BaseMessage): x is SystemMessage;
28
- declare function isSystemMessageChunk(x: BaseMessageChunk): x is SystemMessageChunk;
26
+ /**
27
+ * @deprecated Use {@link SystemMessage.isInstance} instead
28
+ */
29
+ declare function isSystemMessage<TStructure extends MessageStructure>(x: BaseMessage): x is SystemMessage<TStructure>;
30
+ /**
31
+ * @deprecated Use {@link SystemMessageChunk.isInstance} instead
32
+ */
33
+ declare function isSystemMessageChunk<TStructure extends MessageStructure>(x: BaseMessageChunk): x is SystemMessageChunk<TStructure>;
29
34
  //#endregion
30
35
  export { SystemMessage, SystemMessageChunk, SystemMessageFields, isSystemMessage, isSystemMessageChunk };
31
36
  //# sourceMappingURL=system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","names":["BaseMessage","BaseMessageChunk","MessageType","BaseMessageFields","MessageContent","SystemMessageFields","SystemMessage","Record","SystemMessageChunk","isSystemMessage","isSystemMessageChunk"],"sources":["../../src/messages/system.d.ts"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, type MessageType, type BaseMessageFields, type MessageContent } from \"./base.js\";\nexport type SystemMessageFields = BaseMessageFields;\n/**\n * Represents a system message in a conversation.\n */\nexport declare class SystemMessage extends BaseMessage {\n content: MessageContent;\n static lc_name(): string;\n _getType(): MessageType;\n constructor(fields: string | SystemMessageFields, \n /** @deprecated */\n kwargs?: Record<string, unknown>);\n}\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport declare class SystemMessageChunk extends BaseMessageChunk {\n content: MessageContent;\n static lc_name(): string;\n _getType(): MessageType;\n constructor(fields: string | SystemMessageFields, \n /** @deprecated */\n kwargs?: Record<string, unknown>);\n concat(chunk: SystemMessageChunk): SystemMessageChunk;\n}\nexport declare function isSystemMessage(x: BaseMessage): x is SystemMessage;\nexport declare function isSystemMessageChunk(x: BaseMessageChunk): x is SystemMessageChunk;\n"],"mappings":";;;KACYK,mBAAAA,GAAsBF;;AAAlC;AAIA;AAAkC,cAAbG,aAAAA,SAAsBN,WAAAA,CAAT;EAAA,OACrBI,EAAAA,cAAAA;EAAc,OAEXF,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAW,QACMG,CAAAA,CAAAA,EADjBH,WACiBG;EAAmB,WAEvCE,CAAAA,MAAAA,EAAAA,MAAAA,GAFoBF,mBAEpBE,EAAM;EANmC,MAAA,CAAA,EAMzCA,MANyC,CAAA,MAAA,EAAA,OAAA,CAAA;AAYtD;;;;;AAMaA,cANQC,kBAAAA,SAA2BP,gBAAAA,CAMnCM;EAAM,OACDC,EANLJ,cAMKI;EAAkB,OAAGA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAkB,QAPTP,CAAAA,CAAAA,EAGhCC,WAHgCD;EAAgB,WAAA,CAAA,MAAA,EAAA,MAAA,GAI/BI,mBAJ+B,EASxCI;EAAe,MAAA,CAAA,EAH1BF,MAG0B,CAAA,MAAA,EAAA,OAAA,CAAA;EAAA,MAAIP,CAAAA,KAAAA,EAFzBQ,kBAEyBR,CAAAA,EAFJQ,kBAEIR;;AAAgC,iBAAnDS,eAAAA,CAAmD,CAAA,EAAhCT,WAAgC,CAAA,EAAA,CAAA,IAAbM,aAAa;AACnDI,iBAAAA,oBAAAA,CAAoB,CAAA,EAAIT,gBAAJ,CAAA,EAAA,CAAA,IAA4BO,kBAA5B"}
1
+ {"version":3,"file":"system.d.ts","names":["BaseMessage","BaseMessageChunk","BaseMessageFields","$InferMessageContent","MessageStructure","SystemMessageFields","TStructure","SystemMessage","SystemMessageChunk","isSystemMessage","isSystemMessageChunk"],"sources":["../../src/messages/system.d.ts"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, type BaseMessageFields } from \"./base.js\";\nimport { $InferMessageContent, MessageStructure } from \"./message.js\";\nexport interface SystemMessageFields<TStructure extends MessageStructure = MessageStructure> extends BaseMessageFields<TStructure, \"system\"> {\n}\n/**\n * Represents a system message in a conversation.\n */\nexport declare class SystemMessage<TStructure extends MessageStructure = MessageStructure> extends BaseMessage<TStructure, \"system\"> {\n static lc_name(): string;\n readonly type: \"system\";\n constructor(fields: $InferMessageContent<TStructure, \"system\"> | SystemMessageFields<TStructure>);\n static isInstance(obj: unknown): obj is SystemMessage;\n}\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport declare class SystemMessageChunk<TStructure extends MessageStructure = MessageStructure> extends BaseMessageChunk<TStructure, \"system\"> {\n static lc_name(): string;\n readonly type: \"system\";\n constructor(fields: $InferMessageContent<TStructure, \"system\"> | SystemMessageFields<TStructure>);\n concat(chunk: SystemMessageChunk<TStructure>): this;\n static isInstance(obj: unknown): obj is SystemMessageChunk;\n}\n/**\n * @deprecated Use {@link SystemMessage.isInstance} instead\n */\nexport declare function isSystemMessage<TStructure extends MessageStructure>(x: BaseMessage): x is SystemMessage<TStructure>;\n/**\n * @deprecated Use {@link SystemMessageChunk.isInstance} instead\n */\nexport declare function isSystemMessageChunk<TStructure extends MessageStructure>(x: BaseMessageChunk): x is SystemMessageChunk<TStructure>;\n"],"mappings":";;;;UAEiBK,uCAAuCD,mBAAmBA,0BAA0BF,kBAAkBI;AAAvH;;;AAA2EF,cAKtDG,aALsDH,CAAAA,mBAKrBA,gBALqBA,GAKFA,gBALEA,CAAAA,SAKwBJ,WALxBI,CAKoCE,UALpCF,EAAAA,QAAAA,CAAAA,CAAAA;EAAgB,OAA4BE,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAU,SAA5BJ,IAAAA,EAAAA,QAAAA;EAAiB,WAAA,CAAA,MAAA,EAQ9FC,oBAR8F,CAQzEG,UARyE,EAAA,QAAA,CAAA,GAQjDD,mBARiD,CAQ7BC,UAR6B,CAAA;EAKjGC,OAAAA,UAAa,CAAA,GAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAIUA,aAJV;;;;;;AAGVJ,cAOHK,kBAPGL,CAAAA,mBAOmCC,gBAPnCD,GAOsDC,gBAPtDD,CAAAA,SAOgFF,gBAPhFE,CAOiGG,UAPjGH,EAAAA,QAAAA,CAAAA,CAAAA;EAAoB,OAA6CG,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAU,SAA9BD,IAAAA,EAAAA,QAAAA;EAAmB,WAC5CE,CAAAA,MAAAA,EASpBJ,oBAToBI,CASCD,UATDC,EAAAA,QAAAA,CAAAA,GASyBF,mBATzBE,CAS6CD,UAT7CC,CAAAA;EAAa,MAJ0CP,CAAAA,KAAAA,EAcjFQ,kBAdiFR,CAc9DM,UAd8DN,CAAAA,CAAAA,EAAAA,IAAAA;EAAW,OAAA,UAAA,CAAA,GAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAelEQ,kBAfkE;AAU9G;;;;AAAyHF,iBAUjGG,eAViGH,CAAAA,mBAU9DF,gBAV8DE,CAAAA,CAAAA,CAAAA,EAUzCN,WAVyCM,CAAAA,EAAAA,CAAAA,IAUtBC,aAVsBD,CAURA,UAVQA,CAAAA;;;;AAGpDD,iBAW7CK,oBAX6CL,CAAAA,mBAWLD,gBAXKC,CAAAA,CAAAA,CAAAA,EAWgBJ,gBAXhBI,CAAAA,EAAAA,CAAAA,IAWwCG,kBAXxCH,CAW2DC,UAX3DD,CAAAA"}
@@ -8,39 +8,48 @@ var SystemMessage = class extends BaseMessage {
8
8
  static lc_name() {
9
9
  return "SystemMessage";
10
10
  }
11
- _getType() {
12
- return "system";
11
+ type = "system";
12
+ constructor(fields) {
13
+ super(fields);
13
14
  }
14
- constructor(fields, kwargs) {
15
- super(fields, kwargs);
15
+ static isInstance(obj) {
16
+ return super.isInstance(obj) && obj.type === "system";
16
17
  }
17
18
  };
18
19
  /**
19
20
  * Represents a chunk of a system message, which can be concatenated with
20
21
  * other system message chunks.
21
22
  */
22
- var SystemMessageChunk = class SystemMessageChunk extends BaseMessageChunk {
23
+ var SystemMessageChunk = class extends BaseMessageChunk {
23
24
  static lc_name() {
24
25
  return "SystemMessageChunk";
25
26
  }
26
- _getType() {
27
- return "system";
28
- }
29
- constructor(fields, kwargs) {
30
- super(fields, kwargs);
27
+ type = "system";
28
+ constructor(fields) {
29
+ super(fields);
31
30
  }
32
31
  concat(chunk) {
33
- return new SystemMessageChunk({
32
+ const Cls = this.constructor;
33
+ return new Cls({
34
34
  content: mergeContent(this.content, chunk.content),
35
35
  additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
36
36
  response_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),
37
37
  id: this.id ?? chunk.id
38
38
  });
39
39
  }
40
+ static isInstance(obj) {
41
+ return super.isInstance(obj) && obj.type === "system";
42
+ }
40
43
  };
44
+ /**
45
+ * @deprecated Use {@link SystemMessage.isInstance} instead
46
+ */
41
47
  function isSystemMessage(x) {
42
48
  return x._getType() === "system";
43
49
  }
50
+ /**
51
+ * @deprecated Use {@link SystemMessageChunk.isInstance} instead
52
+ */
44
53
  function isSystemMessageChunk(x) {
45
54
  return x._getType() === "system";
46
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","names":["fields: string | SystemMessageFields","kwargs?: Record<string, unknown>","chunk: SystemMessageChunk","x: BaseMessage","x: BaseMessageChunk"],"sources":["../../src/messages/system.ts"],"sourcesContent":["import {\n BaseMessage,\n BaseMessageChunk,\n mergeContent,\n _mergeDicts,\n type MessageType,\n type BaseMessageFields,\n type MessageContent,\n} from \"./base.js\";\n\nexport type SystemMessageFields = BaseMessageFields;\n\n/**\n * Represents a system message in a conversation.\n */\nexport class SystemMessage extends BaseMessage {\n declare content: MessageContent;\n\n static lc_name() {\n return \"SystemMessage\";\n }\n\n _getType(): MessageType {\n return \"system\";\n }\n\n constructor(\n fields: string | SystemMessageFields,\n /** @deprecated */\n kwargs?: Record<string, unknown>\n ) {\n super(fields, kwargs);\n }\n}\n\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport class SystemMessageChunk extends BaseMessageChunk {\n declare content: MessageContent;\n\n static lc_name() {\n return \"SystemMessageChunk\";\n }\n\n _getType(): MessageType {\n return \"system\";\n }\n\n constructor(\n fields: string | SystemMessageFields,\n /** @deprecated */\n kwargs?: Record<string, unknown>\n ) {\n super(fields, kwargs);\n }\n\n concat(chunk: SystemMessageChunk) {\n return new SystemMessageChunk({\n content: mergeContent(this.content, chunk.content),\n additional_kwargs: _mergeDicts(\n this.additional_kwargs,\n chunk.additional_kwargs\n ),\n response_metadata: _mergeDicts(\n this.response_metadata,\n chunk.response_metadata\n ),\n id: this.id ?? chunk.id,\n });\n }\n}\n\nexport function isSystemMessage(x: BaseMessage): x is SystemMessage {\n return x._getType() === \"system\";\n}\n\nexport function isSystemMessageChunk(\n x: BaseMessageChunk\n): x is SystemMessageChunk {\n return x._getType() === \"system\";\n}\n"],"mappings":";;;;;;AAeA,IAAa,gBAAb,cAAmC,YAAY;CAG7C,OAAO,UAAU;AACf,SAAO;CACR;CAED,WAAwB;AACtB,SAAO;CACR;CAED,YACEA,QAEAC,QACA;EACA,MAAM,QAAQ,OAAO;CACtB;AACF;;;;;AAMD,IAAa,qBAAb,MAAa,2BAA2B,iBAAiB;CAGvD,OAAO,UAAU;AACf,SAAO;CACR;CAED,WAAwB;AACtB,SAAO;CACR;CAED,YACED,QAEAC,QACA;EACA,MAAM,QAAQ,OAAO;CACtB;CAED,OAAOC,OAA2B;AAChC,SAAO,IAAI,mBAAmB;GAC5B,SAAS,aAAa,KAAK,SAAS,MAAM,QAAQ;GAClD,mBAAmB,YACjB,KAAK,mBACL,MAAM,kBACP;GACD,mBAAmB,YACjB,KAAK,mBACL,MAAM,kBACP;GACD,IAAI,KAAK,MAAM,MAAM;EACtB;CACF;AACF;AAED,SAAgB,gBAAgBC,GAAoC;AAClE,QAAO,EAAE,UAAU,KAAK;AACzB;AAED,SAAgB,qBACdC,GACyB;AACzB,QAAO,EAAE,UAAU,KAAK;AACzB"}
1
+ {"version":3,"file":"system.js","names":["fields:\n | $InferMessageContent<TStructure, \"system\">\n | SystemMessageFields<TStructure>","obj: unknown","chunk: SystemMessageChunk<TStructure>","x: BaseMessage","x: BaseMessageChunk"],"sources":["../../src/messages/system.ts"],"sourcesContent":["import {\n BaseMessage,\n BaseMessageChunk,\n mergeContent,\n _mergeDicts,\n type BaseMessageFields,\n} from \"./base.js\";\nimport { $InferMessageContent, MessageStructure } from \"./message.js\";\nimport { Constructor } from \"./utils.js\";\n\nexport interface SystemMessageFields<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessageFields<TStructure, \"system\"> {}\n\n/**\n * Represents a system message in a conversation.\n */\nexport class SystemMessage<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessage<TStructure, \"system\"> {\n static lc_name() {\n return \"SystemMessage\";\n }\n\n readonly type = \"system\" as const;\n\n constructor(\n fields:\n | $InferMessageContent<TStructure, \"system\">\n | SystemMessageFields<TStructure>\n ) {\n super(fields);\n }\n\n static isInstance(obj: unknown): obj is SystemMessage {\n return super.isInstance(obj) && obj.type === \"system\";\n }\n}\n\n/**\n * Represents a chunk of a system message, which can be concatenated with\n * other system message chunks.\n */\nexport class SystemMessageChunk<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessageChunk<TStructure, \"system\"> {\n static lc_name() {\n return \"SystemMessageChunk\";\n }\n\n readonly type = \"system\" as const;\n\n constructor(\n fields:\n | $InferMessageContent<TStructure, \"system\">\n | SystemMessageFields<TStructure>\n ) {\n super(fields);\n }\n\n concat(chunk: SystemMessageChunk<TStructure>) {\n const Cls = this.constructor as Constructor<this>;\n return new Cls({\n content: mergeContent(this.content, chunk.content),\n additional_kwargs: _mergeDicts(\n this.additional_kwargs,\n chunk.additional_kwargs\n ),\n response_metadata: _mergeDicts(\n this.response_metadata,\n chunk.response_metadata\n ),\n id: this.id ?? chunk.id,\n });\n }\n\n static isInstance(obj: unknown): obj is SystemMessageChunk {\n return super.isInstance(obj) && obj.type === \"system\";\n }\n}\n\n/**\n * @deprecated Use {@link SystemMessage.isInstance} instead\n */\nexport function isSystemMessage<TStructure extends MessageStructure>(\n x: BaseMessage\n): x is SystemMessage<TStructure> {\n return x._getType() === \"system\";\n}\n\n/**\n * @deprecated Use {@link SystemMessageChunk.isInstance} instead\n */\nexport function isSystemMessageChunk<TStructure extends MessageStructure>(\n x: BaseMessageChunk\n): x is SystemMessageChunk<TStructure> {\n return x._getType() === \"system\";\n}\n"],"mappings":";;;;;;AAiBA,IAAa,gBAAb,cAEU,YAAkC;CAC1C,OAAO,UAAU;AACf,SAAO;CACR;CAED,AAAS,OAAO;CAEhB,YACEA,QAGA;EACA,MAAM,OAAO;CACd;CAED,OAAO,WAAWC,KAAoC;AACpD,SAAO,MAAM,WAAW,IAAI,IAAI,IAAI,SAAS;CAC9C;AACF;;;;;AAMD,IAAa,qBAAb,cAEU,iBAAuC;CAC/C,OAAO,UAAU;AACf,SAAO;CACR;CAED,AAAS,OAAO;CAEhB,YACED,QAGA;EACA,MAAM,OAAO;CACd;CAED,OAAOE,OAAuC;EAC5C,MAAM,MAAM,KAAK;AACjB,SAAO,IAAI,IAAI;GACb,SAAS,aAAa,KAAK,SAAS,MAAM,QAAQ;GAClD,mBAAmB,YACjB,KAAK,mBACL,MAAM,kBACP;GACD,mBAAmB,YACjB,KAAK,mBACL,MAAM,kBACP;GACD,IAAI,KAAK,MAAM,MAAM;EACtB;CACF;CAED,OAAO,WAAWD,KAAyC;AACzD,SAAO,MAAM,WAAW,IAAI,IAAI,IAAI,SAAS;CAC9C;AACF;;;;AAKD,SAAgB,gBACdE,GACgC;AAChC,QAAO,EAAE,UAAU,KAAK;AACzB;;;;AAKD,SAAgB,qBACdC,GACqC;AACrC,QAAO,EAAE,UAAU,KAAK;AACzB"}
@@ -25,6 +25,7 @@ var ToolMessage = class extends require_base.BaseMessage {
25
25
  return { tool_call_id: "tool_call_id" };
26
26
  }
27
27
  lc_direct_tool_output = true;
28
+ type = "tool";
28
29
  /**
29
30
  * Status of the tool invocation.
30
31
  * @version 0.2.19
@@ -40,7 +41,7 @@ var ToolMessage = class extends require_base.BaseMessage {
40
41
  */
41
42
  artifact;
42
43
  constructor(fields, tool_call_id, name) {
43
- if (typeof fields === "string") fields = {
44
+ if (typeof fields === "string" || Array.isArray(fields)) fields = {
44
45
  content: fields,
45
46
  name,
46
47
  tool_call_id
@@ -50,11 +51,8 @@ var ToolMessage = class extends require_base.BaseMessage {
50
51
  this.artifact = fields.artifact;
51
52
  this.status = fields.status;
52
53
  }
53
- _getType() {
54
- return "tool";
55
- }
56
54
  static isInstance(message) {
57
- return message._getType() === "tool";
55
+ return super.isInstance(message) && message.type === "tool";
58
56
  }
59
57
  get _printableFields() {
60
58
  return {
@@ -68,7 +66,8 @@ var ToolMessage = class extends require_base.BaseMessage {
68
66
  * Represents a chunk of a tool message, which can be concatenated
69
67
  * with other tool message chunks.
70
68
  */
71
- var ToolMessageChunk = class ToolMessageChunk extends require_base.BaseMessageChunk {
69
+ var ToolMessageChunk = class extends require_base.BaseMessageChunk {
70
+ type = "tool";
72
71
  tool_call_id;
73
72
  /**
74
73
  * Status of the tool invocation.
@@ -92,11 +91,9 @@ var ToolMessageChunk = class ToolMessageChunk extends require_base.BaseMessageCh
92
91
  static lc_name() {
93
92
  return "ToolMessageChunk";
94
93
  }
95
- _getType() {
96
- return "tool";
97
- }
98
94
  concat(chunk) {
99
- return new ToolMessageChunk({
95
+ const Cls = this.constructor;
96
+ return new Cls({
100
97
  content: require_base.mergeContent(this.content, chunk.content),
101
98
  additional_kwargs: require_base._mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
102
99
  response_metadata: require_base._mergeDicts(this.response_metadata, chunk.response_metadata),
@@ -122,12 +119,11 @@ function defaultToolCallParser(rawToolCalls) {
122
119
  const functionName = toolCall.function.name;
123
120
  try {
124
121
  const functionArgs = JSON.parse(toolCall.function.arguments);
125
- const parsed = {
122
+ toolCalls.push({
126
123
  name: functionName || "",
127
124
  args: functionArgs || {},
128
125
  id: toolCall.id
129
- };
130
- toolCalls.push(parsed);
126
+ });
131
127
  } catch (error) {
132
128
  invalidToolCalls.push({
133
129
  name: functionName,
@@ -139,9 +135,15 @@ function defaultToolCallParser(rawToolCalls) {
139
135
  }
140
136
  return [toolCalls, invalidToolCalls];
141
137
  }
138
+ /**
139
+ * @deprecated Use {@link ToolMessage.isInstance} instead
140
+ */
142
141
  function isToolMessage(x) {
143
142
  return typeof x === "object" && x !== null && "getType" in x && typeof x.getType === "function" && x.getType() === "tool";
144
143
  }
144
+ /**
145
+ * @deprecated Use {@link ToolMessageChunk.isInstance} instead
146
+ */
145
147
  function isToolMessageChunk(x) {
146
148
  return x._getType() === "tool";
147
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool.cjs","names":["x: unknown","BaseMessage","fields: string | ToolMessageFieldsWithToolCallId","tool_call_id?: string","name?: string","message: BaseMessage","BaseMessageChunk","fields: ToolMessageFieldsWithToolCallId","chunk: ToolMessageChunk","mergeContent","_mergeDicts","_mergeObj","_mergeStatus","rawToolCalls: Record<string, any>[]","toolCalls: ToolCall[]","invalidToolCalls: InvalidToolCall[]","x: BaseMessageChunk"],"sources":["../../src/messages/tool.ts"],"sourcesContent":["import {\n BaseMessage,\n BaseMessageChunk,\n type BaseMessageFields,\n mergeContent,\n _mergeDicts,\n type MessageType,\n _mergeObj,\n _mergeStatus,\n type MessageContent,\n} from \"./base.js\";\n\nexport type ToolMessageFields = BaseMessageFields;\n\nexport interface ToolMessageFieldsWithToolCallId extends ToolMessageFields {\n /**\n * Artifact of the Tool execution which is not meant to be sent to the model.\n *\n * Should only be specified if it is different from the message content, e.g. if only\n * a subset of the full tool output is being passed as message content but the full\n * output is needed in other parts of the code.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n artifact?: any;\n tool_call_id: string;\n /**\n * Status of the tool invocation.\n * @version 0.2.19\n */\n status?: \"success\" | \"error\";\n}\n\n/**\n * Marker parameter for objects that tools can return directly.\n *\n * If a custom BaseTool is invoked with a ToolCall and the output of custom code is\n * not an instance of DirectToolOutput, the output will automatically be coerced to\n * a string and wrapped in a ToolMessage.\n */\nexport interface DirectToolOutput {\n readonly lc_direct_tool_output: true;\n}\n\nexport function isDirectToolOutput(x: unknown): x is DirectToolOutput {\n return (\n x != null &&\n typeof x === \"object\" &&\n \"lc_direct_tool_output\" in x &&\n x.lc_direct_tool_output === true\n );\n}\n\n/**\n * Represents a tool message in a conversation.\n */\nexport class ToolMessage extends BaseMessage implements DirectToolOutput {\n declare content: MessageContent;\n\n static lc_name() {\n return \"ToolMessage\";\n }\n\n get lc_aliases(): Record<string, string> {\n // exclude snake case conversion to pascal case\n return { tool_call_id: \"tool_call_id\" };\n }\n\n lc_direct_tool_output = true as const;\n\n /**\n * Status of the tool invocation.\n * @version 0.2.19\n */\n status?: \"success\" | \"error\";\n\n tool_call_id: string;\n\n /**\n * Artifact of the Tool execution which is not meant to be sent to the model.\n *\n * Should only be specified if it is different from the message content, e.g. if only\n * a subset of the full tool output is being passed as message content but the full\n * output is needed in other parts of the code.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n artifact?: any;\n\n constructor(fields: ToolMessageFieldsWithToolCallId);\n\n constructor(\n fields: string | ToolMessageFields,\n tool_call_id: string,\n name?: string\n );\n\n constructor(\n fields: string | ToolMessageFieldsWithToolCallId,\n tool_call_id?: string,\n name?: string\n ) {\n if (typeof fields === \"string\") {\n // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion\n fields = { content: fields, name, tool_call_id: tool_call_id! };\n }\n super(fields);\n this.tool_call_id = fields.tool_call_id;\n this.artifact = fields.artifact;\n this.status = fields.status;\n }\n\n _getType(): MessageType {\n return \"tool\";\n }\n\n static isInstance(message: BaseMessage): message is ToolMessage {\n return message._getType() === \"tool\";\n }\n\n override get _printableFields(): Record<string, unknown> {\n return {\n ...super._printableFields,\n tool_call_id: this.tool_call_id,\n artifact: this.artifact,\n };\n }\n}\n\n/**\n * Represents a chunk of a tool message, which can be concatenated\n * with other tool message chunks.\n */\nexport class ToolMessageChunk extends BaseMessageChunk {\n declare content: MessageContent;\n\n tool_call_id: string;\n\n /**\n * Status of the tool invocation.\n * @version 0.2.19\n */\n status?: \"success\" | \"error\";\n\n /**\n * Artifact of the Tool execution which is not meant to be sent to the model.\n *\n * Should only be specified if it is different from the message content, e.g. if only\n * a subset of the full tool output is being passed as message content but the full\n * output is needed in other parts of the code.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n artifact?: any;\n\n constructor(fields: ToolMessageFieldsWithToolCallId) {\n super(fields);\n this.tool_call_id = fields.tool_call_id;\n this.artifact = fields.artifact;\n this.status = fields.status;\n }\n\n static lc_name() {\n return \"ToolMessageChunk\";\n }\n\n _getType(): MessageType {\n return \"tool\";\n }\n\n concat(chunk: ToolMessageChunk) {\n return new ToolMessageChunk({\n content: mergeContent(this.content, chunk.content),\n additional_kwargs: _mergeDicts(\n this.additional_kwargs,\n chunk.additional_kwargs\n ),\n response_metadata: _mergeDicts(\n this.response_metadata,\n chunk.response_metadata\n ),\n artifact: _mergeObj(this.artifact, chunk.artifact),\n tool_call_id: this.tool_call_id,\n id: this.id ?? chunk.id,\n status: _mergeStatus(this.status, chunk.status),\n });\n }\n\n override get _printableFields(): Record<string, unknown> {\n return {\n ...super._printableFields,\n tool_call_id: this.tool_call_id,\n artifact: this.artifact,\n };\n }\n}\n\n/**\n * A call to a tool.\n * @property {string} name - The name of the tool to be called\n * @property {Record<string, any>} args - The arguments to the tool call\n * @property {string} [id] - If provided, an identifier associated with the tool call\n */\nexport type ToolCall = {\n name: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n args: Record<string, any>;\n\n id?: string;\n\n type?: \"tool_call\";\n};\n\n/**\n * A chunk of a tool call (e.g., as part of a stream).\n * When merging ToolCallChunks (e.g., via AIMessageChunk.__add__),\n * all string attributes are concatenated. Chunks are only merged if their\n * values of `index` are equal and not None.\n *\n * @example\n * ```ts\n * const leftChunks = [\n * {\n * name: \"foo\",\n * args: '{\"a\":',\n * index: 0\n * }\n * ];\n *\n * const leftAIMessageChunk = new AIMessageChunk({\n * content: \"\",\n * tool_call_chunks: leftChunks\n * });\n *\n * const rightChunks = [\n * {\n * name: undefined,\n * args: '1}',\n * index: 0\n * }\n * ];\n *\n * const rightAIMessageChunk = new AIMessageChunk({\n * content: \"\",\n * tool_call_chunks: rightChunks\n * });\n *\n * const result = leftAIMessageChunk.concat(rightAIMessageChunk);\n * // result.tool_call_chunks is equal to:\n * // [\n * // {\n * // name: \"foo\",\n * // args: '{\"a\":1}'\n * // index: 0\n * // }\n * // ]\n * ```\n *\n * @property {string} [name] - If provided, a substring of the name of the tool to be called\n * @property {string} [args] - If provided, a JSON substring of the arguments to the tool call\n * @property {string} [id] - If provided, a substring of an identifier for the tool call\n * @property {number} [index] - If provided, the index of the tool call in a sequence\n */\nexport type ToolCallChunk = {\n name?: string;\n\n args?: string;\n\n id?: string;\n\n index?: number;\n\n type?: \"tool_call_chunk\";\n};\n\nexport type InvalidToolCall = {\n name?: string;\n args?: string;\n id?: string;\n error?: string;\n type?: \"invalid_tool_call\";\n};\n\nexport function defaultToolCallParser(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCalls: Record<string, any>[]\n): [ToolCall[], InvalidToolCall[]] {\n const toolCalls: ToolCall[] = [];\n const invalidToolCalls: InvalidToolCall[] = [];\n for (const toolCall of rawToolCalls) {\n if (!toolCall.function) {\n continue;\n } else {\n const functionName = toolCall.function.name;\n try {\n const functionArgs = JSON.parse(toolCall.function.arguments);\n const parsed = {\n name: functionName || \"\",\n args: functionArgs || {},\n id: toolCall.id,\n };\n toolCalls.push(parsed);\n } catch (error) {\n invalidToolCalls.push({\n name: functionName,\n args: toolCall.function.arguments,\n id: toolCall.id,\n error: \"Malformed args.\",\n });\n }\n }\n }\n return [toolCalls, invalidToolCalls];\n}\n\nexport function isToolMessage(x: unknown): x is ToolMessage {\n return (\n typeof x === \"object\" &&\n x !== null &&\n \"getType\" in x &&\n typeof x.getType === \"function\" &&\n x.getType() === \"tool\"\n );\n}\n\nexport function isToolMessageChunk(x: BaseMessageChunk): x is ToolMessageChunk {\n return x._getType() === \"tool\";\n}\n"],"mappings":";;;;;;;;;;;;;AA2CA,SAAgB,mBAAmBA,GAAmC;AACpE,QACE,KAAK,QACL,OAAO,MAAM,YACb,2BAA2B,KAC3B,EAAE,0BAA0B;AAE/B;;;;AAKD,IAAa,cAAb,cAAiCC,yBAAwC;CAGvE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,aAAqC;AAEvC,SAAO,EAAE,cAAc,eAAgB;CACxC;CAED,wBAAwB;;;;;CAMxB;CAEA;;;;;;;;CAUA;CAUA,YACEC,QACAC,cACAC,MACA;AACA,MAAI,OAAO,WAAW,UAEpB,SAAS;GAAE,SAAS;GAAQ;GAAoB;EAAe;EAEjE,MAAM,OAAO;EACb,KAAK,eAAe,OAAO;EAC3B,KAAK,WAAW,OAAO;EACvB,KAAK,SAAS,OAAO;CACtB;CAED,WAAwB;AACtB,SAAO;CACR;CAED,OAAO,WAAWC,SAA8C;AAC9D,SAAO,QAAQ,UAAU,KAAK;CAC/B;CAED,IAAa,mBAA4C;AACvD,SAAO;GACL,GAAG,MAAM;GACT,cAAc,KAAK;GACnB,UAAU,KAAK;EAChB;CACF;AACF;;;;;AAMD,IAAa,mBAAb,MAAa,yBAAyBC,8BAAiB;CAGrD;;;;;CAMA;;;;;;;;CAUA;CAEA,YAAYC,QAAyC;EACnD,MAAM,OAAO;EACb,KAAK,eAAe,OAAO;EAC3B,KAAK,WAAW,OAAO;EACvB,KAAK,SAAS,OAAO;CACtB;CAED,OAAO,UAAU;AACf,SAAO;CACR;CAED,WAAwB;AACtB,SAAO;CACR;CAED,OAAOC,OAAyB;AAC9B,SAAO,IAAI,iBAAiB;GAC1B,SAASC,0BAAa,KAAK,SAAS,MAAM,QAAQ;GAClD,mBAAmBC,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,mBAAmBA,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,UAAUC,uBAAU,KAAK,UAAU,MAAM,SAAS;GAClD,cAAc,KAAK;GACnB,IAAI,KAAK,MAAM,MAAM;GACrB,QAAQC,0BAAa,KAAK,QAAQ,MAAM,OAAO;EAChD;CACF;CAED,IAAa,mBAA4C;AACvD,SAAO;GACL,GAAG,MAAM;GACT,cAAc,KAAK;GACnB,UAAU,KAAK;EAChB;CACF;AACF;AAyFD,SAAgB,sBAEdC,cACiC;CACjC,MAAMC,YAAwB,CAAE;CAChC,MAAMC,mBAAsC,CAAE;AAC9C,MAAK,MAAM,YAAY,aACrB,KAAI,CAAC,SAAS,SACZ;MACK;EACL,MAAM,eAAe,SAAS,SAAS;AACvC,MAAI;GACF,MAAM,eAAe,KAAK,MAAM,SAAS,SAAS,UAAU;GAC5D,MAAM,SAAS;IACb,MAAM,gBAAgB;IACtB,MAAM,gBAAgB,CAAE;IACxB,IAAI,SAAS;GACd;GACD,UAAU,KAAK,OAAO;EACvB,SAAQ,OAAO;GACd,iBAAiB,KAAK;IACpB,MAAM;IACN,MAAM,SAAS,SAAS;IACxB,IAAI,SAAS;IACb,OAAO;GACR,EAAC;EACH;CACF;AAEH,QAAO,CAAC,WAAW,gBAAiB;AACrC;AAED,SAAgB,cAAcf,GAA8B;AAC1D,QACE,OAAO,MAAM,YACb,MAAM,QACN,aAAa,KACb,OAAO,EAAE,YAAY,cACrB,EAAE,SAAS,KAAK;AAEnB;AAED,SAAgB,mBAAmBgB,GAA4C;AAC7E,QAAO,EAAE,UAAU,KAAK;AACzB"}
1
+ {"version":3,"file":"tool.cjs","names":["x: unknown","BaseMessage","fields:\n | $InferMessageContent<TStructure, \"tool\">\n | ToolMessageFields<TStructure>","tool_call_id?: string","name?: string","message: unknown","BaseMessageChunk","fields: ToolMessageFields<TStructure>","chunk: ToolMessageChunk<TStructure>","mergeContent","_mergeDicts","_mergeObj","_mergeStatus","rawToolCalls: Record<string, any>[]","toolCalls: ToolCall[]","invalidToolCalls: InvalidToolCall[]","x: BaseMessageChunk"],"sources":["../../src/messages/tool.ts"],"sourcesContent":["import {\n BaseMessage,\n BaseMessageChunk,\n type BaseMessageFields,\n mergeContent,\n _mergeDicts,\n _mergeObj,\n _mergeStatus,\n} from \"./base.js\";\nimport { $InferMessageContent, MessageStructure } from \"./message.js\";\nimport { Constructor } from \"./utils.js\";\n\nexport interface ToolMessageFields<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessageFields<TStructure, \"tool\"> {\n /**\n * Artifact of the Tool execution which is not meant to be sent to the model.\n *\n * Should only be specified if it is different from the message content, e.g. if only\n * a subset of the full tool output is being passed as message content but the full\n * output is needed in other parts of the code.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n artifact?: any;\n tool_call_id: string;\n status?: \"success\" | \"error\";\n}\n\n/**\n * Marker parameter for objects that tools can return directly.\n *\n * If a custom BaseTool is invoked with a ToolCall and the output of custom code is\n * not an instance of DirectToolOutput, the output will automatically be coerced to\n * a string and wrapped in a ToolMessage.\n */\nexport interface DirectToolOutput {\n readonly lc_direct_tool_output: true;\n}\n\nexport function isDirectToolOutput(x: unknown): x is DirectToolOutput {\n return (\n x != null &&\n typeof x === \"object\" &&\n \"lc_direct_tool_output\" in x &&\n x.lc_direct_tool_output === true\n );\n}\n\n/**\n * Represents a tool message in a conversation.\n */\nexport class ToolMessage<TStructure extends MessageStructure = MessageStructure>\n extends BaseMessage<TStructure, \"tool\">\n implements DirectToolOutput\n{\n static lc_name() {\n return \"ToolMessage\";\n }\n\n get lc_aliases(): Record<string, string> {\n // exclude snake case conversion to pascal case\n return { tool_call_id: \"tool_call_id\" };\n }\n\n lc_direct_tool_output = true as const;\n\n readonly type = \"tool\" as const;\n\n /**\n * Status of the tool invocation.\n * @version 0.2.19\n */\n status?: \"success\" | \"error\";\n\n tool_call_id: string;\n\n /**\n * Artifact of the Tool execution which is not meant to be sent to the model.\n *\n * Should only be specified if it is different from the message content, e.g. if only\n * a subset of the full tool output is being passed as message content but the full\n * output is needed in other parts of the code.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n artifact?: any;\n\n constructor(\n fields: $InferMessageContent<TStructure, \"tool\"> | ToolMessageFields,\n tool_call_id: string,\n name?: string\n );\n\n constructor(fields: ToolMessageFields<TStructure>);\n\n constructor(\n fields:\n | $InferMessageContent<TStructure, \"tool\">\n | ToolMessageFields<TStructure>,\n tool_call_id?: string,\n name?: string\n ) {\n if (typeof fields === \"string\" || Array.isArray(fields)) {\n // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion\n fields = { content: fields, name, tool_call_id: tool_call_id! };\n }\n super(fields);\n this.tool_call_id = fields.tool_call_id;\n this.artifact = fields.artifact;\n this.status = fields.status;\n }\n\n static isInstance(message: unknown): message is ToolMessage {\n return super.isInstance(message) && message.type === \"tool\";\n }\n\n override get _printableFields(): Record<string, unknown> {\n return {\n ...super._printableFields,\n tool_call_id: this.tool_call_id,\n artifact: this.artifact,\n };\n }\n}\n\n/**\n * Represents a chunk of a tool message, which can be concatenated\n * with other tool message chunks.\n */\nexport class ToolMessageChunk<\n TStructure extends MessageStructure = MessageStructure\n> extends BaseMessageChunk<TStructure, \"tool\"> {\n readonly type = \"tool\" as const;\n\n tool_call_id: string;\n\n /**\n * Status of the tool invocation.\n * @version 0.2.19\n */\n status?: \"success\" | \"error\";\n\n /**\n * Artifact of the Tool execution which is not meant to be sent to the model.\n *\n * Should only be specified if it is different from the message content, e.g. if only\n * a subset of the full tool output is being passed as message content but the full\n * output is needed in other parts of the code.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n artifact?: any;\n\n constructor(fields: ToolMessageFields<TStructure>) {\n super(fields);\n this.tool_call_id = fields.tool_call_id;\n this.artifact = fields.artifact;\n this.status = fields.status;\n }\n\n static lc_name() {\n return \"ToolMessageChunk\";\n }\n\n concat(chunk: ToolMessageChunk<TStructure>) {\n const Cls = this.constructor as Constructor<this>;\n return new Cls({\n content: mergeContent(this.content, chunk.content),\n additional_kwargs: _mergeDicts(\n this.additional_kwargs,\n chunk.additional_kwargs\n ),\n response_metadata: _mergeDicts(\n this.response_metadata,\n chunk.response_metadata\n ),\n artifact: _mergeObj(this.artifact, chunk.artifact),\n tool_call_id: this.tool_call_id,\n id: this.id ?? chunk.id,\n status: _mergeStatus(this.status, chunk.status),\n });\n }\n\n override get _printableFields(): Record<string, unknown> {\n return {\n ...super._printableFields,\n tool_call_id: this.tool_call_id,\n artifact: this.artifact,\n };\n }\n}\n\nexport interface ToolCall<\n TName extends string = string,\n TArgs extends Record<string, unknown> = Record<string, unknown>\n> {\n readonly type?: \"tool_call\";\n /**\n * If provided, an identifier associated with the tool call\n */\n id?: string;\n /**\n * The name of the tool being called\n */\n name: TName;\n /**\n * The arguments to the tool call\n */\n args: TArgs;\n}\n\n/**\n * A chunk of a tool call (e.g., as part of a stream).\n * When merging ToolCallChunks (e.g., via AIMessageChunk.__add__),\n * all string attributes are concatenated. Chunks are only merged if their\n * values of `index` are equal and not None.\n *\n * @example\n * ```ts\n * const leftChunks = [\n * {\n * name: \"foo\",\n * args: '{\"a\":',\n * index: 0\n * }\n * ];\n *\n * const leftAIMessageChunk = new AIMessageChunk({\n * content: \"\",\n * tool_call_chunks: leftChunks\n * });\n *\n * const rightChunks = [\n * {\n * name: undefined,\n * args: '1}',\n * index: 0\n * }\n * ];\n *\n * const rightAIMessageChunk = new AIMessageChunk({\n * content: \"\",\n * tool_call_chunks: rightChunks\n * });\n *\n * const result = leftAIMessageChunk.concat(rightAIMessageChunk);\n * // result.tool_call_chunks is equal to:\n * // [\n * // {\n * // name: \"foo\",\n * // args: '{\"a\":1}'\n * // index: 0\n * // }\n * // ]\n * ```\n */\nexport interface ToolCallChunk<TName extends string = string> {\n readonly type?: \"tool_call_chunk\";\n /**\n * If provided, a substring of an identifier for the tool call\n */\n id?: string;\n /**\n * If provided, a substring of the name of the tool to be called\n */\n name?: TName;\n /**\n * If provided, a JSON substring of the arguments to the tool call\n */\n args?: string;\n /**\n * If provided, the index of the tool call in a sequence\n */\n index?: number;\n}\n\nexport interface InvalidToolCall<TName extends string = string> {\n readonly type?: \"invalid_tool_call\";\n /**\n * If provided, an identifier associated with the tool call\n */\n id?: string;\n /**\n /**\n * The name of the tool being called\n */\n name?: TName;\n /**\n * The arguments to the tool call\n */\n args?: string;\n /**\n * An error message associated with the tool call\n */\n error?: string;\n /**\n * Index of block in aggregate response\n */\n index?: string | number;\n}\n\nexport function defaultToolCallParser(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCalls: Record<string, any>[]\n): [ToolCall[], InvalidToolCall[]] {\n const toolCalls: ToolCall[] = [];\n const invalidToolCalls: InvalidToolCall[] = [];\n for (const toolCall of rawToolCalls) {\n if (!toolCall.function) {\n continue;\n } else {\n const functionName = toolCall.function.name;\n try {\n const functionArgs = JSON.parse(toolCall.function.arguments);\n toolCalls.push({\n name: functionName || \"\",\n args: functionArgs || {},\n id: toolCall.id,\n });\n } catch (error) {\n invalidToolCalls.push({\n name: functionName,\n args: toolCall.function.arguments,\n id: toolCall.id,\n error: \"Malformed args.\",\n });\n }\n }\n }\n return [toolCalls, invalidToolCalls];\n}\n\n/**\n * @deprecated Use {@link ToolMessage.isInstance} instead\n */\nexport function isToolMessage(x: unknown): x is ToolMessage {\n return (\n typeof x === \"object\" &&\n x !== null &&\n \"getType\" in x &&\n typeof x.getType === \"function\" &&\n x.getType() === \"tool\"\n );\n}\n\n/**\n * @deprecated Use {@link ToolMessageChunk.isInstance} instead\n */\nexport function isToolMessageChunk(x: BaseMessageChunk): x is ToolMessageChunk {\n return x._getType() === \"tool\";\n}\n"],"mappings":";;;;;;;;;;;;;AAuCA,SAAgB,mBAAmBA,GAAmC;AACpE,QACE,KAAK,QACL,OAAO,MAAM,YACb,2BAA2B,KAC3B,EAAE,0BAA0B;AAE/B;;;;AAKD,IAAa,cAAb,cACUC,yBAEV;CACE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,aAAqC;AAEvC,SAAO,EAAE,cAAc,eAAgB;CACxC;CAED,wBAAwB;CAExB,AAAS,OAAO;;;;;CAMhB;CAEA;;;;;;;;CAUA;CAUA,YACEC,QAGAC,cACAC,MACA;AACA,MAAI,OAAO,WAAW,YAAY,MAAM,QAAQ,OAAO,EAErD,SAAS;GAAE,SAAS;GAAQ;GAAoB;EAAe;EAEjE,MAAM,OAAO;EACb,KAAK,eAAe,OAAO;EAC3B,KAAK,WAAW,OAAO;EACvB,KAAK,SAAS,OAAO;CACtB;CAED,OAAO,WAAWC,SAA0C;AAC1D,SAAO,MAAM,WAAW,QAAQ,IAAI,QAAQ,SAAS;CACtD;CAED,IAAa,mBAA4C;AACvD,SAAO;GACL,GAAG,MAAM;GACT,cAAc,KAAK;GACnB,UAAU,KAAK;EAChB;CACF;AACF;;;;;AAMD,IAAa,mBAAb,cAEUC,8BAAqC;CAC7C,AAAS,OAAO;CAEhB;;;;;CAMA;;;;;;;;CAUA;CAEA,YAAYC,QAAuC;EACjD,MAAM,OAAO;EACb,KAAK,eAAe,OAAO;EAC3B,KAAK,WAAW,OAAO;EACvB,KAAK,SAAS,OAAO;CACtB;CAED,OAAO,UAAU;AACf,SAAO;CACR;CAED,OAAOC,OAAqC;EAC1C,MAAM,MAAM,KAAK;AACjB,SAAO,IAAI,IAAI;GACb,SAASC,0BAAa,KAAK,SAAS,MAAM,QAAQ;GAClD,mBAAmBC,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,mBAAmBA,yBACjB,KAAK,mBACL,MAAM,kBACP;GACD,UAAUC,uBAAU,KAAK,UAAU,MAAM,SAAS;GAClD,cAAc,KAAK;GACnB,IAAI,KAAK,MAAM,MAAM;GACrB,QAAQC,0BAAa,KAAK,QAAQ,MAAM,OAAO;EAChD;CACF;CAED,IAAa,mBAA4C;AACvD,SAAO;GACL,GAAG,MAAM;GACT,cAAc,KAAK;GACnB,UAAU,KAAK;EAChB;CACF;AACF;AA+GD,SAAgB,sBAEdC,cACiC;CACjC,MAAMC,YAAwB,CAAE;CAChC,MAAMC,mBAAsC,CAAE;AAC9C,MAAK,MAAM,YAAY,aACrB,KAAI,CAAC,SAAS,SACZ;MACK;EACL,MAAM,eAAe,SAAS,SAAS;AACvC,MAAI;GACF,MAAM,eAAe,KAAK,MAAM,SAAS,SAAS,UAAU;GAC5D,UAAU,KAAK;IACb,MAAM,gBAAgB;IACtB,MAAM,gBAAgB,CAAE;IACxB,IAAI,SAAS;GACd,EAAC;EACH,SAAQ,OAAO;GACd,iBAAiB,KAAK;IACpB,MAAM;IACN,MAAM,SAAS,SAAS;IACxB,IAAI,SAAS;IACb,OAAO;GACR,EAAC;EACH;CACF;AAEH,QAAO,CAAC,WAAW,gBAAiB;AACrC;;;;AAKD,SAAgB,cAAcf,GAA8B;AAC1D,QACE,OAAO,MAAM,YACb,MAAM,QACN,aAAa,KACb,OAAO,EAAE,YAAY,cACrB,EAAE,SAAS,KAAK;AAEnB;;;;AAKD,SAAgB,mBAAmBgB,GAA4C;AAC7E,QAAO,EAAE,UAAU,KAAK;AACzB"}