@roackb2/heddle 0.0.8 → 0.0.10

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 (70) hide show
  1. package/README.md +87 -1
  2. package/dist/examples/cyberloop-observer.d.ts +3 -0
  3. package/dist/examples/cyberloop-observer.d.ts.map +1 -0
  4. package/dist/examples/cyberloop-observer.js +79 -0
  5. package/dist/examples/cyberloop-observer.js.map +1 -0
  6. package/dist/examples/host-events.d.ts +15 -0
  7. package/dist/examples/host-events.d.ts.map +1 -0
  8. package/dist/examples/host-events.js +233 -0
  9. package/dist/examples/host-events.js.map +1 -0
  10. package/dist/examples/programmatic-loop.js +2 -0
  11. package/dist/examples/programmatic-loop.js.map +1 -1
  12. package/dist/src/cli/chat/App.d.ts.map +1 -1
  13. package/dist/src/cli/chat/App.js +46 -6
  14. package/dist/src/cli/chat/App.js.map +1 -1
  15. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +10 -0
  16. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  17. package/dist/src/cli/chat/hooks/useAgentRun.js +68 -2
  18. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  19. package/dist/src/cli/chat/state/local-commands.d.ts +3 -0
  20. package/dist/src/cli/chat/state/local-commands.d.ts.map +1 -1
  21. package/dist/src/cli/chat/state/local-commands.js +21 -0
  22. package/dist/src/cli/chat/state/local-commands.js.map +1 -1
  23. package/dist/src/cli/chat/state/storage.d.ts.map +1 -1
  24. package/dist/src/cli/chat/state/storage.js +2 -0
  25. package/dist/src/cli/chat/state/storage.js.map +1 -1
  26. package/dist/src/cli/chat/state/types.d.ts +1 -0
  27. package/dist/src/cli/chat/state/types.d.ts.map +1 -1
  28. package/dist/src/cli/chat/submit.d.ts +3 -0
  29. package/dist/src/cli/chat/submit.d.ts.map +1 -1
  30. package/dist/src/cli/chat/submit.js +3 -0
  31. package/dist/src/cli/chat/submit.js.map +1 -1
  32. package/dist/src/cli/chat/utils/drift-footer.d.ts +5 -0
  33. package/dist/src/cli/chat/utils/drift-footer.d.ts.map +1 -0
  34. package/dist/src/cli/chat/utils/drift-footer.js +19 -0
  35. package/dist/src/cli/chat/utils/drift-footer.js.map +1 -0
  36. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  37. package/dist/src/cli/chat/utils/format.js +33 -0
  38. package/dist/src/cli/chat/utils/format.js.map +1 -1
  39. package/dist/src/index.d.ts +4 -0
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/index.js +3 -0
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/integrations/cyberloop-kinematics.d.ts +41 -0
  44. package/dist/src/integrations/cyberloop-kinematics.d.ts.map +1 -0
  45. package/dist/src/integrations/cyberloop-kinematics.js +101 -0
  46. package/dist/src/integrations/cyberloop-kinematics.js.map +1 -0
  47. package/dist/src/integrations/cyberloop.d.ts +92 -0
  48. package/dist/src/integrations/cyberloop.d.ts.map +1 -0
  49. package/dist/src/integrations/cyberloop.js +270 -0
  50. package/dist/src/integrations/cyberloop.js.map +1 -0
  51. package/dist/src/run-agent.d.ts +3 -1
  52. package/dist/src/run-agent.d.ts.map +1 -1
  53. package/dist/src/run-agent.js +10 -0
  54. package/dist/src/run-agent.js.map +1 -1
  55. package/dist/src/runtime/agent-loop.d.ts.map +1 -1
  56. package/dist/src/runtime/agent-loop.js +57 -2
  57. package/dist/src/runtime/agent-loop.js.map +1 -1
  58. package/dist/src/runtime/events.d.ts +66 -0
  59. package/dist/src/runtime/events.d.ts.map +1 -1
  60. package/dist/src/runtime/events.js +11 -0
  61. package/dist/src/runtime/events.js.map +1 -1
  62. package/dist/src/runtime/heartbeat.d.ts.map +1 -1
  63. package/dist/src/runtime/heartbeat.js +47 -2
  64. package/dist/src/runtime/heartbeat.js.map +1 -1
  65. package/dist/src/trace/format.d.ts.map +1 -1
  66. package/dist/src/trace/format.js +35 -0
  67. package/dist/src/trace/format.js.map +1 -1
  68. package/dist/src/types.d.ts +8 -0
  69. package/dist/src/types.d.ts.map +1 -1
  70. package/package.json +14 -1
@@ -0,0 +1,92 @@
1
+ import type { AgentLoopEvent } from '../runtime/events.js';
2
+ export type CyberLoopMetadataChannels = Record<string, unknown>;
3
+ export type CyberLoopStepContext<S = unknown> = {
4
+ step: number;
5
+ state: S;
6
+ prevState?: S;
7
+ budget: {
8
+ used: number;
9
+ remaining: number;
10
+ };
11
+ metadata: CyberLoopMetadataChannels;
12
+ };
13
+ export type CyberLoopStepResult<S = unknown> = {
14
+ state: S;
15
+ action?: unknown;
16
+ feedback?: unknown;
17
+ cost?: number;
18
+ };
19
+ /**
20
+ * Structural subset of CyberLoop's middleware contract.
21
+ *
22
+ * Heddle does not import CyberLoop directly. Callers can pass middleware from
23
+ * CyberLoop because TypeScript's structural typing makes the contracts match.
24
+ */
25
+ export type CyberLoopCompatibleMiddleware<S = unknown> = {
26
+ name: string;
27
+ setup?: (ctx: {
28
+ input: unknown;
29
+ }) => Promise<void>;
30
+ beforeStep?: (ctx: CyberLoopStepContext<S>) => Promise<CyberLoopStepContext<S> | 'halt'>;
31
+ afterStep?: (ctx: CyberLoopStepContext<S>, result: CyberLoopStepResult<S>) => Promise<void>;
32
+ teardown?: (ctx: {
33
+ reason: string;
34
+ }) => Promise<void>;
35
+ };
36
+ /**
37
+ * Structural subset of CyberLoop's StateEmbedder contract.
38
+ */
39
+ export type CyberLoopCompatibleStateEmbedder<S = unknown> = {
40
+ embed: (state: S) => Promise<number[]>;
41
+ };
42
+ export type HeddleRuntimeFrameKind = 'assistant' | 'tool' | 'checkpoint' | 'heartbeat' | 'final';
43
+ export type HeddleRuntimeFrame = {
44
+ runId: string;
45
+ step: number;
46
+ kind: HeddleRuntimeFrameKind;
47
+ goal: string;
48
+ text: string;
49
+ timestamp: string;
50
+ tool?: string;
51
+ toolCallId?: string;
52
+ ok?: boolean;
53
+ rawEvent: AgentLoopEvent;
54
+ };
55
+ export type CyberLoopDriftLevel = 'unknown' | 'low' | 'medium' | 'high';
56
+ export type CyberLoopObserverAnnotation = {
57
+ runId: string;
58
+ step: number;
59
+ frame: HeddleRuntimeFrame;
60
+ metadata: CyberLoopMetadataChannels;
61
+ driftLevel: CyberLoopDriftLevel;
62
+ requestedHalt: boolean;
63
+ timestamp: string;
64
+ };
65
+ export type CreateCyberLoopObserverOptions = {
66
+ middleware: CyberLoopCompatibleMiddleware<HeddleRuntimeFrame>[];
67
+ baselineFrame?: (event: Extract<AgentLoopEvent, {
68
+ type: 'loop.started';
69
+ }>) => HeddleRuntimeFrame | undefined;
70
+ shouldObserveFrame?: (frame: HeddleRuntimeFrame) => boolean;
71
+ onAnnotation?: (annotation: CyberLoopObserverAnnotation) => void;
72
+ onError?: (error: unknown) => void;
73
+ };
74
+ export type RuntimeFrameEmbedText = (text: string, frame: HeddleRuntimeFrame) => Promise<number[]>;
75
+ export type CreateRuntimeFrameEmbedderOptions = {
76
+ embedText: RuntimeFrameEmbedText;
77
+ includeGoal?: boolean;
78
+ maxTextLength?: number;
79
+ };
80
+ export type CyberLoopObserver = {
81
+ handleEvent: (event: AgentLoopEvent) => void;
82
+ flush: () => Promise<void>;
83
+ };
84
+ export declare function createRuntimeFrameEmbedder(options: CreateRuntimeFrameEmbedderOptions): CyberLoopCompatibleStateEmbedder<HeddleRuntimeFrame>;
85
+ export declare function formatRuntimeFrameForEmbedding(frame: HeddleRuntimeFrame, options?: Pick<CreateRuntimeFrameEmbedderOptions, 'includeGoal' | 'maxTextLength'>): string;
86
+ export declare function createCyberLoopObserver(options: CreateCyberLoopObserverOptions): CyberLoopObserver;
87
+ export declare function eventToRuntimeFrame(event: AgentLoopEvent, context?: {
88
+ runId?: string;
89
+ goal?: string;
90
+ }): HeddleRuntimeFrame | undefined;
91
+ export declare function inferDriftLevel(metadata: CyberLoopMetadataChannels): CyberLoopDriftLevel;
92
+ //# sourceMappingURL=cyberloop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cyberloop.d.ts","sourceRoot":"","sources":["../../../src/integrations/cyberloop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ export function createRuntimeFrameEmbedder(options) {
2
+ return {
3
+ async embed(frame) {
4
+ return options.embedText(formatRuntimeFrameForEmbedding(frame, options), frame);
5
+ },
6
+ };
7
+ }
8
+ export function formatRuntimeFrameForEmbedding(frame, options = {}) {
9
+ const maxTextLength = options.maxTextLength ?? 4_000;
10
+ const sections = [
11
+ `kind: ${frame.kind}`,
12
+ frame.tool ? `tool: ${frame.tool}` : undefined,
13
+ typeof frame.ok === 'boolean' ? `ok: ${frame.ok}` : undefined,
14
+ options.includeGoal ? `goal: ${frame.goal}` : undefined,
15
+ '',
16
+ frame.text,
17
+ ].filter((section) => section !== undefined);
18
+ return sections.join('\n').slice(0, maxTextLength);
19
+ }
20
+ export function createCyberLoopObserver(options) {
21
+ let queue = Promise.resolve();
22
+ let runId;
23
+ let goal = '';
24
+ let initialized = false;
25
+ let previousFrame;
26
+ let observedFrameKeys = new Set();
27
+ const enqueue = (work) => {
28
+ queue = queue.then(work, work).catch((error) => {
29
+ options.onError?.(error);
30
+ });
31
+ };
32
+ const setup = async (event) => {
33
+ runId = event.runId;
34
+ goal = event.goal;
35
+ previousFrame = undefined;
36
+ observedFrameKeys = new Set();
37
+ initialized = true;
38
+ for (const middleware of options.middleware) {
39
+ await middleware.setup?.({ input: event });
40
+ }
41
+ const baselineFrame = options.baselineFrame?.(event);
42
+ if (baselineFrame) {
43
+ await observeFrame(baselineFrame, { annotate: false });
44
+ }
45
+ };
46
+ const teardown = async (reason) => {
47
+ if (!initialized) {
48
+ return;
49
+ }
50
+ for (const middleware of options.middleware) {
51
+ await middleware.teardown?.({ reason });
52
+ }
53
+ initialized = false;
54
+ };
55
+ const observeFrame = async (frame, observeOptions = {}) => {
56
+ if (!initialized) {
57
+ initialized = true;
58
+ runId = frame.runId;
59
+ goal = frame.goal;
60
+ for (const middleware of options.middleware) {
61
+ await middleware.setup?.({ input: frame.rawEvent });
62
+ }
63
+ }
64
+ if (options.shouldObserveFrame && !options.shouldObserveFrame(frame)) {
65
+ return;
66
+ }
67
+ const frameKey = runtimeFrameKey(frame);
68
+ if (observedFrameKeys.has(frameKey)) {
69
+ return;
70
+ }
71
+ observedFrameKeys.add(frameKey);
72
+ let ctx = {
73
+ step: frame.step,
74
+ state: frame,
75
+ prevState: previousFrame,
76
+ budget: { used: frame.step, remaining: Number.POSITIVE_INFINITY },
77
+ metadata: {},
78
+ };
79
+ let requestedHalt = false;
80
+ for (const middleware of options.middleware) {
81
+ const next = await middleware.beforeStep?.(ctx);
82
+ if (next === 'halt') {
83
+ requestedHalt = true;
84
+ break;
85
+ }
86
+ if (next) {
87
+ ctx = next;
88
+ }
89
+ }
90
+ const result = {
91
+ state: frame,
92
+ action: frame.kind,
93
+ feedback: frame.ok,
94
+ cost: 1,
95
+ };
96
+ for (let i = options.middleware.length - 1; i >= 0; i--) {
97
+ await options.middleware[i]?.afterStep?.(ctx, result);
98
+ }
99
+ previousFrame = frame;
100
+ if (observeOptions.annotate !== false) {
101
+ options.onAnnotation?.({
102
+ runId: frame.runId,
103
+ step: frame.step,
104
+ frame,
105
+ metadata: ctx.metadata,
106
+ driftLevel: inferDriftLevel(ctx.metadata),
107
+ requestedHalt,
108
+ timestamp: new Date().toISOString(),
109
+ });
110
+ }
111
+ };
112
+ return {
113
+ handleEvent(event) {
114
+ enqueue(async () => {
115
+ if (event.type === 'loop.started') {
116
+ await setup(event);
117
+ return;
118
+ }
119
+ const frame = eventToRuntimeFrame(event, { runId, goal });
120
+ if (frame) {
121
+ await observeFrame(frame);
122
+ }
123
+ if (event.type === 'loop.finished') {
124
+ await teardown(event.outcome);
125
+ }
126
+ });
127
+ },
128
+ flush() {
129
+ return queue;
130
+ },
131
+ };
132
+ }
133
+ function runtimeFrameKey(frame) {
134
+ return [
135
+ frame.runId,
136
+ frame.step,
137
+ frame.kind,
138
+ frame.tool ?? '',
139
+ frame.ok === undefined ? '' : String(frame.ok),
140
+ frame.text,
141
+ ].join('\u001f');
142
+ }
143
+ export function eventToRuntimeFrame(event, context = {}) {
144
+ const runId = 'runId' in event ? event.runId : context.runId;
145
+ if (!runId) {
146
+ return undefined;
147
+ }
148
+ const goal = context.goal ?? (event.type === 'loop.started' ? event.goal : '');
149
+ if (event.type === 'assistant.stream' && event.done) {
150
+ return {
151
+ runId,
152
+ step: event.step,
153
+ kind: 'assistant',
154
+ goal,
155
+ text: event.text,
156
+ timestamp: event.timestamp,
157
+ rawEvent: event,
158
+ };
159
+ }
160
+ if (event.type === 'tool.completed') {
161
+ return {
162
+ runId,
163
+ step: event.step,
164
+ kind: 'tool',
165
+ goal,
166
+ text: formatToolCompletedText(event),
167
+ timestamp: event.timestamp,
168
+ tool: event.tool,
169
+ toolCallId: event.toolCallId,
170
+ ok: event.result.ok,
171
+ rawEvent: event,
172
+ };
173
+ }
174
+ if (event.type === 'trace' && event.event.type === 'assistant.turn') {
175
+ return {
176
+ runId,
177
+ step: event.event.step,
178
+ kind: 'assistant',
179
+ goal,
180
+ text: event.event.content,
181
+ timestamp: event.timestamp,
182
+ rawEvent: event,
183
+ };
184
+ }
185
+ if (event.type === 'trace' && event.event.type === 'tool.result') {
186
+ return {
187
+ runId,
188
+ step: event.event.step,
189
+ kind: 'tool',
190
+ goal,
191
+ text: formatTraceToolResultText(event.event.tool, event.event.result),
192
+ timestamp: event.timestamp,
193
+ tool: event.event.tool,
194
+ ok: event.event.result.ok,
195
+ rawEvent: event,
196
+ };
197
+ }
198
+ if (event.type === 'checkpoint.saved') {
199
+ return {
200
+ runId,
201
+ step: event.step,
202
+ kind: 'checkpoint',
203
+ goal,
204
+ text: `Checkpoint saved for ${event.checkpoint.runId}`,
205
+ timestamp: event.timestamp,
206
+ rawEvent: event,
207
+ };
208
+ }
209
+ if (event.type === 'heartbeat.decision') {
210
+ return {
211
+ runId,
212
+ step: 0,
213
+ kind: 'heartbeat',
214
+ goal,
215
+ text: `Heartbeat decision: ${event.decision}. ${event.summary}`,
216
+ timestamp: event.timestamp,
217
+ ok: event.decision !== 'escalate',
218
+ rawEvent: event,
219
+ };
220
+ }
221
+ if (event.type === 'loop.finished') {
222
+ return {
223
+ runId,
224
+ step: event.state.trace.length,
225
+ kind: 'final',
226
+ goal: event.state.goal,
227
+ text: event.summary,
228
+ timestamp: event.timestamp,
229
+ ok: event.outcome === 'done',
230
+ rawEvent: event,
231
+ };
232
+ }
233
+ return undefined;
234
+ }
235
+ export function inferDriftLevel(metadata) {
236
+ const manifold = metadata.manifold;
237
+ const grassmannian = metadata.grassmannian;
238
+ const kinematics = metadata.kinematics;
239
+ const hasCorrection = metadata.kinematicsCorrection != null;
240
+ if (manifold?.isDrifting === true || grassmannian?.isDrifting === true) {
241
+ return 'high';
242
+ }
243
+ if (kinematics?.isStable === false || hasCorrection) {
244
+ return 'medium';
245
+ }
246
+ if (manifold || grassmannian || kinematics) {
247
+ return 'low';
248
+ }
249
+ return 'unknown';
250
+ }
251
+ function formatToolCompletedText(event) {
252
+ if (!event.result.ok) {
253
+ return `Tool ${event.tool} failed: ${event.result.error ?? 'unknown error'}`;
254
+ }
255
+ const output = event.result.output;
256
+ if (typeof output === 'string') {
257
+ return `Tool ${event.tool} completed: ${output.slice(0, 1_000)}`;
258
+ }
259
+ return `Tool ${event.tool} completed: ${JSON.stringify(output).slice(0, 1_000)}`;
260
+ }
261
+ function formatTraceToolResultText(tool, result) {
262
+ if (!result.ok) {
263
+ return `Tool ${tool} failed: ${result.error ?? 'unknown error'}`;
264
+ }
265
+ if (typeof result.output === 'string') {
266
+ return `Tool ${tool} completed: ${result.output.slice(0, 1_000)}`;
267
+ }
268
+ return `Tool ${tool} completed: ${JSON.stringify(result.output).slice(0, 1_000)}`;
269
+ }
270
+ //# sourceMappingURL=cyberloop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cyberloop.js","sourceRoot":"","sources":["../../../src/integrations/cyberloop.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RunResult, ToolDefinition, ToolCall, TraceEvent } from './types.js';
1
+ import type { RunResult, ToolDefinition, ToolCall, ToolResult, TraceEvent } from './types.js';
2
2
  import type { LlmAdapter, ChatMessage } from './llm/types.js';
3
3
  import type { Logger } from 'pino';
4
4
  export type RunAgentOptions = {
@@ -15,6 +15,8 @@ export type RunAgentOptions = {
15
15
  text: string;
16
16
  done: boolean;
17
17
  }) => void;
18
+ onToolCalling?: (call: ToolCall, step: number, toolDef: ToolDefinition) => void;
19
+ onToolCompleted?: (call: ToolCall, result: ToolResult, step: number, durationMs: number) => void;
18
20
  approveToolCall?: (call: ToolCall, tool: ToolDefinition) => Promise<{
19
21
  approved: boolean;
20
22
  reason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../src/run-agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAc,QAAQ,EAAc,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1G,OAAO,KAAK,EAAE,UAAU,EAAyB,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAOrG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAuBnC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAmCF;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAsC3E"}
1
+ {"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../src/run-agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAc,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1G,OAAO,KAAK,EAAE,UAAU,EAAyB,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAOrG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAuBnC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAChF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjG,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAqCF;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAsC3E"}
@@ -83,6 +83,8 @@ function createRunContext(options) {
83
83
  mutation: createMutationState(),
84
84
  progress: createProgressReminderState(),
85
85
  onAssistantStream: options.onAssistantStream,
86
+ onToolCalling: options.onToolCalling,
87
+ onToolCompleted: options.onToolCompleted,
86
88
  approveToolCall: options.approveToolCall,
87
89
  shouldStop: options.shouldStop,
88
90
  abortSignal: options.abortSignal,
@@ -177,6 +179,10 @@ async function executeToolTurn(context, call) {
177
179
  return interrupted;
178
180
  }
179
181
  const tool = context.registry.get(call.tool);
182
+ if (tool) {
183
+ context.onToolCalling?.(call, context.state.step, tool);
184
+ }
185
+ const toolStartTime = Date.now();
180
186
  const approvalDeniedResult = await maybeDenyToolCall({
181
187
  call,
182
188
  tool,
@@ -187,6 +193,8 @@ async function executeToolTurn(context, call) {
187
193
  log: context.log,
188
194
  });
189
195
  if (approvalDeniedResult) {
196
+ const durationMs = Date.now() - toolStartTime;
197
+ context.onToolCompleted?.(call, approvalDeniedResult, context.state.step, durationMs);
190
198
  return handleDeniedToolResult(context, call.id, approvalDeniedResult);
191
199
  }
192
200
  const execution = await executeToolCallWithFallback({
@@ -199,6 +207,8 @@ async function executeToolTurn(context, call) {
199
207
  record: context.record,
200
208
  log: context.log,
201
209
  });
210
+ const durationMs = Date.now() - toolStartTime;
211
+ context.onToolCompleted?.(execution.effectiveCall, execution.result, context.state.step, durationMs);
202
212
  return handleExecutedToolResult(context, execution.effectiveCall, call.id, execution.result);
203
213
  }
204
214
  function handleDeniedToolResult(context, toolCallId, result) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../src/run-agent.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iCAAiC;AACjC,oCAAoC;AACpC,8EAA8E;AAI9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACxG,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAG9F,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhG,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAkD9D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC3H,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEtF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;QAC9F,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrE,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;gBAClC,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,+BAA+B,OAAO,CAAC,QAAQ,GAAG,EAAE;QACzF,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,kBAAkB;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ;QACR,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ;QACR,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa;QACpC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;QACtG,KAAK;QACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,GAAG;QACH,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC9B,aAAa,EAAE,IAAI,GAAG,EAAkB;QACxC,QAAQ,EAAE,mBAAmB,EAAE;QAC/B,QAAQ,EAAE,2BAA2B,EAAE;QACvC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE;YACL,IAAI,EAAE,CAAC;YACP,iBAAiB,EAAE,CAAC;YACpB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,EAAE;SACZ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,SAAmB,EACnB,aAAiC,EACjC,OAAkC;IAElC,OAAO;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE;QAC9E,GAAG,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC;QACjC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,OAAmB;IACpC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;AAC9G,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAmB;IACjD,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,CAAC;QACH,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CACrC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EACvB,OAAO,CAAC,WAAW,EACnB,CAAC,KAAqB,EAAE,EAAE;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,kBAAkB,IAAI,KAAK,CAAC,KAAK,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,IAAI,KAAK,GAAG,kBAAkB,GAAG,yBAAyB,EAAE,CAAC;oBAC3D,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC;oBAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC9F,OAAO;gBACT,CAAC;gBACD,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC;gBAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9F,kBAAkB,GAAG,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,kBAAkB,GAAG,EAAE,CAAC;gBACxB,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;gBAChC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC,CACF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YAClF,OAAO,iBAAiB,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAmB,EAAE,QAAqB;IACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,cAAc,EAAE,IAAI;QACpB,SAAS;QACT,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;QAC/B,SAAS;KACV,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAmB,EAAE,IAAc;IAChE,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;IACnG,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,oBAAoB,GAAG,MAAM,iBAAiB,CAAC;QACnD,IAAI;QACJ,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC;QAClD,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IAEH,OAAO,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmB,EACnB,UAAkB,EAClB,MAAkB;IAElB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,iCAAiC,CACpD,OAAO,EACP,iBAAiB,sBAAsB,yCAAyC,MAAM,CAAC,KAAK,EAAE,CAC/F,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAmB,EACnB,aAAuB,EACvB,UAAkB,EAClB,MAAkB;IAElB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACpC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,aAAa,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAmB,EAAE,MAAkB;IACxE,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,OAAO,EACL,iFAAiF,MAAM,CAAC,KAAK,sIAAsI;SACtO,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,iCAAiC,CACtC,OAAO,EACP,iBAAiB,sBAAsB,yCAAyC,MAAM,CAAC,KAAK,EAAE,CAC/F,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAmB,EAAE,aAAuB,EAAE,MAAkB;IAC7F,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE;QACzD,aAAa;QACb,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;KAC3C,CAAC,CAAC;IAEH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAmB;IAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QAClD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,GAAG,KAAK,CAAC;QACtD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,4BAA4B,CAAC;gBACpC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAC/D,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aAC1D,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,kCAAkC,EAAE,CAAC;QACxD,OAAO,CAAC,QAAQ,CAAC,kCAAkC,GAAG,KAAK,CAAC;QAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kCAAkC,CAAC;gBAC1C,4BAA4B,EAAE,OAAO,CAAC,QAAQ,CAAC,4BAA4B;gBAC3E,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aAC1D,CAAC;SACH,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAmB,EAAE,QAAqB;IAC3E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,kCAAkC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,kCAAkC,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;aACzB,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;gBAC/C,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,iEAAiE;aAC9E,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,cAAc,EAAE,KAAK;QACrB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;KACzB,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAExE,OAAO,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;QAClD,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,oBAAoB;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAmB,EAAE,eAAuB;IACxE,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,IAAI,CACd;YACE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YACxB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;YACzD,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;SAC1D,EACD,sEAAsE,CACvE,CAAC;QACF,OAAO,4BAA4B,CAAC;YAClC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;YACzD,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;YACzD,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;YACvD,oBAAoB,EAAE,OAAO,CAAC,QAAQ,CAAC,4BAA4B;YACnE,wBAAwB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;SAChE,CAAC,CAAC;IACL,CAAC;IAED,IACE,OAAO,CAAC,QAAQ,CAAC,+BAA+B;QAChD,CAAC,0BAA0B,CAAC,eAAe,EAAE;YAC3C,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB;YAC3D,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;YACvD,oBAAoB,EAAE,OAAO,CAAC,QAAQ,CAAC,4BAA4B;SACpE,CAAC,EACF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,yEAAyE,CAAC,CAAC;QAC1H,OAAO,uCAAuC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kCAAkC,CAAC,OAAmB,EAAE,eAAuB;IACtF,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,0BAA0B,CAAC,eAAe,EAAE;QAC9C,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB;QAC3D,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;QACvD,oBAAoB,EAAE,OAAO,CAAC,QAAQ,CAAC,4BAA4B;KACpE,CAAC,EAAE,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,IAAI,iCAAiC,CAAC;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,gDAAgD,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kCAAkC,CAAC;IAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAmC,CAAC;IAElG,OAAO,GAAG,IAAI,kBAAkB,OAAO,iBAAiB,MAAM,KAAK,YAAY,iCAAiC,CAAC;AACnH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,2FAA2F,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5G,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAmB,EAAE,UAAkB;IACrE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAmB,EAAE,UAAkB;IAChE,OAAO,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE;QAC5D,QAAQ,EAAE,MAAM;QAChB,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAmB,EAAE,OAAe;IAC7E,IAAI,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CAChB,OAAmB,EACnB,OAAmB,EACnB,OAAe,EACf,OAGC;IAED,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAEhC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,cAAc;QACpB,OAAO;QACP,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;KAC3B,CAAC;AACJ,CAAC;AACD,SAAS,WAAW,CAAC,KAA8B;IACjD,OAAO,SAAS,IAAI,KAAK,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,OAA6B,EAAE,IAA0B;IAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAEhE,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;QACnD,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QACtD,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;QACnD,iBAAiB,EAAE,iBAAiB,IAAI,SAAS;QACjD,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,QAAQ,EAAE,QAAQ,IAAI,SAAS;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAmD,CAAC;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjH,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAA4B,CAAC,EAAE,CAAC;YACjG,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAA4B,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,WAAW,EAAE,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC1F,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../src/run-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../src/runtime/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAClD,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6EzF"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../src/runtime/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAClD,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuHzF"}
@@ -4,8 +4,9 @@ import { inferProviderFromModel } from '../llm/providers.js';
4
4
  import { runAgent } from '../run-agent.js';
5
5
  import { createLogger } from '../utils/logger.js';
6
6
  import { resolveApiKeyForModel } from './api-keys.js';
7
- import { createFinishedAgentLoopState, getHistoryFromAgentLoopCheckpoint, getHistoryFromAgentLoopState } from './events.js';
7
+ import { createFinishedAgentLoopState, generateRunId, getHistoryFromAgentLoopCheckpoint, getHistoryFromAgentLoopState } from './events.js';
8
8
  export async function runAgentLoop(options) {
9
+ const runId = generateRunId();
9
10
  const model = options.model ?? options.llm?.info?.model ?? process.env.OPENAI_MODEL ?? process.env.ANTHROPIC_MODEL ?? DEFAULT_OPENAI_MODEL;
10
11
  const provider = inferProviderFromModel(model);
11
12
  const workspaceRoot = resolve(options.workspaceRoot ?? process.cwd());
@@ -20,14 +21,26 @@ export async function runAgentLoop(options) {
20
21
  });
21
22
  const now = () => new Date().toISOString();
22
23
  const startedAt = now();
24
+ const resumeMetadata = getResumeMetadata(options.resumeFrom);
23
25
  options.onEvent?.({
24
26
  type: 'loop.started',
27
+ runId,
25
28
  goal: options.goal,
26
29
  model,
27
30
  provider,
28
31
  workspaceRoot,
32
+ resumedFromCheckpoint: resumeMetadata?.checkpointRunId,
29
33
  timestamp: startedAt,
30
34
  });
35
+ if (resumeMetadata) {
36
+ options.onEvent?.({
37
+ type: 'loop.resumed',
38
+ runId,
39
+ fromCheckpoint: resumeMetadata.checkpointRunId,
40
+ priorTraceEvents: resumeMetadata.priorTraceEvents,
41
+ timestamp: now(),
42
+ });
43
+ }
31
44
  const result = await runAgent({
32
45
  goal: options.goal,
33
46
  llm,
@@ -39,21 +52,47 @@ export async function runAgentLoop(options) {
39
52
  onAssistantStream: (update) => {
40
53
  options.onEvent?.({
41
54
  type: 'assistant.stream',
55
+ runId,
42
56
  ...update,
43
57
  timestamp: now(),
44
58
  });
45
59
  options.onAssistantStream?.(update);
46
60
  },
47
61
  onEvent: (event) => {
48
- options.onEvent?.({ type: 'trace', event, timestamp: now() });
62
+ options.onEvent?.({ type: 'trace', runId, event, timestamp: now() });
49
63
  options.onTraceEvent?.(event);
50
64
  },
65
+ onToolCalling: (call, step, toolDef) => {
66
+ options.onEvent?.({
67
+ type: 'tool.calling',
68
+ runId,
69
+ step,
70
+ tool: call.tool,
71
+ toolCallId: call.id,
72
+ input: call.input,
73
+ requiresApproval: toolDef.requiresApproval ?? false,
74
+ timestamp: now(),
75
+ });
76
+ },
77
+ onToolCompleted: (call, result, step, durationMs) => {
78
+ options.onEvent?.({
79
+ type: 'tool.completed',
80
+ runId,
81
+ step,
82
+ tool: call.tool,
83
+ toolCallId: call.id,
84
+ result: { ok: result.ok, output: result.output, error: result.error },
85
+ durationMs,
86
+ timestamp: now(),
87
+ });
88
+ },
51
89
  approveToolCall: options.approveToolCall,
52
90
  shouldStop: options.shouldStop,
53
91
  abortSignal: options.abortSignal,
54
92
  });
55
93
  const finishedAt = now();
56
94
  const state = createFinishedAgentLoopState({
95
+ runId,
57
96
  goal: options.goal,
58
97
  model,
59
98
  provider,
@@ -64,6 +103,7 @@ export async function runAgentLoop(options) {
64
103
  });
65
104
  options.onEvent?.({
66
105
  type: 'loop.finished',
106
+ runId,
67
107
  outcome: result.outcome,
68
108
  summary: result.summary,
69
109
  usage: result.usage,
@@ -90,6 +130,21 @@ function resolveHistory(options) {
90
130
  }
91
131
  return getHistoryFromAgentLoopState(options.resumeFrom);
92
132
  }
133
+ function getResumeMetadata(resumeFrom) {
134
+ if (!resumeFrom) {
135
+ return undefined;
136
+ }
137
+ if ('version' in resumeFrom) {
138
+ return {
139
+ checkpointRunId: resumeFrom.runId,
140
+ priorTraceEvents: resumeFrom.state.trace.length,
141
+ };
142
+ }
143
+ return {
144
+ checkpointRunId: resumeFrom.runId,
145
+ priorTraceEvents: resumeFrom.trace.length,
146
+ };
147
+ }
93
148
  async function createLoopLlmAdapter(options) {
94
149
  const { createLlmAdapter } = await import('../llm/factory.js');
95
150
  return createLlmAdapter(options);