@n8n/agents 0.27.2 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +4 -2
  3. package/dist/index.js +7 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime/guardrails/budget-guardrail.d.ts +27 -0
  6. package/dist/runtime/guardrails/budget-guardrail.js +71 -0
  7. package/dist/runtime/guardrails/budget-guardrail.js.map +1 -0
  8. package/dist/runtime/guardrails/guardrail-runner.d.ts +18 -0
  9. package/dist/runtime/guardrails/guardrail-runner.js +51 -0
  10. package/dist/runtime/guardrails/guardrail-runner.js.map +1 -0
  11. package/dist/runtime/loop/agent-runtime.d.ts +4 -2
  12. package/dist/runtime/loop/agent-runtime.js +161 -30
  13. package/dist/runtime/loop/agent-runtime.js.map +1 -1
  14. package/dist/runtime/loop/generate-sink.js +2 -1
  15. package/dist/runtime/loop/generate-sink.js.map +1 -1
  16. package/dist/runtime/loop/hydrate-file-parts.js +14 -6
  17. package/dist/runtime/loop/hydrate-file-parts.js.map +1 -1
  18. package/dist/runtime/loop/runtime-context.js +7 -3
  19. package/dist/runtime/loop/runtime-context.js.map +1 -1
  20. package/dist/runtime/loop/side-call-cost.d.ts +2 -0
  21. package/dist/runtime/loop/side-call-cost.js +14 -0
  22. package/dist/runtime/loop/side-call-cost.js.map +1 -0
  23. package/dist/runtime/loop/stream-sink.d.ts +3 -1
  24. package/dist/runtime/loop/stream-sink.js +19 -1
  25. package/dist/runtime/loop/stream-sink.js.map +1 -1
  26. package/dist/runtime/mcp/mcp-connection.js +14 -6
  27. package/dist/runtime/mcp/mcp-connection.js.map +1 -1
  28. package/dist/runtime/mcp/mcp-tool-resolver.js +1 -0
  29. package/dist/runtime/mcp/mcp-tool-resolver.js.map +1 -1
  30. package/dist/runtime/memory/episodic-memory-capture.d.ts +8 -1
  31. package/dist/runtime/memory/episodic-memory-capture.js +53 -11
  32. package/dist/runtime/memory/episodic-memory-capture.js.map +1 -1
  33. package/dist/runtime/memory/episodic-memory-defaults.js +7 -1
  34. package/dist/runtime/memory/episodic-memory-defaults.js.map +1 -1
  35. package/dist/runtime/memory/forward-usage.d.ts +2 -0
  36. package/dist/runtime/memory/forward-usage.js +14 -0
  37. package/dist/runtime/memory/forward-usage.js.map +1 -0
  38. package/dist/runtime/memory/memory-orchestrator.d.ts +2 -1
  39. package/dist/runtime/memory/memory-orchestrator.js +54 -23
  40. package/dist/runtime/memory/memory-orchestrator.js.map +1 -1
  41. package/dist/runtime/memory/observation-log-defaults.d.ts +2 -0
  42. package/dist/runtime/memory/observation-log-defaults.js +36 -32
  43. package/dist/runtime/memory/observation-log-defaults.js.map +1 -1
  44. package/dist/runtime/memory/observation-log-observer.d.ts +4 -1
  45. package/dist/runtime/memory/observation-log-observer.js +48 -14
  46. package/dist/runtime/memory/observation-log-observer.js.map +1 -1
  47. package/dist/runtime/memory/observation-log-reflector.d.ts +4 -1
  48. package/dist/runtime/memory/observation-log-reflector.js +8 -1
  49. package/dist/runtime/memory/observation-log-reflector.js.map +1 -1
  50. package/dist/runtime/memory/title-generation.d.ts +5 -2
  51. package/dist/runtime/memory/title-generation.js +31 -5
  52. package/dist/runtime/memory/title-generation.js.map +1 -1
  53. package/dist/runtime/memory/tool-result-memory.js.map +1 -1
  54. package/dist/runtime/model/message-list.d.ts +9 -3
  55. package/dist/runtime/model/message-list.js +37 -12
  56. package/dist/runtime/model/message-list.js.map +1 -1
  57. package/dist/runtime/model/prompt-cache.d.ts +1 -0
  58. package/dist/runtime/model/prompt-cache.js +9 -0
  59. package/dist/runtime/model/prompt-cache.js.map +1 -1
  60. package/dist/runtime/skills/active-skills.d.ts +0 -1
  61. package/dist/runtime/skills/active-skills.js +0 -5
  62. package/dist/runtime/skills/active-skills.js.map +1 -1
  63. package/dist/runtime/skills/skill-dependency-tools.d.ts +2 -0
  64. package/dist/runtime/skills/skill-dependency-tools.js +16 -0
  65. package/dist/runtime/skills/skill-dependency-tools.js.map +1 -0
  66. package/dist/runtime/streaming/stream-writer-guard.d.ts +2 -0
  67. package/dist/runtime/streaming/stream-writer-guard.js +8 -4
  68. package/dist/runtime/streaming/stream-writer-guard.js.map +1 -1
  69. package/dist/runtime/tools/tool-adapter.js +1 -0
  70. package/dist/runtime/tools/tool-adapter.js.map +1 -1
  71. package/dist/runtime/tools/tool-call-executor.js +7 -0
  72. package/dist/runtime/tools/tool-call-executor.js.map +1 -1
  73. package/dist/runtime/tools/tool-call-runner.js +21 -3
  74. package/dist/runtime/tools/tool-call-runner.js.map +1 -1
  75. package/dist/runtime/tools/tool-result-guard.js.map +1 -1
  76. package/dist/runtime/tools/untrusted-tool-output.js.map +1 -1
  77. package/dist/sdk/agent.d.ts +1 -0
  78. package/dist/sdk/agent.js +12 -0
  79. package/dist/sdk/agent.js.map +1 -1
  80. package/dist/sdk/tool.d.ts +6 -0
  81. package/dist/sdk/tool.js +21 -3
  82. package/dist/sdk/tool.js.map +1 -1
  83. package/dist/types/index.d.ts +5 -4
  84. package/dist/types/index.js.map +1 -1
  85. package/dist/types/runtime/agent-loop.d.ts +6 -1
  86. package/dist/types/runtime/tool-execution.d.ts +6 -1
  87. package/dist/types/sdk/agent.d.ts +33 -2
  88. package/dist/types/sdk/agent.js +2 -0
  89. package/dist/types/sdk/agent.js.map +1 -1
  90. package/dist/types/sdk/guardrail.d.ts +37 -0
  91. package/dist/types/sdk/mcp.d.ts +14 -5
  92. package/dist/types/sdk/memory.d.ts +7 -2
  93. package/dist/types/sdk/observation-log.d.ts +12 -2
  94. package/dist/types/sdk/tool.d.ts +11 -0
  95. package/package.json +9 -6
@@ -11,13 +11,16 @@ const stream_sink_1 = require("./stream-sink");
11
11
  const catalog_1 = require("../../sdk/catalog");
12
12
  const model_1 = require("../../utils/model");
13
13
  const workspace_1 = require("../../workspace");
14
+ const guardrail_runner_1 = require("../guardrails/guardrail-runner");
14
15
  const logger_1 = require("../logger");
15
16
  const memory_orchestrator_1 = require("../memory/memory-orchestrator");
17
+ const tool_result_memory_1 = require("../memory/tool-result-memory");
16
18
  const title_generation_1 = require("../memory/title-generation");
17
19
  const message_list_1 = require("../model/message-list");
18
20
  const model_token_counter_1 = require("../model/model-token-counter");
19
21
  const prompt_cache_1 = require("../model/prompt-cache");
20
22
  const active_skills_1 = require("../skills/active-skills");
23
+ const skill_dependency_tools_1 = require("../skills/skill-dependency-tools");
21
24
  const background_task_tracker_1 = require("../state/background-task-tracker");
22
25
  const event_bus_1 = require("../state/event-bus");
23
26
  const run_state_1 = require("../state/run-state");
@@ -36,8 +39,9 @@ const EMPTY_MESSAGE_LIST = {
36
39
  responseIds: [],
37
40
  };
38
41
  class AgentRuntime {
39
- constructor(config) {
42
+ constructor(runtimeConfig) {
40
43
  this.backgroundTasks = new background_task_tracker_1.BackgroundTaskTracker();
44
+ const config = (0, skill_dependency_tools_1.activateSkillDependencyTools)(runtimeConfig);
41
45
  this.config = config;
42
46
  if (config.skillSource && (!config.memory || config.memory.skillState)) {
43
47
  this.activeSkills = new active_skills_1.ActiveSkills(config.skillSource, config.name, config.memory?.skillState);
@@ -136,6 +140,7 @@ class AgentRuntime {
136
140
  const { state, list, resumeData } = await this.prepareToolResume(data, options);
137
141
  let abortScope;
138
142
  let resumeClaimed = false;
143
+ let resumeAdmitted = false;
139
144
  try {
140
145
  const { runId: _rid, toolCallId: _tcid, onResumeClaimed: _onResumeClaimed, hostMetadata, ...callerExecOptions } = options;
141
146
  const mergedExecOptions = (0, checkpoint_data_1.mergeResumeExecutionOptions)(state, callerExecOptions);
@@ -150,6 +155,7 @@ class AgentRuntime {
150
155
  };
151
156
  this.updateState({ persistence: resumeOptions.persistence });
152
157
  await options.onResumeClaimed?.();
158
+ resumeAdmitted = true;
153
159
  abortScope = this.eventBus.createAbortScope(resumeOptions.abortSignal);
154
160
  const activeAbortScope = abortScope;
155
161
  const pendingResume = {
@@ -169,9 +175,52 @@ class AgentRuntime {
169
175
  return this.createResumedStream(ctx);
170
176
  }
171
177
  catch (error) {
178
+ if (resumeClaimed && !resumeAdmitted) {
179
+ const suspendedState = { ...state, persistence: this.currentState.persistence };
180
+ await this.runState.suspend(this.runId, suspendedState);
181
+ this.updateState(suspendedState);
182
+ throw error;
183
+ }
172
184
  return await this.handleResumeFailure(method, error, abortScope, resumeClaimed);
173
185
  }
174
186
  }
187
+ async resumePaused(options) {
188
+ this.runId = options.runId;
189
+ const state = await this.runState.resume(this.runId);
190
+ if (!state || state.finishReason !== 'paused' || Object.keys(state.pendingToolCalls).length) {
191
+ throw new run_state_1.StaleResumeError('This run is not paused');
192
+ }
193
+ if (options.hostMetadata !== undefined && !state.persistence) {
194
+ throw new Error('Cannot update host metadata without persistence');
195
+ }
196
+ const { runId: _runId, hostMetadata, onResumeClaimed, ...executionOptions } = options;
197
+ const resumeOptions = {
198
+ ...(0, checkpoint_data_1.mergeResumeExecutionOptions)(state, executionOptions),
199
+ persistence: (0, checkpoint_data_1.mergeResumePersistence)(state.persistence, hostMetadata),
200
+ };
201
+ const list = await this.restoreCheckpointMessages(state);
202
+ if (!(await this.runState.claimResume(this.runId, state))) {
203
+ throw new run_state_1.StaleResumeError('This run has already resumed');
204
+ }
205
+ this.updateState({
206
+ status: 'running',
207
+ finishReason: undefined,
208
+ persistence: resumeOptions.persistence,
209
+ });
210
+ const abortScope = this.eventBus.createAbortScope(resumeOptions.abortSignal);
211
+ try {
212
+ await onResumeClaimed?.();
213
+ await this.prepareResumeMemory(list, state.persistence);
214
+ return this.createResumedStream({ list, options: resumeOptions, abortScope });
215
+ }
216
+ catch (error) {
217
+ abortScope.dispose();
218
+ const suspendedState = { ...state, persistence: resumeOptions.persistence };
219
+ await this.runState.suspend(this.runId, suspendedState);
220
+ this.updateState(suspendedState);
221
+ throw error;
222
+ }
223
+ }
175
224
  async crashResume(options) {
176
225
  this.runId = options.runId;
177
226
  const state = await this.loadStepCheckpoint();
@@ -316,7 +365,7 @@ class AgentRuntime {
316
365
  result.runId = this.runId;
317
366
  result.usage = this.applyCost(result.usage);
318
367
  result.model = this.modelIdString;
319
- if (!result.pendingSuspend?.length) {
368
+ if (!result.pendingSuspend?.length && result.finishReason !== 'paused') {
320
369
  this.updateState({ status: 'success', messageList: list.serialize() });
321
370
  this.eventBus.emit({ type: "agent_end", messages: result.messages });
322
371
  }
@@ -327,7 +376,8 @@ class AgentRuntime {
327
376
  ...this.telemetry.buildTelemetryOptions(options),
328
377
  ...(options?.onStepStart ? { onStepStart: options.onStepStart } : {}),
329
378
  ...(options?.onStepEnd || options?.onStepFinish
330
- ? { onStepEnd: options.onStepEnd ?? options.onStepFinish }
379
+ ?
380
+ { onStepEnd: options.onStepEnd ?? options.onStepFinish }
331
381
  : {}),
332
382
  repairToolCall: async (options) => {
333
383
  return await (0, fix_tool_call_1.fixToolCall)({
@@ -370,6 +420,8 @@ class AgentRuntime {
370
420
  modelFetch: this.config.modelFetch,
371
421
  turnDelta: list.turnDelta(),
372
422
  executionCounter: options.executionCounter,
423
+ onSideCallUsage: options.onSideCallUsage,
424
+ promptCaching: this.config.promptCaching,
373
425
  });
374
426
  this.backgroundTasks.track(titlePromise);
375
427
  if (this.config.titleGeneration.sync) {
@@ -384,12 +436,33 @@ class AgentRuntime {
384
436
  return settlement.result;
385
437
  }
386
438
  for (; state.iterationCount < state.maxIterations; state.iterationCount++) {
439
+ const hasInput = await this.consumeAdditionalInput(prepared, sink, state);
440
+ if (state.guardrailStop)
441
+ break;
442
+ if (state.reachedStopCondition && !hasInput)
443
+ break;
444
+ this.assertNotAborted(prepared.abortScope);
445
+ if (await prepared.options?.shouldPause?.()) {
446
+ await this.persistSuspension({}, prepared.options, prepared.list, state.totalUsage, state.maxIterations, state.iterationCount, 'paused');
447
+ this.assertNotAborted(prepared.abortScope);
448
+ return await sink.finishSuspended({
449
+ suspendRunId: this.runId,
450
+ list: prepared.list,
451
+ usage: state.totalUsage,
452
+ suspensions: [],
453
+ finishReason: 'paused',
454
+ });
455
+ }
456
+ state.reachedStopCondition = false;
387
457
  const settlement = await this.runLoopIteration(prepared, sink, state);
388
458
  if (settlement.suspended)
389
459
  return settlement.result;
390
- if (state.reachedStopCondition)
460
+ if (state.reachedStopCondition && !prepared.options?.onInputBoundary)
391
461
  break;
392
462
  }
463
+ if (state.iterationCount >= state.maxIterations) {
464
+ await this.consumeAdditionalInput(prepared, sink, state);
465
+ }
393
466
  if (!state.reachedStopCondition && state.iterationCount >= state.maxIterations) {
394
467
  state.lastFinishReason = 'max-iterations';
395
468
  }
@@ -399,8 +472,34 @@ class AgentRuntime {
399
472
  finishReason: state.lastFinishReason,
400
473
  usage: state.totalUsage,
401
474
  structuredOutput: state.structuredOutput,
475
+ guardrail: state.guardrailStop,
402
476
  });
403
477
  }
478
+ async consumeAdditionalInput(ctx, sink, state) {
479
+ const receive = ctx.options?.onInputBoundary;
480
+ if (!receive || state.lastFinishReason === 'error')
481
+ return false;
482
+ this.assertNotAborted(ctx.abortScope);
483
+ await sink.inputBoundary?.(ctx.abortScope.signal);
484
+ this.assertNotAborted(ctx.abortScope);
485
+ const messages = await receive({
486
+ messages: (0, tool_result_memory_1.sanitizeOffloadedToolResultsForMemory)(ctx.list.turnDelta()),
487
+ lastCreatedAt: ctx.list.messages().at(-1)?.createdAt.getTime() ?? 0,
488
+ completing: state.reachedStopCondition,
489
+ canContinue: state.iterationCount < state.maxIterations && !state.guardrailStop,
490
+ });
491
+ ctx.list.addInput(messages);
492
+ for (const message of messages)
493
+ await sink.emitInput?.(message);
494
+ this.assertNotAborted(ctx.abortScope);
495
+ if (messages.length > 0) {
496
+ state.structuredOutput = undefined;
497
+ await (0, hydrate_file_parts_1.hydrateFileParts)(ctx.list.messages(), this.config.fileStore, {
498
+ threadId: ctx.options?.persistence?.threadId,
499
+ });
500
+ }
501
+ return messages.length > 0;
502
+ }
404
503
  async prepareLoop(ctx) {
405
504
  const { list, options } = ctx;
406
505
  await this.activeSkills?.restore(list, options?.persistence);
@@ -426,22 +525,23 @@ class AgentRuntime {
426
525
  runTelemetry,
427
526
  staticContext,
428
527
  instructionProviderOptions,
429
- canDiscardRejectedInput: this.canDiscardRejectedInput(ctx),
528
+ acceptedInputIds: new Set(ctx.isFreshRun ? [] : list.inputDelta().map((message) => message.id)),
430
529
  },
431
530
  state,
432
531
  };
433
532
  }
434
- canDiscardRejectedInput(ctx) {
435
- const inputMessages = new Set(ctx.list.inputDelta());
533
+ getRejectableInputIds(ctx) {
534
+ const inputMessages = new Set(ctx.list.inputDelta().filter((message) => !ctx.acceptedInputIds.has(message.id)));
436
535
  const inputIds = new Set([...inputMessages].map((message) => message.id));
437
- return (ctx.isFreshRun === true &&
438
- [...inputMessages].some((message) => 'role' in message &&
439
- message.role === 'user' &&
440
- Array.isArray(message.content) &&
441
- message.content.some((part) => part.type === 'file' && part.data !== undefined)) &&
442
- !ctx.list
443
- .messages()
444
- .some((message) => !inputMessages.has(message) && inputIds.has(message.id)));
536
+ const hasFiles = [...inputMessages].some((message) => 'role' in message &&
537
+ message.role === 'user' &&
538
+ Array.isArray(message.content) &&
539
+ message.content.some((part) => part.type === 'file' && part.data !== undefined));
540
+ if (!hasFiles)
541
+ return [];
542
+ if (ctx.list.messages().some((message) => !inputMessages.has(message) && inputIds.has(message.id)))
543
+ return [];
544
+ return [...inputIds];
445
545
  }
446
546
  buildToolBatchContext(ctx, toolMap) {
447
547
  return {
@@ -451,6 +551,8 @@ class AgentRuntime {
451
551
  persistence: ctx.options?.persistence,
452
552
  telemetry: ctx.runTelemetry,
453
553
  executionCounter: ctx.options?.executionCounter,
554
+ guardrails: ctx.options?.guardrails,
555
+ approvalContext: ctx.options?.approvalContext,
454
556
  abortSignal: ctx.abortScope.signal,
455
557
  isAborted: () => ctx.abortScope.isAborted,
456
558
  };
@@ -470,9 +572,16 @@ class AgentRuntime {
470
572
  async runLoopIteration(ctx, sink, state) {
471
573
  this.assertNotAborted(ctx.abortScope);
472
574
  this.eventBus.emit({ type: "turn_start" });
473
- const { toolMap, modelCallContext } = await this.prepareModelCall(ctx, state.iterationCount);
575
+ const { toolMap, modelCallContext } = await this.prepareModelCall(ctx);
474
576
  const turn = await this.callModelWithRetries(ctx, sink, state, modelCallContext);
577
+ if (!turn) {
578
+ state.lastFinishReason = 'guardrail';
579
+ state.reachedStopCondition = true;
580
+ return { suspended: false };
581
+ }
475
582
  this.assertNotAborted(ctx.abortScope);
583
+ for (const message of ctx.list.inputDelta())
584
+ ctx.acceptedInputIds.add(message.id);
476
585
  state.lastFinishReason = turn.finishReason;
477
586
  if (!(0, runtime_helpers_1.isReasoningOnlyStop)(turn))
478
587
  ctx.list.addResponse(turn.newMessages);
@@ -495,11 +604,8 @@ class AgentRuntime {
495
604
  await this.completeToolTurn(ctx, state, turn);
496
605
  return settlement;
497
606
  }
498
- async prepareModelCall(ctx, iterationCount) {
607
+ async prepareModelCall(ctx) {
499
608
  const { list, options, abortScope, staticContext } = ctx;
500
- for (const toolName of this.activeSkills?.toolDependencies() ?? []) {
501
- this.deferredToolManager?.load(toolName);
502
- }
503
609
  const tools = this.context.buildToolLoopContext(staticContext.aiProviderTools, options?.persistence, options?.executionCounter, list);
504
610
  const hostVolatileInstructions = await this.resolveVolatileInstructions(options?.persistence);
505
611
  const prompt = this.context.buildModelPrompt({
@@ -514,34 +620,53 @@ class AgentRuntime {
514
620
  system: prompt.system,
515
621
  messages: prompt.messages,
516
622
  abortSignal: abortScope.signal,
517
- hasTools: tools.hasTools,
623
+ hasTools: options?.toolsEnabled !== false && tools.hasTools,
518
624
  aiTools: prompt.aiTools,
519
625
  reasoning: staticContext.reasoning,
520
626
  providerOptions: staticContext.providerOptions,
521
627
  outputSpec: staticContext.outputSpec,
522
628
  maxOutputTokens: staticContext.maxOutputTokens,
523
629
  aiSdkOptions: this.buildAiSdkOptions(tools.toolMap, options),
524
- onInputRejected: this.createInputRejectionHandler(ctx, iterationCount),
630
+ onInputRejected: this.createInputRejectionHandler(ctx),
525
631
  };
526
632
  return { toolMap: tools.toolMap, modelCallContext };
527
633
  }
528
- createInputRejectionHandler(ctx, iterationCount) {
529
- if (!ctx.canDiscardRejectedInput || iterationCount !== 0)
634
+ createInputRejectionHandler(ctx) {
635
+ const messageIds = this.getRejectableInputIds(ctx);
636
+ if (messageIds.length === 0)
530
637
  return undefined;
531
638
  return async () => {
532
639
  if (ctx.abortScope.isAborted)
533
640
  return;
534
- await this.memory.discardRejectedInput(ctx.list, ctx.options);
641
+ await this.memory.discardRejectedInput(ctx.list, messageIds, ctx.options);
535
642
  this.updateState({ messageList: ctx.list.serialize() });
536
643
  };
537
644
  }
538
645
  async callModelWithRetries(ctx, sink, state, modelCallContext) {
539
- let turn = await sink.callModel(modelCallContext);
540
- for (let retry = 0; retry < MAX_EMPTY_TURN_RETRIES && (0, runtime_helpers_1.isEmptyModelTurn)(turn); retry++) {
646
+ const guardrails = guardrail_runner_1.GuardrailRunner.from(ctx.options?.guardrails);
647
+ const callModel = async () => {
648
+ const guardCtx = guardrails?.modelCallContext('turn', this.modelIdString);
649
+ if (guardrails && guardCtx) {
650
+ const stop = await guardrails.before(guardCtx);
651
+ if (stop) {
652
+ state.guardrailStop = stop;
653
+ return undefined;
654
+ }
655
+ }
656
+ const turn = await sink.callModel(modelCallContext);
657
+ turn.usage = this.applyCost(turn.usage);
658
+ if (guardrails && guardCtx)
659
+ await guardrails.after(guardCtx, turn.usage);
660
+ return turn;
661
+ };
662
+ let turn = await callModel();
663
+ for (let retry = 0; turn && retry < MAX_EMPTY_TURN_RETRIES && (0, runtime_helpers_1.isEmptyModelTurn)(turn); retry++) {
541
664
  this.recordTurnUsage(ctx, sink, state, turn);
542
665
  this.assertNotAborted(ctx.abortScope);
543
- turn = await sink.callModel(modelCallContext);
666
+ turn = await callModel();
544
667
  }
668
+ if (!turn)
669
+ return undefined;
545
670
  this.recordTurnUsage(ctx, sink, state, turn);
546
671
  return turn;
547
672
  }
@@ -651,7 +776,7 @@ class AgentRuntime {
651
776
  });
652
777
  }
653
778
  }
654
- async persistSuspension(pendingToolCalls, options, list, totalUsage, maxIterations, iterationCount) {
779
+ async persistSuspension(pendingToolCalls, options, list, totalUsage, maxIterations, iterationCount, finishReason) {
655
780
  const checkpointOptions = (0, checkpoint_data_1.buildCheckpointOptions)(options, maxIterations, iterationCount);
656
781
  (0, checkpoint_data_1.markSuspendedToolCalls)(list, pendingToolCalls);
657
782
  const state = {
@@ -660,10 +785,16 @@ class AgentRuntime {
660
785
  messageList: list.serialize(),
661
786
  pendingToolCalls,
662
787
  usage: totalUsage,
788
+ finishReason,
663
789
  ...checkpointOptions,
664
790
  };
665
791
  await this.runState.suspend(this.runId, state);
666
- this.updateState({ status: 'suspended', pendingToolCalls, messageList: list.serialize() });
792
+ this.updateState({
793
+ status: 'suspended',
794
+ pendingToolCalls,
795
+ messageList: list.serialize(),
796
+ finishReason,
797
+ });
667
798
  await this.memory.persistTurnDelta(list, options);
668
799
  }
669
800
  async persistStepCheckpoint(list, totalUsage, options, maxIterations, iterationCount) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/runtime/loop/agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/runtime/loop/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ class GenerateSink {
55
55
  return {
56
56
  runId: suspendRunId,
57
57
  messages: list.responseDelta(),
58
- finishReason: 'tool-calls',
58
+ finishReason: emission.finishReason ?? 'tool-calls',
59
59
  usage,
60
60
  pendingSuspend: suspensions.map((s) => ({
61
61
  runId: suspendRunId,
@@ -79,6 +79,7 @@ class GenerateSink {
79
79
  ...(structuredOutput !== undefined && { structuredOutput }),
80
80
  ...(this.toolCallSummary.length > 0 && { toolCalls: this.toolCallSummary }),
81
81
  getState: () => this.services.getState(),
82
+ ...(emission.guardrail && { guardrail: emission.guardrail }),
82
83
  };
83
84
  }
84
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-sink.js","sourceRoot":"","sources":["../../../src/runtime/loop/generate-sink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-sink.js","sourceRoot":"","sources":["../../../src/runtime/loop/generate-sink.ts"],"names":[],"mappings":"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"}
@@ -12,28 +12,36 @@ async function hydrateFileParts(messages, fileStore, scope) {
12
12
  if (!('content' in message) || !Array.isArray(message.content))
13
13
  continue;
14
14
  for (const block of message.content) {
15
- if (block.type !== 'file' || !block.fileRef || block.data !== undefined)
15
+ if (block.type !== 'file' || !block.fileRef)
16
16
  continue;
17
17
  if (fileStore.isMediaTypeSupported && !fileStore.isMediaTypeSupported(block.mediaType)) {
18
+ delete block.data;
18
19
  continue;
19
20
  }
20
21
  blocks.push(block);
21
22
  }
22
23
  }
24
+ for (const block of blocks.slice(0, -exports.MAX_HYDRATED_FILE_PARTS))
25
+ delete block.data;
23
26
  let budget = exports.MAX_HYDRATED_FILE_BYTES;
24
27
  const newestFirst = blocks.slice(-exports.MAX_HYDRATED_FILE_PARTS).reverse();
25
28
  for (const block of newestFirst) {
29
+ const existingData = block.data;
30
+ delete block.data;
26
31
  if (budget <= 0)
27
- break;
32
+ continue;
28
33
  const declaredSize = block.fileRef.sizeBytes;
29
- if (declaredSize !== undefined && declaredSize > budget)
34
+ if (existingData === undefined && declaredSize !== undefined && declaredSize > budget)
30
35
  continue;
31
36
  try {
32
- const data = await fileStore.load(block.fileRef, scope);
33
- if (!data || data.byteLength > budget)
37
+ const data = existingData ?? (await fileStore.load(block.fileRef, scope));
38
+ if (!data)
39
+ continue;
40
+ const size = typeof data === 'string' ? Buffer.byteLength(data, 'base64') : data.byteLength;
41
+ if (size > budget)
34
42
  continue;
35
43
  block.data = data;
36
- budget -= data.byteLength;
44
+ budget -= size;
37
45
  }
38
46
  catch {
39
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate-file-parts.js","sourceRoot":"","sources":["../../../src/runtime/loop/hydrate-file-parts.ts"],"names":[],"mappings":";;;;AAIa,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE7B,QAAA,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAiBjD,KAAK,2BACX,QAAmC,EACnC,SAAqC,EACrC,KAA6B;IAE7B,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACzE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS;YAClF,IAAI,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxF,SAAS;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,IAAI,MAAM,GAAG,QAAA,uBAAuB,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAA,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;IACrE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,IAAI,CAAC;YAAE,MAAM;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAQ,CAAC,SAAS,CAAC;QAC9C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,MAAM;YAAE,SAAS;QAClE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAQ,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;gBAAE,SAAS;YAChD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"hydrate-file-parts.js","sourceRoot":"","sources":["../../../src/runtime/loop/hydrate-file-parts.ts"],"names":[],"mappings":";;;;AAIa,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE7B,QAAA,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAiBjD,KAAK,2BACX,QAAmC,EACnC,SAAqC,EACrC,KAA6B;IAE7B,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACzE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YACtD,IAAI,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxF,OAAO,KAAK,CAAC,IAAI,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAA,uBAAuB,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACjF,IAAI,MAAM,GAAG,QAAA,uBAAuB,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAA,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;IACrE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC;QAClB,IAAI,MAAM,IAAI,CAAC;YAAE,SAAS;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAQ,CAAC,SAAS,CAAC;QAC9C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,MAAM;YAAE,SAAS;QAChG,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5F,IAAI,IAAI,GAAG,MAAM;gBAAE,SAAS;YAC5B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,IAAI,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -83,9 +83,13 @@ class RuntimeContextBuilder {
83
83
  .map((value) => value?.trim())
84
84
  .filter((value) => Boolean(value))
85
85
  .join('\n\n');
86
- const { system, messages } = list.forLlm([tools.effectiveInstructions, activeSkills?.instructions()]
87
- .filter(Boolean)
88
- .join('\n\n'), instructionProviderOptions, combinedVolatileInstructions || undefined, (0, model_factory_1.supportsSplitSystemMessages)(this.config.model));
86
+ const skillContent = activeSkills?.instructions();
87
+ const { system, messages } = list.forLlm(tools.effectiveInstructions, instructionProviderOptions, combinedVolatileInstructions || undefined, (0, model_factory_1.supportsSplitSystemMessages)(this.config.model), skillContent
88
+ ? {
89
+ content: skillContent,
90
+ cacheOptions: (messages) => (0, prompt_cache_1.buildSkillInstructionCacheOptions)(instructionProviderOptions, tools.aiTools, messages),
91
+ }
92
+ : undefined);
89
93
  const cached = (0, prompt_cache_1.applyRuntimeCacheBreakpoints)({
90
94
  system,
91
95
  messages: activeSkills?.modelMessages(messages, list) ?? messages,