@agnt-sdk/studio 0.0.34 → 0.0.35

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.
@@ -6,6 +6,7 @@
6
6
  import { GoogleGenerativeAI } from '@google/generative-ai';
7
7
  import BaseExecutor from '../BaseExecutor.js';
8
8
  import { fileToGeminiPart } from './fileAttachment.js';
9
+ import { streamWithRetry, STREAM_ABSOLUTE_BACKSTOP_MS } from './streaming.js';
9
10
  export default class GoogleExecutor extends BaseExecutor {
10
11
  client;
11
12
  constructor(config) {
@@ -71,11 +72,35 @@ export default class GoogleExecutor extends BaseExecutor {
71
72
  topP: providerParams.topP,
72
73
  tools: options.tools?.length || 0
73
74
  });
74
- // Call Gemini API
75
- const result = await model.generateContent({
76
- contents
75
+ // Call Gemini API — STREAMED. Iterating `result.stream` bumps the idle timer
76
+ // per chunk; `result.response` then resolves to the aggregated
77
+ // GenerateContentResponse used for content/toolCalls/usage extraction below.
78
+ // A mid-stream failure discards the partial and retries the whole prompt. The
79
+ // requestOptions timeout is the SDK's own total cap (set to the streaming
80
+ // backstop); the idle timeout is operative.
81
+ //
82
+ // We ALSO collect the raw per-chunk parts. The SDK's response aggregator
83
+ // (aggregateResponses) rebuilds each part copying only text/functionCall/
84
+ // executableCode/codeExecutionResult — it DROPS `thought`/`thoughtSignature`.
85
+ // The non-streamed path returned the raw candidate parts with the signature
86
+ // intact, and `rawParts` exists precisely to echo thought parts back verbatim
87
+ // on later turns (required by Gemini thinking models). So rawParts must come
88
+ // from the raw stream chunks, not the stripped aggregate.
89
+ const { response, streamedParts } = await streamWithRetry(async (guard) => {
90
+ const result = await model.generateContentStream({ contents }, { signal: guard.signal, timeout: STREAM_ABSOLUTE_BACKSTOP_MS });
91
+ const streamedParts = [];
92
+ for await (const chunk of result.stream) {
93
+ guard.bump();
94
+ const parts = chunk?.candidates?.[0]?.content?.parts;
95
+ if (Array.isArray(parts))
96
+ streamedParts.push(...parts);
97
+ }
98
+ return { response: await result.response, streamedParts };
99
+ }, {
100
+ externalSignal: options.signal,
101
+ isRetryable: (err) => this.isRetryableError(err),
102
+ log: (m) => this.log(m),
77
103
  });
78
- const response = result.response;
79
104
  const candidate = response.candidates?.[0];
80
105
  if (!candidate) {
81
106
  throw new Error('[GoogleExecutor] No candidate in response');
@@ -103,13 +128,15 @@ export default class GoogleExecutor extends BaseExecutor {
103
128
  cache_creation_input_tokens: 0
104
129
  };
105
130
  // rawParts preserves thought parts (incl. thoughtSignature) so they can be
106
- // echoed back verbatim in subsequent turns — required by Gemini thinking models.
131
+ // echoed back verbatim in subsequent turns — required by Gemini thinking
132
+ // models. Prefer the raw stream chunks (signature intact); fall back to the
133
+ // aggregated candidate parts only if the stream yielded none.
107
134
  return {
108
135
  message: {
109
136
  role: 'assistant',
110
137
  content: textContent,
111
138
  tool_calls: toolCalls,
112
- rawParts: candidate.content.parts ?? []
139
+ rawParts: streamedParts.length > 0 ? streamedParts : (candidate.content.parts ?? [])
113
140
  },
114
141
  usage
115
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;;IACtD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,kBAAkB;IA4BtC;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmErF;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAoIxC"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5F,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;;IACtD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,kBAAkB;IA+BtC;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA0FrF;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAoIxC"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import OpenAI from 'openai';
7
7
  import BaseExecutor from '../BaseExecutor.js';
8
+ import { streamWithRetry, consumeOpenAIStream, STREAM_ABSOLUTE_BACKSTOP_MS } from './streaming.js';
8
9
  export default class OpenAIExecutor extends BaseExecutor {
9
10
  client;
10
11
  constructor(config) {
@@ -23,10 +24,13 @@ export default class OpenAIExecutor extends BaseExecutor {
23
24
  // Absorb transient rate-limit (429) / 5xx / timeout spikes at the SDK
24
25
  // layer with exponential backoff before the executor's model-fallback
25
26
  // path. SDK default is 2; bump so a brief blip doesn't fail the run.
26
- // timeout: 30 s per attempt SDK default is 600 s; 5 × 30 s = 150 s
27
- // worst case on a hung request, well within Lambda's 300 s limit.
28
- maxRetries: 5,
29
- timeout: 30_000,
27
+ // `invoke()` STREAMS and bounds the response with an inter-chunk IDLE
28
+ // timeout, so a long-but-progressing turn never times out. The client
29
+ // `timeout` is only the SDK's own total-request cap; set it to the
30
+ // streaming absolute backstop so the SDK never kills a healthily-streaming
31
+ // response — the idle timeout is the operative ceiling.
32
+ maxRetries: 3,
33
+ timeout: STREAM_ABSOLUTE_BACKSTOP_MS,
30
34
  dangerouslyAllowBrowser: openaiCreds.dangerouslyAllowBrowser
31
35
  });
32
36
  this.log(`[OpenAIExecutor] Initialized with model: ${this.model}`);
@@ -63,8 +67,20 @@ export default class OpenAIExecutor extends BaseExecutor {
63
67
  top_p: params.top_p,
64
68
  tools: params.tools?.length || 0
65
69
  });
66
- // Call OpenAI API
67
- const response = await this.client.chat.completions.create(params);
70
+ // Call OpenAI API — STREAMED. We reassemble the streamed deltas back into
71
+ // the non-streamed completion shape (consumeOpenAIStream) so the usage +
72
+ // extraction below is unchanged. `stream_options.include_usage` makes the
73
+ // final chunk carry the same usage object the non-streamed call returns.
74
+ // The idle timer is bumped on every chunk; a mid-stream failure discards the
75
+ // partial and retries the whole prompt.
76
+ const response = await streamWithRetry(async (guard) => {
77
+ const stream = await this.client.chat.completions.create({ ...params, stream: true, stream_options: { include_usage: true } }, { signal: guard.signal });
78
+ return await consumeOpenAIStream(stream, () => guard.bump());
79
+ }, {
80
+ externalSignal: options.signal,
81
+ isRetryable: (err) => this.isRetryableError(err),
82
+ log: (m) => this.log(m),
83
+ });
68
84
  const choice = response.choices[0];
69
85
  const message = choice.message;
70
86
  // Format response to match expected structure
@@ -78,6 +94,11 @@ export default class OpenAIExecutor extends BaseExecutor {
78
94
  // buckets — so cache reads must not also live inside input_tokens or they
79
95
  // get charged twice.
80
96
  const cachedTokens = usageTyped?.prompt_tokens_details?.cached_tokens ?? 0;
97
+ // Streaming usage rides the final chunk (stream_options.include_usage). Real
98
+ // OpenAI always sends it; guard so an OpenAI-compatible endpoint that omits
99
+ // it degrades to zeros rather than crashing the run.
100
+ const promptTokens = response.usage?.prompt_tokens ?? 0;
101
+ const completionTokens = response.usage?.completion_tokens ?? 0;
81
102
  return {
82
103
  message: {
83
104
  role: message.role,
@@ -85,8 +106,8 @@ export default class OpenAIExecutor extends BaseExecutor {
85
106
  tool_calls: this.#extractToolCalls(message.tool_calls)
86
107
  },
87
108
  usage: {
88
- input_tokens: Math.max(0, response.usage.prompt_tokens - cachedTokens),
89
- output_tokens: response.usage.completion_tokens,
109
+ input_tokens: Math.max(0, promptTokens - cachedTokens),
110
+ output_tokens: completionTokens,
90
111
  cache_read_input_tokens: cachedTokens,
91
112
  cache_creation_input_tokens: 0
92
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * streaming.ts — shared streaming orchestration for the provider adapters.
3
+ *
4
+ * WHY: model responses used to be awaited as a single non-streamed completion,
5
+ * so the SDK's per-attempt `timeout` measured *total* time-to-complete. A
6
+ * legitimately long-but-progressing response (a full slide deck, a long report)
7
+ * could exceed that ceiling, get retried — re-sending the whole prompt and
8
+ * re-billing each attempt — and eventually fail as "Request timed out".
9
+ *
10
+ * Streaming removes the ceiling: we consume the provider's token stream and
11
+ * reset an INTER-CHUNK IDLE timer on every event. A response that keeps making
12
+ * progress never times out no matter how long it runs; only a genuinely STALLED
13
+ * stream (no token for `idleTimeoutMs`) is aborted and retried. A generous
14
+ * ABSOLUTE BACKSTOP guards the pathological "one token every 59 s forever" case.
15
+ *
16
+ * This module owns the timeout/abort/retry *orchestration* (provider-agnostic).
17
+ * Each provider adapter owns its SDK-specific stream consumption and assembles
18
+ * the SAME final response object its non-streamed path produced — so the
19
+ * executor's consumption (and token accounting) is byte-for-byte unchanged.
20
+ */
21
+ /** No token for this long → the stream is stalled; abort + retry the attempt. */
22
+ export declare const STREAM_IDLE_TIMEOUT_MS: number;
23
+ /** Absolute per-attempt ceiling. Only the pathological dribble case reaches it;
24
+ * a steadily-streaming multi-minute response never does. It is TERMINAL (not
25
+ * retried) so a misbehaving stream can't be retried 3× and blow the worker's
26
+ * 14-min checkpoint. Comfortably above any legitimate single-turn duration. */
27
+ export declare const STREAM_ABSOLUTE_BACKSTOP_MS: number;
28
+ /** Whole-attempt retries on a transient mid-stream failure (idle stall, network
29
+ * drop, 5xx after the stream opened). Matches the pre-existing retry budget. */
30
+ export declare const STREAM_MAX_RETRIES: number;
31
+ export type StreamAbortReason = 'idle' | 'backstop' | 'external';
32
+ /** Raised when the guard aborts a stream. `reason` decides retry policy:
33
+ * `idle` is transient (retry); `backstop` and `external` are terminal. */
34
+ export declare class StreamAbortError extends Error {
35
+ reason: StreamAbortReason;
36
+ constructor(reason: StreamAbortReason, message: string);
37
+ }
38
+ export interface StreamGuard {
39
+ /** Pass to the provider SDK's stream call; aborts on idle/backstop/external. */
40
+ readonly signal: AbortSignal;
41
+ /** Call on every stream event/chunk to reset the idle timer. */
42
+ bump(): void;
43
+ /** Why the guard aborted, or null if it hasn't. */
44
+ reason(): StreamAbortReason | null;
45
+ /** Clear all timers + listeners. Idempotent; always call in a finally. */
46
+ dispose(): void;
47
+ }
48
+ export interface StreamGuardOptions {
49
+ idleTimeoutMs?: number;
50
+ backstopMs?: number;
51
+ /** The caller's AbortSignal (backend stop/timeout). Aborts the stream with
52
+ * reason `external` — terminal, never retried. */
53
+ externalSignal?: AbortSignal;
54
+ }
55
+ /**
56
+ * Build an abort guard around a single stream attempt: an idle timer reset by
57
+ * `bump()`, an absolute backstop, and linkage to an optional external signal.
58
+ */
59
+ export declare function createStreamGuard(opts?: StreamGuardOptions): StreamGuard;
60
+ /** True for the abort error a provider SDK throws when we call `controller.abort()`. */
61
+ export declare function isAbortError(err: any): boolean;
62
+ export interface StreamRetryOptions {
63
+ maxRetries?: number;
64
+ idleTimeoutMs?: number;
65
+ backstopMs?: number;
66
+ externalSignal?: AbortSignal;
67
+ /** Classify a NON-abort mid-stream error as transient (retry) vs fatal. */
68
+ isRetryable?: (err: any) => boolean;
69
+ log?: (message: string) => void;
70
+ }
71
+ /**
72
+ * Run one stream `attempt` with a fresh guard, retrying the WHOLE prompt on a
73
+ * transient failure (idle stall or a caller-classified retryable error). The
74
+ * partial output is discarded on failure. Backstop and external aborts are
75
+ * terminal. Bounded by `maxRetries`.
76
+ */
77
+ export declare function streamWithRetry<T>(attempt: (guard: StreamGuard) => Promise<T>, opts?: StreamRetryOptions): Promise<T>;
78
+ /** The subset of an OpenAI chat completion the executor consumes. Assembling
79
+ * the stream back into this shape lets the non-streamed extraction run
80
+ * unchanged. */
81
+ export interface OpenAICompletionLike {
82
+ choices: Array<{
83
+ message: {
84
+ role: string;
85
+ content: string | null;
86
+ tool_calls?: Array<{
87
+ id: string;
88
+ type: 'function';
89
+ function: {
90
+ name: string;
91
+ arguments: string;
92
+ };
93
+ }>;
94
+ };
95
+ }>;
96
+ usage?: any;
97
+ }
98
+ /**
99
+ * Fold an OpenAI (or OpenAI-compatible) chat completion STREAM back into the
100
+ * non-streamed completion shape.
101
+ *
102
+ * Deltas arrive fragmented: `content` in pieces, and each tool call as an
103
+ * index-keyed run of deltas — the id + function.name usually in the first, the
104
+ * JSON `arguments` string across many. We reassemble per index and join in
105
+ * index order. Usage arrives on the final chunk (requires
106
+ * `stream_options.include_usage: true`).
107
+ */
108
+ export declare function consumeOpenAIStream(stream: AsyncIterable<any>, bump: () => void): Promise<OpenAICompletionLike>;
109
+ //# sourceMappingURL=streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/providers/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,QACwB,CAAC;AAE5D;;;gFAGgF;AAChF,eAAO,MAAM,2BAA2B,QACgB,CAAC;AAEzD;iFACiF;AACjF,eAAO,MAAM,kBAAkB,QAAmD,CAAC;AAEnF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjE;2EAC2E;AAC3E,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,MAAM,EAAE,iBAAiB,CAAC;gBACd,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,gEAAgE;IAChE,IAAI,IAAI,IAAI,CAAC;IACb,mDAAmD;IACnD,MAAM,IAAI,iBAAiB,GAAG,IAAI,CAAC;IACnC,0EAA0E;IAC1E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;uDACmD;IACnD,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,WAAW,CAqD5E;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAI9C;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;IACpC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3C,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,CAAC,CAAC,CAyCZ;AAMD;;iBAEiB;AACjB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,UAAU,CAAC,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,UAAU,CAAC;gBAAC,QAAQ,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,SAAS,EAAE,MAAM,CAAA;iBAAE,CAAA;aAAE,CAAC,CAAC;SACrG,CAAC;KACH,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC1B,IAAI,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,oBAAoB,CAAC,CAgD/B"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * streaming.ts — shared streaming orchestration for the provider adapters.
3
+ *
4
+ * WHY: model responses used to be awaited as a single non-streamed completion,
5
+ * so the SDK's per-attempt `timeout` measured *total* time-to-complete. A
6
+ * legitimately long-but-progressing response (a full slide deck, a long report)
7
+ * could exceed that ceiling, get retried — re-sending the whole prompt and
8
+ * re-billing each attempt — and eventually fail as "Request timed out".
9
+ *
10
+ * Streaming removes the ceiling: we consume the provider's token stream and
11
+ * reset an INTER-CHUNK IDLE timer on every event. A response that keeps making
12
+ * progress never times out no matter how long it runs; only a genuinely STALLED
13
+ * stream (no token for `idleTimeoutMs`) is aborted and retried. A generous
14
+ * ABSOLUTE BACKSTOP guards the pathological "one token every 59 s forever" case.
15
+ *
16
+ * This module owns the timeout/abort/retry *orchestration* (provider-agnostic).
17
+ * Each provider adapter owns its SDK-specific stream consumption and assembles
18
+ * the SAME final response object its non-streamed path produced — so the
19
+ * executor's consumption (and token accounting) is byte-for-byte unchanged.
20
+ */
21
+ /** No token for this long → the stream is stalled; abort + retry the attempt. */
22
+ export const STREAM_IDLE_TIMEOUT_MS = Number(process.env.AGNT_STREAM_IDLE_TIMEOUT_MS) || 60_000;
23
+ /** Absolute per-attempt ceiling. Only the pathological dribble case reaches it;
24
+ * a steadily-streaming multi-minute response never does. It is TERMINAL (not
25
+ * retried) so a misbehaving stream can't be retried 3× and blow the worker's
26
+ * 14-min checkpoint. Comfortably above any legitimate single-turn duration. */
27
+ export const STREAM_ABSOLUTE_BACKSTOP_MS = Number(process.env.AGNT_STREAM_BACKSTOP_MS) || 600_000;
28
+ /** Whole-attempt retries on a transient mid-stream failure (idle stall, network
29
+ * drop, 5xx after the stream opened). Matches the pre-existing retry budget. */
30
+ export const STREAM_MAX_RETRIES = Number(process.env.AGNT_STREAM_MAX_RETRIES) || 3;
31
+ /** Raised when the guard aborts a stream. `reason` decides retry policy:
32
+ * `idle` is transient (retry); `backstop` and `external` are terminal. */
33
+ export class StreamAbortError extends Error {
34
+ reason;
35
+ constructor(reason, message) {
36
+ super(message);
37
+ this.name = 'StreamAbortError';
38
+ this.reason = reason;
39
+ }
40
+ }
41
+ function unref(t) {
42
+ // Don't let the idle/backstop timer keep the event loop (or a Lambda) alive.
43
+ if (t && typeof t.unref === 'function')
44
+ t.unref();
45
+ }
46
+ /**
47
+ * Build an abort guard around a single stream attempt: an idle timer reset by
48
+ * `bump()`, an absolute backstop, and linkage to an optional external signal.
49
+ */
50
+ export function createStreamGuard(opts = {}) {
51
+ const idleMs = opts.idleTimeoutMs ?? STREAM_IDLE_TIMEOUT_MS;
52
+ const backstopMs = opts.backstopMs ?? STREAM_ABSOLUTE_BACKSTOP_MS;
53
+ const controller = new AbortController();
54
+ let abortedReason = null;
55
+ let idleTimer = null;
56
+ let backstopTimer = null;
57
+ let externalCleanup = null;
58
+ const abort = (reason) => {
59
+ if (abortedReason)
60
+ return; // first reason wins
61
+ abortedReason = reason;
62
+ clearTimers();
63
+ controller.abort();
64
+ };
65
+ const clearTimers = () => {
66
+ if (idleTimer) {
67
+ clearTimeout(idleTimer);
68
+ idleTimer = null;
69
+ }
70
+ if (backstopTimer) {
71
+ clearTimeout(backstopTimer);
72
+ backstopTimer = null;
73
+ }
74
+ };
75
+ const bump = () => {
76
+ if (abortedReason)
77
+ return;
78
+ if (idleTimer)
79
+ clearTimeout(idleTimer);
80
+ idleTimer = setTimeout(() => abort('idle'), idleMs);
81
+ unref(idleTimer);
82
+ };
83
+ backstopTimer = setTimeout(() => abort('backstop'), backstopMs);
84
+ unref(backstopTimer);
85
+ if (opts.externalSignal) {
86
+ const ext = opts.externalSignal;
87
+ if (ext.aborted) {
88
+ abort('external');
89
+ }
90
+ else {
91
+ const onAbort = () => abort('external');
92
+ ext.addEventListener('abort', onAbort, { once: true });
93
+ externalCleanup = () => ext.removeEventListener('abort', onAbort);
94
+ }
95
+ }
96
+ bump(); // arm the idle timer for the connection-open window
97
+ return {
98
+ signal: controller.signal,
99
+ bump,
100
+ reason: () => abortedReason,
101
+ dispose: () => {
102
+ clearTimers();
103
+ if (externalCleanup) {
104
+ externalCleanup();
105
+ externalCleanup = null;
106
+ }
107
+ },
108
+ };
109
+ }
110
+ /** True for the abort error a provider SDK throws when we call `controller.abort()`. */
111
+ export function isAbortError(err) {
112
+ const name = err?.name ?? err?.constructor?.name;
113
+ if (name === 'AbortError' || name === 'APIUserAbortError')
114
+ return true;
115
+ return typeof err?.message === 'string' && /\baborted\b/i.test(err.message);
116
+ }
117
+ /**
118
+ * Run one stream `attempt` with a fresh guard, retrying the WHOLE prompt on a
119
+ * transient failure (idle stall or a caller-classified retryable error). The
120
+ * partial output is discarded on failure. Backstop and external aborts are
121
+ * terminal. Bounded by `maxRetries`.
122
+ */
123
+ export async function streamWithRetry(attempt, opts = {}) {
124
+ const maxRetries = opts.maxRetries ?? STREAM_MAX_RETRIES;
125
+ const isRetryable = opts.isRetryable ?? (() => true);
126
+ let lastError;
127
+ for (let i = 0; i < maxRetries; i++) {
128
+ if (opts.externalSignal?.aborted) {
129
+ throw new StreamAbortError('external', '[streaming] aborted before attempt');
130
+ }
131
+ const guard = createStreamGuard({
132
+ idleTimeoutMs: opts.idleTimeoutMs,
133
+ backstopMs: opts.backstopMs,
134
+ externalSignal: opts.externalSignal,
135
+ });
136
+ try {
137
+ return await attempt(guard);
138
+ }
139
+ catch (err) {
140
+ // Map a guard-triggered abort to a typed error carrying its reason.
141
+ const reason = guard.reason();
142
+ const mapped = reason && isAbortError(err)
143
+ ? new StreamAbortError(reason, `[streaming] stream aborted: ${reason}`)
144
+ : err;
145
+ lastError = mapped;
146
+ // Terminal: the caller asked to stop, or the stream dribbled to the
147
+ // backstop — retrying either would be wrong/wasteful.
148
+ if (mapped instanceof StreamAbortError && mapped.reason !== 'idle') {
149
+ throw mapped;
150
+ }
151
+ const retryable = mapped instanceof StreamAbortError ? mapped.reason === 'idle' : isRetryable(mapped);
152
+ if (!retryable || i === maxRetries - 1)
153
+ throw mapped;
154
+ opts.log?.(`[streaming] attempt ${i + 1}/${maxRetries} failed (${mapped?.message ?? mapped}) — discarding partial, retrying`);
155
+ }
156
+ finally {
157
+ guard.dispose();
158
+ }
159
+ }
160
+ throw lastError;
161
+ }
162
+ /**
163
+ * Fold an OpenAI (or OpenAI-compatible) chat completion STREAM back into the
164
+ * non-streamed completion shape.
165
+ *
166
+ * Deltas arrive fragmented: `content` in pieces, and each tool call as an
167
+ * index-keyed run of deltas — the id + function.name usually in the first, the
168
+ * JSON `arguments` string across many. We reassemble per index and join in
169
+ * index order. Usage arrives on the final chunk (requires
170
+ * `stream_options.include_usage: true`).
171
+ */
172
+ export async function consumeOpenAIStream(stream, bump) {
173
+ let role = 'assistant';
174
+ let content = '';
175
+ let sawContent = false;
176
+ let usage = undefined;
177
+ const byIndex = new Map();
178
+ for await (const chunk of stream) {
179
+ bump();
180
+ const choice = chunk?.choices?.[0];
181
+ if (choice) {
182
+ const delta = choice.delta || {};
183
+ if (delta.role)
184
+ role = delta.role;
185
+ if (typeof delta.content === 'string') {
186
+ content += delta.content;
187
+ sawContent = true;
188
+ }
189
+ if (Array.isArray(delta.tool_calls)) {
190
+ for (const tc of delta.tool_calls) {
191
+ const idx = typeof tc.index === 'number' ? tc.index : 0;
192
+ let acc = byIndex.get(idx);
193
+ if (!acc) {
194
+ acc = { id: '', name: '', args: '' };
195
+ byIndex.set(idx, acc);
196
+ }
197
+ if (tc.id)
198
+ acc.id = tc.id;
199
+ if (tc.function?.name)
200
+ acc.name += tc.function.name;
201
+ if (typeof tc.function?.arguments === 'string')
202
+ acc.args += tc.function.arguments;
203
+ }
204
+ }
205
+ }
206
+ // Usage rides its own final chunk (choices may be empty there).
207
+ if (chunk?.usage)
208
+ usage = chunk.usage;
209
+ }
210
+ const tool_calls = byIndex.size
211
+ ? [...byIndex.entries()]
212
+ .sort((a, b) => a[0] - b[0])
213
+ // Default empty args to "{}" — a zero-arg tool call may stream an id+name
214
+ // with no `arguments` fragment (real OpenAI always sends "{}", but
215
+ // DeepSeek / OpenAI-compatible endpoints may not). The downstream
216
+ // extractor does JSON.parse(arguments), which throws on "". Mirror the
217
+ // non-streamed shape so a no-arg tool call parses to {} instead of crashing.
218
+ .map(([, v]) => ({ id: v.id, type: 'function', function: { name: v.name, arguments: v.args || '{}' } }))
219
+ : undefined;
220
+ return {
221
+ // Mirror the non-streamed shape: content is null when the turn is tool-only.
222
+ choices: [{ message: { role, content: sawContent ? content : (tool_calls ? null : ''), tool_calls } }],
223
+ usage,
224
+ };
225
+ }
226
+ //# sourceMappingURL=streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/providers/streaming.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -159,6 +159,10 @@ export interface InvokeOptions {
159
159
  * no follow-up turn to hit the cache — avoids paying the 25% write surcharge
160
160
  * with zero benefit. Agent/Prime multi-turn runs should NOT set this. */
161
161
  disableCache?: boolean;
162
+ /** Caller's abort signal (backend stop/timeout). Threaded to the provider's
163
+ * streaming call so an in-flight token stream stops cleanly. Set by
164
+ * BaseExecutor from its per-run AbortController (see cancel()). */
165
+ signal?: AbortSignal;
162
166
  }
163
167
  /** Leaf condition: variable op value */
164
168
  export interface LeafCondition {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}