@n8n/agents 0.12.2 → 0.13.1

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 (198) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +22 -21
  3. package/dist/index.js +13 -13
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime/{agent-runtime.d.ts → loop/agent-runtime.d.ts} +19 -51
  6. package/dist/runtime/loop/agent-runtime.js +468 -0
  7. package/dist/runtime/loop/agent-runtime.js.map +1 -0
  8. package/dist/runtime/loop/execution-counter.d.ts +12 -0
  9. package/dist/runtime/loop/execution-counter.js +36 -0
  10. package/dist/runtime/loop/execution-counter.js.map +1 -0
  11. package/dist/runtime/loop/generate-sink.d.ts +13 -0
  12. package/dist/runtime/loop/generate-sink.js +75 -0
  13. package/dist/runtime/loop/generate-sink.js.map +1 -0
  14. package/dist/runtime/loop/run-output-sink.d.ts +68 -0
  15. package/dist/runtime/loop/run-output-sink.js +3 -0
  16. package/dist/runtime/loop/run-output-sink.js.map +1 -0
  17. package/dist/runtime/loop/runtime-context.d.ts +38 -0
  18. package/dist/runtime/loop/runtime-context.js +188 -0
  19. package/dist/runtime/loop/runtime-context.js.map +1 -0
  20. package/dist/runtime/{runtime-helpers.d.ts → loop/runtime-helpers.d.ts} +3 -2
  21. package/dist/runtime/{runtime-helpers.js → loop/runtime-helpers.js} +4 -2
  22. package/dist/runtime/loop/runtime-helpers.js.map +1 -0
  23. package/dist/runtime/loop/stream-sink.d.ts +22 -0
  24. package/dist/runtime/loop/stream-sink.js +144 -0
  25. package/dist/runtime/loop/stream-sink.js.map +1 -0
  26. package/dist/runtime/{mcp-connection.d.ts → mcp/mcp-connection.d.ts} +2 -2
  27. package/dist/runtime/{mcp-connection.js → mcp/mcp-connection.js} +1 -1
  28. package/dist/runtime/mcp/mcp-connection.js.map +1 -0
  29. package/dist/runtime/{mcp-tool-resolver.d.ts → mcp/mcp-tool-resolver.d.ts} +1 -1
  30. package/dist/runtime/mcp/mcp-tool-resolver.js.map +1 -0
  31. package/dist/runtime/{episodic-memory-defaults.d.ts → memory/episodic-memory-defaults.d.ts} +1 -1
  32. package/dist/runtime/{episodic-memory-defaults.js → memory/episodic-memory-defaults.js} +2 -2
  33. package/dist/runtime/memory/episodic-memory-defaults.js.map +1 -0
  34. package/dist/runtime/{episodic-memory.d.ts → memory/episodic-memory.d.ts} +4 -4
  35. package/dist/runtime/{episodic-memory.js → memory/episodic-memory.js} +2 -2
  36. package/dist/runtime/memory/episodic-memory.js.map +1 -0
  37. package/dist/runtime/memory/memory-lifecycle.js.map +1 -0
  38. package/dist/runtime/memory/memory-orchestrator.d.ts +27 -0
  39. package/dist/runtime/memory/memory-orchestrator.js +232 -0
  40. package/dist/runtime/memory/memory-orchestrator.js.map +1 -0
  41. package/dist/runtime/{memory-store.d.ts → memory/memory-store.d.ts} +4 -4
  42. package/dist/runtime/{memory-store.js → memory/memory-store.js} +1 -1
  43. package/dist/runtime/memory/memory-store.js.map +1 -0
  44. package/dist/runtime/{observation-log-defaults.d.ts → memory/observation-log-defaults.d.ts} +2 -2
  45. package/dist/runtime/{observation-log-defaults.js → memory/observation-log-defaults.js} +6 -6
  46. package/dist/runtime/memory/observation-log-defaults.js.map +1 -0
  47. package/dist/runtime/{observation-log-observer.d.ts → memory/observation-log-observer.d.ts} +6 -5
  48. package/dist/runtime/{observation-log-observer.js → memory/observation-log-observer.js} +6 -2
  49. package/dist/runtime/memory/observation-log-observer.js.map +1 -0
  50. package/dist/runtime/{observation-log-reflector.d.ts → memory/observation-log-reflector.d.ts} +2 -2
  51. package/dist/runtime/{observation-log-reflector.js → memory/observation-log-reflector.js} +4 -6
  52. package/dist/runtime/memory/observation-log-reflector.js.map +1 -0
  53. package/dist/runtime/{observation-log-renderer.d.ts → memory/observation-log-renderer.d.ts} +1 -1
  54. package/dist/runtime/{observation-log-renderer.js → memory/observation-log-renderer.js} +1 -1
  55. package/dist/runtime/memory/observation-log-renderer.js.map +1 -0
  56. package/dist/runtime/{observation-log-store.d.ts → memory/observation-log-store.d.ts} +2 -1
  57. package/dist/runtime/{observation-log-store.js → memory/observation-log-store.js} +1 -0
  58. package/dist/runtime/memory/observation-log-store.js.map +1 -0
  59. package/dist/runtime/{scoped-memory-task-runner.d.ts → memory/scoped-memory-task-runner.d.ts} +5 -2
  60. package/dist/runtime/{scoped-memory-task-runner.js → memory/scoped-memory-task-runner.js} +2 -1
  61. package/dist/runtime/memory/scoped-memory-task-runner.js.map +1 -0
  62. package/dist/runtime/{strip-orphaned-tool-messages.d.ts → memory/strip-orphaned-tool-messages.d.ts} +1 -1
  63. package/dist/runtime/{strip-orphaned-tool-messages.js → memory/strip-orphaned-tool-messages.js} +1 -1
  64. package/dist/runtime/memory/strip-orphaned-tool-messages.js.map +1 -0
  65. package/dist/runtime/{title-generation.d.ts → memory/title-generation.d.ts} +5 -3
  66. package/dist/runtime/{title-generation.js → memory/title-generation.js} +5 -5
  67. package/dist/runtime/memory/title-generation.js.map +1 -0
  68. package/dist/runtime/model/lazy-ai.js.map +1 -0
  69. package/dist/runtime/{message-list.d.ts → model/message-list.d.ts} +3 -3
  70. package/dist/runtime/{message-list.js → model/message-list.js} +3 -3
  71. package/dist/runtime/model/message-list.js.map +1 -0
  72. package/dist/runtime/model/messages.d.ts +17 -0
  73. package/dist/runtime/{messages.js → model/messages.js} +64 -18
  74. package/dist/runtime/model/messages.js.map +1 -0
  75. package/dist/runtime/{model-factory.d.ts → model/model-factory.d.ts} +3 -2
  76. package/dist/runtime/{model-factory.js → model/model-factory.js} +3 -3
  77. package/dist/runtime/model/model-factory.js.map +1 -0
  78. package/dist/runtime/model/provider-credentials.js.map +1 -0
  79. package/dist/runtime/model/raw-usage.d.ts +11 -0
  80. package/dist/runtime/model/raw-usage.js +55 -0
  81. package/dist/runtime/model/raw-usage.js.map +1 -0
  82. package/dist/runtime/state/background-task-tracker.js.map +1 -0
  83. package/dist/runtime/{event-bus.d.ts → state/event-bus.d.ts} +2 -2
  84. package/dist/runtime/{event-bus.js → state/event-bus.js} +1 -1
  85. package/dist/runtime/state/event-bus.js.map +1 -0
  86. package/dist/runtime/{run-state.d.ts → state/run-state.d.ts} +1 -1
  87. package/dist/runtime/state/run-state.js.map +1 -0
  88. package/dist/runtime/streaming/stream-session.d.ts +21 -0
  89. package/dist/runtime/streaming/stream-session.js +67 -0
  90. package/dist/runtime/streaming/stream-session.js.map +1 -0
  91. package/dist/runtime/streaming/stream-writer-guard.d.ts +14 -0
  92. package/dist/runtime/streaming/stream-writer-guard.js +45 -0
  93. package/dist/runtime/streaming/stream-writer-guard.js.map +1 -0
  94. package/dist/runtime/{stream.d.ts → streaming/stream.d.ts} +2 -1
  95. package/dist/runtime/{stream.js → streaming/stream.js} +3 -1
  96. package/dist/runtime/streaming/stream.js.map +1 -0
  97. package/dist/runtime/telemetry/runtime-telemetry.d.ts +19 -0
  98. package/dist/runtime/telemetry/runtime-telemetry.js +174 -0
  99. package/dist/runtime/telemetry/runtime-telemetry.js.map +1 -0
  100. package/dist/runtime/{deferred-tool-manager.d.ts → tools/deferred-tool-manager.d.ts} +2 -2
  101. package/dist/runtime/{deferred-tool-manager.js → tools/deferred-tool-manager.js} +3 -5
  102. package/dist/runtime/tools/deferred-tool-manager.js.map +1 -0
  103. package/dist/runtime/{delegate-sub-agent-tool.d.ts → tools/delegate-sub-agent-tool.d.ts} +2 -2
  104. package/dist/runtime/{delegate-sub-agent-tool.js → tools/delegate-sub-agent-tool.js} +2 -2
  105. package/dist/runtime/tools/delegate-sub-agent-tool.js.map +1 -0
  106. package/dist/runtime/{fix-tool-call.d.ts → tools/fix-tool-call.d.ts} +1 -1
  107. package/dist/runtime/{fix-tool-call.js → tools/fix-tool-call.js} +1 -1
  108. package/dist/runtime/tools/fix-tool-call.js.map +1 -0
  109. package/dist/runtime/{sdk-owned-tool.d.ts → tools/sdk-owned-tool.d.ts} +1 -1
  110. package/dist/runtime/tools/sdk-owned-tool.js.map +1 -0
  111. package/dist/runtime/tools/sub-agent-task-path.js.map +1 -0
  112. package/dist/runtime/{tool-adapter.d.ts → tools/tool-adapter.d.ts} +1 -1
  113. package/dist/runtime/{tool-adapter.js → tools/tool-adapter.js} +4 -4
  114. package/dist/runtime/tools/tool-adapter.js.map +1 -0
  115. package/dist/runtime/tools/tool-call-executor.d.ts +86 -0
  116. package/dist/runtime/tools/tool-call-executor.js +498 -0
  117. package/dist/runtime/tools/tool-call-executor.js.map +1 -0
  118. package/dist/runtime/{write-todos-tool.d.ts → tools/write-todos-tool.d.ts} +1 -1
  119. package/dist/runtime/{write-todos-tool.js → tools/write-todos-tool.js} +1 -1
  120. package/dist/runtime/tools/write-todos-tool.js.map +1 -0
  121. package/dist/sdk/agent.d.ts +7 -1
  122. package/dist/sdk/agent.js +18 -8
  123. package/dist/sdk/agent.js.map +1 -1
  124. package/dist/sdk/eval.js +1 -1
  125. package/dist/sdk/eval.js.map +1 -1
  126. package/dist/sdk/guardrails/patterns.d.ts +3 -0
  127. package/dist/sdk/guardrails/patterns.js +95 -2
  128. package/dist/sdk/guardrails/patterns.js.map +1 -1
  129. package/dist/sdk/mcp-client.js +1 -1
  130. package/dist/sdk/mcp-client.js.map +1 -1
  131. package/dist/sdk/memory.d.ts +1 -1
  132. package/dist/sdk/memory.js +6 -6
  133. package/dist/sdk/memory.js.map +1 -1
  134. package/dist/skills/registry.js +2 -4
  135. package/dist/skills/registry.js.map +1 -1
  136. package/dist/skills/validator.js +4 -6
  137. package/dist/skills/validator.js.map +1 -1
  138. package/dist/types/sdk/agent-builder.d.ts +2 -0
  139. package/dist/types/sdk/agent.d.ts +6 -2
  140. package/dist/types/sdk/guardrail.d.ts +1 -1
  141. package/dist/types/sdk/provider.d.ts +1 -0
  142. package/dist/workspace/sandbox/daytona-auth-manager.d.ts +1 -1
  143. package/dist/workspace/sandbox/daytona-sandbox.d.ts +1 -1
  144. package/dist/workspace/sandbox/lazy-daytona.d.ts +1 -1
  145. package/dist/workspace/sandbox/lazy-daytona.js +1 -1
  146. package/dist/workspace/sandbox/lazy-daytona.js.map +1 -1
  147. package/dist/workspace/sandbox/types.d.ts +1 -1
  148. package/package.json +10 -10
  149. package/dist/runtime/agent-runtime.js +0 -1771
  150. package/dist/runtime/agent-runtime.js.map +0 -1
  151. package/dist/runtime/background-task-tracker.js.map +0 -1
  152. package/dist/runtime/deferred-tool-manager.js.map +0 -1
  153. package/dist/runtime/delegate-sub-agent-tool.js.map +0 -1
  154. package/dist/runtime/episodic-memory-defaults.js.map +0 -1
  155. package/dist/runtime/episodic-memory.js.map +0 -1
  156. package/dist/runtime/event-bus.js.map +0 -1
  157. package/dist/runtime/execution-counter.d.ts +0 -9
  158. package/dist/runtime/execution-counter.js +0 -16
  159. package/dist/runtime/execution-counter.js.map +0 -1
  160. package/dist/runtime/fix-tool-call.js.map +0 -1
  161. package/dist/runtime/lazy-ai.js.map +0 -1
  162. package/dist/runtime/mcp-connection.js.map +0 -1
  163. package/dist/runtime/mcp-tool-resolver.js.map +0 -1
  164. package/dist/runtime/memory-lifecycle.js.map +0 -1
  165. package/dist/runtime/memory-store.js.map +0 -1
  166. package/dist/runtime/message-list.js.map +0 -1
  167. package/dist/runtime/messages.d.ts +0 -6
  168. package/dist/runtime/messages.js.map +0 -1
  169. package/dist/runtime/model-factory.js.map +0 -1
  170. package/dist/runtime/observation-log-defaults.js.map +0 -1
  171. package/dist/runtime/observation-log-observer.js.map +0 -1
  172. package/dist/runtime/observation-log-reflector.js.map +0 -1
  173. package/dist/runtime/observation-log-renderer.js.map +0 -1
  174. package/dist/runtime/observation-log-store.js.map +0 -1
  175. package/dist/runtime/provider-credentials.js.map +0 -1
  176. package/dist/runtime/run-state.js.map +0 -1
  177. package/dist/runtime/runtime-helpers.js.map +0 -1
  178. package/dist/runtime/scoped-memory-task-runner.js.map +0 -1
  179. package/dist/runtime/sdk-owned-tool.js.map +0 -1
  180. package/dist/runtime/stream.js.map +0 -1
  181. package/dist/runtime/strip-orphaned-tool-messages.js.map +0 -1
  182. package/dist/runtime/sub-agent-task-path.js.map +0 -1
  183. package/dist/runtime/title-generation.js.map +0 -1
  184. package/dist/runtime/tool-adapter.js.map +0 -1
  185. package/dist/runtime/write-todos-tool.js.map +0 -1
  186. /package/dist/runtime/{mcp-tool-resolver.js → mcp/mcp-tool-resolver.js} +0 -0
  187. /package/dist/runtime/{memory-lifecycle.d.ts → memory/memory-lifecycle.d.ts} +0 -0
  188. /package/dist/runtime/{memory-lifecycle.js → memory/memory-lifecycle.js} +0 -0
  189. /package/dist/runtime/{lazy-ai.d.ts → model/lazy-ai.d.ts} +0 -0
  190. /package/dist/runtime/{lazy-ai.js → model/lazy-ai.js} +0 -0
  191. /package/dist/runtime/{provider-credentials.d.ts → model/provider-credentials.d.ts} +0 -0
  192. /package/dist/runtime/{provider-credentials.js → model/provider-credentials.js} +0 -0
  193. /package/dist/runtime/{background-task-tracker.d.ts → state/background-task-tracker.d.ts} +0 -0
  194. /package/dist/runtime/{background-task-tracker.js → state/background-task-tracker.js} +0 -0
  195. /package/dist/runtime/{run-state.js → state/run-state.js} +0 -0
  196. /package/dist/runtime/{sdk-owned-tool.js → tools/sdk-owned-tool.js} +0 -0
  197. /package/dist/runtime/{sub-agent-task-path.d.ts → tools/sub-agent-task-path.d.ts} +0 -0
  198. /package/dist/runtime/{sub-agent-task-path.js → tools/sub-agent-task-path.js} +0 -0
@@ -0,0 +1,68 @@
1
+ import type { LanguageModel, LanguageModelUsage, ModelMessage, Output, SystemModelMessage, TelemetrySettings, ToolCallRepairFunction, ToolSet } from 'ai';
2
+ import type { FinishReason, SerializableAgentState, TokenUsage } from '../../types';
3
+ import type { ExecutionOptions, RunOptions } from '../../types/sdk/agent';
4
+ import type { AgentMessage } from '../../types/sdk/message';
5
+ import type { JSONObject } from '../../types/utils/json';
6
+ import type { AgentMessageList } from '../model/message-list';
7
+ import type { ToolCallBatchResult, ToolCallSuspension } from '../tools/tool-call-executor';
8
+ type RunCallOptions = (RunOptions & ExecutionOptions) | undefined;
9
+ export interface ModelTurnResult {
10
+ aiFinishReason: string;
11
+ finishReason: FinishReason;
12
+ usage: LanguageModelUsage | undefined;
13
+ newMessages: AgentMessage[];
14
+ toolCalls: Array<{
15
+ toolCallId: string;
16
+ toolName: string;
17
+ input: unknown;
18
+ providerExecuted?: boolean;
19
+ }>;
20
+ structuredOutput: unknown;
21
+ }
22
+ export interface ModelCallContext {
23
+ model: LanguageModel;
24
+ system: SystemModelMessage;
25
+ messages: ModelMessage[];
26
+ abortSignal: AbortSignal;
27
+ hasTools: boolean;
28
+ aiTools: ToolSet;
29
+ providerOptions?: Record<string, JSONObject>;
30
+ outputSpec?: ReturnType<typeof Output.object>;
31
+ aiSdkOptions: {
32
+ experimental_telemetry?: TelemetrySettings;
33
+ experimental_repairToolCall?: ToolCallRepairFunction<NoInfer<ToolSet>>;
34
+ };
35
+ }
36
+ export interface SuspendEmission {
37
+ suspendRunId: string;
38
+ list: AgentMessageList;
39
+ usage: TokenUsage | undefined;
40
+ suspensions: ToolCallSuspension[];
41
+ }
42
+ export interface CompleteEmission {
43
+ list: AgentMessageList;
44
+ options: RunCallOptions;
45
+ finishReason: FinishReason;
46
+ usage: TokenUsage | undefined;
47
+ structuredOutput: unknown;
48
+ }
49
+ export interface RunServices {
50
+ readonly runId: string;
51
+ readonly modelId: string;
52
+ applyCost(usage: TokenUsage | undefined): TokenUsage | undefined;
53
+ saveToMemory(list: AgentMessageList, options: RunCallOptions): Promise<void>;
54
+ maybeGenerateTitle(list: AgentMessageList, options: RunCallOptions): Promise<void>;
55
+ flushTelemetry(options: RunCallOptions): Promise<void>;
56
+ cleanupRun(): Promise<void>;
57
+ updateState(patch: Partial<SerializableAgentState>): void;
58
+ emitAgentEnd(messages: AgentMessage[]): void;
59
+ getState(): SerializableAgentState;
60
+ }
61
+ export interface RunOutputSink<TResult> {
62
+ callModel(ctx: ModelCallContext): Promise<ModelTurnResult>;
63
+ reportUsage(usage: TokenUsage | undefined): void;
64
+ emitToolBatch(batch: ToolCallBatchResult): Promise<void>;
65
+ finishSuspended(emission: SuspendEmission): Promise<TResult>;
66
+ finishComplete(emission: CompleteEmission): Promise<TResult>;
67
+ }
68
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=run-output-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-output-sink.js","sourceRoot":"","sources":["../../../src/runtime/loop/run-output-sink.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import type { LanguageModel, Output } from 'ai';
2
+ import type { AgentRuntimeConfig } from './agent-runtime';
3
+ import type { AgentExecutionCounter, BuiltTool, JSONObject } from '../../types';
4
+ import type { AgentPersistenceOptions, ExecutionOptions, ModelConfig } from '../../types/sdk/agent';
5
+ import type { AgentMessageList } from '../model/message-list';
6
+ import type { DeferredToolManager } from '../tools/deferred-tool-manager';
7
+ import { toAiSdkProviderTools } from '../tools/tool-adapter';
8
+ export declare function getModelIdString(model: ModelConfig): string;
9
+ export interface StaticLoopContext {
10
+ model: LanguageModel;
11
+ aiProviderTools: ReturnType<typeof toAiSdkProviderTools>;
12
+ providerOptions?: Record<string, JSONObject>;
13
+ outputSpec?: ReturnType<typeof Output.object>;
14
+ }
15
+ export declare class RuntimeContextBuilder {
16
+ private readonly config;
17
+ private readonly deferredToolManager;
18
+ constructor(config: AgentRuntimeConfig, deferredToolManager: DeferredToolManager | undefined);
19
+ get modelId(): string;
20
+ buildStaticLoopContext(execOptions?: ExecutionOptions & {
21
+ persistence?: AgentPersistenceOptions;
22
+ }): StaticLoopContext;
23
+ buildToolLoopContext(aiProviderTools: ReturnType<typeof toAiSdkProviderTools>, persistence?: AgentPersistenceOptions, executionCounter?: AgentExecutionCounter): {
24
+ toolMap: Map<string, BuiltTool>;
25
+ aiTools: {
26
+ [x: string]: import("ai").Tool;
27
+ };
28
+ hasTools: boolean;
29
+ effectiveInstructions: string;
30
+ };
31
+ getCurrentTools(persistence?: AgentPersistenceOptions, executionCounter?: AgentExecutionCounter): BuiltTool[];
32
+ hydrateDeferredToolsFromList(list: AgentMessageList): void;
33
+ private relaxStrictJsonSchemaIfNeeded;
34
+ private createRecallMemoryToolForRun;
35
+ private composeEffectiveInstructions;
36
+ private buildThinkingProviderOptions;
37
+ private buildCallProviderOptions;
38
+ }
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RuntimeContextBuilder = void 0;
4
+ exports.getModelIdString = getModelIdString;
5
+ const json_schema_1 = require("../../utils/json-schema");
6
+ const zod_1 = require("../../utils/zod");
7
+ const episodic_memory_1 = require("../memory/episodic-memory");
8
+ const lazy_ai_1 = require("../model/lazy-ai");
9
+ const model_factory_1 = require("../model/model-factory");
10
+ const tool_adapter_1 = require("../tools/tool-adapter");
11
+ function getModelIdString(model) {
12
+ if (typeof model === 'string')
13
+ return model;
14
+ if ('id' in model && typeof model.id === 'string')
15
+ return model.id;
16
+ if ('modelId' in model && typeof model.modelId === 'string') {
17
+ const rawProvider = 'provider' in model ? String(model.provider) : 'unknown';
18
+ const provider = rawProvider.split('.')[0];
19
+ return `${provider}/${model.modelId}`;
20
+ }
21
+ return 'unknown';
22
+ }
23
+ class RuntimeContextBuilder {
24
+ constructor(config, deferredToolManager) {
25
+ this.config = config;
26
+ this.deferredToolManager = deferredToolManager;
27
+ }
28
+ get modelId() {
29
+ return getModelIdString(this.config.model);
30
+ }
31
+ buildStaticLoopContext(execOptions) {
32
+ const { Output, jsonSchema } = (0, lazy_ai_1.loadAi)();
33
+ const aiProviderTools = (0, tool_adapter_1.toAiSdkProviderTools)(this.config.providerTools);
34
+ const model = (0, model_factory_1.createModel)(this.config.model, this.config.modelFetch);
35
+ const outputSchema = this.config.structuredOutput;
36
+ const isRawJsonSchemaOutput = outputSchema !== undefined && !(0, zod_1.isZodSchema)(outputSchema);
37
+ const providerOptions = this.relaxStrictJsonSchemaIfNeeded(this.buildCallProviderOptions(execOptions?.providerOptions), isRawJsonSchemaOutput);
38
+ const outputSpec = outputSchema
39
+ ? Output.object({
40
+ schema: (0, zod_1.isZodSchema)(outputSchema)
41
+ ? outputSchema
42
+ : jsonSchema((0, json_schema_1.lockAdditionalProperties)(outputSchema)),
43
+ })
44
+ : undefined;
45
+ return {
46
+ model,
47
+ aiProviderTools,
48
+ providerOptions: providerOptions,
49
+ outputSpec,
50
+ };
51
+ }
52
+ buildToolLoopContext(aiProviderTools, persistence, executionCounter) {
53
+ const allUserTools = this.getCurrentTools(persistence, executionCounter);
54
+ const aiTools = (0, tool_adapter_1.toAiSdkTools)(allUserTools);
55
+ const allTools = { ...aiTools, ...aiProviderTools };
56
+ const aiToolCount = Object.keys(allTools).length;
57
+ const toolMap = (0, tool_adapter_1.buildToolMap)(allUserTools);
58
+ const effectiveInstructions = this.composeEffectiveInstructions(allUserTools);
59
+ return {
60
+ toolMap,
61
+ aiTools: allTools,
62
+ hasTools: aiToolCount > 0,
63
+ effectiveInstructions,
64
+ };
65
+ }
66
+ getCurrentTools(persistence, executionCounter) {
67
+ const baseTools = this.config.tools ?? [];
68
+ const tools = [
69
+ ...baseTools,
70
+ ...(this.deferredToolManager?.hasTools
71
+ ? [
72
+ ...this.deferredToolManager.getControllerTools(),
73
+ ...this.deferredToolManager.getLoadedTools(),
74
+ ]
75
+ : []),
76
+ ];
77
+ const recallTool = this.createRecallMemoryToolForRun(persistence, tools, executionCounter);
78
+ return recallTool ? [...tools, recallTool] : tools;
79
+ }
80
+ hydrateDeferredToolsFromList(list) {
81
+ if (!this.deferredToolManager?.hasTools)
82
+ return;
83
+ this.deferredToolManager.hydrateLoadedToolsFromMessages(list.serialize().messages);
84
+ }
85
+ relaxStrictJsonSchemaIfNeeded(providerOptions, isRawJsonSchemaOutput) {
86
+ if (!isRawJsonSchemaOutput)
87
+ return providerOptions;
88
+ const result = { ...providerOptions };
89
+ for (const provider of ['openai', 'groq']) {
90
+ result[provider] = { strictJsonSchema: false, ...result[provider] };
91
+ }
92
+ return result;
93
+ }
94
+ createRecallMemoryToolForRun(persistence, existingTools, executionCounter) {
95
+ const { memory, episodicMemory } = this.config;
96
+ if (!memory ||
97
+ !episodicMemory ||
98
+ !(0, episodic_memory_1.isEpisodicMemoryEnabled)(episodicMemory) ||
99
+ !(0, episodic_memory_1.hasEpisodicMemoryStore)(memory)) {
100
+ return undefined;
101
+ }
102
+ const scope = (0, episodic_memory_1.getEpisodicMemoryScope)(persistence);
103
+ if (!scope)
104
+ return undefined;
105
+ if (existingTools.some((tool) => tool.name === episodic_memory_1.RECALL_MEMORY_TOOL_NAME)) {
106
+ throw new Error(`Tool name "${episodic_memory_1.RECALL_MEMORY_TOOL_NAME}" is reserved while episodic memory is enabled.`);
107
+ }
108
+ return (0, episodic_memory_1.createRecallMemoryTool)({ memory, config: episodicMemory, scope, executionCounter });
109
+ }
110
+ composeEffectiveInstructions(tools) {
111
+ const fragments = tools
112
+ .map((t) => t.systemInstruction)
113
+ .filter((s) => typeof s === 'string' && s.trim().length > 0);
114
+ const userInstructions = this.config.instructions;
115
+ if (fragments.length === 0)
116
+ return userInstructions;
117
+ const block = `<built_in_rules>\n${fragments.map((f) => `- ${f}`).join('\n')}\n</built_in_rules>`;
118
+ return userInstructions ? `${block}\n\n${userInstructions}` : block;
119
+ }
120
+ buildThinkingProviderOptions() {
121
+ if (!this.config.thinking)
122
+ return undefined;
123
+ const provider = this.modelId.split('/')[0];
124
+ const thinking = this.config.thinking;
125
+ switch (provider) {
126
+ case 'anthropic': {
127
+ const cfg = thinking;
128
+ if (cfg.mode === 'adaptive') {
129
+ return {
130
+ anthropic: {
131
+ thinking: {
132
+ type: 'adaptive',
133
+ display: cfg.display ?? 'summarized',
134
+ },
135
+ },
136
+ };
137
+ }
138
+ return {
139
+ anthropic: {
140
+ thinking: { type: 'enabled', budgetTokens: cfg.budgetTokens ?? 10000 },
141
+ },
142
+ };
143
+ }
144
+ case 'openai': {
145
+ const cfg = thinking;
146
+ return { openai: { reasoningEffort: cfg.reasoningEffort ?? 'medium' } };
147
+ }
148
+ case 'google': {
149
+ const cfg = thinking;
150
+ return {
151
+ google: {
152
+ thinkingConfig: {
153
+ ...(cfg.thinkingBudget !== undefined && { thinkingBudget: cfg.thinkingBudget }),
154
+ ...(cfg.thinkingLevel !== undefined && { thinkingLevel: cfg.thinkingLevel }),
155
+ },
156
+ },
157
+ };
158
+ }
159
+ case 'xai': {
160
+ const cfg = thinking;
161
+ return { xai: { reasoningEffort: cfg.reasoningEffort ?? 'high' } };
162
+ }
163
+ default:
164
+ return undefined;
165
+ }
166
+ }
167
+ buildCallProviderOptions(runProviderOptions) {
168
+ const thinkingOpts = this.buildThinkingProviderOptions();
169
+ if (!thinkingOpts && !runProviderOptions)
170
+ return undefined;
171
+ if (!thinkingOpts)
172
+ return runProviderOptions;
173
+ if (!runProviderOptions)
174
+ return thinkingOpts;
175
+ const merged = { ...thinkingOpts };
176
+ for (const [provider, opts] of Object.entries(runProviderOptions)) {
177
+ if (provider in merged) {
178
+ merged[provider] = { ...merged[provider], ...opts };
179
+ }
180
+ else {
181
+ merged[provider] = opts;
182
+ }
183
+ }
184
+ return merged;
185
+ }
186
+ }
187
+ exports.RuntimeContextBuilder = RuntimeContextBuilder;
188
+ //# sourceMappingURL=runtime-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-context.js","sourceRoot":"","sources":["../../../src/runtime/loop/runtime-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { StreamChunk, TokenUsage } from '../types';
2
- import type { AgentMessage, ContentToolCall } from '../types/sdk/message';
1
+ import type { StreamChunk, TokenUsage } from '../../types';
2
+ import type { AgentMessage, ContentToolCall } from '../../types/sdk/message';
3
3
  export declare function normalizeInput(input: AgentMessage[] | string): AgentMessage[];
4
4
  export declare function stringifyError(error: unknown): string;
5
5
  export declare function extractSettledToolCalls(messages: AgentMessage[]): ContentToolCall[];
@@ -10,6 +10,7 @@ export declare function accumulateUsage(current: TokenUsage | undefined, raw: {
10
10
  outputTokens?: number | undefined;
11
11
  totalTokens?: number | undefined;
12
12
  inputTokenDetails?: {
13
+ noCacheTokens?: number;
13
14
  cacheReadTokens?: number;
14
15
  cacheWriteTokens?: number;
15
16
  };
@@ -6,7 +6,7 @@ exports.extractSettledToolCalls = extractSettledToolCalls;
6
6
  exports.makeErrorStream = makeErrorStream;
7
7
  exports.mergeUsage = mergeUsage;
8
8
  exports.accumulateUsage = accumulateUsage;
9
- const stream_1 = require("./stream");
9
+ const stream_1 = require("../streaming/stream");
10
10
  function normalizeInput(input) {
11
11
  if (typeof input === 'string') {
12
12
  return [{ role: 'user', content: [{ type: 'text', text: input }] }];
@@ -39,10 +39,12 @@ function mergeUsage(current, next) {
39
39
  completionTokens: current.completionTokens + next.completionTokens,
40
40
  totalTokens: current.totalTokens + next.totalTokens,
41
41
  };
42
+ const noCache = (current.inputTokenDetails?.noCache ?? 0) + (next.inputTokenDetails?.noCache ?? 0);
42
43
  const cacheRead = (current.inputTokenDetails?.cacheRead ?? 0) + (next.inputTokenDetails?.cacheRead ?? 0);
43
44
  const cacheWrite = (current.inputTokenDetails?.cacheWrite ?? 0) + (next.inputTokenDetails?.cacheWrite ?? 0);
44
- if (cacheRead > 0 || cacheWrite > 0) {
45
+ if (noCache > 0 || cacheRead > 0 || cacheWrite > 0) {
45
46
  merged.inputTokenDetails = {
47
+ ...(noCache > 0 && { noCache }),
46
48
  ...(cacheRead > 0 && { cacheRead }),
47
49
  ...(cacheWrite > 0 && { cacheWrite }),
48
50
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-helpers.js","sourceRoot":"","sources":["../../../src/runtime/loop/runtime-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { CompleteEmission, ModelCallContext, ModelTurnResult, RunOutputSink, RunServices, SuspendEmission } from './run-output-sink';
2
+ import type { ExecutionOptions, TokenUsage } from '../../types/sdk/agent';
3
+ import type { StreamWriterGuard } from '../streaming/stream-writer-guard';
4
+ import type { ToolCallBatchResult } from '../tools/tool-call-executor';
5
+ export declare class StreamSink implements RunOutputSink<void> {
6
+ private readonly guard;
7
+ private readonly services;
8
+ private readonly options;
9
+ private lastUsage;
10
+ private rawUsageReader;
11
+ constructor(guard: StreamWriterGuard, services: RunServices, options: ExecutionOptions | undefined);
12
+ reportUsage(usage: TokenUsage | undefined): void;
13
+ getAbortFinish(): {
14
+ usage?: TokenUsage;
15
+ model: string;
16
+ };
17
+ private buildSmoothStreamTransformOptions;
18
+ callModel(ctx: ModelCallContext): Promise<ModelTurnResult>;
19
+ emitToolBatch(batch: ToolCallBatchResult): Promise<void>;
20
+ finishSuspended(emission: SuspendEmission): Promise<void>;
21
+ finishComplete(emission: CompleteEmission): Promise<void>;
22
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamSink = void 0;
4
+ const runtime_helpers_1 = require("./runtime-helpers");
5
+ const lazy_ai_1 = require("../model/lazy-ai");
6
+ const messages_1 = require("../model/messages");
7
+ const raw_usage_1 = require("../model/raw-usage");
8
+ const stream_1 = require("../streaming/stream");
9
+ class StreamSink {
10
+ constructor(guard, services, options) {
11
+ this.guard = guard;
12
+ this.services = services;
13
+ this.options = options;
14
+ }
15
+ reportUsage(usage) {
16
+ this.lastUsage = usage;
17
+ this.rawUsageReader = undefined;
18
+ }
19
+ getAbortFinish() {
20
+ const usage = this.services.applyCost((0, runtime_helpers_1.mergeUsage)(this.lastUsage, this.rawUsageReader?.getUsage()));
21
+ return { ...(usage && { usage }), model: this.services.modelId };
22
+ }
23
+ buildSmoothStreamTransformOptions() {
24
+ if (this.options?.smoothStream === false)
25
+ return {};
26
+ const { smoothStream } = (0, lazy_ai_1.loadAi)();
27
+ return { experimental_transform: smoothStream(this.options?.smoothStream ?? {}) };
28
+ }
29
+ async callModel(ctx) {
30
+ this.rawUsageReader = this.options?.recoverUsageOnAbort
31
+ ? (0, raw_usage_1.createRawUsageReader)(this.services.modelId)
32
+ : undefined;
33
+ const { streamText } = (0, lazy_ai_1.loadAi)();
34
+ const result = streamText({
35
+ model: ctx.model,
36
+ system: ctx.system,
37
+ messages: ctx.messages,
38
+ abortSignal: ctx.abortSignal,
39
+ ...(this.rawUsageReader ? { includeRawChunks: true } : {}),
40
+ ...(ctx.hasTools ? { tools: ctx.aiTools } : {}),
41
+ ...(ctx.providerOptions ? { providerOptions: ctx.providerOptions } : {}),
42
+ ...(ctx.outputSpec ? { output: ctx.outputSpec } : {}),
43
+ ...ctx.aiSdkOptions,
44
+ ...this.buildSmoothStreamTransformOptions(),
45
+ });
46
+ for await (const chunk of result.fullStream) {
47
+ if (chunk.type === 'raw') {
48
+ this.rawUsageReader?.capture(chunk.rawValue);
49
+ continue;
50
+ }
51
+ if (chunk.type === 'finish')
52
+ continue;
53
+ if ((chunk.type === 'tool-result' || chunk.type === 'tool-error') && chunk.providerExecuted) {
54
+ await this.guard.write({
55
+ type: 'tool-execution-end',
56
+ toolCallId: chunk.toolCallId,
57
+ toolName: chunk.toolName ?? '',
58
+ isError: chunk.type === 'tool-error',
59
+ endTime: Date.now(),
60
+ });
61
+ }
62
+ const converted = (0, stream_1.convertChunk)(chunk);
63
+ if (converted)
64
+ await this.guard.write(converted);
65
+ if (chunk.type === 'tool-call' && chunk.providerExecuted) {
66
+ await this.guard.write({
67
+ type: 'tool-execution-start',
68
+ toolCallId: chunk.toolCallId,
69
+ toolName: chunk.toolName ?? '',
70
+ startTime: Date.now(),
71
+ });
72
+ }
73
+ }
74
+ const aiFinishReason = await result.finishReason;
75
+ const usage = await result.usage;
76
+ const response = await result.response;
77
+ return {
78
+ aiFinishReason,
79
+ finishReason: (0, messages_1.fromAiFinishReason)(aiFinishReason),
80
+ usage,
81
+ newMessages: (0, messages_1.fromAiMessages)(response.messages),
82
+ toolCalls: await result.toolCalls,
83
+ structuredOutput: ctx.outputSpec && aiFinishReason !== 'tool-calls' ? await result.output : undefined,
84
+ };
85
+ }
86
+ async emitToolBatch(batch) {
87
+ for (const r of batch.results) {
88
+ await this.guard.write({
89
+ type: 'tool-result',
90
+ toolCallId: r.toolCallId,
91
+ toolName: r.toolName,
92
+ output: r.modelOutput,
93
+ ...(r.toolEntry.canceled ? { canceled: true } : {}),
94
+ });
95
+ if (r.customMessage) {
96
+ await this.guard.write({ type: 'message', message: r.customMessage });
97
+ }
98
+ }
99
+ for (const e of batch.errors) {
100
+ await this.guard.write({
101
+ type: 'tool-result',
102
+ toolCallId: e.toolCallId,
103
+ toolName: e.toolName,
104
+ output: e.error,
105
+ isError: true,
106
+ });
107
+ }
108
+ }
109
+ async finishSuspended(emission) {
110
+ for (const s of emission.suspensions) {
111
+ await this.guard.write({
112
+ type: 'tool-call-suspended',
113
+ runId: emission.suspendRunId,
114
+ toolCallId: s.toolCallId,
115
+ toolName: s.toolName,
116
+ input: s.input,
117
+ suspendPayload: s.payload,
118
+ resumeSchema: s.resumeSchema,
119
+ });
120
+ }
121
+ await this.guard.write({ type: 'finish', finishReason: 'tool-calls' });
122
+ await this.guard.close();
123
+ }
124
+ async finishComplete(emission) {
125
+ const { list, options, finishReason, usage, structuredOutput } = emission;
126
+ const costUsage = this.services.applyCost(usage);
127
+ await this.services.saveToMemory(list, options);
128
+ await this.services.maybeGenerateTitle(list, options);
129
+ await this.services.cleanupRun();
130
+ await this.services.flushTelemetry(options);
131
+ await this.guard.write({
132
+ type: 'finish',
133
+ finishReason,
134
+ ...(costUsage && { usage: costUsage }),
135
+ model: this.services.modelId,
136
+ ...(structuredOutput !== undefined && { structuredOutput }),
137
+ });
138
+ this.services.updateState({ status: 'success', messageList: list.serialize() });
139
+ this.services.emitAgentEnd(list.responseDelta());
140
+ await this.guard.close();
141
+ }
142
+ }
143
+ exports.StreamSink = StreamSink;
144
+ //# sourceMappingURL=stream-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-sink.js","sourceRoot":"","sources":["../../../src/runtime/loop/stream-sink.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
- import type { McpServerConfig } from '../types/sdk/mcp';
3
- import type { BuiltTool } from '../types/sdk/tool';
2
+ import type { McpServerConfig } from '../../types/sdk/mcp';
3
+ import type { BuiltTool } from '../../types/sdk/tool';
4
4
  export type McpCallToolResult = CallToolResult;
5
5
  export declare class McpConnection {
6
6
  private client;
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.McpConnection = void 0;
37
37
  const mcp_tool_resolver_1 = require("./mcp-tool-resolver");
38
- const tool_1 = require("../sdk/tool");
38
+ const tool_1 = require("../../sdk/tool");
39
39
  let mcpSdkPromise;
40
40
  async function loadMcpSdk() {
41
41
  mcpSdkPromise ??= Promise.all([
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-connection.js","sourceRoot":"","sources":["../../../src/runtime/mcp/mcp-connection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
2
  import type { McpConnection } from './mcp-connection';
3
- import type { BuiltTool } from '../types/sdk/tool';
3
+ import type { BuiltTool } from '../../types/sdk/tool';
4
4
  export declare class McpToolResolver {
5
5
  resolve(connection: McpConnection, tools: Tool[]): BuiltTool[];
6
6
  private resolveTool;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool-resolver.js","sourceRoot":"","sources":["../../../src/runtime/mcp/mcp-tool-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { EpisodicMemoryExtractorInput, EpisodicMemoryExtractFn, EpisodicMemoryReflectorInput, EpisodicMemoryReflectFn, ModelConfig } from '../types';
1
+ import type { EpisodicMemoryExtractorInput, EpisodicMemoryExtractFn, EpisodicMemoryReflectorInput, EpisodicMemoryReflectFn, ModelConfig } from '../../types';
2
2
  export declare const DEFAULT_EPISODIC_MEMORY_EMBEDDING_MODEL = "openai/text-embedding-3-small";
3
3
  export declare const DEFAULT_EPISODIC_MEMORY_TOP_K = 5;
4
4
  export declare const DEFAULT_EPISODIC_MEMORY_MAX_ENTRIES_PER_RUN = 5;
@@ -39,8 +39,8 @@ exports.createEpisodicMemoryExtractFn = createEpisodicMemoryExtractFn;
39
39
  exports.buildEpisodicMemoryReflectorPrompt = buildEpisodicMemoryReflectorPrompt;
40
40
  exports.createEpisodicMemoryReflectFn = createEpisodicMemoryReflectFn;
41
41
  const zod_1 = require("zod");
42
- const execution_counter_1 = require("./execution-counter");
43
- const model_factory_1 = require("./model-factory");
42
+ const execution_counter_1 = require("../loop/execution-counter");
43
+ const model_factory_1 = require("../model/model-factory");
44
44
  exports.DEFAULT_EPISODIC_MEMORY_EMBEDDING_MODEL = 'openai/text-embedding-3-small';
45
45
  exports.DEFAULT_EPISODIC_MEMORY_TOP_K = 5;
46
46
  exports.DEFAULT_EPISODIC_MEMORY_MAX_ENTRIES_PER_RUN = 5;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episodic-memory-defaults.js","sourceRoot":"","sources":["../../../src/runtime/memory/episodic-memory-defaults.ts"],"names":[],"mappings":"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"}