@proposit/proposit-core 1.6.0 → 1.7.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.
- package/dist/extensions/ollama/errors.d.ts +3 -0
- package/dist/extensions/ollama/errors.d.ts.map +1 -1
- package/dist/extensions/ollama/errors.js +19 -1
- package/dist/extensions/ollama/errors.js.map +1 -1
- package/dist/extensions/ollama/provider.d.ts +2 -0
- package/dist/extensions/ollama/provider.d.ts.map +1 -1
- package/dist/extensions/ollama/provider.js +94 -4
- package/dist/extensions/ollama/provider.js.map +1 -1
- package/dist/extensions/ollama/timeout-fetch.d.ts +24 -0
- package/dist/extensions/ollama/timeout-fetch.d.ts.map +1 -0
- package/dist/extensions/ollama/timeout-fetch.js +76 -0
- package/dist/extensions/ollama/timeout-fetch.js.map +1 -0
- package/dist/extensions/ollama/types.d.ts +81 -3
- package/dist/extensions/ollama/types.d.ts.map +1 -1
- package/dist/extensions/openai/provider.d.ts +26 -0
- package/dist/extensions/openai/provider.d.ts.map +1 -1
- package/dist/extensions/openai/provider.js +334 -9
- package/dist/extensions/openai/provider.js.map +1 -1
- package/dist/extensions/openai/types.d.ts +3 -0
- package/dist/extensions/openai/types.d.ts.map +1 -1
- package/package.json +7 -2
|
@@ -62,6 +62,9 @@ export declare class ToolLoopExhaustedError extends Error {
|
|
|
62
62
|
* - context-overflow/eval err → NonRetryable (deterministic; never
|
|
63
63
|
* SchemaValidationLlmError).
|
|
64
64
|
* - `ECONNRESET` / socket drop→ Transient.
|
|
65
|
+
* - undici timeout cause-codes→ Transient (`UND_ERR_HEADERS_TIMEOUT` /
|
|
66
|
+
* `UND_ERR_BODY_TIMEOUT` / `UND_ERR_CONNECT_TIMEOUT`; a long local
|
|
67
|
+
* thinking-model generation outran the timeout — retryable).
|
|
65
68
|
* - cold-load / generic 5xx → Transient.
|
|
66
69
|
* - 429 → RateLimit (remote/proxy setups).
|
|
67
70
|
* - anything else → NonRetryable (safe fail-fast default).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/errors.ts"],"names":[],"mappings":"AA0CA,qBAAa,iBAAkB,SAAQ,KAAK;IACxC,SAAgB,WAAW,EAAG,WAAW,CAAS;IAClD,SAAgB,IAAI,wBAAsB;IAC1C,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAKzD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACxC,SAAgB,WAAW,EAAG,YAAY,CAAS;IACnD,SAAgB,IAAI,qBAAmB;IACvC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAKzD;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAC/C,SAAgB,WAAW,EAAG,WAAW,CAAS;IAClD,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAKzD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,SAAgB,IAAI,4BAA0B;IAC9C,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAKzD;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC7C,SAAgB,MAAM,EAAE,MAAM,CAAA;gBAElB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAKxD;AAkDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CA6EvD"}
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
//
|
|
15
15
|
// * `TransientLlmError` — `retryReason: "transient"`. Genuinely
|
|
16
16
|
// transient local hiccups: mid-stream `ECONNRESET`/socket drop,
|
|
17
|
+
// undici timeout cause-codes (`UND_ERR_HEADERS_TIMEOUT` /
|
|
18
|
+
// `UND_ERR_BODY_TIMEOUT` / `UND_ERR_CONNECT_TIMEOUT` — a long local
|
|
19
|
+
// thinking-model generation that outran the dispatcher timeout),
|
|
17
20
|
// cold-model-load 5xx (model pulled but still loading into VRAM),
|
|
18
21
|
// generic 5xx. Retried by the default policy.
|
|
19
22
|
// * `RateLimitLlmError` — `retryReason: "rate_limit"`. A local
|
|
@@ -146,6 +149,9 @@ const MODEL_NOT_FOUND_PATTERN = /model .* not found|not found, try pulling|no su
|
|
|
146
149
|
* - context-overflow/eval err → NonRetryable (deterministic; never
|
|
147
150
|
* SchemaValidationLlmError).
|
|
148
151
|
* - `ECONNRESET` / socket drop→ Transient.
|
|
152
|
+
* - undici timeout cause-codes→ Transient (`UND_ERR_HEADERS_TIMEOUT` /
|
|
153
|
+
* `UND_ERR_BODY_TIMEOUT` / `UND_ERR_CONNECT_TIMEOUT`; a long local
|
|
154
|
+
* thinking-model generation outran the timeout — retryable).
|
|
149
155
|
* - cold-load / generic 5xx → Transient.
|
|
150
156
|
* - 429 → RateLimit (remote/proxy setups).
|
|
151
157
|
* - anything else → NonRetryable (safe fail-fast default).
|
|
@@ -163,7 +169,19 @@ export function classifyOllamaError(err) {
|
|
|
163
169
|
});
|
|
164
170
|
}
|
|
165
171
|
// Mid-stream socket drop / transient connection loss — retryable.
|
|
166
|
-
|
|
172
|
+
// Includes undici's timeout cause-codes: a long local thinking-model
|
|
173
|
+
// generation that outruns the dispatcher's headers/body timeout (or a
|
|
174
|
+
// connect timeout) is transient against a still-working daemon, NOT a
|
|
175
|
+
// deterministic failure. The framework's default `retryOn: ["transient"]`
|
|
176
|
+
// then retries instead of dying `LLM_NON_RETRYABLE_ERROR`. undici wraps
|
|
177
|
+
// these as a `TypeError: fetch failed` whose `.cause.code` is the
|
|
178
|
+
// `UND_ERR_*` value — `nodeCodeOf` already probes one level of `.cause`.
|
|
179
|
+
if (code === "ECONNRESET" ||
|
|
180
|
+
code === "ETIMEDOUT" ||
|
|
181
|
+
code === "EPIPE" ||
|
|
182
|
+
code === "UND_ERR_HEADERS_TIMEOUT" ||
|
|
183
|
+
code === "UND_ERR_BODY_TIMEOUT" ||
|
|
184
|
+
code === "UND_ERR_CONNECT_TIMEOUT") {
|
|
167
185
|
return new TransientLlmError({
|
|
168
186
|
message: `Transient connection error talking to the Ollama daemon (${code}): ${message}`,
|
|
169
187
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/extensions/ollama/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/extensions/ollama/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export declare class OllamaProvider implements TLlmProvider {
|
|
|
5
5
|
private clientPromise;
|
|
6
6
|
private readonly maxToolRounds;
|
|
7
7
|
private readonly numCtx;
|
|
8
|
+
private readonly requestTimeoutMs;
|
|
9
|
+
private readonly stream;
|
|
8
10
|
constructor(config?: TOllamaProviderConfig);
|
|
9
11
|
respond<T>(req: TLlmRequest<T>): Promise<TLlmResponse<T>>;
|
|
10
12
|
private runChatLoop;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/provider.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EAGf,MAAM,wBAAwB,CAAA;AAc/B,OAAO,KAAK,EAOR,qBAAqB,EAExB,MAAM,YAAY,CAAA;AAkBnB,qBAAa,cAAe,YAAW,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,CAAC,EAAE,qBAAqB;IAUpC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAmCjD,WAAW;IAiJzB;;;;OAIG;IACH,OAAO,CAAC,SAAS;YAQH,wBAAwB;CAiCzC"}
|
|
@@ -16,6 +16,16 @@
|
|
|
16
16
|
// * `reasoningEffort` is ignored (no Ollama analogue);
|
|
17
17
|
// `maxOutputTokens` maps to `options.num_predict` (positive values
|
|
18
18
|
// only — never 0; -1/-2 are Ollama sentinels we never emit).
|
|
19
|
+
// * Thinking is left ON (the SDK/model default) — a prior finding
|
|
20
|
+
// showed `think: false` degrades structured-output fidelity (the
|
|
21
|
+
// model drops the required object wrapper → bare array, failing
|
|
22
|
+
// `Value.Check`). This trades latency (thinking-on stages can run
|
|
23
|
+
// several minutes) for correctness; the generous `requestTimeoutMs`
|
|
24
|
+
// default (see below) accommodates the latency.
|
|
25
|
+
// * A generous per-request timeout (`requestTimeoutMs`, default 20 min)
|
|
26
|
+
// is applied via a PER-PROVIDER undici `Agent` passed as the SDK
|
|
27
|
+
// client's `fetch` — never `setGlobalDispatcher`; a library must not
|
|
28
|
+
// mutate global state. See `./timeout-fetch.ts`.
|
|
19
29
|
// * Errors are classified by `./errors.ts` #classifyOllamaError, which
|
|
20
30
|
// carries the same `retryReason` tags + lib failure-codes as the
|
|
21
31
|
// OpenAI provider. No `ollama → openai` dependency, no lib change.
|
|
@@ -26,6 +36,7 @@
|
|
|
26
36
|
// so `llmStage`'s mid-flight-abort detector marks the stage `skipped`.
|
|
27
37
|
import { debugLlmFailure, debugLlmRequest, debugLlmResponse, } from "../../lib/pipelines/debug-log.js";
|
|
28
38
|
import { typeboxToJsonSchema } from "./structured-output.js";
|
|
39
|
+
import { buildTimeoutFetch } from "./timeout-fetch.js";
|
|
29
40
|
import { NonRetryableLlmError, SchemaValidationLlmError, ToolLoopExhaustedError, classifyOllamaError, } from "./errors.js";
|
|
30
41
|
const STAGE_ID_MARKER = /<!--\s*stage-id:\s*([^\s>]+)\s*-->/;
|
|
31
42
|
const DEFAULT_BASE_URL = "http://localhost:11434";
|
|
@@ -35,16 +46,27 @@ const DEFAULT_MAX_TOOL_ROUNDS = 6;
|
|
|
35
46
|
// from a truncated prompt), and its per-model default is often ~4096,
|
|
36
47
|
// well under a real multi-KB ingestion prompt. See `TOllamaProviderConfig.numCtx`.
|
|
37
48
|
const DEFAULT_NUM_CTX = 32768;
|
|
49
|
+
// Generous per-request timeout for local thinking models. undici's 300s
|
|
50
|
+
// default aborts long structured-extraction generations with
|
|
51
|
+
// UND_ERR_HEADERS_TIMEOUT; 20 min gives qwen3.6-with-thinking room. The
|
|
52
|
+
// timeout is applied via a PER-PROVIDER undici Agent (never global state)
|
|
53
|
+
// — see ./timeout-fetch.ts and TOllamaProviderConfig.requestTimeoutMs.
|
|
54
|
+
const DEFAULT_REQUEST_TIMEOUT_MS = 1_200_000;
|
|
38
55
|
export class OllamaProvider {
|
|
39
56
|
config;
|
|
40
57
|
clientPromise = null;
|
|
41
58
|
maxToolRounds;
|
|
42
59
|
numCtx;
|
|
60
|
+
requestTimeoutMs;
|
|
61
|
+
stream;
|
|
43
62
|
constructor(config) {
|
|
44
63
|
this.config = config ?? {};
|
|
45
64
|
this.maxToolRounds =
|
|
46
65
|
this.config.maxToolCallRounds ?? DEFAULT_MAX_TOOL_ROUNDS;
|
|
47
66
|
this.numCtx = this.config.numCtx ?? DEFAULT_NUM_CTX;
|
|
67
|
+
this.requestTimeoutMs =
|
|
68
|
+
this.config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
69
|
+
this.stream = this.config.stream ?? true;
|
|
48
70
|
}
|
|
49
71
|
async respond(req) {
|
|
50
72
|
// Already-aborted short-circuit — don't even construct the
|
|
@@ -93,7 +115,7 @@ export class OllamaProvider {
|
|
|
93
115
|
// Build `format` from the single converted object so the
|
|
94
116
|
// schema can't drift from any prompt-grounding copy.
|
|
95
117
|
format: convertedSchema,
|
|
96
|
-
stream:
|
|
118
|
+
stream: this.stream,
|
|
97
119
|
};
|
|
98
120
|
if (tools) {
|
|
99
121
|
chatRequest.tools = tools;
|
|
@@ -124,7 +146,8 @@ export class OllamaProvider {
|
|
|
124
146
|
});
|
|
125
147
|
let response;
|
|
126
148
|
try {
|
|
127
|
-
|
|
149
|
+
const raw = await client.chat(chatRequest);
|
|
150
|
+
response = isAsyncIterable(raw) ? await collectStream(raw) : raw;
|
|
128
151
|
}
|
|
129
152
|
catch (err) {
|
|
130
153
|
// Mid-flight abort: the SDK rejects with an AbortError
|
|
@@ -213,9 +236,11 @@ export class OllamaProvider {
|
|
|
213
236
|
}
|
|
214
237
|
async importAndConstructClient() {
|
|
215
238
|
const baseUrl = this.config.baseUrl ?? DEFAULT_BASE_URL;
|
|
239
|
+
const importOllama = this.config.importOllama ??
|
|
240
|
+
(() => import("ollama"));
|
|
216
241
|
let mod;
|
|
217
242
|
try {
|
|
218
|
-
mod =
|
|
243
|
+
mod = await importOllama();
|
|
219
244
|
}
|
|
220
245
|
catch (err) {
|
|
221
246
|
throw new Error("OllamaProvider: the optional `ollama` package is not installed. " +
|
|
@@ -223,7 +248,17 @@ export class OllamaProvider {
|
|
|
223
248
|
"or pass a pre-built `client` via the provider config. " +
|
|
224
249
|
`Original import error: ${err instanceof Error ? err.message : String(err)}`);
|
|
225
250
|
}
|
|
226
|
-
|
|
251
|
+
// Per-provider raised-timeout fetch (no global mutation). Falls
|
|
252
|
+
// back to the SDK default fetch when undici is unavailable or the
|
|
253
|
+
// caller set requestTimeoutMs to 0.
|
|
254
|
+
const timeoutFetch = await buildTimeoutFetch(this.requestTimeoutMs, this.config.importUndici);
|
|
255
|
+
const sdkConfig = {
|
|
256
|
+
host: baseUrl,
|
|
257
|
+
};
|
|
258
|
+
if (timeoutFetch) {
|
|
259
|
+
sdkConfig.fetch = timeoutFetch;
|
|
260
|
+
}
|
|
261
|
+
return new mod.Ollama(sdkConfig);
|
|
227
262
|
}
|
|
228
263
|
}
|
|
229
264
|
// -- helpers --------------------------------------------------------------
|
|
@@ -247,6 +282,61 @@ function safeParseJson(raw) {
|
|
|
247
282
|
});
|
|
248
283
|
}
|
|
249
284
|
}
|
|
285
|
+
function isAsyncIterable(value) {
|
|
286
|
+
return (typeof value === "object" &&
|
|
287
|
+
value !== null &&
|
|
288
|
+
Symbol.asyncIterator in value);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Consume a streamed `chat()` generation and synthesize a single
|
|
292
|
+
* `TOllamaChatResponse`: concatenated `message.content`, tool_calls
|
|
293
|
+
* captured from any chunk that carries them, and the eval counts from
|
|
294
|
+
* the final (`done: true`) chunk. The synthesized response feeds the
|
|
295
|
+
* existing one-shot processing path unchanged, so `respond()`'s
|
|
296
|
+
* contract is preserved.
|
|
297
|
+
*/
|
|
298
|
+
async function collectStream(iterable) {
|
|
299
|
+
let content = "";
|
|
300
|
+
let role = "assistant";
|
|
301
|
+
let toolCalls;
|
|
302
|
+
let promptEvalCount = 0;
|
|
303
|
+
let evalCount = 0;
|
|
304
|
+
for await (const chunk of iterable) {
|
|
305
|
+
const msg = chunk.message;
|
|
306
|
+
if (msg) {
|
|
307
|
+
content += msg.content ?? "";
|
|
308
|
+
if (msg.role)
|
|
309
|
+
role = msg.role;
|
|
310
|
+
// Ollama emits tool_calls complete within a single chunk
|
|
311
|
+
// (not OpenAI-style per-index deltas), so take the latest
|
|
312
|
+
// chunk that carries them — concatenating would DUPLICATE
|
|
313
|
+
// calls. Ingestion is tool-free; only tool-using callers
|
|
314
|
+
// exercise this path.
|
|
315
|
+
if (msg.tool_calls && msg.tool_calls.length > 0) {
|
|
316
|
+
toolCalls = msg.tool_calls;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
// Last-wins: the synthesized response carries the FINAL chunk's
|
|
320
|
+
// single-round eval counts, NOT a cumulative sum across chunks.
|
|
321
|
+
// The terminal chunk reports this round's complete terminal
|
|
322
|
+
// counts, so taking the last value is the correct per-round
|
|
323
|
+
// figure. `runChatLoop`'s `mergeUsage` then SUMS these per-round
|
|
324
|
+
// terminal counts across tool-call rounds — summing the chunk
|
|
325
|
+
// values here instead would double-count within a round.
|
|
326
|
+
if (chunk.prompt_eval_count !== undefined) {
|
|
327
|
+
promptEvalCount = chunk.prompt_eval_count;
|
|
328
|
+
}
|
|
329
|
+
if (chunk.eval_count !== undefined) {
|
|
330
|
+
evalCount = chunk.eval_count;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
return {
|
|
334
|
+
message: { role, content, tool_calls: toolCalls },
|
|
335
|
+
done: true,
|
|
336
|
+
prompt_eval_count: promptEvalCount,
|
|
337
|
+
eval_count: evalCount,
|
|
338
|
+
};
|
|
339
|
+
}
|
|
250
340
|
function mergeUsage(accumulated, next) {
|
|
251
341
|
return {
|
|
252
342
|
input: accumulated.input + next.input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/extensions/ollama/provider.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,6BAA6B;AAC7B,EAAE;AACF,uEAAuE;AACvE,gEAAgE;AAChE,2DAA2D;AAC3D,yCAAyC;AACzC,EAAE;AACF,2DAA2D;AAC3D,wEAAwE;AACxE,oEAAoE;AACpE,mDAAmD;AACnD,+DAA+D;AAC/D,qEAAqE;AACrE,wCAAwC;AACxC,yDAAyD;AACzD,uEAAuE;AACvE,iEAAiE;AACjE,yEAAyE;AACzE,qEAAqE;AACrE,uEAAuE;AACvE,EAAE;AACF,uEAAuE;AACvE,iEAAiE;AACjE,uEAAuE;AACvE,uEAAuE;AASvE,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,GACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACtB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/extensions/ollama/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TUndiciModule } from "./types.js";
|
|
2
|
+
type TUndiciImporter = () => Promise<TUndiciModule>;
|
|
3
|
+
/**
|
|
4
|
+
* Build a `fetch`-shaped function backed by a per-instance undici `Agent`
|
|
5
|
+
* whose `headersTimeout` and `bodyTimeout` are raised to `requestTimeoutMs`.
|
|
6
|
+
*
|
|
7
|
+
* The returned wrapper delegates to **the imported undici module's own
|
|
8
|
+
* `fetch`** (`mod.fetch`), passing the `Agent` as its `dispatcher`. The base
|
|
9
|
+
* fetch and the dispatcher MUST come from the same undici instance — handing
|
|
10
|
+
* this Agent to Node's bundled-undici global `fetch` is rejected with
|
|
11
|
+
* `UND_ERR_INVALID_ARG`. See the file header.
|
|
12
|
+
*
|
|
13
|
+
* Returns `undefined` when `requestTimeoutMs <= 0` (caller opted out) or
|
|
14
|
+
* when the optional `undici` peer cannot be imported (graceful fallback to
|
|
15
|
+
* the SDK's default fetch — Node's global fetch with no dispatcher, which
|
|
16
|
+
* works; the raised timeout is simply lost and `classifyOllamaError` maps
|
|
17
|
+
* any resulting timeout to a retryable transient error).
|
|
18
|
+
*
|
|
19
|
+
* @param requestTimeoutMs raised headers/body timeout in milliseconds
|
|
20
|
+
* @param importUndici injectable importer (test seam); defaults to `import("undici")`
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildTimeoutFetch(requestTimeoutMs: number, importUndici?: TUndiciImporter): Promise<typeof fetch | undefined>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=timeout-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-fetch.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/timeout-fetch.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,KAAK,eAAe,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;AAKnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CACnC,gBAAgB,EAAE,MAAM,EACxB,YAAY,GAAE,eAAuC,GACtD,OAAO,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC,CAqCnC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// Per-provider request-timeout fetch for the Ollama provider.
|
|
2
|
+
//
|
|
3
|
+
// Local thinking models (e.g. qwen3.6 with thinking on) legitimately take
|
|
4
|
+
// many minutes per structured-extraction stage; undici's 300s default
|
|
5
|
+
// `headersTimeout`/`bodyTimeout` aborts them mid-generation with a
|
|
6
|
+
// `TypeError: fetch failed` whose `.cause.code` is `UND_ERR_HEADERS_TIMEOUT`.
|
|
7
|
+
//
|
|
8
|
+
// This builds a custom `fetch` that routes through a **per-instance** undici
|
|
9
|
+
// `Agent` with raised timeouts, passed to the `ollama` SDK client as its
|
|
10
|
+
// `fetch`. It deliberately does NOT call `setGlobalDispatcher` — a library
|
|
11
|
+
// must not mutate global state. `undici` is an optional peer (same posture
|
|
12
|
+
// as `ollama`); when it is unavailable, this returns `undefined` and the
|
|
13
|
+
// provider falls back to the SDK's default fetch (the `classifyOllamaError`
|
|
14
|
+
// transient-timeout mapping then makes the resulting 300s timeout retryable
|
|
15
|
+
// rather than fatal).
|
|
16
|
+
//
|
|
17
|
+
// CRITICAL — pair the Agent with its OWN fetch. The raised-timeout `Agent`
|
|
18
|
+
// is constructed from the separately-installed `undici` package, so the
|
|
19
|
+
// `dispatcher` must be handed to *that same module's* `fetch` (`mod.fetch`),
|
|
20
|
+
// NOT to Node's bundled-undici global `fetch`. Node's global `fetch` rejects
|
|
21
|
+
// a foreign-undici `Agent` dispatcher with `UND_ERR_INVALID_ARG`
|
|
22
|
+
// (`TypeError: fetch failed`), which would make every Ollama request fail
|
|
23
|
+
// instantly when `undici` is installed. Never mix the two undici instances.
|
|
24
|
+
//
|
|
25
|
+
// Scoped to `src/extensions/ollama/` — `src/lib/` never imports `undici`.
|
|
26
|
+
const defaultUndiciImporter = () => import("undici");
|
|
27
|
+
/**
|
|
28
|
+
* Build a `fetch`-shaped function backed by a per-instance undici `Agent`
|
|
29
|
+
* whose `headersTimeout` and `bodyTimeout` are raised to `requestTimeoutMs`.
|
|
30
|
+
*
|
|
31
|
+
* The returned wrapper delegates to **the imported undici module's own
|
|
32
|
+
* `fetch`** (`mod.fetch`), passing the `Agent` as its `dispatcher`. The base
|
|
33
|
+
* fetch and the dispatcher MUST come from the same undici instance — handing
|
|
34
|
+
* this Agent to Node's bundled-undici global `fetch` is rejected with
|
|
35
|
+
* `UND_ERR_INVALID_ARG`. See the file header.
|
|
36
|
+
*
|
|
37
|
+
* Returns `undefined` when `requestTimeoutMs <= 0` (caller opted out) or
|
|
38
|
+
* when the optional `undici` peer cannot be imported (graceful fallback to
|
|
39
|
+
* the SDK's default fetch — Node's global fetch with no dispatcher, which
|
|
40
|
+
* works; the raised timeout is simply lost and `classifyOllamaError` maps
|
|
41
|
+
* any resulting timeout to a retryable transient error).
|
|
42
|
+
*
|
|
43
|
+
* @param requestTimeoutMs raised headers/body timeout in milliseconds
|
|
44
|
+
* @param importUndici injectable importer (test seam); defaults to `import("undici")`
|
|
45
|
+
*/
|
|
46
|
+
export async function buildTimeoutFetch(requestTimeoutMs, importUndici = defaultUndiciImporter) {
|
|
47
|
+
if (!Number.isFinite(requestTimeoutMs) || requestTimeoutMs <= 0) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
let mod;
|
|
51
|
+
try {
|
|
52
|
+
mod = await importUndici();
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// undici not installed — degrade to the SDK default fetch. The
|
|
56
|
+
// classify-timeout mapping keeps the resulting timeout retryable.
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
const agent = new mod.Agent({
|
|
60
|
+
headersTimeout: requestTimeoutMs,
|
|
61
|
+
bodyTimeout: requestTimeoutMs,
|
|
62
|
+
connectTimeout: requestTimeoutMs,
|
|
63
|
+
});
|
|
64
|
+
// Pair the Agent with undici's OWN fetch — never Node's global fetch,
|
|
65
|
+
// which rejects a foreign-undici Agent dispatcher.
|
|
66
|
+
const undiciFetch = mod.fetch;
|
|
67
|
+
const timeoutFetch = ((input, init) => undiciFetch(input, {
|
|
68
|
+
...init,
|
|
69
|
+
// `dispatcher` is an undici-specific RequestInit extension that
|
|
70
|
+
// undici's fetch honors; it is not in the lib.dom RequestInit
|
|
71
|
+
// type, hence the structural widening.
|
|
72
|
+
...{ dispatcher: agent },
|
|
73
|
+
}));
|
|
74
|
+
return timeoutFetch;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=timeout-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-fetch.js","sourceRoot":"","sources":["../../../src/extensions/ollama/timeout-fetch.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,mEAAmE;AACnE,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,sBAAsB;AACtB,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,6EAA6E;AAC7E,6EAA6E;AAC7E,iEAAiE;AACjE,0EAA0E;AAC1E,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAM1E,MAAM,qBAAqB,GAAoB,GAAG,EAAE,CAChD,MAAM,CAAC,QAAQ,CAAsC,CAAA;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,gBAAwB,EACxB,eAAgC,qBAAqB;IAErD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAI,GAAkB,CAAA;IACtB,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,YAAY,EAAE,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACL,+DAA+D;QAC/D,kEAAkE;QAClE,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC;QACxB,cAAc,EAAE,gBAAgB;QAChC,WAAW,EAAE,gBAAgB;QAC7B,cAAc,EAAE,gBAAgB;KACnC,CAAC,CAAA;IAEF,sEAAsE;IACtE,mDAAmD;IACnD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAA;IAE7B,MAAM,YAAY,GAAG,CAAC,CAClB,KAAkC,EAClC,IAAkC,EACpC,EAAE,CACA,WAAW,CAAC,KAAK,EAAE;QACf,GAAG,IAAI;QACP,gEAAgE;QAChE,8DAA8D;QAC9D,uCAAuC;QACvC,GAAI,EAAE,UAAU,EAAE,KAAK,EAAa;KACvC,CAAC,CAAiB,CAAA;IAEvB,OAAO,YAAY,CAAA;AACvB,CAAC"}
|
|
@@ -18,6 +18,7 @@ export type TOllamaChatMessage = {
|
|
|
18
18
|
};
|
|
19
19
|
export type TOllamaChatResponse = {
|
|
20
20
|
message: TOllamaChatMessage;
|
|
21
|
+
done?: boolean;
|
|
21
22
|
prompt_eval_count?: number;
|
|
22
23
|
eval_count?: number;
|
|
23
24
|
};
|
|
@@ -36,7 +37,7 @@ export type TOllamaChatRequest = {
|
|
|
36
37
|
messages: TOllamaChatMessage[];
|
|
37
38
|
format?: string | object;
|
|
38
39
|
tools?: TOllamaToolWire[];
|
|
39
|
-
stream?:
|
|
40
|
+
stream?: boolean;
|
|
40
41
|
options?: {
|
|
41
42
|
temperature?: number;
|
|
42
43
|
num_predict?: number;
|
|
@@ -51,19 +52,50 @@ export type TOllamaChatRequest = {
|
|
|
51
52
|
* injection seam.
|
|
52
53
|
*/
|
|
53
54
|
export type TOllamaClient = {
|
|
54
|
-
chat(request: TOllamaChatRequest): Promise<TOllamaChatResponse
|
|
55
|
+
chat(request: TOllamaChatRequest): Promise<TOllamaChatResponse | AsyncIterable<TOllamaChatResponse>>;
|
|
55
56
|
abort(): void;
|
|
56
57
|
};
|
|
57
58
|
/**
|
|
58
59
|
* The shape of the dynamically-imported `ollama` module. `Ollama` is
|
|
59
60
|
* the SDK's exported class-constructor name (an external symbol), so it
|
|
60
|
-
* is exempt from the in-repo camelCase property-naming rule.
|
|
61
|
+
* is exempt from the in-repo camelCase property-naming rule. The SDK's
|
|
62
|
+
* `Config` accepts an optional `fetch` override (used by the
|
|
63
|
+
* per-provider raised-timeout dispatcher — see `./timeout-fetch.ts`).
|
|
61
64
|
*/
|
|
62
65
|
export type TOllamaModule = {
|
|
63
66
|
Ollama: new (config: {
|
|
64
67
|
host: string;
|
|
68
|
+
fetch?: typeof fetch;
|
|
65
69
|
}) => TOllamaClient;
|
|
66
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Structural slice of the `undici` module the timeout-fetch helper uses.
|
|
73
|
+
* Modeled (not imported) so the optional `undici` peer stays out of the
|
|
74
|
+
* type graph — same pattern as {@link TOllamaModule} for the `ollama`
|
|
75
|
+
* peer. The undici `Agent` constructor accepts millisecond timeout
|
|
76
|
+
* options; we raise `headersTimeout` + `bodyTimeout` (and `connectTimeout`)
|
|
77
|
+
* so a long local thinking-model generation isn't aborted at undici's
|
|
78
|
+
* 300s default. `Agent` is undici's exported class-constructor name (an
|
|
79
|
+
* external symbol), exempt from the camelCase rule.
|
|
80
|
+
*/
|
|
81
|
+
export type TUndiciAgentOptions = {
|
|
82
|
+
headersTimeout?: number;
|
|
83
|
+
bodyTimeout?: number;
|
|
84
|
+
connectTimeout?: number;
|
|
85
|
+
};
|
|
86
|
+
export type TUndiciDispatcher = object;
|
|
87
|
+
export type TUndiciModule = {
|
|
88
|
+
Agent: new (options: TUndiciAgentOptions) => TUndiciDispatcher;
|
|
89
|
+
/**
|
|
90
|
+
* undici's own `fetch`. The raised-timeout `Agent` MUST be passed as
|
|
91
|
+
* a `dispatcher` to *this* fetch — the one from the same undici
|
|
92
|
+
* module the `Agent` was constructed from. Node's bundled-undici
|
|
93
|
+
* global `fetch` rejects a foreign-undici `Agent` dispatcher with
|
|
94
|
+
* `UND_ERR_INVALID_ARG`, so the base fetch and the dispatcher must
|
|
95
|
+
* come from the same undici instance. See `./timeout-fetch.ts`.
|
|
96
|
+
*/
|
|
97
|
+
fetch: typeof fetch;
|
|
98
|
+
};
|
|
67
99
|
export type TOllamaProviderConfig = {
|
|
68
100
|
/** Daemon base URL. Defaults to `http://localhost:11434`. */
|
|
69
101
|
baseUrl?: string;
|
|
@@ -74,6 +106,41 @@ export type TOllamaProviderConfig = {
|
|
|
74
106
|
* surfaces as an actionable error at construction time.
|
|
75
107
|
*/
|
|
76
108
|
client?: TOllamaClient;
|
|
109
|
+
/**
|
|
110
|
+
* Injectable `ollama`-module importer. Test seam — defaults to
|
|
111
|
+
* `import("ollama")`. Lets tests assert the SDK client is constructed
|
|
112
|
+
* with the per-provider timeout-fetch without touching the real
|
|
113
|
+
* package. Ignored when `client` is provided.
|
|
114
|
+
*
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
importOllama?: () => Promise<TOllamaModule>;
|
|
118
|
+
/**
|
|
119
|
+
* Injectable `undici`-module importer. Test seam — defaults to
|
|
120
|
+
* `import("undici")`. See {@link requestTimeoutMs}.
|
|
121
|
+
*
|
|
122
|
+
* @internal
|
|
123
|
+
*/
|
|
124
|
+
importUndici?: () => Promise<TUndiciModule>;
|
|
125
|
+
/**
|
|
126
|
+
* Per-request HTTP timeout in milliseconds, applied via a
|
|
127
|
+
* **per-provider** undici `Agent` (raised `headersTimeout` +
|
|
128
|
+
* `bodyTimeout`) passed as the `ollama` SDK client's `fetch`
|
|
129
|
+
* dispatcher. Defaults to **1_200_000 (20 min)** — local thinking
|
|
130
|
+
* models legitimately take many minutes per structured-extraction
|
|
131
|
+
* stage, and undici's 300s default aborts them mid-generation with a
|
|
132
|
+
* `UND_ERR_HEADERS_TIMEOUT` `fetch failed`.
|
|
133
|
+
*
|
|
134
|
+
* **No global state is mutated** — the raised timeout is scoped to
|
|
135
|
+
* this provider's client only (never `setGlobalDispatcher`). Requires
|
|
136
|
+
* the optional `undici` peer; if it is not installed the provider
|
|
137
|
+
* falls back to the SDK's default fetch (300s) and relies on
|
|
138
|
+
* `classifyOllamaError` retrying the resulting timeout as transient.
|
|
139
|
+
*
|
|
140
|
+
* Set `0` to disable the custom dispatcher entirely (use the SDK
|
|
141
|
+
* default). A finite positive value is recommended.
|
|
142
|
+
*/
|
|
143
|
+
requestTimeoutMs?: number;
|
|
77
144
|
/**
|
|
78
145
|
* Context-window size sent as Ollama's `options.num_ctx`. Defaults
|
|
79
146
|
* to a generous **32768**.
|
|
@@ -91,6 +158,17 @@ export type TOllamaProviderConfig = {
|
|
|
91
158
|
* and inputs are known to be small.
|
|
92
159
|
*/
|
|
93
160
|
numCtx?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Stream the `chat()` generation and accumulate the chunks inside
|
|
163
|
+
* the provider, returning a single synthesized response. Defaults
|
|
164
|
+
* to **`true`** — streaming is the primary fix for the hardcoded
|
|
165
|
+
* ~300s non-streaming Ollama timeout (ollama/ollama#5081): headers
|
|
166
|
+
* and the first chunk arrive immediately and undici's `bodyTimeout`
|
|
167
|
+
* resets per chunk, so a long local thinking-model generation is no
|
|
168
|
+
* longer aborted mid-flight. Set `false` to restore the legacy
|
|
169
|
+
* single one-shot (`stream: false`) request.
|
|
170
|
+
*/
|
|
171
|
+
stream?: boolean;
|
|
94
172
|
/**
|
|
95
173
|
* Cap on function-tool agent-loop round-trips before throwing
|
|
96
174
|
* `ToolLoopExhaustedError`. Defaults to 6, mirroring the OpenAI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D;;;;;GAKG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,oEAAoE;AACpE,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,iBAAiB,CAAA;KAChC,CAAA;CACJ,CAAA;AAED,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/ollama/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,32 @@ export type TCreateOpenAiResponsesProviderOptions = {
|
|
|
17
17
|
* count against this cap — they run server-side.
|
|
18
18
|
*/
|
|
19
19
|
maxToolCallRounds?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Stream the foreground response over SSE and accumulate to the
|
|
22
|
+
* terminal envelope inside the provider. Defaults to **`true`** —
|
|
23
|
+
* gives connection-drop resilience and parity with the Ollama
|
|
24
|
+
* provider. No data-retention implications (unlike `backgroundMode`).
|
|
25
|
+
* Set `false` to restore the blocking `response.json()` path.
|
|
26
|
+
*/
|
|
27
|
+
stream?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Run long reasoning calls in OpenAI **background mode**
|
|
30
|
+
* (submit-then-poll) so the result does not depend on a
|
|
31
|
+
* continuously-held connection. Defaults to **`false`**.
|
|
32
|
+
*
|
|
33
|
+
* Background mode requires `store: true`, which retains the
|
|
34
|
+
* response server-side (~10 min, for polling) and is **NOT
|
|
35
|
+
* ZDR-compatible**. Enable only where that data-retention posture
|
|
36
|
+
* is acceptable. V1 supports the **no-tools path only**: a request
|
|
37
|
+
* that sets `backgroundMode` and carries `tools` throws
|
|
38
|
+
* `NonRetryableLlmError`.
|
|
39
|
+
*/
|
|
40
|
+
backgroundMode?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Poll interval (ms) for the background submit-then-poll loop.
|
|
43
|
+
* Defaults to 2000. Ignored unless `backgroundMode` is `true`.
|
|
44
|
+
*/
|
|
45
|
+
backgroundPollIntervalMs?: number;
|
|
20
46
|
};
|
|
21
47
|
export declare function createOpenAiResponsesProvider(options: TCreateOpenAiResponsesProviderOptions): TLlmProvider;
|
|
22
48
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/extensions/openai/provider.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACR,YAAY,EAKf,MAAM,wBAAwB,CAAA;AAe/B,OAAO,KAAK,EACR,YAAY,EAMf,MAAM,YAAY,CAAA;AAOnB,MAAM,MAAM,qCAAqC,GAAG;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/extensions/openai/provider.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACR,YAAY,EAKf,MAAM,wBAAwB,CAAA;AAe/B,OAAO,KAAK,EACR,YAAY,EAMf,MAAM,YAAY,CAAA;AAOnB,MAAM,MAAM,qCAAqC,GAAG;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,qCAAqC,GAC/C,YAAY,CAwSd"}
|
|
@@ -41,7 +41,15 @@ export function createOpenAiResponsesProvider(options) {
|
|
|
41
41
|
throw new Error("createOpenAiResponsesProvider: no fetch implementation available. Pass `fetch` explicitly or run in an environment that provides `globalThis.fetch` (Node ≥18, modern browsers, Expo).");
|
|
42
42
|
}
|
|
43
43
|
const maxToolRounds = options.maxToolCallRounds ?? DEFAULT_MAX_TOOL_ROUNDS;
|
|
44
|
+
const useStream = options.stream ?? true;
|
|
45
|
+
const useBackground = options.backgroundMode ?? false;
|
|
46
|
+
const backgroundPollIntervalMs = options.backgroundPollIntervalMs ?? 2000;
|
|
44
47
|
const respond = async (req) => {
|
|
48
|
+
if (useBackground && req.tools && req.tools.length > 0) {
|
|
49
|
+
throw new NonRetryableLlmError({
|
|
50
|
+
message: "OpenAI background mode does not support function tools in V1. Disable backgroundMode for tool-using requests, or run the tools synchronously.",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
45
53
|
const schemaName = deriveSchemaName(req.outputSchema);
|
|
46
54
|
const convertedSchema = typeboxToOpenAiSchema(req.outputSchema);
|
|
47
55
|
const tools = req.tools ? translateTools(req.tools) : undefined;
|
|
@@ -92,23 +100,34 @@ export function createOpenAiResponsesProvider(options) {
|
|
|
92
100
|
systemPromptHead: req.systemPrompt,
|
|
93
101
|
userMessageHead: req.userMessage,
|
|
94
102
|
});
|
|
95
|
-
const
|
|
103
|
+
const envelope = await fetchResponseEnvelope({
|
|
96
104
|
url: baseUrl,
|
|
97
105
|
apiKey: options.apiKey,
|
|
98
106
|
body,
|
|
99
107
|
fetchImpl,
|
|
100
108
|
signal: req.signal,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
.then((j) => j)
|
|
105
|
-
.catch((err) => {
|
|
106
|
-
throw new TransientLlmError({
|
|
107
|
-
message: `OpenAI response body was not valid JSON: ${err instanceof Error ? err.message : String(err)}`,
|
|
108
|
-
});
|
|
109
|
+
stream: useStream,
|
|
110
|
+
background: useBackground,
|
|
111
|
+
pollIntervalMs: backgroundPollIntervalMs,
|
|
109
112
|
});
|
|
110
113
|
lastResponseId = envelope.id ?? lastResponseId;
|
|
111
114
|
lastUsage = mergeUsage(lastUsage, extractUsage(envelope));
|
|
115
|
+
if (envelope.status === "failed") {
|
|
116
|
+
const err = envelope.error;
|
|
117
|
+
const message = `OpenAI Responses API returned status: "failed"${err?.code ? ` (code: ${err.code})` : ""}: ${err?.message ?? "no error detail provided"}`;
|
|
118
|
+
debugLlmFailure({
|
|
119
|
+
stageId: debugStageId,
|
|
120
|
+
model: req.model,
|
|
121
|
+
errorName: "NonRetryableLlmError",
|
|
122
|
+
errorMessage: message,
|
|
123
|
+
status: envelope.status,
|
|
124
|
+
tokenUsage: lastUsage,
|
|
125
|
+
});
|
|
126
|
+
// A terminal `failed` envelope is a definitive failure of
|
|
127
|
+
// *this* response — surface immediately rather than burn a
|
|
128
|
+
// retry. The `error.message` is preserved for the caller.
|
|
129
|
+
throw new NonRetryableLlmError({ message });
|
|
130
|
+
}
|
|
112
131
|
// **Incomplete-envelope classification (v1.3.1).** When
|
|
113
132
|
// the model stops before finishing, the Responses API
|
|
114
133
|
// returns 200 OK with `status: "incomplete"` +
|
|
@@ -283,6 +302,199 @@ export function createOpenAiResponsesProvider(options) {
|
|
|
283
302
|
return { respond };
|
|
284
303
|
}
|
|
285
304
|
// -- HTTP --
|
|
305
|
+
async function fetchResponseEnvelope(args) {
|
|
306
|
+
if (args.background) {
|
|
307
|
+
return runBackground({
|
|
308
|
+
url: args.url,
|
|
309
|
+
apiKey: args.apiKey,
|
|
310
|
+
body: args.body,
|
|
311
|
+
fetchImpl: args.fetchImpl,
|
|
312
|
+
signal: args.signal,
|
|
313
|
+
pollIntervalMs: args.pollIntervalMs,
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
if (args.stream) {
|
|
317
|
+
const response = await callOnce({
|
|
318
|
+
url: args.url,
|
|
319
|
+
apiKey: args.apiKey,
|
|
320
|
+
body: { ...args.body, stream: true },
|
|
321
|
+
fetchImpl: args.fetchImpl,
|
|
322
|
+
signal: args.signal,
|
|
323
|
+
});
|
|
324
|
+
return readSseEnvelope(response);
|
|
325
|
+
}
|
|
326
|
+
const response = await callOnce({
|
|
327
|
+
url: args.url,
|
|
328
|
+
apiKey: args.apiKey,
|
|
329
|
+
body: args.body,
|
|
330
|
+
fetchImpl: args.fetchImpl,
|
|
331
|
+
signal: args.signal,
|
|
332
|
+
});
|
|
333
|
+
return parseJsonOrThrowTransient(response, "OpenAI response body was not valid JSON");
|
|
334
|
+
}
|
|
335
|
+
async function parseJsonOrThrowTransient(response, context) {
|
|
336
|
+
return response
|
|
337
|
+
.json()
|
|
338
|
+
.then((j) => j)
|
|
339
|
+
.catch((err) => {
|
|
340
|
+
throw new TransientLlmError({
|
|
341
|
+
message: `${context}: ${err instanceof Error ? err.message : String(err)}`,
|
|
342
|
+
});
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
function abortError() {
|
|
346
|
+
const e = new Error("The OpenAI background request was aborted.");
|
|
347
|
+
e.name = "AbortError";
|
|
348
|
+
return e;
|
|
349
|
+
}
|
|
350
|
+
// Resolves (never rejects) on abort by design: the poll loop owns the
|
|
351
|
+
// abort→cancel→throw decision at exactly two checkpoints (top-of-loop and
|
|
352
|
+
// the in-flight-GET catch), so this helper just needs to wake the loop
|
|
353
|
+
// promptly instead of waiting out the full interval. Keeping it
|
|
354
|
+
// non-throwing avoids a second, competing abort surface.
|
|
355
|
+
function abortableDelay(ms, signal) {
|
|
356
|
+
return new Promise((resolve) => {
|
|
357
|
+
if (signal?.aborted) {
|
|
358
|
+
resolve();
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
const onAbort = () => {
|
|
362
|
+
cleanup();
|
|
363
|
+
resolve();
|
|
364
|
+
};
|
|
365
|
+
const cleanup = () => {
|
|
366
|
+
clearTimeout(timer);
|
|
367
|
+
signal?.removeEventListener("abort", onAbort);
|
|
368
|
+
};
|
|
369
|
+
const timer = setTimeout(() => {
|
|
370
|
+
cleanup();
|
|
371
|
+
resolve();
|
|
372
|
+
}, ms);
|
|
373
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
async function getResponseById(args) {
|
|
377
|
+
let response;
|
|
378
|
+
try {
|
|
379
|
+
response = await args.fetchImpl(`${args.url}/${args.id}`, {
|
|
380
|
+
method: "GET",
|
|
381
|
+
headers: { Authorization: `Bearer ${args.apiKey}` },
|
|
382
|
+
signal: args.signal,
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
catch (err) {
|
|
386
|
+
if (isAbortError(err))
|
|
387
|
+
throw err;
|
|
388
|
+
throw new TransientLlmError({
|
|
389
|
+
message: `Network error polling OpenAI background response: ${err instanceof Error ? err.message : String(err)}`,
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
if (!response.ok) {
|
|
393
|
+
const errorBody = await response.text().catch(() => "");
|
|
394
|
+
throw classifyHttpError(response.status, `OpenAI poll ${response.status.toString()}: ${errorBody || response.statusText}`);
|
|
395
|
+
}
|
|
396
|
+
return parseJsonOrThrowTransient(response, "OpenAI poll body was not valid JSON");
|
|
397
|
+
}
|
|
398
|
+
// Intentionally takes no AbortSignal — cancel must fire even though the
|
|
399
|
+
// caller's signal has already aborted; passing the fired signal would
|
|
400
|
+
// abort the cancel itself.
|
|
401
|
+
async function cancelBackground(args) {
|
|
402
|
+
// Best-effort + idempotent — swallow errors; the abort is surfaced
|
|
403
|
+
// regardless of whether cancel succeeds.
|
|
404
|
+
try {
|
|
405
|
+
await args.fetchImpl(`${args.url}/${args.id}/cancel`, {
|
|
406
|
+
method: "POST",
|
|
407
|
+
headers: { Authorization: `Bearer ${args.apiKey}` },
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
catch {
|
|
411
|
+
// ignore
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
function isTerminalBackgroundStatus(status) {
|
|
415
|
+
return (status === "completed" ||
|
|
416
|
+
status === "failed" ||
|
|
417
|
+
status === "incomplete" ||
|
|
418
|
+
status === "cancelled");
|
|
419
|
+
}
|
|
420
|
+
async function runBackground(args) {
|
|
421
|
+
if (args.signal?.aborted)
|
|
422
|
+
throw abortError();
|
|
423
|
+
const submit = await callOnce({
|
|
424
|
+
url: args.url,
|
|
425
|
+
apiKey: args.apiKey,
|
|
426
|
+
body: { ...args.body, background: true, store: true },
|
|
427
|
+
fetchImpl: args.fetchImpl,
|
|
428
|
+
signal: args.signal,
|
|
429
|
+
});
|
|
430
|
+
const submitEnvelope = await parseJsonOrThrowTransient(submit, "OpenAI background submit body was not valid JSON");
|
|
431
|
+
const id = submitEnvelope.id;
|
|
432
|
+
if (!id) {
|
|
433
|
+
throw new TransientLlmError({
|
|
434
|
+
message: "OpenAI background submit returned no response id.",
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
// Fast-path: a small/cached request can come back already terminal on
|
|
438
|
+
// submit — return it directly rather than issuing a redundant poll GET
|
|
439
|
+
// (and avoid a `store`-expiry window between submit and first poll).
|
|
440
|
+
if (isTerminalBackgroundStatus(submitEnvelope.status)) {
|
|
441
|
+
if (submitEnvelope.status === "cancelled")
|
|
442
|
+
throw abortError();
|
|
443
|
+
return submitEnvelope;
|
|
444
|
+
}
|
|
445
|
+
for (;;) {
|
|
446
|
+
if (args.signal?.aborted) {
|
|
447
|
+
await cancelBackground({
|
|
448
|
+
url: args.url,
|
|
449
|
+
id,
|
|
450
|
+
apiKey: args.apiKey,
|
|
451
|
+
fetchImpl: args.fetchImpl,
|
|
452
|
+
});
|
|
453
|
+
throw abortError();
|
|
454
|
+
}
|
|
455
|
+
let env;
|
|
456
|
+
try {
|
|
457
|
+
env = await getResponseById({
|
|
458
|
+
url: args.url,
|
|
459
|
+
id,
|
|
460
|
+
apiKey: args.apiKey,
|
|
461
|
+
fetchImpl: args.fetchImpl,
|
|
462
|
+
signal: args.signal,
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
catch (err) {
|
|
466
|
+
// Abort landing DURING an in-flight poll GET surfaces as an
|
|
467
|
+
// AbortError from getResponseById (real fetch rejects the
|
|
468
|
+
// in-flight request). The top-of-loop check alone would miss
|
|
469
|
+
// it, so cancel here before re-throwing — this is what makes
|
|
470
|
+
// the "AbortSignal → cancel POST" guarantee hold mid-poll.
|
|
471
|
+
if (isAbortError(err)) {
|
|
472
|
+
await cancelBackground({
|
|
473
|
+
url: args.url,
|
|
474
|
+
id,
|
|
475
|
+
apiKey: args.apiKey,
|
|
476
|
+
fetchImpl: args.fetchImpl,
|
|
477
|
+
});
|
|
478
|
+
throw abortError();
|
|
479
|
+
}
|
|
480
|
+
throw err;
|
|
481
|
+
}
|
|
482
|
+
const status = env.status;
|
|
483
|
+
// Deliberately inlined rather than calling
|
|
484
|
+
// `isTerminalBackgroundStatus`: `cancelled` is terminal too but
|
|
485
|
+
// needs the opposite disposition (throw `abortError()` vs. return
|
|
486
|
+
// the envelope), so the two terminal cases are split here.
|
|
487
|
+
if (status === "completed" ||
|
|
488
|
+
status === "failed" ||
|
|
489
|
+
status === "incomplete") {
|
|
490
|
+
return env;
|
|
491
|
+
}
|
|
492
|
+
if (status === "cancelled") {
|
|
493
|
+
throw abortError();
|
|
494
|
+
}
|
|
495
|
+
await abortableDelay(args.pollIntervalMs, args.signal);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
286
498
|
async function callOnce(args) {
|
|
287
499
|
let response;
|
|
288
500
|
try {
|
|
@@ -385,6 +597,119 @@ function formatIncompleteMessage(reason) {
|
|
|
385
597
|
}
|
|
386
598
|
return `OpenAI Responses API returned status: "incomplete" (reason: ${reason}). The model stopped before completing the response. See OpenAI Responses API documentation for the complete \`incomplete_details.reason\` enumeration.`;
|
|
387
599
|
}
|
|
600
|
+
// -- response parsing --
|
|
601
|
+
const SSE_TERMINAL_EVENTS = new Set([
|
|
602
|
+
"response.completed",
|
|
603
|
+
"response.incomplete",
|
|
604
|
+
"response.failed",
|
|
605
|
+
]);
|
|
606
|
+
/**
|
|
607
|
+
* Parse one SSE event block. Returns the embedded full `response`
|
|
608
|
+
* envelope when the event is a terminal Responses-API event
|
|
609
|
+
* (`response.completed` / `.incomplete` / `.failed`); otherwise
|
|
610
|
+
* `undefined`. The terminal events carry a `type` field inside the
|
|
611
|
+
* data JSON, so we key off that and ignore the `event:` line.
|
|
612
|
+
*/
|
|
613
|
+
function parseSseEvent(raw) {
|
|
614
|
+
let eventType;
|
|
615
|
+
const dataLines = [];
|
|
616
|
+
for (const line of raw.split("\n")) {
|
|
617
|
+
if (line.startsWith(":"))
|
|
618
|
+
continue; // SSE comment line — ignore.
|
|
619
|
+
if (line.startsWith("event:")) {
|
|
620
|
+
eventType = line.slice(6).trim();
|
|
621
|
+
}
|
|
622
|
+
else if (line.startsWith("data:")) {
|
|
623
|
+
dataLines.push(line.slice(5).replace(/^ /, ""));
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
if (dataLines.length === 0)
|
|
627
|
+
return undefined;
|
|
628
|
+
let parsed;
|
|
629
|
+
try {
|
|
630
|
+
parsed = JSON.parse(dataLines.join("\n"));
|
|
631
|
+
}
|
|
632
|
+
catch {
|
|
633
|
+
return undefined;
|
|
634
|
+
}
|
|
635
|
+
// Prefer the discriminator inside the data JSON (Responses-API
|
|
636
|
+
// events carry `type` there); fall back to the SSE `event:` line so
|
|
637
|
+
// the parser is robust if the API ever sends the type only there.
|
|
638
|
+
// (No `[DONE]` sentinel handling — that is a Chat-Completions frame
|
|
639
|
+
// the Responses API does not emit.)
|
|
640
|
+
const type = parsed.type ?? eventType;
|
|
641
|
+
if (type && SSE_TERMINAL_EVENTS.has(type) && parsed.response) {
|
|
642
|
+
return parsed.response;
|
|
643
|
+
}
|
|
644
|
+
return undefined;
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* Read an SSE `text/event-stream` body and return the envelope carried
|
|
648
|
+
* by the terminal event. A stream that ends with no terminal event
|
|
649
|
+
* (connection drop) throws `TransientLlmError` so the framework retries.
|
|
650
|
+
* `AbortError` from the underlying reader propagates verbatim so
|
|
651
|
+
* `llmStage` marks the stage `skipped`.
|
|
652
|
+
*
|
|
653
|
+
* Note: the event-separator scan assumes LF (`\n\n`) framing, which the
|
|
654
|
+
* OpenAI Responses API emits. Reuse against a strict CRLF-only SSE
|
|
655
|
+
* server would need the separator scan adjusted to `\r\n\r\n`.
|
|
656
|
+
*/
|
|
657
|
+
async function readSseEnvelope(response) {
|
|
658
|
+
const body = response.body;
|
|
659
|
+
if (!body) {
|
|
660
|
+
throw new TransientLlmError({
|
|
661
|
+
message: "OpenAI streaming response carried no body.",
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
const reader = body.getReader();
|
|
665
|
+
const decoder = new TextDecoder();
|
|
666
|
+
let buffer = "";
|
|
667
|
+
let terminal;
|
|
668
|
+
try {
|
|
669
|
+
for (;;) {
|
|
670
|
+
const chunk = await reader.read();
|
|
671
|
+
if (chunk.done)
|
|
672
|
+
break;
|
|
673
|
+
buffer += decoder.decode(chunk.value, { stream: true });
|
|
674
|
+
let sep = buffer.indexOf("\n\n");
|
|
675
|
+
while (sep !== -1) {
|
|
676
|
+
const rawEvent = buffer.slice(0, sep);
|
|
677
|
+
buffer = buffer.slice(sep + 2);
|
|
678
|
+
const env = parseSseEvent(rawEvent);
|
|
679
|
+
if (env)
|
|
680
|
+
terminal = env;
|
|
681
|
+
sep = buffer.indexOf("\n\n");
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
catch (err) {
|
|
686
|
+
if (isAbortError(err)) {
|
|
687
|
+
throw err;
|
|
688
|
+
}
|
|
689
|
+
throw new TransientLlmError({
|
|
690
|
+
message: `OpenAI streaming read failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
// Flush any bytes the streaming decoder is still holding (an
|
|
694
|
+
// incomplete multi-byte UTF-8 sequence at the final chunk boundary),
|
|
695
|
+
// then scan for any remaining terminal frame.
|
|
696
|
+
buffer += decoder.decode();
|
|
697
|
+
let tailSep = buffer.indexOf("\n\n");
|
|
698
|
+
while (tailSep !== -1) {
|
|
699
|
+
const rawEvent = buffer.slice(0, tailSep);
|
|
700
|
+
buffer = buffer.slice(tailSep + 2);
|
|
701
|
+
const env = parseSseEvent(rawEvent);
|
|
702
|
+
if (env)
|
|
703
|
+
terminal = env;
|
|
704
|
+
tailSep = buffer.indexOf("\n\n");
|
|
705
|
+
}
|
|
706
|
+
if (!terminal) {
|
|
707
|
+
throw new TransientLlmError({
|
|
708
|
+
message: "OpenAI streaming ended without a terminal response event (connection drop?).",
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
return terminal;
|
|
712
|
+
}
|
|
388
713
|
function pickFunctionCalls(output) {
|
|
389
714
|
if (!output)
|
|
390
715
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/extensions/openai/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/extensions/openai/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/openai/types.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,mBAAmB,GACzB;IAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1D;IAQI,IAAI,EAAE,eAAe,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CACpB,GACD;IACI,IAAI,EAAE,sBAAsB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AAEP,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7D;IACI,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEP,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,EAAE,IAAI,CAAA;CACf,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,mBAAmB,EAAE,CAAA;IAC5B,IAAI,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAA;IACnC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;KAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/openai/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proposit/proposit-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Core engine for building and manipulating propositional logic arguments.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"typedoc": "^0.28.18",
|
|
71
71
|
"typescript": "^6.0.2",
|
|
72
72
|
"typescript-eslint": "^8.58.0",
|
|
73
|
+
"undici": "^8.3.0",
|
|
73
74
|
"vitest": "^4.1.2"
|
|
74
75
|
},
|
|
75
76
|
"dependencies": {
|
|
@@ -79,7 +80,8 @@
|
|
|
79
80
|
},
|
|
80
81
|
"peerDependencies": {
|
|
81
82
|
"ollama": ">=0.5.0",
|
|
82
|
-
"openai": ">=4.0.0"
|
|
83
|
+
"openai": ">=4.0.0",
|
|
84
|
+
"undici": ">=6.0.0"
|
|
83
85
|
},
|
|
84
86
|
"peerDependenciesMeta": {
|
|
85
87
|
"ollama": {
|
|
@@ -87,6 +89,9 @@
|
|
|
87
89
|
},
|
|
88
90
|
"openai": {
|
|
89
91
|
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"undici": {
|
|
94
|
+
"optional": true
|
|
90
95
|
}
|
|
91
96
|
},
|
|
92
97
|
"scripts": {
|