@agnt-sdk/studio 0.0.33 → 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.
@@ -19,9 +19,14 @@ export default class BaseExecutor {
19
19
  protected messages: Message[];
20
20
  protected onToolCall?: ToolCallCallback;
21
21
  protected cancelled: boolean;
22
+ /** Per-run abort signal. cancel() aborts it so an in-flight token stream stops
23
+ * cleanly (the provider adapters thread it into their streaming call). */
24
+ protected abortController: AbortController;
22
25
  protected toolErrorCount: Record<string, number>;
23
26
  protected forceNextTool?: string;
24
27
  protected executorFactory?: (config: BaseExecutorConfig) => Promise<any>;
28
+ /** The config this executor was built from — reused to spawn cross-provider fallback executors. */
29
+ protected baseConfig: BaseExecutorConfig;
25
30
  protected instructions: string;
26
31
  protected primaryModelConfig: V2ModelConfig & {
27
32
  name: string;
@@ -37,7 +42,7 @@ export default class BaseExecutor {
37
42
  protected initialToolChoice: 'auto' | 'required' | 'none' | string;
38
43
  protected disableCache: boolean;
39
44
  protected hooks?: HookRegistry;
40
- constructor({ manifest, variables, toolRouter, credentials, messages, onToolCall, hooks, log, logLevel, tracing, files, maxMessages, initialToolChoice, executorFactory, modelPricing, disableCache, }: BaseExecutorConfig);
45
+ constructor(config: BaseExecutorConfig);
41
46
  protected validateManifest(): void;
42
47
  protected selectPrimaryModel(): V2ModelConfig;
43
48
  protected buildToolDefinitions(): ToolDefinition[];
@@ -57,16 +62,24 @@ export default class BaseExecutor {
57
62
  protected populateTemplate(template: string, variables: Record<string, any>): string;
58
63
  protected normalizeToolChoice(toolChoice: 'auto' | 'required' | 'none' | string): any;
59
64
  cancel(): boolean;
60
- private isRetryableError;
65
+ protected isRetryableError(error: any): boolean;
61
66
  /**
62
67
  * Invoke with automatic model fallback.
63
68
  *
64
69
  * Tries models in fallbackOrder. On a retryable error (5xx, overloaded, rate
65
70
  * limit, network drop) it switches to the next model in the list and retries.
66
- * Same-provider fallback (e.g. claude-opus → claude-sonnet) works by updating
67
- * this.model in-place; cross-provider fallback requires executorFactory and is
68
- * not yet implemented (non-retryable path will throw normally).
71
+ * Same-provider fallback (e.g. claude-opus → claude-sonnet) reuses this client
72
+ * by pointing this.model at the next model. Cross-provider fallback (e.g.
73
+ * claude-opus gpt-5) can't reuse the client — it spawns a provider-correct
74
+ * executor via the injected executorFactory and delegates the single invoke.
69
75
  * Non-retryable errors (4xx auth/validation) are re-thrown immediately.
76
+ *
77
+ * Known limitation: this.modelPricing is resolved once, for the primary
78
+ * model, before any fallback happens (see AgntExecutor.resolveModelPricing).
79
+ * A turn served by a fallback model — same-provider or cross-provider —
80
+ * still costs using the primary model's rate card. provider/model naming is
81
+ * corrected on fallback (see below); pricing is not. Pre-existing, not
82
+ * introduced here — flagging so it isn't mistaken for fixed.
70
83
  */
71
84
  protected invokeWithFallback(messages: Message[], options: InvokeOptions): Promise<InvokeResult>;
72
85
  protected validateVariables(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseExecutor.d.ts","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseExecutor.d.ts","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { evaluateCondition } from './conditions.js';
11
11
  import { sendTrace } from './tracing.js';
12
12
  import { SYSTEM_TOOL_NAMES } from './systemTools.js';
13
13
  import { normalizeToolResult } from './openclawAdapter.js';
14
+ import { StreamAbortError } from './providers/streaming.js';
14
15
  export default class BaseExecutor {
15
16
  manifest;
16
17
  variables;
@@ -21,9 +22,14 @@ export default class BaseExecutor {
21
22
  messages;
22
23
  onToolCall;
23
24
  cancelled;
25
+ /** Per-run abort signal. cancel() aborts it so an in-flight token stream stops
26
+ * cleanly (the provider adapters thread it into their streaming call). */
27
+ abortController;
24
28
  toolErrorCount;
25
29
  forceNextTool;
26
30
  executorFactory;
31
+ /** The config this executor was built from — reused to spawn cross-provider fallback executors. */
32
+ baseConfig;
27
33
  instructions;
28
34
  primaryModelConfig;
29
35
  provider;
@@ -37,7 +43,9 @@ export default class BaseExecutor {
37
43
  initialToolChoice;
38
44
  disableCache;
39
45
  hooks;
40
- constructor({ manifest, variables = {}, toolRouter, credentials, messages = [], onToolCall, hooks, log = console.log, logLevel = 'info', tracing, files, maxMessages = 50, initialToolChoice, executorFactory, modelPricing, disableCache = false, }) {
46
+ constructor(config) {
47
+ const { manifest, variables = {}, toolRouter, credentials, messages = [], onToolCall, hooks, log = console.log, logLevel = 'info', tracing, files, maxMessages = 50, initialToolChoice, executorFactory, modelPricing, disableCache = false, } = config;
48
+ this.baseConfig = config;
41
49
  this.manifest = manifest;
42
50
  if (!this.manifest)
43
51
  throw new Error('[BaseExecutor] manifest is required');
@@ -54,6 +62,7 @@ export default class BaseExecutor {
54
62
  this._initialMessageCount = messages.length;
55
63
  this.onToolCall = onToolCall;
56
64
  this.cancelled = false;
65
+ this.abortController = new AbortController();
57
66
  this.toolErrorCount = {};
58
67
  this.forceNextTool = undefined;
59
68
  this.tracing = tracing;
@@ -262,12 +271,23 @@ export default class BaseExecutor {
262
271
  }
263
272
  cancel() {
264
273
  this.cancelled = true;
274
+ // Abort any in-flight token stream immediately rather than waiting for the
275
+ // between-turns cancelled check — a long streamed response could otherwise
276
+ // keep running for the full backstop after a stop.
277
+ this.abortController.abort();
265
278
  return true;
266
279
  }
267
280
  // ─────────────────────────────────────────────────────────────────────────────
268
281
  // Model fallback
269
282
  // ─────────────────────────────────────────────────────────────────────────────
283
+ // Provider adapters call this to classify a mid-stream failure for retry.
270
284
  isRetryableError(error) {
285
+ // A streamed attempt that exhausted its in-place retries on an IDLE stall is
286
+ // a model-health signal — fall back to the next model. A backstop (a stream
287
+ // that dribbled to the absolute ceiling) or an external abort (caller stop)
288
+ // is terminal: don't waste another model on it.
289
+ if (error instanceof StreamAbortError)
290
+ return error.reason === 'idle';
271
291
  // HTTP status codes from Anthropic, OpenAI, Google, etc.
272
292
  const status = typeof error?.status === 'number' ? error.status : undefined;
273
293
  if (status !== undefined) {
@@ -304,29 +324,64 @@ export default class BaseExecutor {
304
324
  *
305
325
  * Tries models in fallbackOrder. On a retryable error (5xx, overloaded, rate
306
326
  * limit, network drop) it switches to the next model in the list and retries.
307
- * Same-provider fallback (e.g. claude-opus → claude-sonnet) works by updating
308
- * this.model in-place; cross-provider fallback requires executorFactory and is
309
- * not yet implemented (non-retryable path will throw normally).
327
+ * Same-provider fallback (e.g. claude-opus → claude-sonnet) reuses this client
328
+ * by pointing this.model at the next model. Cross-provider fallback (e.g.
329
+ * claude-opus gpt-5) can't reuse the client — it spawns a provider-correct
330
+ * executor via the injected executorFactory and delegates the single invoke.
310
331
  * Non-retryable errors (4xx auth/validation) are re-thrown immediately.
332
+ *
333
+ * Known limitation: this.modelPricing is resolved once, for the primary
334
+ * model, before any fallback happens (see AgntExecutor.resolveModelPricing).
335
+ * A turn served by a fallback model — same-provider or cross-provider —
336
+ * still costs using the primary model's rate card. provider/model naming is
337
+ * corrected on fallback (see below); pricing is not. Pre-existing, not
338
+ * introduced here — flagging so it isn't mistaken for fixed.
311
339
  */
312
340
  async invokeWithFallback(messages, options) {
313
341
  const orderedModels = [...this.manifest.spec.models].sort((a, b) => (a.fallbackOrder ?? 0) - (b.fallbackOrder ?? 0));
314
342
  let lastError;
315
343
  for (let i = 0; i < orderedModels.length; i++) {
316
344
  const modelConfig = orderedModels[i];
345
+ // Only treat as cross-provider on a genuine fallback hop. At i=0 we always
346
+ // use the already-selected primary, so non-fallback routing strategies
347
+ // (random/conditional) keep their existing behavior.
348
+ const crossProvider = i > 0 && modelConfig.provider !== this.provider;
317
349
  if (i > 0) {
318
- if (modelConfig.provider !== this.provider) {
319
- // Cross-provider fallback requires executorFactory — skip for now.
320
- this.log(`[BaseExecutor] Skipping cross-provider fallback to ${modelConfig.provider}/${modelConfig.model} ` +
321
- `(executorFactory cross-provider not yet implemented)`);
322
- continue;
323
- }
324
- this.log(`[BaseExecutor] ${orderedModels[i - 1].model} failed — falling back to ${modelConfig.model}`);
325
- this.primaryModelConfig = { ...modelConfig, name: modelConfig.model };
326
- this.provider = modelConfig.provider;
327
- this.model = modelConfig.model;
350
+ this.log(`[BaseExecutor] ${orderedModels[i - 1].model} failed — falling back to ${modelConfig.provider}/${modelConfig.model}`);
328
351
  }
329
352
  try {
353
+ if (crossProvider) {
354
+ // Different provider than the current client — swapping this.model in
355
+ // place would send the request through the wrong SDK. Build a
356
+ // provider-correct executor from this executor's own config (manifest
357
+ // narrowed to just this model) and delegate the single invoke.
358
+ if (!this.executorFactory) {
359
+ this.log(`[BaseExecutor] No executorFactory — cannot fall back to ${modelConfig.provider}/${modelConfig.model}, skipping`);
360
+ continue;
361
+ }
362
+ const sub = await this.executorFactory({
363
+ ...this.baseConfig,
364
+ manifest: { ...this.manifest, spec: { ...this.manifest.spec, models: [modelConfig] } },
365
+ messages,
366
+ });
367
+ const subResult = await sub.invoke(messages, options);
368
+ // Sync provider/model state onto `this` so downstream attribution
369
+ // (sendTurnTrace's model field, calculateCost's pricing lookup) reflects
370
+ // the model that actually served this turn, not the original primary —
371
+ // mirrors the same-provider branch below. Only after a successful
372
+ // invoke: on failure we fall through to the catch and keep looping,
373
+ // and must not have mutated state for a hop that didn't pan out.
374
+ this.primaryModelConfig = { ...modelConfig, name: modelConfig.model };
375
+ this.provider = modelConfig.provider;
376
+ this.model = modelConfig.model;
377
+ return subResult;
378
+ }
379
+ if (i > 0) {
380
+ // Same provider — reuse this client, just point it at the next model.
381
+ this.primaryModelConfig = { ...modelConfig, name: modelConfig.model };
382
+ this.provider = modelConfig.provider;
383
+ this.model = modelConfig.model;
384
+ }
330
385
  return await this.invoke(messages, options);
331
386
  }
332
387
  catch (error) {
@@ -459,6 +514,7 @@ export default class BaseExecutor {
459
514
  tools: enableToolCalls ? this.allToolDefs : [],
460
515
  tool_choice: enableToolCalls ? toolChoice : 'none',
461
516
  disableCache: this.disableCache,
517
+ signal: this.abortController.signal,
462
518
  });
463
519
  const turnDuration = Date.now() - turnStart;
464
520
  const usage = {
@@ -592,7 +648,7 @@ export default class BaseExecutor {
592
648
  const toolChoiceStr = this.forceNextTool ?? 'required';
593
649
  const toolChoice = this.normalizeToolChoice(toolChoiceStr);
594
650
  const turnStart = Date.now();
595
- const result = await this.invokeWithFallback(this.messages, { tools: this.allToolDefs, tool_choice: toolChoice, disableCache: this.disableCache });
651
+ const result = await this.invokeWithFallback(this.messages, { tools: this.allToolDefs, tool_choice: toolChoice, disableCache: this.disableCache, signal: this.abortController.signal });
596
652
  const turnDuration = Date.now() - turnStart;
597
653
  usage.inputTokens += this.sumInputTokens(result.usage); // total for display
598
654
  usage.cacheCreationTokens += result.usage?.cache_creation_input_tokens || 0;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseExecutor.js","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseExecutor.js","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared streaming SDK mocks for the provider adapter tests.
3
+ *
4
+ * The adapters now consume the provider's STREAM (messages.stream /
5
+ * chat.completions.create({stream}) / generateContentStream) instead of a single
6
+ * completion. These helpers build stream stubs that deliver a given final
7
+ * result, so a test can assert the adapter assembles the SAME shape the
8
+ * non-streamed path used to.
9
+ */
10
+ /** Minimal stand-in for the Anthropic SDK's MessageStream. `.finalMessage()`
11
+ * replays the provided raw events through any `streamEvent` listener (so the
12
+ * adapter's idle-timer bump fires) and resolves to the assembled message. */
13
+ export declare function anthropicMessageStream(finalMessage: any, events?: any[]): {
14
+ on(ev: string, cb: (...a: any[]) => void): /*elided*/ any;
15
+ finalMessage(): Promise<any>;
16
+ };
17
+ /** Build an async-iterable OpenAI completion STREAM from a non-streamed
18
+ * completion object `{ choices:[{message}], usage }`. Emits a role/content
19
+ * chunk, one delta per tool call (id+name+arguments), and a final usage chunk
20
+ * (mirrors stream_options.include_usage). */
21
+ export declare function openAIStreamFromCompletion(completion: any): AsyncIterable<any>;
22
+ /** Split an OpenAI tool-call's JSON `arguments` string into N fragment chunks
23
+ * for the same tool index — proves the adapter reassembles partial_json. */
24
+ export declare function openAIToolCallStream(id: string, name: string, argsJson: string, usage?: any, pieces?: number): AsyncIterable<any>;
25
+ /** Stand-in for GenerateContentStreamResult: the per-chunk stream plus the
26
+ * aggregated `response` promise the adapter awaits. `response` is the inner
27
+ * GenerateContentResponse (candidates + usageMetadata). The 2nd arg is either a
28
+ * count of placeholder chunks, or an explicit array of chunk objects (each a
29
+ * partial GenerateContentResponse with candidates[].content.parts) — use the
30
+ * array form to exercise raw-part collection (e.g. thoughtSignature). */
31
+ export declare function googleStreamResult(response: any, streamChunksOrCount?: any[] | number): {
32
+ stream: AsyncGenerator<any, void, unknown>;
33
+ response: Promise<any>;
34
+ };
35
+ //# sourceMappingURL=_streamMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_streamMocks.d.ts","sourceRoot":"","sources":["../../src/__tests__/_streamMocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;8EAE8E;AAC9E,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,GAAE,GAAG,EAAgC;WAG1F,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI;;EAU3C;AAED;;;8CAG8C;AAC9C,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAoC9E;AAED;6EAC6E;AAC7E,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,GAAG,EACX,MAAM,SAAI,GACT,aAAa,CAAC,GAAG,CAAC,CAcpB;AAED;;;;;0EAK0E;AAC1E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,GAAE,GAAG,EAAE,GAAG,MAAU;;;EAUxF"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Shared streaming SDK mocks for the provider adapter tests.
3
+ *
4
+ * The adapters now consume the provider's STREAM (messages.stream /
5
+ * chat.completions.create({stream}) / generateContentStream) instead of a single
6
+ * completion. These helpers build stream stubs that deliver a given final
7
+ * result, so a test can assert the adapter assembles the SAME shape the
8
+ * non-streamed path used to.
9
+ */
10
+ /** Minimal stand-in for the Anthropic SDK's MessageStream. `.finalMessage()`
11
+ * replays the provided raw events through any `streamEvent` listener (so the
12
+ * adapter's idle-timer bump fires) and resolves to the assembled message. */
13
+ export function anthropicMessageStream(finalMessage, events = [{ type: 'message_delta' }]) {
14
+ const handlers = {};
15
+ const obj = {
16
+ on(ev, cb) {
17
+ (handlers[ev] ||= []).push(cb);
18
+ return obj;
19
+ },
20
+ async finalMessage() {
21
+ for (const e of events)
22
+ (handlers['streamEvent'] || []).forEach((h) => h(e, finalMessage));
23
+ return finalMessage;
24
+ },
25
+ };
26
+ return obj;
27
+ }
28
+ /** Build an async-iterable OpenAI completion STREAM from a non-streamed
29
+ * completion object `{ choices:[{message}], usage }`. Emits a role/content
30
+ * chunk, one delta per tool call (id+name+arguments), and a final usage chunk
31
+ * (mirrors stream_options.include_usage). */
32
+ export function openAIStreamFromCompletion(completion) {
33
+ const message = completion?.choices?.[0]?.message ?? {};
34
+ const chunks = [];
35
+ chunks.push({
36
+ choices: [{ index: 0, delta: { role: message.role || 'assistant', content: message.content ?? '' } }],
37
+ });
38
+ if (Array.isArray(message.tool_calls)) {
39
+ message.tool_calls.forEach((tc, i) => {
40
+ chunks.push({
41
+ choices: [
42
+ {
43
+ index: 0,
44
+ delta: {
45
+ tool_calls: [
46
+ {
47
+ index: i,
48
+ id: tc.id,
49
+ type: 'function',
50
+ function: { name: tc.function?.name, arguments: tc.function?.arguments },
51
+ },
52
+ ],
53
+ },
54
+ },
55
+ ],
56
+ });
57
+ });
58
+ }
59
+ // Final usage-only chunk (empty choices), as OpenAI sends with include_usage.
60
+ chunks.push({ choices: [], usage: completion?.usage });
61
+ return (async function* () {
62
+ for (const c of chunks)
63
+ yield c;
64
+ })();
65
+ }
66
+ /** Split an OpenAI tool-call's JSON `arguments` string into N fragment chunks
67
+ * for the same tool index — proves the adapter reassembles partial_json. */
68
+ export function openAIToolCallStream(id, name, argsJson, usage, pieces = 3) {
69
+ const chunks = [
70
+ { choices: [{ index: 0, delta: { role: 'assistant', tool_calls: [{ index: 0, id, type: 'function', function: { name, arguments: '' } }] } }] },
71
+ ];
72
+ const size = Math.ceil(argsJson.length / pieces) || 1;
73
+ for (let i = 0; i < argsJson.length; i += size) {
74
+ chunks.push({
75
+ choices: [{ index: 0, delta: { tool_calls: [{ index: 0, function: { arguments: argsJson.slice(i, i + size) } }] } }],
76
+ });
77
+ }
78
+ chunks.push({ choices: [], usage });
79
+ return (async function* () {
80
+ for (const c of chunks)
81
+ yield c;
82
+ })();
83
+ }
84
+ /** Stand-in for GenerateContentStreamResult: the per-chunk stream plus the
85
+ * aggregated `response` promise the adapter awaits. `response` is the inner
86
+ * GenerateContentResponse (candidates + usageMetadata). The 2nd arg is either a
87
+ * count of placeholder chunks, or an explicit array of chunk objects (each a
88
+ * partial GenerateContentResponse with candidates[].content.parts) — use the
89
+ * array form to exercise raw-part collection (e.g. thoughtSignature). */
90
+ export function googleStreamResult(response, streamChunksOrCount = 1) {
91
+ const chunks = Array.isArray(streamChunksOrCount)
92
+ ? streamChunksOrCount
93
+ : Array.from({ length: streamChunksOrCount }, () => ({ text: () => '' }));
94
+ return {
95
+ stream: (async function* () {
96
+ for (const c of chunks)
97
+ yield c;
98
+ })(),
99
+ response: Promise.resolve(response),
100
+ };
101
+ }
102
+ //# sourceMappingURL=_streamMocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_streamMocks.js","sourceRoot":"","sources":["../../src/__tests__/_streamMocks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.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,iBAAkB,SAAQ,YAAY;;IACzD,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,kBAAkB;IA8BtC;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAgGrF;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAsQxC"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.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;AAI5F,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAY;;IACzD,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,kBAAkB;IAiCtC;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiHrF;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAsQxC"}
@@ -6,6 +6,7 @@
6
6
  import Anthropic from '@anthropic-ai/sdk';
7
7
  import BaseExecutor from '../BaseExecutor.js';
8
8
  import { fileToAnthropicDocument } from './fileAttachment.js';
9
+ import { streamWithRetry, STREAM_ABSOLUTE_BACKSTOP_MS } from './streaming.js';
9
10
  export default class AnthropicExecutor extends BaseExecutor {
10
11
  client;
11
12
  constructor(config) {
@@ -25,11 +26,14 @@ export default class AnthropicExecutor extends BaseExecutor {
25
26
  // spikes at the SDK layer with exponential backoff before they ever reach
26
27
  // the executor's model-fallback path. The SDK default is 2, which a brief
27
28
  // capacity blip can exhaust — surfacing as a hard error mid-run.
28
- // timeout: 30 s per attempt SDK default is 600 s, which with maxRetries:5
29
- // would allow up to 50 min per model on a hung request (past Lambda's 300 s
30
- // limit). 5 × 30 s = 150 s worst case, leaving room for the tool loop.
31
- maxRetries: 5,
32
- timeout: 30_000,
29
+ // `invoke()` STREAMS the response (see below) and bounds it with an
30
+ // inter-chunk IDLE timeout, so a long-but-progressing turn (a full deck /
31
+ // report) never times out. The client `timeout` here is only the SDK's own
32
+ // total-request cap; we set it to the streaming absolute backstop so the
33
+ // SDK never kills a healthily-streaming response shorter than our own idle
34
+ // guard would. It is not the operative ceiling — the idle timeout is.
35
+ maxRetries: 3,
36
+ timeout: STREAM_ABSOLUTE_BACKSTOP_MS,
33
37
  dangerouslyAllowBrowser: anthropicCreds.dangerouslyAllowBrowser
34
38
  });
35
39
  this.log(`[AnthropicExecutor] Initialized with model: ${this.model}`);
@@ -104,9 +108,23 @@ export default class AnthropicExecutor extends BaseExecutor {
104
108
  if (options.tool_choice && options.tool_choice !== 'auto') {
105
109
  params.tool_choice = this.#formatToolChoice(options.tool_choice);
106
110
  }
107
- // Call Anthropic API
111
+ // Call Anthropic API — STREAMED. `messages.stream()` accumulates text and
112
+ // tool_use (partial_json) deltas internally and `finalMessage()` returns the
113
+ // exact same assembled Message shape `messages.create()` would, so the usage
114
+ // + extraction below is unchanged. We bump the idle timer on every stream
115
+ // event; a healthily-progressing response never trips it. A mid-stream
116
+ // failure (stall or network drop) discards the partial and retries the whole
117
+ // prompt, up to the retry budget.
108
118
  this.debug(`[AnthropicExecutor] Final messages payload:\n${JSON.stringify({ system: params.system, messages: params.messages }, null, 2)}`);
109
- const response = await this.client.messages.create(params);
119
+ const response = await streamWithRetry(async (guard) => {
120
+ const stream = this.client.messages.stream(params, { signal: guard.signal });
121
+ stream.on('streamEvent', () => guard.bump());
122
+ return await stream.finalMessage();
123
+ }, {
124
+ externalSignal: options.signal,
125
+ isRetryable: (err) => this.isRetryableError(err),
126
+ log: (m) => this.log(m),
127
+ });
110
128
  // Format response to match expected structure
111
129
  const usageTyped = response.usage;
112
130
  return {