@node-llm/core 1.17.1 → 1.18.0

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 (64) hide show
  1. package/README.md +1 -0
  2. package/dist/agent/Agent.d.ts +24 -11
  3. package/dist/agent/Agent.d.ts.map +1 -1
  4. package/dist/agent/Agent.js +1 -3
  5. package/dist/aliases.d.ts +341 -172
  6. package/dist/aliases.d.ts.map +1 -1
  7. package/dist/aliases.js +409 -240
  8. package/dist/chat/Chat.d.ts +13 -10
  9. package/dist/chat/Chat.d.ts.map +1 -1
  10. package/dist/chat/Chat.js +15 -4
  11. package/dist/chat/ChatOptions.d.ts +11 -11
  12. package/dist/chat/ChatOptions.d.ts.map +1 -1
  13. package/dist/chat/Tool.d.ts +26 -5
  14. package/dist/chat/Tool.d.ts.map +1 -1
  15. package/dist/chat/Tool.js +25 -3
  16. package/dist/chat/ToolCallOutcome.d.ts +6 -6
  17. package/dist/chat/ToolCallOutcome.d.ts.map +1 -1
  18. package/dist/chat/ToolHandler.d.ts +2 -2
  19. package/dist/chat/ToolHandler.d.ts.map +1 -1
  20. package/dist/config.d.ts +12 -2
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +18 -1
  23. package/dist/constants.d.ts +7 -0
  24. package/dist/constants.d.ts.map +1 -1
  25. package/dist/constants.js +3 -1
  26. package/dist/index.d.ts +9 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -0
  29. package/dist/judge/Judge.d.ts +107 -0
  30. package/dist/judge/Judge.d.ts.map +1 -0
  31. package/dist/judge/Judge.js +104 -0
  32. package/dist/judge/Judgment.d.ts +116 -0
  33. package/dist/judge/Judgment.d.ts.map +1 -0
  34. package/dist/judge/Judgment.js +159 -0
  35. package/dist/judge/Question.d.ts +91 -0
  36. package/dist/judge/Question.d.ts.map +1 -0
  37. package/dist/judge/Question.js +180 -0
  38. package/dist/llm.d.ts +46 -0
  39. package/dist/llm.d.ts.map +1 -1
  40. package/dist/llm.js +105 -5
  41. package/dist/models/ModelRegistry.d.ts +11 -18
  42. package/dist/models/ModelRegistry.d.ts.map +1 -1
  43. package/dist/models/ModelRegistry.js +6 -0
  44. package/dist/models/models.json +5181 -2145
  45. package/dist/providers/BaseProvider.d.ts +2 -1
  46. package/dist/providers/BaseProvider.d.ts.map +1 -1
  47. package/dist/providers/BaseProvider.js +3 -0
  48. package/dist/providers/Provider.d.ts +37 -0
  49. package/dist/providers/Provider.d.ts.map +1 -1
  50. package/dist/providers/registry.d.ts +2 -1
  51. package/dist/providers/registry.d.ts.map +1 -1
  52. package/dist/providers/registry.js +2 -1
  53. package/dist/providers/typesafe/SystemOne.d.ts +11 -0
  54. package/dist/providers/typesafe/SystemOne.d.ts.map +1 -0
  55. package/dist/providers/typesafe/SystemOne.js +171 -0
  56. package/dist/providers/typesafe/TypeSafeProvider.d.ts +27 -0
  57. package/dist/providers/typesafe/TypeSafeProvider.d.ts.map +1 -0
  58. package/dist/providers/typesafe/TypeSafeProvider.js +76 -0
  59. package/dist/providers/typesafe/index.d.ts +4 -0
  60. package/dist/providers/typesafe/index.d.ts.map +1 -0
  61. package/dist/providers/typesafe/index.js +19 -0
  62. package/dist/types/Middleware.d.ts +9 -0
  63. package/dist/types/Middleware.d.ts.map +1 -1
  64. package/package.json +13 -10
@@ -1,5 +1,5 @@
1
1
  import { Message } from "../chat/Message.js";
2
- import { Provider, ChatRequest, ChatResponse, ChatChunk, ModelInfo, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, ModerationRequest, ModerationResponse, EmbeddingRequest, EmbeddingResponse, ProviderCapabilities } from "./Provider.js";
2
+ import { Provider, ChatRequest, ChatResponse, ChatChunk, ModelInfo, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, ModerationRequest, ModerationResponse, EmbeddingRequest, EmbeddingResponse, JudgmentRequest, JudgmentResponse, ProviderCapabilities } from "./Provider.js";
3
3
  /**
4
4
  * Abstract base class for all LLM providers.
5
5
  * Provides common functionality and default implementations for unsupported features.
@@ -25,6 +25,7 @@ export declare abstract class BaseProvider implements Provider {
25
25
  transcribe?(_request: TranscriptionRequest): Promise<TranscriptionResponse>;
26
26
  moderate?(_request: ModerationRequest): Promise<ModerationResponse>;
27
27
  embed?(_request: EmbeddingRequest): Promise<EmbeddingResponse>;
28
+ judge?(_request: JudgmentRequest): Promise<JudgmentResponse>;
28
29
  formatToolResultMessage(toolCallId: string, content: string, options?: {
29
30
  isError?: boolean;
30
31
  }): Message;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,8BAAsB,YAAa,YAAW,QAAQ;aACpC,OAAO,IAAI,MAAM;aACjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAEzC,IAAI,EAAE,IAAI,MAAM,CAEf;IAEM,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9C,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;aAIvC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1D,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,oBAAoB;IAgB9C,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IAKzD,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAInC,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,UAAU,CAAC,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI3E,QAAQ,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIpE,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO;CAQX"}
1
+ {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,8BAAsB,YAAa,YAAW,QAAQ;aACpC,OAAO,IAAI,MAAM;aACjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAEzC,IAAI,EAAE,IAAI,MAAM,CAEf;IAEM,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9C,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;aAIvC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1D,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,oBAAoB;IAgB9C,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IAKzD,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAInC,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,UAAU,CAAC,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI3E,QAAQ,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI9D,KAAK,CAAC,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIlE,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO;CAQX"}
@@ -53,6 +53,9 @@ export class BaseProvider {
53
53
  async embed(_request) {
54
54
  this.throwUnsupportedError("embed");
55
55
  }
56
+ async judge(_request) {
57
+ this.throwUnsupportedError("judge");
58
+ }
56
59
  formatToolResultMessage(toolCallId, content, options) {
57
60
  return {
58
61
  role: "tool",
@@ -1,5 +1,6 @@
1
1
  import { Message } from "../chat/Message.js";
2
2
  import { ToolDefinition, ToolCall } from "../chat/Tool.js";
3
+ import type { NamedQuestion, JsonValue } from "../judge/Question.js";
3
4
  export interface ResponseFormat {
4
5
  type: "text" | "json_object" | "json_schema";
5
6
  json_schema?: {
@@ -223,10 +224,46 @@ export interface Provider {
223
224
  transcribe?(request: TranscriptionRequest): Promise<TranscriptionResponse>;
224
225
  moderate?(request: ModerationRequest): Promise<ModerationResponse>;
225
226
  embed?(request: EmbeddingRequest): Promise<EmbeddingResponse>;
227
+ judge?(request: JudgmentRequest): Promise<JudgmentResponse>;
226
228
  defaultModel(feature?: string): string;
227
229
  capabilities?: ProviderCapabilities;
228
230
  formatToolResultMessage(toolCallId: string, content: string, options?: {
229
231
  isError?: boolean;
230
232
  }): Message;
231
233
  }
234
+ /** Input a judgment is asked about: text, or JSON-compatible structured data. */
235
+ export type JudgmentInput = string | JsonValue[] | {
236
+ [key: string]: JsonValue;
237
+ };
238
+ export interface JudgmentRequest {
239
+ model: string;
240
+ input: JudgmentInput;
241
+ /** Validated questions, in declaration order. */
242
+ questions: NamedQuestion[];
243
+ /** Provider-specific fields merged into the request body. */
244
+ providerOptions?: Record<string, unknown>;
245
+ requestTimeout?: number;
246
+ }
247
+ /** One answer as returned by a provider, before it is wrapped for the caller. */
248
+ export type JudgmentAnswerData = {
249
+ type: "probability";
250
+ probability: number;
251
+ } | {
252
+ type: "choice";
253
+ choice: string;
254
+ probabilities: Record<string, number>;
255
+ confidence: number;
256
+ } | {
257
+ type: "score";
258
+ score: number;
259
+ probabilities: Record<number, number>;
260
+ confidence: number;
261
+ };
262
+ export interface JudgmentResponse {
263
+ /** The model that answered, which can be more specific than the one requested. */
264
+ model: string;
265
+ answers: Record<string, JudgmentAnswerData>;
266
+ usage: Usage;
267
+ raw?: unknown;
268
+ }
232
269
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { registerOpenRouterProvider } from "./openrouter/index.js";
8
8
  import { registerBedrockProvider } from "./bedrock/index.js";
9
9
  import { registerXAIProvider } from "./xai/index.js";
10
10
  import { registerMistralProvider } from "./mistral/index.js";
11
+ import { registerTypeSafeProvider } from "./typesafe/index.js";
11
12
  import { NodeLLMConfig } from "../config.js";
12
13
  type ProviderFactory = (config?: NodeLLMConfig) => Provider;
13
14
  export type ProviderInterceptor = (provider: Provider) => Provider;
@@ -48,5 +49,5 @@ declare class ProviderRegistry {
48
49
  * ```
49
50
  */
50
51
  export declare const providerRegistry: ProviderRegistry;
51
- export { registerOpenAIProvider as ensureOpenAIRegistered, registerOpenAIProvider, registerAnthropicProvider, registerGeminiProvider, registerDeepSeekProvider, registerOllamaProvider, registerOpenRouterProvider, registerBedrockProvider, registerXAIProvider, registerMistralProvider };
52
+ export { registerOpenAIProvider as ensureOpenAIRegistered, registerOpenAIProvider, registerAnthropicProvider, registerGeminiProvider, registerDeepSeekProvider, registerOllamaProvider, registerOpenRouterProvider, registerBedrockProvider, registerXAIProvider, registerMistralProvider, registerTypeSafeProvider };
52
53
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,KAAK,eAAe,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,QAAQ,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAEnE,cAAM,gBAAgB;IACpB,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAEzC,cAAc,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS;IAIlE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAO/C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ;IAgBvD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAGvD,OAAO,EACL,sBAAsB,IAAI,sBAAsB,EAChD,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACxB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,KAAK,eAAe,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,QAAQ,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAEnE,cAAM,gBAAgB;IACpB,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAEzC,cAAc,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS;IAIlE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAO/C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ;IAgBvD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAGvD,OAAO,EACL,sBAAsB,IAAI,sBAAsB,EAChD,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACzB,CAAC"}
@@ -7,6 +7,7 @@ import { registerOpenRouterProvider } from "./openrouter/index.js";
7
7
  import { registerBedrockProvider } from "./bedrock/index.js";
8
8
  import { registerXAIProvider } from "./xai/index.js";
9
9
  import { registerMistralProvider } from "./mistral/index.js";
10
+ import { registerTypeSafeProvider } from "./typesafe/index.js";
10
11
  class ProviderRegistry {
11
12
  providers = new Map();
12
13
  globalInterceptor;
@@ -66,4 +67,4 @@ class ProviderRegistry {
66
67
  */
67
68
  export const providerRegistry = new ProviderRegistry();
68
69
  // Exported registration functions (delegates to provider-specific index files)
69
- export { registerOpenAIProvider as ensureOpenAIRegistered, registerOpenAIProvider, registerAnthropicProvider, registerGeminiProvider, registerDeepSeekProvider, registerOllamaProvider, registerOpenRouterProvider, registerBedrockProvider, registerXAIProvider, registerMistralProvider };
70
+ export { registerOpenAIProvider as ensureOpenAIRegistered, registerOpenAIProvider, registerAnthropicProvider, registerGeminiProvider, registerDeepSeekProvider, registerOllamaProvider, registerOpenRouterProvider, registerBedrockProvider, registerXAIProvider, registerMistralProvider, registerTypeSafeProvider };
@@ -0,0 +1,11 @@
1
+ import { JudgmentRequest, JudgmentResponse } from "../Provider.js";
2
+ import { NamedQuestion } from "../../judge/Question.js";
3
+ export declare function renderJudgmentPayload(request: JudgmentRequest): Record<string, unknown>;
4
+ export declare function parseJudgmentResponse(json: unknown, questions: NamedQuestion[]): JudgmentResponse;
5
+ /**
6
+ * Turns an error response into the matching NodeLLM error. System One reports
7
+ * errors FastAPI-style: `detail` is a string, an object with a `message`, or a
8
+ * list of validation errors each with a location and message.
9
+ */
10
+ export declare function handleTypeSafeError(response: Response, model?: string): Promise<never>;
11
+ //# sourceMappingURL=SystemOne.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemOne.d.ts","sourceRoot":"","sources":["../../../src/providers/typesafe/SystemOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAwDxD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAevF;AAoED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAejG;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CA+C5F"}
@@ -0,0 +1,171 @@
1
+ import { APIError, AuthenticationError, BadRequestError, InvalidModelError, NotFoundError, RateLimitError, ServerError, ServiceUnavailableError } from "../../errors/index.js";
2
+ /**
3
+ * The System One protocol: one request carries the input as `state` and a map
4
+ * of typed questions; the response carries one typed answer per question.
5
+ *
6
+ * Wire names differ from ours in two places. A probability question is a
7
+ * `noul` ("not unlikely"), and its yes/no descriptions are keyed "true" and
8
+ * "false".
9
+ */
10
+ const WIRE_TYPES = { probability: "noul", choice: "choice", score: "score" };
11
+ const OUTCOME_KEYS = {
12
+ yes: "true",
13
+ true: "true",
14
+ no: "false",
15
+ false: "false"
16
+ };
17
+ const RESERVED = ["model", "state", "questions"];
18
+ function renderQuestion(question) {
19
+ let criteria;
20
+ switch (question.type) {
21
+ case "probability":
22
+ criteria = question.criteria
23
+ ? Object.fromEntries(Object.entries(question.criteria).map(([key, value]) => [OUTCOME_KEYS[key], value]))
24
+ : undefined;
25
+ break;
26
+ case "choice":
27
+ criteria = question.options;
28
+ break;
29
+ case "score":
30
+ criteria = question.levels;
31
+ break;
32
+ }
33
+ const rendered = { type: WIRE_TYPES[question.type] };
34
+ if (question.instructions !== undefined && question.instructions !== null) {
35
+ rendered.instructions = question.instructions;
36
+ }
37
+ if (criteria !== undefined)
38
+ rendered.criteria = criteria;
39
+ return rendered;
40
+ }
41
+ export function renderJudgmentPayload(request) {
42
+ const options = request.providerOptions ?? {};
43
+ const reserved = Object.keys(options).filter((key) => RESERVED.includes(key));
44
+ if (reserved.length > 0) {
45
+ throw new Error(`Use the judgment arguments instead of providerOptions for ${reserved.join(", ")}`);
46
+ }
47
+ return {
48
+ model: request.model,
49
+ state: request.input,
50
+ questions: Object.fromEntries(request.questions.map((q) => [q.name, renderQuestion(q)])),
51
+ ...options
52
+ };
53
+ }
54
+ function malformed(detail) {
55
+ throw new Error(`System One returned an invalid judgment: ${detail}`);
56
+ }
57
+ function requireNumber(value, field) {
58
+ if (typeof value !== "number" || !Number.isFinite(value))
59
+ malformed(`${field} is not a number`);
60
+ return value;
61
+ }
62
+ function requireObject(value, field) {
63
+ if (!value || typeof value !== "object" || Array.isArray(value))
64
+ malformed(`${field} is missing`);
65
+ return value;
66
+ }
67
+ function parseAnswer(raw, question) {
68
+ const answer = requireObject(raw, `the answer to '${question.name}'`);
69
+ switch (question.type) {
70
+ case "probability":
71
+ return {
72
+ type: "probability",
73
+ probability: requireNumber(answer.noul, `${question.name}.noul`)
74
+ };
75
+ case "choice": {
76
+ const options = Object.keys(question.options);
77
+ const chosen = answer.choice;
78
+ if (typeof chosen !== "string" || !options.includes(chosen)) {
79
+ malformed(`'${question.name}' chose '${String(chosen)}', which is not one of its options`);
80
+ }
81
+ const wire = requireObject(answer.probabilities, `${question.name}.probabilities`);
82
+ const probabilities = Object.fromEntries(options.map((option) => [
83
+ option,
84
+ requireNumber(wire[option], `${question.name}.probabilities.${option}`)
85
+ ]));
86
+ return {
87
+ type: "choice",
88
+ choice: chosen,
89
+ probabilities,
90
+ confidence: requireNumber(answer.confidence, `${question.name}.confidence`)
91
+ };
92
+ }
93
+ case "score": {
94
+ // Levels go out as an array and come back keyed "0", "1", ... - map them
95
+ // back to numeric indexes so they line up with the declared levels.
96
+ const wire = requireObject(answer.probabilities, `${question.name}.probabilities`);
97
+ const probabilities = {};
98
+ question.levels.forEach((_, index) => {
99
+ probabilities[index] = requireNumber(wire[String(index)], `${question.name}.probabilities.${index}`);
100
+ });
101
+ return {
102
+ type: "score",
103
+ score: requireNumber(answer.score, `${question.name}.score`),
104
+ probabilities,
105
+ confidence: requireNumber(answer.confidence, `${question.name}.confidence`)
106
+ };
107
+ }
108
+ }
109
+ }
110
+ export function parseJudgmentResponse(json, questions) {
111
+ const body = requireObject(json, "the response body");
112
+ const answers = requireObject(body.answers, "answers");
113
+ const usage = (body.usage ?? {});
114
+ const input = typeof usage.input_tokens === "number" ? usage.input_tokens : 0;
115
+ const output = typeof usage.output_tokens === "number" ? usage.output_tokens : 0;
116
+ return {
117
+ model: typeof body.model === "string" ? body.model : "",
118
+ answers: Object.fromEntries(questions.map((question) => [question.name, parseAnswer(answers[question.name], question)])),
119
+ usage: { input_tokens: input, output_tokens: output, total_tokens: input + output },
120
+ raw: json
121
+ };
122
+ }
123
+ /**
124
+ * Turns an error response into the matching NodeLLM error. System One reports
125
+ * errors FastAPI-style: `detail` is a string, an object with a `message`, or a
126
+ * list of validation errors each with a location and message.
127
+ */
128
+ export async function handleTypeSafeError(response, model) {
129
+ const status = response.status;
130
+ let body;
131
+ let message = `TypeSafe error (${status})`;
132
+ try {
133
+ body = await response.json();
134
+ const detail = body?.detail;
135
+ if (typeof detail === "string") {
136
+ message = detail;
137
+ }
138
+ else if (Array.isArray(detail)) {
139
+ message = detail
140
+ .map((item) => [Array.isArray(item.loc) ? item.loc.join(".") : "", item.msg ?? ""]
141
+ .filter(Boolean)
142
+ .join(": "))
143
+ .join("; ");
144
+ }
145
+ else if (detail && typeof detail === "object" && "message" in detail) {
146
+ message = String(detail.message);
147
+ }
148
+ }
149
+ catch {
150
+ body = await response.text().catch(() => "");
151
+ }
152
+ const provider = "typesafe";
153
+ if (status === 400 || status === 422)
154
+ throw new BadRequestError(message, body, provider, model);
155
+ if (status === 401 || status === 403)
156
+ throw new AuthenticationError(message, status, body, provider);
157
+ if (status === 404) {
158
+ if (message.toLowerCase().includes("model"))
159
+ throw new InvalidModelError(message, body, provider, model);
160
+ throw new NotFoundError(message, status, body, provider, model);
161
+ }
162
+ if (status === 429) {
163
+ const retryAfter = Number(response.headers?.get?.("retry-after"));
164
+ throw new RateLimitError(message, body, provider, model, Number.isFinite(retryAfter) && retryAfter > 0 ? retryAfter : undefined);
165
+ }
166
+ if (status === 503)
167
+ throw new ServiceUnavailableError(message, status, body, provider);
168
+ if (status >= 500)
169
+ throw new ServerError(message, status, body, provider);
170
+ throw new APIError(message, status, body, provider, model);
171
+ }
@@ -0,0 +1,27 @@
1
+ import { BaseProvider } from "../BaseProvider.js";
2
+ import { ChatRequest, ChatResponse, JudgmentRequest, JudgmentResponse, ModelInfo } from "../Provider.js";
3
+ export interface TypeSafeProviderOptions {
4
+ apiKey: string;
5
+ baseUrl?: string;
6
+ }
7
+ /**
8
+ * TypeSafe's System One models (Jev) answer typed questions with calibrated
9
+ * probabilities. They do not generate text, so this provider offers judgments
10
+ * and a model listing only; chat and every other operation are unsupported.
11
+ *
12
+ * Any server implementing the same System One API works by pointing
13
+ * `typesafeApiBase` at it.
14
+ */
15
+ export declare class TypeSafeProvider extends BaseProvider {
16
+ private readonly options;
17
+ private readonly baseUrl;
18
+ constructor(options: TypeSafeProviderOptions);
19
+ apiBase(): string;
20
+ headers(): Record<string, string>;
21
+ protected providerName(): string;
22
+ defaultModel(feature?: string): string;
23
+ chat(_request: ChatRequest): Promise<ChatResponse>;
24
+ judge(request: JudgmentRequest): Promise<JudgmentResponse>;
25
+ listModels(): Promise<ModelInfo[]>;
26
+ }
27
+ //# sourceMappingURL=TypeSafeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeSafeProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/typesafe/TypeSafeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAGpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,uBAAuB;IAM7D,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOjC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhC,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIlD,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkB1D,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CA2BzC"}
@@ -0,0 +1,76 @@
1
+ import { BaseProvider } from "../BaseProvider.js";
2
+ import { fetchWithTimeout } from "../../utils/fetch.js";
3
+ import { logger } from "../../utils/logger.js";
4
+ import { DEFAULT_MODELS, DEFAULT_TYPESAFE_BASE_URL } from "../../constants.js";
5
+ import { handleTypeSafeError, parseJudgmentResponse, renderJudgmentPayload } from "./SystemOne.js";
6
+ /**
7
+ * TypeSafe's System One models (Jev) answer typed questions with calibrated
8
+ * probabilities. They do not generate text, so this provider offers judgments
9
+ * and a model listing only; chat and every other operation are unsupported.
10
+ *
11
+ * Any server implementing the same System One API works by pointing
12
+ * `typesafeApiBase` at it.
13
+ */
14
+ export class TypeSafeProvider extends BaseProvider {
15
+ options;
16
+ baseUrl;
17
+ constructor(options) {
18
+ super();
19
+ this.options = options;
20
+ this.baseUrl = (options.baseUrl || DEFAULT_TYPESAFE_BASE_URL).replace(/\/+$/, "");
21
+ this.capabilities = this.defaultCapabilities();
22
+ }
23
+ apiBase() {
24
+ return this.baseUrl;
25
+ }
26
+ headers() {
27
+ return {
28
+ Authorization: `Bearer ${this.options.apiKey}`,
29
+ "Content-Type": "application/json"
30
+ };
31
+ }
32
+ providerName() {
33
+ return "typesafe";
34
+ }
35
+ defaultModel(feature) {
36
+ return feature === undefined || feature === "judgment" ? DEFAULT_MODELS.JUDGMENT : "";
37
+ }
38
+ async chat(_request) {
39
+ this.throwUnsupportedError("chat (TypeSafe models answer judgments, not chat)");
40
+ }
41
+ async judge(request) {
42
+ const url = `${this.baseUrl}/v1/systemone`;
43
+ const body = renderJudgmentPayload(request);
44
+ logger.logRequest("TypeSafe", "POST", url, body);
45
+ const response = await fetchWithTimeout(url, { method: "POST", headers: this.headers(), body: JSON.stringify(body) }, request.requestTimeout);
46
+ if (!response.ok)
47
+ await handleTypeSafeError(response, request.model);
48
+ const json = await response.json();
49
+ logger.logResponse("TypeSafe", response.status, response.statusText, json);
50
+ return parseJudgmentResponse(json, request.questions);
51
+ }
52
+ async listModels() {
53
+ const response = await fetchWithTimeout(`${this.baseUrl}/v1/models`, {
54
+ method: "GET",
55
+ headers: this.headers()
56
+ });
57
+ if (!response.ok)
58
+ await handleTypeSafeError(response);
59
+ const json = (await response.json());
60
+ return (json.models ?? []).map((entry) => ({
61
+ id: entry.name,
62
+ name: entry.name,
63
+ provider: "typesafe",
64
+ family: "jev",
65
+ context_window: null,
66
+ max_output_tokens: null,
67
+ modalities: { input: ["text"], output: ["judgment"] },
68
+ capabilities: ["judgment"],
69
+ pricing: {},
70
+ metadata: {
71
+ ...(entry.description ? { description: entry.description } : {}),
72
+ ...(entry.release_date ? { created_at: entry.release_date } : {})
73
+ }
74
+ }));
75
+ }
76
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./TypeSafeProvider.js";
2
+ export declare function registerTypeSafeProvider(): void;
3
+ export declare const ensureTypeSafeRegistered: typeof registerTypeSafeProvider;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/typesafe/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AAItC,wBAAgB,wBAAwB,SAiBvC;AAED,eAAO,MAAM,wBAAwB,iCAA2B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { config as globalConfig } from "../../config.js";
2
+ import { providerRegistry } from "../registry.js";
3
+ import { TypeSafeProvider } from "./TypeSafeProvider.js";
4
+ export * from "./TypeSafeProvider.js";
5
+ let registered = false;
6
+ export function registerTypeSafeProvider() {
7
+ if (registered)
8
+ return;
9
+ providerRegistry.register("typesafe", (config) => {
10
+ const cfg = config || globalConfig;
11
+ const apiKey = cfg.typesafeApiKey;
12
+ if (!apiKey) {
13
+ throw new Error("typesafeApiKey is not set in config or TYPESAFE_API_KEY environment variable");
14
+ }
15
+ return new TypeSafeProvider({ apiKey, baseUrl: cfg.typesafeApiBase });
16
+ });
17
+ registered = true;
18
+ }
19
+ export const ensureTypeSafeRegistered = registerTypeSafeProvider;
@@ -53,6 +53,15 @@ export interface MiddlewareContext {
53
53
  * Options passed to the moderation request (Moderation only).
54
54
  */
55
55
  moderationOptions?: Record<string, unknown>;
56
+ /**
57
+ * Options for the judgment request (Judgment only).
58
+ */
59
+ judgmentOptions?: Record<string, unknown>;
60
+ /**
61
+ * The input a judgment is asked about (Judgment only). Text or JSON-compatible
62
+ * structured data. Mutating it in `onRequest` affects the actual call.
63
+ */
64
+ judgmentInput?: unknown;
56
65
  /**
57
66
  * Options passed to the image generation request (Paint only).
58
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../src/types/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/C;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,kDAAkD;IAClD,QAAQ,EAAE,eAAe,CAAC;CAC3B,GACD,UAAU,GACV,MAAM,GACN,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACH,UAAU,CAAC,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAExF;;OAEG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1E;;;OAGG;IACH,eAAe,CAAC,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;OAEG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF;;;OAGG;IACH,eAAe,CAAC,CACd,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../src/types/Middleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-llm/core",
3
- "version": "1.17.1",
3
+ "version": "1.18.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -55,6 +55,17 @@
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
+ },
58
69
  "dependencies": {
59
70
  "zod": "^3.23.8",
60
71
  "zod-to-json-schema": "^3.25.1"
@@ -64,13 +75,5 @@
64
75
  "@pollyjs/adapter-node-http": "^6.0.6",
65
76
  "@pollyjs/core": "^6.0.6",
66
77
  "@pollyjs/persister-fs": "^6.0.6"
67
- },
68
- "scripts": {
69
- "build": "tsc -p tsconfig.json",
70
- "dev": "tsc -w",
71
- "lint": "tsc --noEmit",
72
- "test": "vitest run",
73
- "test:docs": "vitest run test/docs",
74
- "test:watch": "vitest"
75
78
  }
76
- }
79
+ }