@falai/agent 2.4.3 → 2.6.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 (121) hide show
  1. package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
  2. package/dist/cjs/core/FlowRouter.js +0 -11
  3. package/dist/cjs/core/FlowRouter.js.map +1 -1
  4. package/dist/cjs/core/ResponseModal.d.ts +51 -2
  5. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  6. package/dist/cjs/core/ResponseModal.js +272 -269
  7. package/dist/cjs/core/ResponseModal.js.map +1 -1
  8. package/dist/cjs/core/ToolLoopExecutor.d.ts +11 -0
  9. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -1
  10. package/dist/cjs/core/ToolLoopExecutor.js +75 -51
  11. package/dist/cjs/core/ToolLoopExecutor.js.map +1 -1
  12. package/dist/cjs/index.d.ts +3 -0
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +4 -2
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  17. package/dist/cjs/providers/AnthropicProvider.js +18 -35
  18. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  19. package/dist/cjs/providers/DeepSeekProvider.d.ts +1 -12
  20. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
  21. package/dist/cjs/providers/DeepSeekProvider.js +3 -20
  22. package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
  23. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  24. package/dist/cjs/providers/GeminiProvider.js +22 -37
  25. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  26. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts +69 -0
  27. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -0
  28. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +93 -0
  29. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +1 -0
  30. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +23 -5
  31. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  32. package/dist/cjs/providers/OpenAICompatibleProvider.js +46 -44
  33. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
  34. package/dist/cjs/providers/index.d.ts +3 -1
  35. package/dist/cjs/providers/index.d.ts.map +1 -1
  36. package/dist/cjs/providers/index.js +3 -1
  37. package/dist/cjs/providers/index.js.map +1 -1
  38. package/dist/cjs/utils/completion.d.ts +20 -0
  39. package/dist/cjs/utils/completion.d.ts.map +1 -0
  40. package/dist/cjs/utils/completion.js +33 -0
  41. package/dist/cjs/utils/completion.js.map +1 -0
  42. package/dist/cjs/utils/index.d.ts +3 -2
  43. package/dist/cjs/utils/index.d.ts.map +1 -1
  44. package/dist/cjs/utils/index.js +7 -1
  45. package/dist/cjs/utils/index.js.map +1 -1
  46. package/dist/cjs/utils/retry.d.ts +43 -7
  47. package/dist/cjs/utils/retry.d.ts.map +1 -1
  48. package/dist/cjs/utils/retry.js +100 -12
  49. package/dist/cjs/utils/retry.js.map +1 -1
  50. package/dist/cjs/utils/streamingMessage.d.ts +48 -0
  51. package/dist/cjs/utils/streamingMessage.d.ts.map +1 -0
  52. package/dist/cjs/utils/streamingMessage.js +210 -0
  53. package/dist/cjs/utils/streamingMessage.js.map +1 -0
  54. package/dist/core/FlowRouter.d.ts.map +1 -1
  55. package/dist/core/FlowRouter.js +0 -11
  56. package/dist/core/FlowRouter.js.map +1 -1
  57. package/dist/core/ResponseModal.d.ts +51 -2
  58. package/dist/core/ResponseModal.d.ts.map +1 -1
  59. package/dist/core/ResponseModal.js +272 -269
  60. package/dist/core/ResponseModal.js.map +1 -1
  61. package/dist/core/ToolLoopExecutor.d.ts +11 -0
  62. package/dist/core/ToolLoopExecutor.d.ts.map +1 -1
  63. package/dist/core/ToolLoopExecutor.js +76 -52
  64. package/dist/core/ToolLoopExecutor.js.map +1 -1
  65. package/dist/index.d.ts +3 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  70. package/dist/providers/AnthropicProvider.js +19 -36
  71. package/dist/providers/AnthropicProvider.js.map +1 -1
  72. package/dist/providers/DeepSeekProvider.d.ts +1 -12
  73. package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
  74. package/dist/providers/DeepSeekProvider.js +3 -20
  75. package/dist/providers/DeepSeekProvider.js.map +1 -1
  76. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  77. package/dist/providers/GeminiProvider.js +23 -38
  78. package/dist/providers/GeminiProvider.js.map +1 -1
  79. package/dist/providers/GenericOpenAICompatibleProvider.d.ts +69 -0
  80. package/dist/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -0
  81. package/dist/providers/GenericOpenAICompatibleProvider.js +87 -0
  82. package/dist/providers/GenericOpenAICompatibleProvider.js.map +1 -0
  83. package/dist/providers/OpenAICompatibleProvider.d.ts +23 -5
  84. package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  85. package/dist/providers/OpenAICompatibleProvider.js +47 -45
  86. package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
  87. package/dist/providers/index.d.ts +3 -1
  88. package/dist/providers/index.d.ts.map +1 -1
  89. package/dist/providers/index.js +1 -0
  90. package/dist/providers/index.js.map +1 -1
  91. package/dist/utils/completion.d.ts +20 -0
  92. package/dist/utils/completion.d.ts.map +1 -0
  93. package/dist/utils/completion.js +29 -0
  94. package/dist/utils/completion.js.map +1 -0
  95. package/dist/utils/index.d.ts +3 -2
  96. package/dist/utils/index.d.ts.map +1 -1
  97. package/dist/utils/index.js +3 -1
  98. package/dist/utils/index.js.map +1 -1
  99. package/dist/utils/retry.d.ts +43 -7
  100. package/dist/utils/retry.d.ts.map +1 -1
  101. package/dist/utils/retry.js +98 -12
  102. package/dist/utils/retry.js.map +1 -1
  103. package/dist/utils/streamingMessage.d.ts +48 -0
  104. package/dist/utils/streamingMessage.d.ts.map +1 -0
  105. package/dist/utils/streamingMessage.js +205 -0
  106. package/dist/utils/streamingMessage.js.map +1 -0
  107. package/package.json +1 -1
  108. package/src/core/FlowRouter.ts +0 -14
  109. package/src/core/ResponseModal.ts +332 -299
  110. package/src/core/ToolLoopExecutor.ts +108 -52
  111. package/src/index.ts +3 -0
  112. package/src/providers/AnthropicProvider.ts +22 -43
  113. package/src/providers/DeepSeekProvider.ts +3 -35
  114. package/src/providers/GeminiProvider.ts +27 -46
  115. package/src/providers/GenericOpenAICompatibleProvider.ts +138 -0
  116. package/src/providers/OpenAICompatibleProvider.ts +87 -67
  117. package/src/providers/index.ts +4 -0
  118. package/src/utils/completion.ts +38 -0
  119. package/src/utils/index.ts +5 -2
  120. package/src/utils/retry.ts +136 -14
  121. package/src/utils/streamingMessage.ts +220 -0
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Generic OpenAI-compatible provider + factory.
4
+ *
5
+ * Most "OpenAI-compatible" endpoints (Azure OpenAI, Groq, Together, Fireworks,
6
+ * vLLM, LM Studio, Ollama, a self-hosted gateway…) differ from OpenAI only in
7
+ * base URL, headers, and how structured output is requested. `createOpenAICompatibleProvider`
8
+ * builds a working provider from that config alone — no subclass required — so
9
+ * adding one ("fake" provider, same wire protocol, different base URL) is a few lines:
10
+ *
11
+ * const ollama = createOpenAICompatibleProvider({
12
+ * name: "ollama",
13
+ * baseURL: "http://localhost:11434/v1",
14
+ * apiKey: "ollama", // local servers ignore it; pass any non-empty string
15
+ * model: "llama3.3",
16
+ * });
17
+ *
18
+ * const azure = createOpenAICompatibleProvider({
19
+ * name: "azure",
20
+ * baseURL: `https://${resource}.openai.azure.com/openai/deployments/${deployment}`,
21
+ * apiKey: process.env.AZURE_OPENAI_KEY!,
22
+ * model: deployment,
23
+ * defaultHeaders: { "api-key": process.env.AZURE_OPENAI_KEY! },
24
+ * });
25
+ *
26
+ * For OpenAI/OpenRouter (native `responses.parse`) and Anthropic/Gemini, prefer
27
+ * their dedicated provider classes.
28
+ */
29
+ var __importDefault = (this && this.__importDefault) || function (mod) {
30
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.createOpenAICompatibleProvider = createOpenAICompatibleProvider;
34
+ const openai_1 = __importDefault(require("openai"));
35
+ const OpenAICompatibleProvider_1 = require("./OpenAICompatibleProvider");
36
+ /** Sensible defaults for a modern OpenAI-compatible endpoint. */
37
+ const DEFAULT_CAPABILITIES = {
38
+ supportsTools: true,
39
+ supportsNativeJsonSchema: true,
40
+ supportsStreaming: true,
41
+ supportsStreamingToolCalls: true,
42
+ supportsPromptCaching: false,
43
+ };
44
+ /**
45
+ * Concrete OpenAI-compatible provider configured entirely from
46
+ * {@link OpenAICompatibleOptions}. Kept private — construct via
47
+ * {@link createOpenAICompatibleProvider}; subclass {@link OpenAICompatibleProvider}
48
+ * directly if you need behavior beyond these knobs (e.g. provider-specific
49
+ * error classification or streaming hooks).
50
+ */
51
+ class GenericOpenAICompatibleProvider extends OpenAICompatibleProvider_1.OpenAICompatibleProvider {
52
+ constructor(options) {
53
+ if (!options.name) {
54
+ throw new Error("An OpenAI-compatible provider needs a `name`.");
55
+ }
56
+ if (!options.baseURL) {
57
+ throw new Error(`[${options.name}] A \`baseURL\` is required.`);
58
+ }
59
+ if (!options.apiKey) {
60
+ throw new Error(`[${options.name}] An \`apiKey\` is required — use any non-empty string for servers that ignore it.`);
61
+ }
62
+ if (!options.model) {
63
+ throw new Error(`[${options.name}] A \`model\` is required.`);
64
+ }
65
+ super({
66
+ client: new openai_1.default({
67
+ apiKey: options.apiKey,
68
+ baseURL: options.baseURL,
69
+ ...(options.defaultHeaders ? { defaultHeaders: options.defaultHeaders } : {}),
70
+ }),
71
+ model: options.model,
72
+ backupModels: options.backupModels,
73
+ config: options.config,
74
+ retryConfig: options.retryConfig,
75
+ // Arbitrary compatible endpoints rarely have responses.parse; default to
76
+ // the broadly-supported chat json_schema strategy.
77
+ structuredOutput: options.structuredOutput ?? "json_schema",
78
+ });
79
+ this.name = options.name;
80
+ this.displayName = options.displayName ?? options.name;
81
+ this.logLabel = options.logLabel ?? options.name.toUpperCase();
82
+ this.capabilities = { ...DEFAULT_CAPABILITIES, ...options.capabilities };
83
+ }
84
+ }
85
+ /**
86
+ * Build an `AiProvider` for any OpenAI-compatible endpoint from config alone.
87
+ * See {@link OpenAICompatibleOptions} for the knobs and the file header for
88
+ * Azure/Ollama examples.
89
+ */
90
+ function createOpenAICompatibleProvider(options) {
91
+ return new GenericOpenAICompatibleProvider(options);
92
+ }
93
+ //# sourceMappingURL=GenericOpenAICompatibleProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericOpenAICompatibleProvider.js","sourceRoot":"","sources":["../../../src/providers/GenericOpenAICompatibleProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;;;AA2GH,wEAIC;AA7GD,oDAA4B;AAG5B,yEAIoC;AAiCpC,iEAAiE;AACjE,MAAM,oBAAoB,GAAyB;IACjD,aAAa,EAAE,IAAI;IACnB,wBAAwB,EAAE,IAAI;IAC9B,iBAAiB,EAAE,IAAI;IACvB,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,+BAAgC,SAAQ,mDAAwB;IAMpE,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,IAAI,OAAO,CAAC,IAAI,oFAAoF,CACrG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,CAAC;YACJ,MAAM,EAAE,IAAI,gBAAM,CAAC;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC;YACF,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,yEAAyE;YACzE,mDAAmD;YACnD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,aAAa;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC3E,CAAC;CACF;AAED;;;;GAIG;AACH,SAAgB,8BAA8B,CAC5C,OAAgC;IAEhC,OAAO,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC"}
@@ -18,6 +18,16 @@ import { type ErrorClassificationOptions } from "./errorClassification";
18
18
  * Default request parameters shared by OpenAI-compatible providers
19
19
  */
20
20
  export type OpenAICompatibleRequestConfig = Partial<Omit<ChatCompletionCreateParamsNonStreaming, "model" | "messages">>;
21
+ /**
22
+ * How structured (JSON-schema) output is requested from the endpoint:
23
+ * - `"responses_parse"` (default) — OpenAI's native `responses.parse` API
24
+ * (OpenAI, OpenRouter). Most compatible endpoints do not implement it.
25
+ * - `"json_schema"` — chat completions with a `json_schema` response_format.
26
+ * The broadest enforced mode (DeepSeek, Groq, Together, Fireworks, vLLM, Azure…).
27
+ * - `"json_object"` — chat completions with a `json_object` response_format,
28
+ * for servers that lack json_schema enforcement (parsed at the end).
29
+ */
30
+ export type StructuredOutputMode = "responses_parse" | "json_schema" | "json_object";
21
31
  /**
22
32
  * Initialization values supplied by subclasses
23
33
  */
@@ -35,6 +45,11 @@ export interface OpenAICompatibleProviderInit {
35
45
  timeout?: number;
36
46
  retries?: number;
37
47
  };
48
+ /**
49
+ * How structured output is requested (default `"responses_parse"`). Lifts the
50
+ * strategy that used to be a per-subclass override into shared config.
51
+ */
52
+ structuredOutput?: StructuredOutputMode;
38
53
  }
39
54
  /**
40
55
  * Base implementation of AiProvider for OpenAI-compatible APIs with
@@ -55,6 +70,8 @@ export declare abstract class OpenAICompatibleProvider implements AiProvider {
55
70
  timeout: number;
56
71
  retries: number;
57
72
  };
73
+ /** Structured-output strategy; see {@link StructuredOutputMode}. */
74
+ protected readonly structuredOutput: StructuredOutputMode;
58
75
  /**
59
76
  * Provider-specific error classification signals.
60
77
  * model_not_found/model_overloaded historically triggered backup models.
@@ -71,12 +88,13 @@ export declare abstract class OpenAICompatibleProvider implements AiProvider {
71
88
  */
72
89
  protected executeStructuredGenerate(model: string, input: GenerateMessageInput<unknown>, jsonSchema: StructuredSchema): Promise<GenerateMessageOutput>;
73
90
  /**
74
- * response_format applied to chat-completions requests when a JSON
75
- * schema is present. Default requests a generic JSON object (parsed at
76
- * the end); subclasses with native json_schema support in chat
77
- * completions (e.g. DeepSeek) override this.
91
+ * response_format applied to chat-completions requests when a JSON schema is
92
+ * present, selected by {@link StructuredOutputMode}: `"json_schema"` for native
93
+ * enforcement, else a generic JSON object parsed at the end. (`"responses_parse"`
94
+ * never reaches chat completions for non-streaming, but streaming has no parse
95
+ * API, so it falls back to `json_object` here.)
78
96
  */
79
- protected structuredResponseFormat(_jsonSchema: StructuredSchema, _schemaName: string | undefined): ChatCompletionCreateParamsNonStreaming["response_format"];
97
+ protected structuredResponseFormat(jsonSchema: StructuredSchema, schemaName: string | undefined): ChatCompletionCreateParamsNonStreaming["response_format"];
80
98
  /**
81
99
  * Hook for provider-specific streaming request parameters
82
100
  * (e.g. DeepSeek's stream_options.include_usage).
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAICompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.OpenAICompatibleProvider = void 0;
14
14
  const utils_1 = require("../utils");
15
15
  const errorClassification_1 = require("./errorClassification");
16
- const DEFAULT_RETRY_CONFIG = {
17
- timeout: 60000,
18
- retries: 3,
19
- };
20
16
  /**
21
17
  * Base implementation of AiProvider for OpenAI-compatible APIs with
22
18
  * backup models and retry logic.
@@ -34,14 +30,8 @@ class OpenAICompatibleProvider {
34
30
  this.primaryModel = init.model;
35
31
  this.backupModels = init.backupModels ?? [];
36
32
  this.config = init.config;
37
- this.retryConfig = {
38
- // `||` is intentional: a 0ms timeout is degenerate (aborts every call
39
- // immediately), so fall back to the default.
40
- timeout: init.retryConfig?.timeout || DEFAULT_RETRY_CONFIG.timeout,
41
- // `??` so an explicit `retries: 0` (disable retries) is honored instead of
42
- // being clobbered to the default by a falsy-zero check.
43
- retries: init.retryConfig?.retries ?? DEFAULT_RETRY_CONFIG.retries,
44
- };
33
+ this.retryConfig = (0, utils_1.resolveRetryConfig)(init.retryConfig);
34
+ this.structuredOutput = init.structuredOutput ?? "responses_parse";
45
35
  }
46
36
  // ---------------------------------------------------------------------
47
37
  // Public API
@@ -62,6 +52,11 @@ class OpenAICompatibleProvider {
62
52
  * with a structured response_format instead.
63
53
  */
64
54
  async executeStructuredGenerate(model, input, jsonSchema) {
55
+ // Non-native modes go through chat completions, where
56
+ // `structuredResponseFormat` selects the response_format.
57
+ if (this.structuredOutput !== "responses_parse") {
58
+ return this.executeChatCompletion(model, input);
59
+ }
65
60
  const response = await this.client.responses.parse({
66
61
  model,
67
62
  instructions: input.prompt,
@@ -77,7 +72,7 @@ class OpenAICompatibleProvider {
77
72
  schema: this.adaptSchema(jsonSchema),
78
73
  },
79
74
  },
80
- });
75
+ }, { signal: input.signal });
81
76
  if (!response.output_parsed) {
82
77
  throw new Error(`No parsed output returned from ${this.displayName}`);
83
78
  }
@@ -95,12 +90,22 @@ class OpenAICompatibleProvider {
95
90
  };
96
91
  }
97
92
  /**
98
- * response_format applied to chat-completions requests when a JSON
99
- * schema is present. Default requests a generic JSON object (parsed at
100
- * the end); subclasses with native json_schema support in chat
101
- * completions (e.g. DeepSeek) override this.
93
+ * response_format applied to chat-completions requests when a JSON schema is
94
+ * present, selected by {@link StructuredOutputMode}: `"json_schema"` for native
95
+ * enforcement, else a generic JSON object parsed at the end. (`"responses_parse"`
96
+ * never reaches chat completions for non-streaming, but streaming has no parse
97
+ * API, so it falls back to `json_object` here.)
102
98
  */
103
- structuredResponseFormat(_jsonSchema, _schemaName) {
99
+ structuredResponseFormat(jsonSchema, schemaName) {
100
+ if (this.structuredOutput === "json_schema") {
101
+ return {
102
+ type: "json_schema",
103
+ json_schema: {
104
+ name: schemaName || "structured_output",
105
+ schema: this.adaptSchema(jsonSchema),
106
+ },
107
+ };
108
+ }
104
109
  return { type: "json_object" };
105
110
  }
106
111
  /**
@@ -260,7 +265,7 @@ class OpenAICompatibleProvider {
260
265
  async *generateStreamWithBackup(input) {
261
266
  // Try primary model first
262
267
  try {
263
- yield* (0, utils_1.withStreamRetry)(() => this.generateStreamWithModel(this.primaryModel, input), { maxRetries: this.retryConfig.retries, operationName: `${this.logLabel} ${this.primaryModel} stream` });
268
+ yield* (0, utils_1.withStreamRetry)((signal) => this.generateStreamWithModel(this.primaryModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${this.primaryModel} stream` });
264
269
  }
265
270
  catch (primaryError) {
266
271
  const primaryErrMsg = (0, errorClassification_1.getErrorMessage)(primaryError);
@@ -274,7 +279,7 @@ class OpenAICompatibleProvider {
274
279
  const backupModel = this.backupModels[i];
275
280
  utils_1.logger.debug(`[${this.logLabel}] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
276
281
  try {
277
- yield* (0, utils_1.withStreamRetry)(() => this.generateStreamWithModel(backupModel, input), { maxRetries: this.retryConfig.retries, operationName: `${this.logLabel} ${backupModel} stream` });
282
+ yield* (0, utils_1.withStreamRetry)((signal) => this.generateStreamWithModel(backupModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${backupModel} stream` });
278
283
  utils_1.logger.debug(`[${this.logLabel}] Backup model ${backupModel} succeeded`);
279
284
  return;
280
285
  }
@@ -298,12 +303,16 @@ class OpenAICompatibleProvider {
298
303
  // Non-streaming generation
299
304
  // ---------------------------------------------------------------------
300
305
  async generateWithModel(model, input) {
301
- const operation = async () => {
306
+ const operation = async (signal) => {
307
+ // Thread the per-attempt timeout signal through input.signal so whichever
308
+ // path runs — responses.parse (structured) or chat.completions — cancels
309
+ // its upstream call when the deadline fires.
310
+ const reqInput = { ...input, signal: (0, utils_1.combineAbortSignals)(input.signal, signal) };
302
311
  // Use structured output path if JSON schema is provided
303
- if (input.parameters?.jsonSchema) {
304
- return this.executeStructuredGenerate(model, input, input.parameters.jsonSchema);
312
+ if (reqInput.parameters?.jsonSchema) {
313
+ return this.executeStructuredGenerate(model, reqInput, reqInput.parameters.jsonSchema);
305
314
  }
306
- return this.executeChatCompletion(model, input);
315
+ return this.executeChatCompletion(model, reqInput);
307
316
  };
308
317
  return (0, utils_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `${this.displayName} ${model}`);
309
318
  }
@@ -332,7 +341,9 @@ class OpenAICompatibleProvider {
332
341
  if (input.parameters?.jsonSchema) {
333
342
  params.response_format = this.structuredResponseFormat(input.parameters.jsonSchema, input.parameters.schemaName);
334
343
  }
335
- const response = await this.client.chat.completions.create(params);
344
+ const response = await this.client.chat.completions.create(params, {
345
+ signal: input.signal,
346
+ });
336
347
  const message = response.choices[0]?.message?.content || "";
337
348
  let toolCalls = [];
338
349
  if (response.choices?.[0]?.message?.tool_calls) {
@@ -365,14 +376,10 @@ class OpenAICompatibleProvider {
365
376
  toolCalls,
366
377
  };
367
378
  }
368
- // A parsed-but-blank structured message with no tool calls is just as empty
369
- // as no text at all — throw so withTimeoutAndRetry retries instead of
379
+ // A parsed-but-blank message with no tool calls is as empty as no text;
380
+ // the shared guard throws so withTimeoutAndRetry retries instead of
370
381
  // returning {"message":""}.
371
- if (toolCalls.length === 0 &&
372
- typeof structured?.message === "string" &&
373
- !structured.message.trim()) {
374
- throw new Error(`No response from ${this.displayName}`);
375
- }
382
+ (0, utils_1.assertUsableCompletion)(structured, message, toolCalls.length, this.displayName);
376
383
  return {
377
384
  message,
378
385
  metadata: {
@@ -388,7 +395,7 @@ class OpenAICompatibleProvider {
388
395
  // ---------------------------------------------------------------------
389
396
  // Streaming generation
390
397
  // ---------------------------------------------------------------------
391
- async *generateStreamWithModel(model, input) {
398
+ async *generateStreamWithModel(model, input, attemptSignal) {
392
399
  // Build messages from history and append prompt as final user message
393
400
  const historyMessages = this.buildChatMessages(input.history);
394
401
  historyMessages.push({ role: "user", content: input.prompt });
@@ -413,7 +420,9 @@ class OpenAICompatibleProvider {
413
420
  if (input.parameters?.jsonSchema) {
414
421
  params.response_format = this.structuredResponseFormat(input.parameters.jsonSchema, input.parameters.schemaName);
415
422
  }
416
- const stream = await this.client.chat.completions.create(params);
423
+ const stream = await this.client.chat.completions.create(params, {
424
+ signal: (0, utils_1.combineAbortSignals)(input.signal, attemptSignal),
425
+ });
417
426
  let accumulated = "";
418
427
  let currentModel = model;
419
428
  let finishReason;
@@ -477,16 +486,9 @@ class OpenAICompatibleProvider {
477
486
  toolCalls,
478
487
  };
479
488
  }
480
- // Empty-completion guard — mirror of the non-streaming path. A blank
481
- // effective message (structured message under a schema, else accumulated
482
- // text) with no tool calls means the model produced nothing usable; throw
483
- // so withStreamRetry/generateStreamWithBackup retry instead of silently
484
- // emitting an empty message.
485
- const structuredMessage = structured?.message;
486
- const messageText = (typeof structuredMessage === "string" ? structuredMessage : accumulated).trim();
487
- if (!messageText && toolCalls.length === 0) {
488
- throw new Error(`No response from ${this.displayName}`);
489
- }
489
+ // Empty-completion guard — same definition as the non-streaming path, so the
490
+ // stream retries / falls back to backup instead of emitting an empty message.
491
+ (0, utils_1.assertUsableCompletion)(structured, accumulated, toolCalls.length, this.displayName);
490
492
  // Yield final chunk
491
493
  yield {
492
494
  delta: "",
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleProvider.js","sourceRoot":"","sources":["../../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAICompatibleProvider.js","sourceRoot":"","sources":["../../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,9 @@ export type { OpenRouterProviderOptions } from "./OpenRouterProvider";
13
13
  export { DeepSeekProvider } from "./DeepSeekProvider";
14
14
  export type { DeepSeekProviderOptions } from "./DeepSeekProvider";
15
15
  export { OpenAICompatibleProvider } from "./OpenAICompatibleProvider";
16
- export type { OpenAICompatibleProviderInit, OpenAICompatibleRequestConfig, } from "./OpenAICompatibleProvider";
16
+ export type { OpenAICompatibleProviderInit, OpenAICompatibleRequestConfig, StructuredOutputMode, } from "./OpenAICompatibleProvider";
17
+ export { createOpenAICompatibleProvider } from "./GenericOpenAICompatibleProvider";
18
+ export type { OpenAICompatibleOptions } from "./GenericOpenAICompatibleProvider";
17
19
  export { classifyProviderError, isBackupEligible, toProviderError, } from "./errorClassification";
18
20
  export type { ErrorClassificationOptions } from "./errorClassification";
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Centralized export point for all AI provider implementations
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.toProviderError = exports.isBackupEligible = exports.classifyProviderError = exports.OpenAICompatibleProvider = exports.DeepSeekProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.AnthropicProvider = void 0;
7
+ exports.toProviderError = exports.isBackupEligible = exports.classifyProviderError = exports.createOpenAICompatibleProvider = exports.OpenAICompatibleProvider = exports.DeepSeekProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.AnthropicProvider = void 0;
8
8
  var AnthropicProvider_1 = require("./AnthropicProvider");
9
9
  Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: function () { return AnthropicProvider_1.AnthropicProvider; } });
10
10
  var GeminiProvider_1 = require("./GeminiProvider");
@@ -17,6 +17,8 @@ var DeepSeekProvider_1 = require("./DeepSeekProvider");
17
17
  Object.defineProperty(exports, "DeepSeekProvider", { enumerable: true, get: function () { return DeepSeekProvider_1.DeepSeekProvider; } });
18
18
  var OpenAICompatibleProvider_1 = require("./OpenAICompatibleProvider");
19
19
  Object.defineProperty(exports, "OpenAICompatibleProvider", { enumerable: true, get: function () { return OpenAICompatibleProvider_1.OpenAICompatibleProvider; } });
20
+ var GenericOpenAICompatibleProvider_1 = require("./GenericOpenAICompatibleProvider");
21
+ Object.defineProperty(exports, "createOpenAICompatibleProvider", { enumerable: true, get: function () { return GenericOpenAICompatibleProvider_1.createOpenAICompatibleProvider; } });
20
22
  var errorClassification_1 = require("./errorClassification");
21
23
  Object.defineProperty(exports, "classifyProviderError", { enumerable: true, get: function () { return errorClassification_1.classifyProviderError; } });
22
24
  Object.defineProperty(exports, "isBackupEligible", { enumerable: true, get: function () { return errorClassification_1.isBackupEligible; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAG1B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAG3B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAGzB,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AAMjC,6DAI+B;AAH7B,4HAAA,qBAAqB,OAAA;AACrB,uHAAA,gBAAgB,OAAA;AAChB,sHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAG1B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAG3B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAGzB,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AAOjC,qFAAmF;AAA1E,iJAAA,8BAA8B,OAAA;AAGvC,6DAI+B;AAH7B,4HAAA,qBAAqB,OAAA;AACrB,uHAAA,gBAAgB,OAAA;AAChB,sHAAA,eAAe,OAAA"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The user-facing text of a (possibly structured) model completion, trimmed.
3
+ *
4
+ * Under a JSON schema the real message lives in `structured.message`; otherwise
5
+ * it's the raw/accumulated text passed as `fallbackText`. A blank result with no
6
+ * tool calls means the model produced nothing usable — providers throw on that
7
+ * so the retry/backup path runs instead of emitting an empty message. Shared by
8
+ * the streaming and non-streaming empty-completion guards across all providers.
9
+ */
10
+ export declare function effectiveMessageText(structured: unknown, fallbackText: string): string;
11
+ /**
12
+ * The single definition of "the model produced nothing usable": a blank
13
+ * effective message ({@link effectiveMessageText}) and no tool calls. When that
14
+ * holds, throw `No response from <provider>` so the caller's retry/backup path
15
+ * runs instead of surfacing an empty turn. Lifting this above the providers
16
+ * keeps the streaming and non-streaming guards — six call sites across three
17
+ * providers — from drifting on what counts as empty.
18
+ */
19
+ export declare function assertUsableCompletion(structured: unknown, fallbackText: string, toolCallCount: number, providerLabel: string): void;
20
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/utils/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,IAAI,CAIN"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.effectiveMessageText = effectiveMessageText;
4
+ exports.assertUsableCompletion = assertUsableCompletion;
5
+ /**
6
+ * The user-facing text of a (possibly structured) model completion, trimmed.
7
+ *
8
+ * Under a JSON schema the real message lives in `structured.message`; otherwise
9
+ * it's the raw/accumulated text passed as `fallbackText`. A blank result with no
10
+ * tool calls means the model produced nothing usable — providers throw on that
11
+ * so the retry/backup path runs instead of emitting an empty message. Shared by
12
+ * the streaming and non-streaming empty-completion guards across all providers.
13
+ */
14
+ function effectiveMessageText(structured, fallbackText) {
15
+ const message = typeof structured === "object" && structured !== null && "message" in structured
16
+ ? structured.message
17
+ : undefined;
18
+ return (typeof message === "string" ? message : fallbackText).trim();
19
+ }
20
+ /**
21
+ * The single definition of "the model produced nothing usable": a blank
22
+ * effective message ({@link effectiveMessageText}) and no tool calls. When that
23
+ * holds, throw `No response from <provider>` so the caller's retry/backup path
24
+ * runs instead of surfacing an empty turn. Lifting this above the providers
25
+ * keeps the streaming and non-streaming guards — six call sites across three
26
+ * providers — from drifting on what counts as empty.
27
+ */
28
+ function assertUsableCompletion(structured, fallbackText, toolCallCount, providerLabel) {
29
+ if (toolCallCount === 0 && !effectiveMessageText(structured, fallbackText)) {
30
+ throw new Error(`No response from ${providerLabel}`);
31
+ }
32
+ }
33
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/utils/completion.ts"],"names":[],"mappings":";;AASA,oDASC;AAUD,wDASC;AArCD;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAClC,UAAmB,EACnB,YAAoB;IAEpB,MAAM,OAAO,GACX,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,SAAS,IAAI,UAAU;QAC9E,CAAC,CAAC,UAAU,CAAC,OAAO;QACpB,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,UAAmB,EACnB,YAAoB,EACpB,aAAqB,EACrB,aAAqB;IAErB,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -8,8 +8,9 @@ export { cloneDeep } from "./clone";
8
8
  export { getLastMessageFromHistory } from "./event";
9
9
  export { historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./history";
10
10
  export { LoggerLevel, logger } from "./logger";
11
- export type { RetryOptions, StreamRetryOptions } from "./retry";
12
- export { retry, withTimeoutAndRetry, withStreamRetry } from "./retry";
11
+ export type { RetryOptions, StreamRetryOptions, RetryConfig } from "./retry";
12
+ export { retry, withTimeoutAndRetry, withStreamRetry, resolveRetryConfig, combineAbortSignals } from "./retry";
13
+ export { effectiveMessageText, assertUsableCompletion } from "./completion";
13
14
  export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions, } from "./condition";
14
15
  export { parseJSONResponse, tryParseJSONResponse } from "./json";
15
16
  export { serializeToolResult } from "./serialize";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAGpD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAG/C,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGtE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAGpD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAG/C,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG/G,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG5E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Utility functions and helpers
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.serializeToolResult = exports.tryParseJSONResponse = exports.parseJSONResponse = exports.hasProgrammaticConditions = exports.extractAIContextStrings = exports.createConditionEvaluator = exports.ConditionEvaluator = exports.withStreamRetry = exports.withTimeoutAndRetry = exports.retry = exports.logger = exports.LoggerLevel = exports.systemMessage = exports.toolMessage = exports.assistantMessage = exports.userMessage = exports.eventsToHistory = exports.eventToHistoryItem = exports.historyToEvents = exports.historyItemToEvent = exports.getLastMessageFromHistory = exports.cloneDeep = exports.createTemplateContext = exports.formatKnowledgeBase = exports.renderMany = exports.render = exports.sessionDataToStep = exports.sessionStepToData = exports.mergeCollected = exports.isFlowCompletedThisSession = exports.completeCurrentFlow = exports.enterStep = exports.enterFlow = exports.createPersistedState = exports.createSessionId = exports.createSession = exports.generateSignalId = exports.generateInlineToolId = exports.generateToolId = exports.generateStepId = exports.generateFlowId = void 0;
6
+ exports.serializeToolResult = exports.tryParseJSONResponse = exports.parseJSONResponse = exports.hasProgrammaticConditions = exports.extractAIContextStrings = exports.createConditionEvaluator = exports.ConditionEvaluator = exports.assertUsableCompletion = exports.effectiveMessageText = exports.combineAbortSignals = exports.resolveRetryConfig = exports.withStreamRetry = exports.withTimeoutAndRetry = exports.retry = exports.logger = exports.LoggerLevel = exports.systemMessage = exports.toolMessage = exports.assistantMessage = exports.userMessage = exports.eventsToHistory = exports.eventToHistoryItem = exports.historyToEvents = exports.historyItemToEvent = exports.getLastMessageFromHistory = exports.cloneDeep = exports.createTemplateContext = exports.formatKnowledgeBase = exports.renderMany = exports.render = exports.sessionDataToStep = exports.sessionStepToData = exports.mergeCollected = exports.isFlowCompletedThisSession = exports.completeCurrentFlow = exports.enterStep = exports.enterFlow = exports.createPersistedState = exports.createSessionId = exports.createSession = exports.generateSignalId = exports.generateInlineToolId = exports.generateToolId = exports.generateStepId = exports.generateFlowId = void 0;
7
7
  // ID generation
8
8
  var id_1 = require("./id");
9
9
  Object.defineProperty(exports, "generateFlowId", { enumerable: true, get: function () { return id_1.generateFlowId; } });
@@ -53,6 +53,12 @@ var retry_1 = require("./retry");
53
53
  Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return retry_1.retry; } });
54
54
  Object.defineProperty(exports, "withTimeoutAndRetry", { enumerable: true, get: function () { return retry_1.withTimeoutAndRetry; } });
55
55
  Object.defineProperty(exports, "withStreamRetry", { enumerable: true, get: function () { return retry_1.withStreamRetry; } });
56
+ Object.defineProperty(exports, "resolveRetryConfig", { enumerable: true, get: function () { return retry_1.resolveRetryConfig; } });
57
+ Object.defineProperty(exports, "combineAbortSignals", { enumerable: true, get: function () { return retry_1.combineAbortSignals; } });
58
+ // Completion helpers
59
+ var completion_1 = require("./completion");
60
+ Object.defineProperty(exports, "effectiveMessageText", { enumerable: true, get: function () { return completion_1.effectiveMessageText; } });
61
+ Object.defineProperty(exports, "assertUsableCompletion", { enumerable: true, get: function () { return completion_1.assertUsableCompletion; } });
56
62
  // Condition utilities
57
63
  var condition_1 = require("./condition");
58
64
  Object.defineProperty(exports, "ConditionEvaluator", { enumerable: true, get: function () { return condition_1.ConditionEvaluator; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gBAAgB;AAChB,2BAMc;AALZ,oGAAA,cAAc,OAAA;AACd,oGAAA,cAAc,OAAA;AACd,oGAAA,cAAc,OAAA;AACd,0GAAA,oBAAoB,OAAA;AACpB,sGAAA,gBAAgB,OAAA;AAGlB,qBAAqB;AACrB,qCAWmB;AAVjB,wGAAA,aAAa,OAAA;AACb,0GAAA,eAAe,OAAA;AACf,+GAAA,oBAAoB,OAAA;AACpB,oGAAA,SAAS,OAAA;AACT,oGAAA,SAAS,OAAA;AACT,8GAAA,mBAAmB,OAAA;AACnB,qHAAA,0BAA0B,OAAA;AAC1B,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AAGnB,qBAAqB;AACrB,uCAKoB;AAJlB,kGAAA,MAAM,OAAA;AACN,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AAGvB,oBAAoB;AACpB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,kBAAkB;AAClB,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,oBAAoB;AACpB,qCASmB;AARjB,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AAGf,UAAU;AACV,mCAA+C;AAAtC,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAI5B,iCAAsE;AAA7D,8FAAA,KAAK,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEpD,sBAAsB;AACtB,yCAKqB;AAJnB,+GAAA,kBAAkB,OAAA;AAClB,qHAAA,wBAAwB,OAAA;AACxB,oHAAA,uBAAuB,OAAA;AACvB,sHAAA,yBAAyB,OAAA;AAG3B,iBAAiB;AACjB,+BAAiE;AAAxD,yGAAA,iBAAiB,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAEhD,0BAA0B;AAC1B,yCAAkD;AAAzC,gHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gBAAgB;AAChB,2BAMc;AALZ,oGAAA,cAAc,OAAA;AACd,oGAAA,cAAc,OAAA;AACd,oGAAA,cAAc,OAAA;AACd,0GAAA,oBAAoB,OAAA;AACpB,sGAAA,gBAAgB,OAAA;AAGlB,qBAAqB;AACrB,qCAWmB;AAVjB,wGAAA,aAAa,OAAA;AACb,0GAAA,eAAe,OAAA;AACf,+GAAA,oBAAoB,OAAA;AACpB,oGAAA,SAAS,OAAA;AACT,oGAAA,SAAS,OAAA;AACT,8GAAA,mBAAmB,OAAA;AACnB,qHAAA,0BAA0B,OAAA;AAC1B,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AAGnB,qBAAqB;AACrB,uCAKoB;AAJlB,kGAAA,MAAM,OAAA;AACN,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AAGvB,oBAAoB;AACpB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,kBAAkB;AAClB,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,oBAAoB;AACpB,qCASmB;AARjB,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AAGf,UAAU;AACV,mCAA+C;AAAtC,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAI5B,iCAA+G;AAAtG,8FAAA,KAAK,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAE7F,qBAAqB;AACrB,2CAA4E;AAAnE,kHAAA,oBAAoB,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAErD,sBAAsB;AACtB,yCAKqB;AAJnB,+GAAA,kBAAkB,OAAA;AAClB,qHAAA,wBAAwB,OAAA;AACxB,oHAAA,uBAAuB,OAAA;AACvB,sHAAA,yBAAyB,OAAA;AAG3B,iBAAiB;AACjB,+BAAiE;AAAxD,yGAAA,iBAAiB,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAEhD,0BAA0B;AAC1B,yCAAkD;AAAzC,gHAAA,mBAAmB,OAAA"}