@node-llm/core 1.18.0 → 1.19.1

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 (189) hide show
  1. package/README.md +14 -12
  2. package/dist/agent/Agent.d.ts +17 -3
  3. package/dist/agent/Agent.d.ts.map +1 -1
  4. package/dist/agent/Agent.js +11 -0
  5. package/dist/aliases.d.ts +341 -316
  6. package/dist/aliases.d.ts.map +1 -1
  7. package/dist/aliases.js +467 -442
  8. package/dist/chat/Chat.d.ts +12 -5
  9. package/dist/chat/Chat.d.ts.map +1 -1
  10. package/dist/chat/Chat.js +45 -13
  11. package/dist/chat/ChatOptions.d.ts +17 -0
  12. package/dist/chat/ChatOptions.d.ts.map +1 -1
  13. package/dist/chat/ChatResponse.d.ts +5 -0
  14. package/dist/chat/ChatResponse.d.ts.map +1 -1
  15. package/dist/chat/ChatResponse.js +12 -4
  16. package/dist/chat/ChatStream.d.ts.map +1 -1
  17. package/dist/chat/ChatStream.js +20 -10
  18. package/dist/chat/PromptCache.d.ts +7 -0
  19. package/dist/chat/PromptCache.d.ts.map +1 -0
  20. package/dist/chat/PromptCache.js +7 -0
  21. package/dist/chat/Temperature.d.ts +7 -0
  22. package/dist/chat/Temperature.d.ts.map +1 -0
  23. package/dist/chat/Temperature.js +17 -0
  24. package/dist/chat/Tool.d.ts +28 -3
  25. package/dist/chat/Tool.d.ts.map +1 -1
  26. package/dist/chat/Tool.js +28 -2
  27. package/dist/chat/ToolCallOutcome.d.ts +12 -0
  28. package/dist/chat/ToolCallOutcome.d.ts.map +1 -1
  29. package/dist/chat/ToolCallOutcome.js +14 -0
  30. package/dist/chat/ToolResultWindow.d.ts +16 -0
  31. package/dist/chat/ToolResultWindow.d.ts.map +1 -0
  32. package/dist/chat/ToolResultWindow.js +25 -0
  33. package/dist/config.d.ts +30 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +66 -30
  36. package/dist/errors/billing.d.ts +7 -0
  37. package/dist/errors/billing.d.ts.map +1 -0
  38. package/dist/errors/billing.js +24 -0
  39. package/dist/errors/index.d.ts +28 -0
  40. package/dist/errors/index.d.ts.map +1 -1
  41. package/dist/errors/index.js +32 -0
  42. package/dist/executor/Executor.d.ts.map +1 -1
  43. package/dist/executor/Executor.js +5 -3
  44. package/dist/index.d.ts +4 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/llm.d.ts +2 -1
  48. package/dist/llm.d.ts.map +1 -1
  49. package/dist/llm.js +8 -2
  50. package/dist/models/ModelRegistry.d.ts +12 -1
  51. package/dist/models/ModelRegistry.d.ts.map +1 -1
  52. package/dist/models/ModelRegistry.js +22 -2
  53. package/dist/models/models.json +11900 -4568
  54. package/dist/models/types.d.ts +14 -1
  55. package/dist/models/types.d.ts.map +1 -1
  56. package/dist/providers/Provider.d.ts +23 -1
  57. package/dist/providers/Provider.d.ts.map +1 -1
  58. package/dist/providers/anthropic/AnthropicProvider.d.ts +2 -0
  59. package/dist/providers/anthropic/AnthropicProvider.d.ts.map +1 -1
  60. package/dist/providers/anthropic/AnthropicProvider.js +2 -0
  61. package/dist/providers/anthropic/Capabilities.d.ts +1 -0
  62. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  63. package/dist/providers/anthropic/Capabilities.js +3 -0
  64. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  65. package/dist/providers/anthropic/Chat.js +7 -75
  66. package/dist/providers/anthropic/Errors.d.ts.map +1 -1
  67. package/dist/providers/anthropic/Errors.js +4 -3
  68. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  69. package/dist/providers/anthropic/Streaming.js +4 -66
  70. package/dist/providers/anthropic/Utils.d.ts +33 -1
  71. package/dist/providers/anthropic/Utils.d.ts.map +1 -1
  72. package/dist/providers/anthropic/Utils.js +114 -0
  73. package/dist/providers/anthropic/types.d.ts +17 -3
  74. package/dist/providers/anthropic/types.d.ts.map +1 -1
  75. package/dist/providers/azure/AzureProvider.d.ts +54 -0
  76. package/dist/providers/azure/AzureProvider.d.ts.map +1 -0
  77. package/dist/providers/azure/AzureProvider.js +110 -0
  78. package/dist/providers/azure/Capabilities.d.ts +16 -0
  79. package/dist/providers/azure/Capabilities.d.ts.map +1 -0
  80. package/dist/providers/azure/Capabilities.js +36 -0
  81. package/dist/providers/azure/Embedding.d.ts +11 -0
  82. package/dist/providers/azure/Embedding.d.ts.map +1 -0
  83. package/dist/providers/azure/Embedding.js +23 -0
  84. package/dist/providers/azure/Models.d.ts +18 -0
  85. package/dist/providers/azure/Models.d.ts.map +1 -0
  86. package/dist/providers/azure/Models.js +29 -0
  87. package/dist/providers/azure/index.d.ts +5 -0
  88. package/dist/providers/azure/index.d.ts.map +1 -0
  89. package/dist/providers/azure/index.js +28 -0
  90. package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -1
  91. package/dist/providers/bedrock/BedrockProvider.js +1 -0
  92. package/dist/providers/bedrock/Capabilities.d.ts +1 -0
  93. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -1
  94. package/dist/providers/bedrock/Capabilities.js +3 -0
  95. package/dist/providers/bedrock/Chat.d.ts.map +1 -1
  96. package/dist/providers/bedrock/Chat.js +6 -2
  97. package/dist/providers/bedrock/Errors.d.ts.map +1 -1
  98. package/dist/providers/bedrock/Errors.js +4 -0
  99. package/dist/providers/bedrock/Streaming.d.ts.map +1 -1
  100. package/dist/providers/bedrock/Streaming.js +4 -1
  101. package/dist/providers/deepseek/Capabilities.d.ts +1 -0
  102. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  103. package/dist/providers/deepseek/Capabilities.js +3 -0
  104. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  105. package/dist/providers/deepseek/Chat.js +3 -2
  106. package/dist/providers/deepseek/DeepSeekProvider.d.ts +1 -0
  107. package/dist/providers/deepseek/DeepSeekProvider.d.ts.map +1 -1
  108. package/dist/providers/deepseek/DeepSeekProvider.js +1 -0
  109. package/dist/providers/deepseek/Errors.d.ts.map +1 -1
  110. package/dist/providers/deepseek/Errors.js +5 -4
  111. package/dist/providers/gemini/Capabilities.d.ts +1 -0
  112. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  113. package/dist/providers/gemini/Capabilities.js +3 -0
  114. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  115. package/dist/providers/gemini/Chat.js +6 -4
  116. package/dist/providers/gemini/ChatUtils.d.ts.map +1 -1
  117. package/dist/providers/gemini/ChatUtils.js +2 -1
  118. package/dist/providers/gemini/Errors.d.ts.map +1 -1
  119. package/dist/providers/gemini/Errors.js +4 -3
  120. package/dist/providers/gemini/GeminiProvider.d.ts +1 -0
  121. package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
  122. package/dist/providers/gemini/GeminiProvider.js +1 -0
  123. package/dist/providers/gemini/Streaming.d.ts.map +1 -1
  124. package/dist/providers/gemini/Streaming.js +3 -2
  125. package/dist/providers/gemini/types.d.ts +2 -0
  126. package/dist/providers/gemini/types.d.ts.map +1 -1
  127. package/dist/providers/mistral/Capabilities.d.ts +1 -0
  128. package/dist/providers/mistral/Capabilities.d.ts.map +1 -1
  129. package/dist/providers/mistral/Capabilities.js +3 -0
  130. package/dist/providers/mistral/Chat.d.ts.map +1 -1
  131. package/dist/providers/mistral/Chat.js +3 -2
  132. package/dist/providers/mistral/Errors.d.ts.map +1 -1
  133. package/dist/providers/mistral/Errors.js +4 -3
  134. package/dist/providers/mistral/MistralProvider.d.ts +1 -0
  135. package/dist/providers/mistral/MistralProvider.d.ts.map +1 -1
  136. package/dist/providers/mistral/MistralProvider.js +1 -0
  137. package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -1
  138. package/dist/providers/ollama/OllamaProvider.js +1 -0
  139. package/dist/providers/openai/Capabilities.d.ts +6 -0
  140. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  141. package/dist/providers/openai/Capabilities.js +10 -0
  142. package/dist/providers/openai/Chat.d.ts +3 -0
  143. package/dist/providers/openai/Chat.d.ts.map +1 -1
  144. package/dist/providers/openai/Chat.js +26 -7
  145. package/dist/providers/openai/Embedding.d.ts +2 -0
  146. package/dist/providers/openai/Embedding.d.ts.map +1 -1
  147. package/dist/providers/openai/Embedding.js +8 -5
  148. package/dist/providers/openai/Errors.d.ts.map +1 -1
  149. package/dist/providers/openai/Errors.js +4 -3
  150. package/dist/providers/openai/Models.d.ts +10 -0
  151. package/dist/providers/openai/Models.d.ts.map +1 -1
  152. package/dist/providers/openai/Models.js +12 -8
  153. package/dist/providers/openai/OpenAIProvider.d.ts +11 -1
  154. package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
  155. package/dist/providers/openai/OpenAIProvider.js +36 -0
  156. package/dist/providers/openai/Responses.d.ts +30 -0
  157. package/dist/providers/openai/Responses.d.ts.map +1 -0
  158. package/dist/providers/openai/Responses.js +176 -0
  159. package/dist/providers/openai/Streaming.d.ts +2 -0
  160. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  161. package/dist/providers/openai/Streaming.js +19 -5
  162. package/dist/providers/openrouter/Capabilities.d.ts +1 -0
  163. package/dist/providers/openrouter/Capabilities.d.ts.map +1 -1
  164. package/dist/providers/openrouter/Capabilities.js +3 -0
  165. package/dist/providers/openrouter/OpenRouterProvider.d.ts +1 -0
  166. package/dist/providers/openrouter/OpenRouterProvider.d.ts.map +1 -1
  167. package/dist/providers/openrouter/OpenRouterProvider.js +1 -0
  168. package/dist/providers/registry.d.ts +2 -1
  169. package/dist/providers/registry.d.ts.map +1 -1
  170. package/dist/providers/registry.js +2 -1
  171. package/dist/providers/xai/Capabilities.d.ts +1 -0
  172. package/dist/providers/xai/Capabilities.d.ts.map +1 -1
  173. package/dist/providers/xai/Capabilities.js +3 -0
  174. package/dist/providers/xai/Chat.d.ts.map +1 -1
  175. package/dist/providers/xai/Chat.js +3 -2
  176. package/dist/providers/xai/Errors.d.ts.map +1 -1
  177. package/dist/providers/xai/Errors.js +5 -2
  178. package/dist/providers/xai/XAIProvider.d.ts +1 -0
  179. package/dist/providers/xai/XAIProvider.d.ts.map +1 -1
  180. package/dist/providers/xai/XAIProvider.js +1 -0
  181. package/dist/schema/Schema.d.ts +3 -3
  182. package/dist/schema/Schema.d.ts.map +1 -1
  183. package/dist/schema/to-json-schema.d.ts +2 -2
  184. package/dist/schema/to-json-schema.d.ts.map +1 -1
  185. package/dist/schema/to-json-schema.js +3 -8
  186. package/dist/schema/zod.d.ts +33 -0
  187. package/dist/schema/zod.d.ts.map +1 -0
  188. package/dist/schema/zod.js +33 -0
  189. package/package.json +14 -15
@@ -22,6 +22,7 @@ export class XAIProvider extends BaseProvider {
22
22
  supportsModeration: (model) => Capabilities.supportsModeration(model),
23
23
  supportsReasoning: (model) => Capabilities.supportsReasoning(model),
24
24
  supportsDeveloperRole: (_model) => false,
25
+ supportsTemperature: (model) => Capabilities.supportsTemperature(model),
25
26
  getContextWindow: (model) => Capabilities.getContextWindow(model)
26
27
  };
27
28
  constructor(options) {
@@ -1,14 +1,14 @@
1
- import { z } from "zod";
1
+ import type { ZodSchema } from "./zod.js";
2
2
  export interface SchemaDefinition {
3
3
  name: string;
4
- schema: z.ZodType<unknown> | Record<string, unknown>;
4
+ schema: ZodSchema | Record<string, unknown>;
5
5
  description?: string;
6
6
  strict?: boolean;
7
7
  }
8
8
  export declare class Schema {
9
9
  readonly definition: SchemaDefinition;
10
10
  constructor(definition: SchemaDefinition);
11
- static fromZod(name: string, schema: z.ZodType<unknown>, options?: {
11
+ static fromZod(name: string, schema: ZodSchema, options?: {
12
12
  description?: string;
13
13
  strict?: boolean;
14
14
  }): Schema;
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/schema/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,MAAM;aACW,UAAU,EAAE,gBAAgB;gBAA5B,UAAU,EAAE,gBAAgB;IAExD,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAC1B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACnD,MAAM;IAST,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACnD,MAAM;CAQV"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/schema/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,MAAM;aACW,UAAU,EAAE,gBAAgB;gBAA5B,UAAU,EAAE,gBAAgB;IAExD,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACnD,MAAM;IAST,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACnD,MAAM;CAQV"}
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
2
- export declare function toJsonSchema(schema: z.ZodType<unknown> | Record<string, unknown>): Record<string, unknown>;
1
+ import { ZodSchema } from "./zod.js";
2
+ export declare function toJsonSchema(schema: ZodSchema | Record<string, unknown>): Record<string, unknown>;
3
3
  //# sourceMappingURL=to-json-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/to-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,wBAAgB,YAAY,CAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB"}
1
+ {"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/to-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGjG"}
@@ -1,10 +1,5 @@
1
- import { z } from "zod";
2
- import { zodToJsonSchema } from "zod-to-json-schema";
1
+ import { isZodSchema, zodToJson } from "./zod.js";
3
2
  export function toJsonSchema(schema) {
4
- // If it's a Zod schema, convert it
5
- if (schema instanceof z.ZodType) {
6
- return zodToJsonSchema(schema, { target: "openApi3" });
7
- }
8
- // If it's already a JSON schema object, return as is
9
- return schema;
3
+ // A Zod schema is converted; a JSON Schema object is used as it is.
4
+ return isZodSchema(schema) ? zodToJson(schema) : schema;
10
5
  }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * A Zod 4 schema. Typed by shape, because Zod's own types only match schemas from the same Zod
3
+ * version, and NodeLLM takes schemas from whichever Zod 4 release the app installs.
4
+ */
5
+ export interface Zod4Schema<Output = unknown> {
6
+ readonly _zod: {
7
+ readonly output: Output;
8
+ };
9
+ parse(value: unknown): Output;
10
+ }
11
+ /**
12
+ * A Zod 3 schema, typed by shape like Zod 4's so a schema from another copy of Zod 3 matches.
13
+ * Supported until NodeLLM 2.0, which drops Zod 3; use Zod 4 schemas.
14
+ */
15
+ export interface Zod3Schema<Output = unknown> {
16
+ readonly _def: unknown;
17
+ readonly _output: Output;
18
+ parse(value: unknown): Output;
19
+ }
20
+ /** A Zod 4 or Zod 3 schema. */
21
+ export type ZodSchema<Output = unknown> = Zod4Schema<Output> | Zod3Schema<Output>;
22
+ /**
23
+ * Whether a value is a Zod 4 or Zod 3 schema. Checked by shape rather than with `instanceof`,
24
+ * which fails for Zod 4 schemas and for schemas from another copy of Zod 3.
25
+ */
26
+ export declare function isZodSchema(value: unknown): value is ZodSchema;
27
+ /**
28
+ * The JSON Schema a model is given for a Zod schema: the shape it must send, so fields with
29
+ * defaults are optional. Standard JSON Schema rather than OpenAPI's dialect: providers ignore or
30
+ * reject OpenAPI's `nullable`, so a nullable field became a plain string and models sent "null".
31
+ */
32
+ export declare function zodToJson(schema: ZodSchema): Record<string, unknown>;
33
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/schema/zod.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO;IAC1C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B;AAED,+BAA+B;AAC/B,MAAM,MAAM,SAAS,CAAC,MAAM,GAAG,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAElF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAI9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGpE"}
@@ -0,0 +1,33 @@
1
+ import { zodToJsonSchema } from "zod-to-json-schema";
2
+ /**
3
+ * Whether a value is a Zod 4 or Zod 3 schema. Checked by shape rather than with `instanceof`,
4
+ * which fails for Zod 4 schemas and for schemas from another copy of Zod 3.
5
+ */
6
+ export function isZodSchema(value) {
7
+ if (typeof value !== "object" || value === null)
8
+ return false;
9
+ if (typeof value.parse !== "function")
10
+ return false;
11
+ return "_zod" in value || "_def" in value;
12
+ }
13
+ /**
14
+ * The JSON Schema a model is given for a Zod schema: the shape it must send, so fields with
15
+ * defaults are optional. Standard JSON Schema rather than OpenAPI's dialect: providers ignore or
16
+ * reject OpenAPI's `nullable`, so a nullable field became a plain string and models sent "null".
17
+ */
18
+ export function zodToJson(schema) {
19
+ const { $schema: _dialect, ...json } = "_zod" in schema ? zod4ToJson(schema) : zod3ToJson(schema);
20
+ return json;
21
+ }
22
+ // Zod 4.2 added toJSONSchema() to schemas; earlier Zod 4 releases and zod/mini don't have it.
23
+ function zod4ToJson(schema) {
24
+ const toJSONSchema = schema.toJSONSchema;
25
+ if (typeof toJSONSchema !== "function") {
26
+ throw new Error(`[NodeLLM] Zod 4 schemas need Zod 4.2 or later, imported from "zod" rather than "zod/mini".`);
27
+ }
28
+ return toJSONSchema.call(schema, { target: "draft-7", io: "input" });
29
+ }
30
+ // Removed with Zod 3 support in NodeLLM 2.0.
31
+ function zod3ToJson(schema) {
32
+ return zodToJsonSchema(schema, { target: "jsonSchema7" });
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-llm/core",
3
- "version": "1.18.0",
3
+ "version": "1.19.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -55,25 +55,24 @@
55
55
  "README.md",
56
56
  "LICENSE"
57
57
  ],
58
- "scripts": {
59
- "build": "tsc -p tsconfig.json",
60
- "dev": "tsc -w",
61
- "lint": "tsc --noEmit",
62
- "test": "vitest run",
63
- "test:docs": "vitest run test/docs",
64
- "test:watch": "vitest",
65
- "prepack": "npm run build && cp ../../CHANGELOG.md ./CHANGELOG.md",
66
- "postpack": "rm ./CHANGELOG.md",
67
- "prepublishOnly": "npm run build && npm run test:docs"
68
- },
69
58
  "dependencies": {
70
- "zod": "^3.23.8",
59
+ "zod": "^4.6.6",
71
60
  "zod-to-json-schema": "^3.25.1"
72
61
  },
73
62
  "devDependencies": {
74
63
  "@pollyjs/adapter-fetch": "^6.0.7",
75
64
  "@pollyjs/adapter-node-http": "^6.0.6",
76
65
  "@pollyjs/core": "^6.0.6",
77
- "@pollyjs/persister-fs": "^6.0.6"
66
+ "@pollyjs/persister-fs": "^6.0.6",
67
+ "typescript": "^5.9.3"
68
+ },
69
+ "scripts": {
70
+ "build": "tsc -p tsconfig.json",
71
+ "dev": "tsc -w",
72
+ "lint": "tsc --noEmit",
73
+ "test": "vitest run",
74
+ "test:docs": "vitest run test/docs",
75
+ "test:live": "vitest run --config vitest.live.config.ts",
76
+ "test:watch": "vitest"
78
77
  }
79
- }
78
+ }