@strands-agents/sdk 0.7.0 → 1.0.0-rc.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 (250) hide show
  1. package/README.md +7 -7
  2. package/dist/src/__fixtures__/agent-helpers.d.ts +44 -0
  3. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/agent-helpers.js +45 -0
  5. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  6. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -1
  7. package/dist/src/__fixtures__/mock-plugin.js +3 -1
  8. package/dist/src/__fixtures__/mock-plugin.js.map +1 -1
  9. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  10. package/dist/src/__fixtures__/tool-helpers.js +1 -0
  11. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  12. package/dist/src/a2a/__tests__/events.test.d.ts +2 -0
  13. package/dist/src/a2a/__tests__/events.test.d.ts.map +1 -0
  14. package/dist/src/a2a/__tests__/events.test.js +66 -0
  15. package/dist/src/a2a/__tests__/events.test.js.map +1 -0
  16. package/dist/src/a2a/a2a-agent.d.ts.map +1 -1
  17. package/dist/src/a2a/a2a-agent.js +1 -1
  18. package/dist/src/a2a/a2a-agent.js.map +1 -1
  19. package/dist/src/a2a/events.d.ts +2 -0
  20. package/dist/src/a2a/events.d.ts.map +1 -1
  21. package/dist/src/a2a/events.js +6 -0
  22. package/dist/src/a2a/events.js.map +1 -1
  23. package/dist/src/a2a/index.d.ts +0 -1
  24. package/dist/src/a2a/index.d.ts.map +1 -1
  25. package/dist/src/a2a/index.js +0 -1
  26. package/dist/src/a2a/index.js.map +1 -1
  27. package/dist/src/a2a/server.d.ts +1 -1
  28. package/dist/src/a2a/server.js +1 -1
  29. package/dist/src/agent/__tests__/agent.hook.test.js +229 -1
  30. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  31. package/dist/src/agent/__tests__/agent.test.js +215 -42
  32. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  33. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts +2 -0
  34. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts.map +1 -0
  35. package/dist/src/agent/__tests__/{agent.tracer.test.js → agent.tracer.test.node.js} +52 -40
  36. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -0
  37. package/dist/src/agent/__tests__/printer.test.js +7 -7
  38. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  39. package/dist/src/agent/__tests__/snapshot.test.js +39 -2
  40. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  41. package/dist/src/agent/agent.d.ts +16 -1
  42. package/dist/src/agent/agent.d.ts.map +1 -1
  43. package/dist/src/agent/agent.js +170 -94
  44. package/dist/src/agent/agent.js.map +1 -1
  45. package/dist/src/agent/printer.d.ts.map +1 -1
  46. package/dist/src/agent/printer.js +3 -0
  47. package/dist/src/agent/printer.js.map +1 -1
  48. package/dist/src/agent/snapshot.d.ts +3 -3
  49. package/dist/src/agent/snapshot.d.ts.map +1 -1
  50. package/dist/src/agent/snapshot.js +14 -7
  51. package/dist/src/agent/snapshot.js.map +1 -1
  52. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +72 -46
  53. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  54. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  55. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +14 -7
  56. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  57. package/dist/src/errors.d.ts +8 -0
  58. package/dist/src/errors.d.ts.map +1 -1
  59. package/dist/src/errors.js +11 -0
  60. package/dist/src/errors.js.map +1 -1
  61. package/dist/src/hooks/__tests__/events.test.js +387 -0
  62. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  63. package/dist/src/hooks/events.d.ts +104 -0
  64. package/dist/src/hooks/events.d.ts.map +1 -1
  65. package/dist/src/hooks/events.js +137 -0
  66. package/dist/src/hooks/events.js.map +1 -1
  67. package/dist/src/index.d.ts +2 -2
  68. package/dist/src/index.d.ts.map +1 -1
  69. package/dist/src/index.js +4 -4
  70. package/dist/src/index.js.map +1 -1
  71. package/dist/src/models/__tests__/anthropic.test.js +1 -2
  72. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  73. package/dist/src/models/__tests__/bedrock.test.js +18 -18
  74. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  75. package/dist/src/models/__tests__/google.test.d.ts +2 -0
  76. package/dist/src/models/__tests__/google.test.d.ts.map +1 -0
  77. package/dist/src/models/__tests__/{gemini.test.js → google.test.js} +55 -21
  78. package/dist/src/models/__tests__/google.test.js.map +1 -0
  79. package/dist/src/models/__tests__/openai.test.js +78 -71
  80. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  81. package/dist/src/models/anthropic.d.ts.map +1 -1
  82. package/dist/src/models/anthropic.js +8 -7
  83. package/dist/src/models/anthropic.js.map +1 -1
  84. package/dist/src/models/bedrock.d.ts +3 -3
  85. package/dist/src/models/bedrock.d.ts.map +1 -1
  86. package/dist/src/models/bedrock.js +7 -7
  87. package/dist/src/models/bedrock.js.map +1 -1
  88. package/dist/src/models/{gemini → google}/adapters.d.ts +3 -3
  89. package/dist/src/models/{gemini → google}/adapters.d.ts.map +1 -1
  90. package/dist/src/models/{gemini → google}/adapters.js +1 -1
  91. package/dist/src/models/{gemini → google}/adapters.js.map +1 -1
  92. package/dist/src/models/{gemini → google}/errors.d.ts +7 -7
  93. package/dist/src/models/google/errors.d.ts.map +1 -0
  94. package/dist/src/models/{gemini → google}/errors.js +11 -5
  95. package/dist/src/models/google/errors.js.map +1 -0
  96. package/dist/src/models/google/index.d.ts +15 -0
  97. package/dist/src/models/google/index.d.ts.map +1 -0
  98. package/dist/src/models/google/index.js +15 -0
  99. package/dist/src/models/google/index.js.map +1 -0
  100. package/dist/src/models/{gemini → google}/model.d.ts +18 -18
  101. package/dist/src/models/{gemini → google}/model.d.ts.map +1 -1
  102. package/dist/src/models/{gemini → google}/model.js +22 -19
  103. package/dist/src/models/google/model.js.map +1 -0
  104. package/dist/src/models/{gemini → google}/types.d.ts +9 -9
  105. package/dist/src/models/{gemini → google}/types.d.ts.map +1 -1
  106. package/dist/src/models/google/types.js +5 -0
  107. package/dist/src/models/google/types.js.map +1 -0
  108. package/dist/src/models/model.js +2 -2
  109. package/dist/src/models/model.js.map +1 -1
  110. package/dist/src/models/openai.d.ts +29 -11
  111. package/dist/src/models/openai.d.ts.map +1 -1
  112. package/dist/src/models/openai.js +25 -15
  113. package/dist/src/models/openai.js.map +1 -1
  114. package/dist/src/models/streaming.d.ts +13 -0
  115. package/dist/src/models/streaming.d.ts.map +1 -1
  116. package/dist/src/models/streaming.js +29 -0
  117. package/dist/src/models/streaming.js.map +1 -1
  118. package/dist/src/multiagent/__tests__/events.test.js +177 -0
  119. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  120. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts +2 -0
  121. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts.map +1 -0
  122. package/dist/src/multiagent/__tests__/graph.tracer.test.js +204 -0
  123. package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -0
  124. package/dist/src/multiagent/__tests__/nodes.test.js +48 -5
  125. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  126. package/dist/src/multiagent/__tests__/swarm.test.js +34 -6
  127. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  128. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts +2 -0
  129. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts.map +1 -0
  130. package/dist/src/multiagent/__tests__/swarm.tracer.test.js +235 -0
  131. package/dist/src/multiagent/__tests__/swarm.tracer.test.js.map +1 -0
  132. package/dist/src/multiagent/events.d.ts +14 -0
  133. package/dist/src/multiagent/events.d.ts.map +1 -1
  134. package/dist/src/multiagent/events.js +34 -0
  135. package/dist/src/multiagent/events.js.map +1 -1
  136. package/dist/src/multiagent/graph.d.ts +4 -0
  137. package/dist/src/multiagent/graph.d.ts.map +1 -1
  138. package/dist/src/multiagent/graph.js +42 -16
  139. package/dist/src/multiagent/graph.js.map +1 -1
  140. package/dist/src/multiagent/index.d.ts +1 -1
  141. package/dist/src/multiagent/index.d.ts.map +1 -1
  142. package/dist/src/multiagent/index.js.map +1 -1
  143. package/dist/src/multiagent/nodes.d.ts +23 -9
  144. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  145. package/dist/src/multiagent/nodes.js +25 -14
  146. package/dist/src/multiagent/nodes.js.map +1 -1
  147. package/dist/src/multiagent/state.d.ts +8 -3
  148. package/dist/src/multiagent/state.d.ts.map +1 -1
  149. package/dist/src/multiagent/state.js +18 -4
  150. package/dist/src/multiagent/state.js.map +1 -1
  151. package/dist/src/multiagent/swarm.d.ts +15 -1
  152. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  153. package/dist/src/multiagent/swarm.js +71 -30
  154. package/dist/src/multiagent/swarm.js.map +1 -1
  155. package/dist/src/session/__tests__/session-manager.test.js +36 -0
  156. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  157. package/dist/src/session/session-manager.d.ts +2 -3
  158. package/dist/src/session/session-manager.d.ts.map +1 -1
  159. package/dist/src/session/session-manager.js +11 -9
  160. package/dist/src/session/session-manager.js.map +1 -1
  161. package/dist/src/telemetry/__tests__/local-trace.test.d.ts +2 -0
  162. package/dist/src/telemetry/__tests__/local-trace.test.d.ts.map +1 -0
  163. package/dist/src/telemetry/__tests__/local-trace.test.js +158 -0
  164. package/dist/src/telemetry/__tests__/local-trace.test.js.map +1 -0
  165. package/dist/src/telemetry/__tests__/tracer.test.node.js +28 -0
  166. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
  167. package/dist/src/telemetry/config.js +1 -1
  168. package/dist/src/telemetry/config.js.map +1 -1
  169. package/dist/src/telemetry/meter.d.ts +0 -13
  170. package/dist/src/telemetry/meter.d.ts.map +1 -1
  171. package/dist/src/telemetry/meter.js +8 -36
  172. package/dist/src/telemetry/meter.js.map +1 -1
  173. package/dist/src/telemetry/tracer.d.ts +107 -18
  174. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  175. package/dist/src/telemetry/tracer.js +245 -33
  176. package/dist/src/telemetry/tracer.js.map +1 -1
  177. package/dist/src/telemetry/types.d.ts +49 -0
  178. package/dist/src/telemetry/types.d.ts.map +1 -1
  179. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts +2 -0
  180. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts.map +1 -0
  181. package/dist/src/tools/__tests__/structured-output-tool.test.js +84 -0
  182. package/dist/src/tools/__tests__/structured-output-tool.test.js.map +1 -0
  183. package/dist/src/tools/structured-output-tool.d.ts +41 -0
  184. package/dist/src/tools/structured-output-tool.d.ts.map +1 -0
  185. package/dist/src/tools/structured-output-tool.js +82 -0
  186. package/dist/src/tools/structured-output-tool.js.map +1 -0
  187. package/dist/src/tools/zod-tool.js +1 -1
  188. package/dist/src/tools/zod-tool.js.map +1 -1
  189. package/dist/src/{utils/zod.d.ts → tools/zod-utils.d.ts} +1 -1
  190. package/dist/src/tools/zod-utils.d.ts.map +1 -0
  191. package/dist/src/{utils/zod.js → tools/zod-utils.js} +1 -1
  192. package/dist/src/tools/zod-utils.js.map +1 -0
  193. package/dist/src/tsconfig.tsbuildinfo +1 -1
  194. package/dist/src/types/__tests__/agent.test.js +127 -0
  195. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  196. package/dist/src/types/agent.d.ts +27 -1
  197. package/dist/src/types/agent.d.ts.map +1 -1
  198. package/dist/src/types/agent.js +26 -0
  199. package/dist/src/types/agent.js.map +1 -1
  200. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +12 -0
  201. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  202. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  203. package/dist/src/vended-tools/bash/bash.js +16 -14
  204. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  205. package/package.json +12 -8
  206. package/dist/src/agent/__tests__/agent.tracer.test.d.ts +0 -2
  207. package/dist/src/agent/__tests__/agent.tracer.test.d.ts.map +0 -1
  208. package/dist/src/agent/__tests__/agent.tracer.test.js.map +0 -1
  209. package/dist/src/models/__tests__/gemini.test.d.ts +0 -2
  210. package/dist/src/models/__tests__/gemini.test.d.ts.map +0 -1
  211. package/dist/src/models/__tests__/gemini.test.js.map +0 -1
  212. package/dist/src/models/gemini/errors.d.ts.map +0 -1
  213. package/dist/src/models/gemini/errors.js.map +0 -1
  214. package/dist/src/models/gemini/model.js.map +0 -1
  215. package/dist/src/models/gemini/types.js +0 -5
  216. package/dist/src/models/gemini/types.js.map +0 -1
  217. package/dist/src/structured-output/__tests__/context.test.d.ts +0 -2
  218. package/dist/src/structured-output/__tests__/context.test.d.ts.map +0 -1
  219. package/dist/src/structured-output/__tests__/context.test.js +0 -201
  220. package/dist/src/structured-output/__tests__/context.test.js.map +0 -1
  221. package/dist/src/structured-output/__tests__/exceptions.test.d.ts +0 -2
  222. package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +0 -1
  223. package/dist/src/structured-output/__tests__/exceptions.test.js +0 -103
  224. package/dist/src/structured-output/__tests__/exceptions.test.js.map +0 -1
  225. package/dist/src/structured-output/__tests__/tool.test.d.ts +0 -2
  226. package/dist/src/structured-output/__tests__/tool.test.d.ts.map +0 -1
  227. package/dist/src/structured-output/__tests__/tool.test.js +0 -256
  228. package/dist/src/structured-output/__tests__/tool.test.js.map +0 -1
  229. package/dist/src/structured-output/__tests__/utils.test.d.ts +0 -2
  230. package/dist/src/structured-output/__tests__/utils.test.d.ts.map +0 -1
  231. package/dist/src/structured-output/__tests__/utils.test.js +0 -183
  232. package/dist/src/structured-output/__tests__/utils.test.js.map +0 -1
  233. package/dist/src/structured-output/context.d.ts +0 -91
  234. package/dist/src/structured-output/context.d.ts.map +0 -1
  235. package/dist/src/structured-output/context.js +0 -112
  236. package/dist/src/structured-output/context.js.map +0 -1
  237. package/dist/src/structured-output/exceptions.d.ts +0 -18
  238. package/dist/src/structured-output/exceptions.d.ts.map +0 -1
  239. package/dist/src/structured-output/exceptions.js +0 -28
  240. package/dist/src/structured-output/exceptions.js.map +0 -1
  241. package/dist/src/structured-output/tool.d.ts +0 -33
  242. package/dist/src/structured-output/tool.d.ts.map +0 -1
  243. package/dist/src/structured-output/tool.js +0 -73
  244. package/dist/src/structured-output/tool.js.map +0 -1
  245. package/dist/src/structured-output/utils.d.ts +0 -23
  246. package/dist/src/structured-output/utils.d.ts.map +0 -1
  247. package/dist/src/structured-output/utils.js +0 -104
  248. package/dist/src/structured-output/utils.js.map +0 -1
  249. package/dist/src/utils/zod.d.ts.map +0 -1
  250. package/dist/src/utils/zod.js.map +0 -1
@@ -56,7 +56,7 @@ import { contentBlockFromData, Message, TextBlock, ToolResultBlock, ToolUseBlock
56
56
  import { McpClient } from '../mcp.js';
57
57
  import {} from '../tools/tool.js';
58
58
  import { systemPromptFromData } from '../types/messages.js';
59
- import { normalizeError, ConcurrentInvocationError, MaxTokensError } from '../errors.js';
59
+ import { normalizeError, ConcurrentInvocationError, StructuredOutputError } from '../errors.js';
60
60
  import { Model } from '../models/model.js';
61
61
  import { isModelStreamEvent } from '../models/streaming.js';
62
62
  import { ToolRegistry } from '../registry/tool-registry.js';
@@ -67,8 +67,7 @@ import { SlidingWindowConversationManager } from '../conversation-manager/slidin
67
67
  import { ConversationManager } from '../conversation-manager/conversation-manager.js';
68
68
  import { HookRegistryImplementation } from '../hooks/registry.js';
69
69
  import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, HookableEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, AgentResultEvent, ToolStreamUpdateEvent, } from '../hooks/events.js';
70
- import { createStructuredOutputContext } from '../structured-output/context.js';
71
- import { StructuredOutputException } from '../structured-output/exceptions.js';
70
+ import { StructuredOutputTool, STRUCTURED_OUTPUT_TOOL_NAME } from '../tools/structured-output-tool.js';
72
71
  import { Tracer } from '../telemetry/tracer.js';
73
72
  import { Meter } from '../telemetry/meter.js';
74
73
  import { logger } from '../logging/logger.js';
@@ -295,24 +294,29 @@ export class Agent {
295
294
  await this.initialize();
296
295
  // Delegate to _stream and process events through printer and hooks
297
296
  const streamGenerator = this._stream(args, options);
298
- let result = await streamGenerator.next();
299
- while (!result.done) {
300
- const event = result.value;
301
- // Invoke hook callbacks for hookable events (all current events are hookable;
302
- // the guard exists for future StreamEvent subclasses that may not be)
303
- if (event instanceof HookableEvent) {
304
- await this._hooksRegistry.invokeCallbacks(event);
297
+ try {
298
+ let result = await streamGenerator.next();
299
+ while (!result.done) {
300
+ yield await this._invokeCallbacks(result.value);
301
+ result = await streamGenerator.next();
302
+ }
303
+ yield await this._invokeCallbacks(new AgentResultEvent({ agent: this, result: result.value }));
304
+ return result.value;
305
+ }
306
+ finally {
307
+ // Drain remaining events from _stream() so cleanup events (after events
308
+ // from finally blocks) still get their hooks and printer invoked.
309
+ let result = await streamGenerator.return(undefined);
310
+ while (!result.done) {
311
+ try {
312
+ yield await this._invokeCallbacks(result.value);
313
+ }
314
+ catch (error) {
315
+ logger.warn(`event_type=<${result.value.type}>, error=<${error}> | error invoking callbacks during cleanup`);
316
+ }
317
+ result = await streamGenerator.next();
305
318
  }
306
- this._printer?.processEvent(event);
307
- yield event;
308
- result = await streamGenerator.next();
309
319
  }
310
- // Yield final result as last event
311
- const agentResultEvent = new AgentResultEvent({ agent: this, result: result.value });
312
- await this._hooksRegistry.invokeCallbacks(agentResultEvent);
313
- this._printer?.processEvent(agentResultEvent);
314
- yield agentResultEvent;
315
- return result.value;
316
320
  }
317
321
  catch (e_1) {
318
322
  env_1.error = e_1;
@@ -322,6 +326,19 @@ export class Agent {
322
326
  __disposeResources(env_1);
323
327
  }
324
328
  }
329
+ /**
330
+ * Invokes hook callbacks and printer for a stream event.
331
+ *
332
+ * @param event - The event to process
333
+ * @returns The event after processing
334
+ */
335
+ async _invokeCallbacks(event) {
336
+ if (event instanceof HookableEvent) {
337
+ await this._hooksRegistry.invokeCallbacks(event);
338
+ }
339
+ this._printer?.processEvent(event);
340
+ return event;
341
+ }
325
342
  /**
326
343
  * Internal implementation of the agent streaming logic.
327
344
  * Separated to centralize printer event processing in the public stream method.
@@ -332,11 +349,11 @@ export class Agent {
332
349
  */
333
350
  async *_stream(args, options) {
334
351
  let currentArgs = args;
335
- let forcedToolChoice = undefined;
336
352
  let result;
337
- // Create structured output context (uses null object pattern when no schema)
338
- const schema = options?.structuredOutputSchema ?? this._structuredOutputSchema;
339
- const context = createStructuredOutputContext(schema);
353
+ // Resolve structured output schema from per-invocation options or constructor config
354
+ const structuredOutputSchema = options?.structuredOutputSchema ?? this._structuredOutputSchema;
355
+ const structuredOutputTool = structuredOutputSchema ? new StructuredOutputTool(structuredOutputSchema) : undefined;
356
+ let structuredOutputChoice;
340
357
  // Emit event before the try block
341
358
  yield new BeforeInvocationEvent({ agent: this });
342
359
  // Normalize input to get the user messages for telemetry
@@ -352,13 +369,15 @@ export class Agent {
352
369
  };
353
370
  if (agentModelId)
354
371
  agentSpanOptions.modelId = agentModelId;
355
- if (this.systemPrompt)
372
+ if (this.systemPrompt !== undefined)
356
373
  agentSpanOptions.systemPrompt = this.systemPrompt;
357
374
  const agentSpan = this._tracer.startAgentSpan(agentSpanOptions);
358
375
  let caughtError;
359
376
  try {
360
- // Register structured output tool
361
- context.registerTool(this._toolRegistry);
377
+ // Register structured output tool if schema provided
378
+ if (structuredOutputTool) {
379
+ this._toolRegistry.add(structuredOutputTool);
380
+ }
362
381
  // Main agent loop - continues until model stops without requesting tools
363
382
  while (true) {
364
383
  // Start metrics cycle tracking
@@ -377,68 +396,57 @@ export class Agent {
377
396
  }
378
397
  currentArgs = undefined;
379
398
  }
380
- const modelResult = yield* this.invokeModel(forcedToolChoice);
381
- const wasForced = forcedToolChoice !== undefined;
382
- forcedToolChoice = undefined; // Clear after use
399
+ const modelResult = yield* this._invokeModel(structuredOutputChoice);
383
400
  if (modelResult.stopReason !== 'toolUse') {
384
- // Special handling for maxTokens - always fail regardless of whether we have structured output
385
- if (modelResult.stopReason === 'maxTokens') {
386
- throw new MaxTokensError('The model reached maxTokens before producing structured output. Consider increasing maxTokens in your model configuration.', modelResult.message);
387
- }
388
- // Check if we need to force structured output tool
389
- if (!context.hasResult()) {
390
- if (wasForced) {
391
- // Already tried forcing - LLM refused to use the tool
392
- throw new StructuredOutputException('The model failed to invoke the structured output tool even after it was forced.');
401
+ // If structured output is required, force it
402
+ if (structuredOutputTool) {
403
+ if (structuredOutputChoice) {
404
+ throw new StructuredOutputError('The model failed to invoke the structured output tool even after it was forced.');
393
405
  }
394
- // Force the model to use the structured output tool
395
- const toolName = context.getToolName();
396
- forcedToolChoice = { tool: { name: toolName } };
397
- this._meter.endCycle(cycleStartTime);
398
- this._tracer.endAgentLoopSpan(cycleSpan);
399
- continue;
406
+ structuredOutputChoice = { tool: { name: STRUCTURED_OUTPUT_TOOL_NAME } };
400
407
  }
401
- // Loop terminates - no tool use requested (and structured output satisfied if needed)
402
- yield this._appendMessage(modelResult.message);
403
- // End cycle tracking
404
408
  this._meter.endCycle(cycleStartTime);
405
- // End cycle span
406
409
  this._tracer.endAgentLoopSpan(cycleSpan);
407
- const structuredOutput = context.getResult();
410
+ yield this._appendMessage(modelResult.message);
411
+ if (structuredOutputChoice) {
412
+ continue;
413
+ }
408
414
  result = new AgentResult({
409
415
  stopReason: modelResult.stopReason,
410
416
  lastMessage: modelResult.message,
411
- structuredOutput,
417
+ traces: this._tracer.localTraces,
412
418
  metrics: this._meter.metrics,
413
419
  });
414
420
  return result;
415
421
  }
416
- // Execute tools sequentially
422
+ // Execute tools
417
423
  const toolResultMessage = yield* this.executeTools(modelResult.message, this._toolRegistry);
418
424
  /**
419
425
  * Deferred append: both messages are added AFTER tool execution completes.
420
- * This keeps agent.messages in a valid, reinvokable state at all times:
421
- *
422
- * - If interrupted during tool execution, messages has no dangling toolUse
423
- * without a matching toolResult, so the agent can be reinvoked cleanly.
424
- * - The Python SDK appends the assistant message BEFORE tool execution,
425
- * requiring recovery logic (generate_missing_tool_result_content) on
426
- * interrupts. We avoid that by deferring.
427
- * - Trade-off: MessageAddedEvent for the assistant message fires after tools
428
- * complete (not before as in Python), and agent.messages is incomplete
429
- * during tool execution. Events like BeforeToolsEvent.message and
430
- * BeforeToolCallEvent.toolUse provide the data directly.
426
+ * This keeps agent.messages in a valid, reinvokable state at all times.
427
+ * If interrupted during tool execution, messages has no dangling toolUse
428
+ * without a matching toolResult, so the agent can be reinvoked cleanly.
431
429
  */
432
430
  yield this._appendMessage(modelResult.message);
433
431
  yield this._appendMessage(toolResultMessage);
434
- // End cycle tracking
435
432
  this._meter.endCycle(cycleStartTime);
436
- // End cycle span
437
433
  this._tracer.endAgentLoopSpan(cycleSpan);
438
- // Continue loop
434
+ // Structured output captured: exit
435
+ const structuredOutput = structuredOutputTool
436
+ ? this._extractStructuredOutput(modelResult.message, toolResultMessage)
437
+ : undefined;
438
+ if (structuredOutput !== undefined) {
439
+ result = new AgentResult({
440
+ stopReason: modelResult.stopReason,
441
+ lastMessage: modelResult.message,
442
+ traces: this._tracer.localTraces,
443
+ structuredOutput,
444
+ metrics: this._meter.metrics,
445
+ });
446
+ return result;
447
+ }
439
448
  }
440
449
  catch (error) {
441
- // End cycle tracking and span with error
442
450
  this._meter.endCycle(cycleStartTime);
443
451
  this._tracer.endAgentLoopSpan(cycleSpan, { error: error });
444
452
  throw error;
@@ -456,12 +464,31 @@ export class Agent {
456
464
  accumulatedUsage: this._meter.metrics.accumulatedUsage,
457
465
  ...(result?.stopReason && { stopReason: result.stopReason }),
458
466
  });
459
- // Cleanup structured output context
460
- context.cleanup(this._toolRegistry);
467
+ // Cleanup structured output tool
468
+ if (structuredOutputTool) {
469
+ this._toolRegistry.remove(STRUCTURED_OUTPUT_TOOL_NAME);
470
+ }
461
471
  // Always emit final event
462
472
  yield new AfterInvocationEvent({ agent: this });
463
473
  }
464
474
  }
475
+ /**
476
+ * Extracts the validated structured output result from tool execution.
477
+ *
478
+ * @param toolUseMessage - The assistant message containing tool use blocks
479
+ * @param toolResultMessage - The message containing tool results
480
+ * @returns The parsed structured output, or undefined if not found
481
+ */
482
+ _extractStructuredOutput(toolUseMessage, toolResultMessage) {
483
+ const toolUse = toolUseMessage.content.find((block) => block.type === 'toolUseBlock' && block.name === STRUCTURED_OUTPUT_TOOL_NAME);
484
+ if (!toolUse)
485
+ return undefined;
486
+ const toolResult = toolResultMessage.content.find((block) => block.type === 'toolResultBlock' && block.toolUseId === toolUse.toolUseId && block.status === 'success');
487
+ if (!toolResult)
488
+ return undefined;
489
+ const firstContent = toolResult.content[0];
490
+ return firstContent?.type === 'jsonBlock' ? firstContent.json : undefined;
491
+ }
465
492
  /**
466
493
  * Normalizes agent invocation input into an array of messages to append.
467
494
  *
@@ -524,15 +551,15 @@ export class Agent {
524
551
  * @param toolChoice - Optional tool choice to force specific tool usage
525
552
  * @returns Object containing the assistant message, stop reason, and optional redaction message
526
553
  */
527
- async *invokeModel(forcedToolChoice) {
554
+ async *_invokeModel(toolChoice) {
528
555
  const toolSpecs = this._toolRegistry.list().map((tool) => tool.toolSpec);
529
556
  const streamOptions = { toolSpecs };
530
557
  if (this.systemPrompt !== undefined) {
531
558
  streamOptions.systemPrompt = this.systemPrompt;
532
559
  }
533
- // Add tool choice if provided (for structured output forcing)
534
- if (forcedToolChoice) {
535
- streamOptions.toolChoice = forcedToolChoice;
560
+ // Add tool choice if provided
561
+ if (toolChoice) {
562
+ streamOptions.toolChoice = toolChoice;
536
563
  }
537
564
  yield new BeforeModelCallEvent({ agent: this });
538
565
  // Start model span within loop span context
@@ -568,7 +595,7 @@ export class Agent {
568
595
  const afterModelCallEvent = new AfterModelCallEvent({ agent: this, stopData });
569
596
  yield afterModelCallEvent;
570
597
  if (afterModelCallEvent.retry) {
571
- return yield* this.invokeModel(forcedToolChoice);
598
+ return yield* this._invokeModel(toolChoice);
572
599
  }
573
600
  return result;
574
601
  }
@@ -582,7 +609,7 @@ export class Agent {
582
609
  yield errorEvent;
583
610
  // After yielding, hooks have been invoked and may have set retry
584
611
  if (errorEvent.retry) {
585
- return yield* this.invokeModel(forcedToolChoice);
612
+ return yield* this._invokeModel(toolChoice);
586
613
  }
587
614
  // Re-throw error
588
615
  throw error;
@@ -630,26 +657,46 @@ export class Agent {
630
657
  * @returns User message containing tool results
631
658
  */
632
659
  async *executeTools(assistantMessage, toolRegistry) {
633
- yield new BeforeToolsEvent({ agent: this, message: assistantMessage });
634
- // Extract tool use blocks from assistant message
635
- const toolUseBlocks = assistantMessage.content.filter((block) => block.type === 'toolUseBlock');
636
- if (toolUseBlocks.length === 0) {
637
- // No tool use blocks found even though stopReason is toolUse
638
- throw new Error('Model indicated toolUse but no tool use blocks found in message');
639
- }
660
+ const beforeToolsEvent = new BeforeToolsEvent({ agent: this, message: assistantMessage });
661
+ yield beforeToolsEvent;
640
662
  const toolResultBlocks = [];
641
- for (const toolUseBlock of toolUseBlocks) {
642
- const toolResultBlock = yield* this.executeTool(toolUseBlock, toolRegistry);
643
- toolResultBlocks.push(toolResultBlock);
644
- // Yield the tool result event as it's created
645
- yield new ToolResultEvent({ agent: this, result: toolResultBlock });
663
+ let toolResultMessage;
664
+ try {
665
+ // Extract tool use blocks from assistant message
666
+ const toolUseBlocks = assistantMessage.content.filter((block) => block.type === 'toolUseBlock');
667
+ if (toolUseBlocks.length === 0) {
668
+ // No tool use blocks found even though stopReason is toolUse
669
+ throw new Error('Model indicated toolUse but no tool use blocks found in message');
670
+ }
671
+ // Cancel all tools if hook requested it
672
+ if (beforeToolsEvent.cancel) {
673
+ const cancelMessage = cancelToolMessage(beforeToolsEvent.cancel);
674
+ const cancelBlocks = toolUseBlocks.map((block) => new ToolResultBlock({
675
+ toolUseId: block.toolUseId,
676
+ status: 'error',
677
+ content: [new TextBlock(cancelMessage)],
678
+ }));
679
+ for (const result of cancelBlocks) {
680
+ yield new ToolResultEvent({ agent: this, result });
681
+ }
682
+ toolResultBlocks.push(...cancelBlocks);
683
+ }
684
+ else {
685
+ for (const toolUseBlock of toolUseBlocks) {
686
+ const toolResultBlock = yield* this.executeTool(toolUseBlock, toolRegistry);
687
+ toolResultBlocks.push(toolResultBlock);
688
+ // Yield the tool result event as it's created
689
+ yield new ToolResultEvent({ agent: this, result: toolResultBlock });
690
+ }
691
+ }
692
+ }
693
+ finally {
694
+ toolResultMessage = new Message({
695
+ role: 'user',
696
+ content: toolResultBlocks,
697
+ });
698
+ yield new AfterToolsEvent({ agent: this, message: toolResultMessage });
646
699
  }
647
- // Create user message with tool results
648
- const toolResultMessage = new Message({
649
- role: 'user',
650
- content: toolResultBlocks,
651
- });
652
- yield new AfterToolsEvent({ agent: this, message: toolResultMessage });
653
700
  return toolResultMessage;
654
701
  }
655
702
  /**
@@ -672,7 +719,28 @@ export class Agent {
672
719
  };
673
720
  // Retry loop for tool execution
674
721
  while (true) {
675
- yield new BeforeToolCallEvent({ agent: this, toolUse, tool });
722
+ const beforeToolCallEvent = new BeforeToolCallEvent({ agent: this, toolUse, tool });
723
+ yield beforeToolCallEvent;
724
+ // Cancel individual tool if hook requested it
725
+ if (beforeToolCallEvent.cancel) {
726
+ const cancelMessage = cancelToolMessage(beforeToolCallEvent.cancel);
727
+ const toolResult = new ToolResultBlock({
728
+ toolUseId: toolUseBlock.toolUseId,
729
+ status: 'error',
730
+ content: [new TextBlock(cancelMessage)],
731
+ });
732
+ const afterToolCallEvent = new AfterToolCallEvent({
733
+ agent: this,
734
+ toolUse,
735
+ tool,
736
+ result: toolResult,
737
+ });
738
+ yield afterToolCallEvent;
739
+ if (afterToolCallEvent.retry) {
740
+ continue;
741
+ }
742
+ return toolResult;
743
+ }
676
744
  // Start tool span within loop span context
677
745
  const toolSpan = this._tracer.startToolCallSpan({
678
746
  tool: toolUse,
@@ -800,7 +868,7 @@ export class Agent {
800
868
  }
801
869
  else if (lastMessage) {
802
870
  // Unexpected state: redaction requested but last message is not from user
803
- logger.warn(`role=<${lastMessage.role}> | received input redaction but last message is not from user | redaction skipped.`);
871
+ logger.warn(`role=<${lastMessage.role}> | received input redaction but last message is not from user | redaction skipped`);
804
872
  }
805
873
  }
806
874
  }
@@ -815,6 +883,14 @@ export class Agent {
815
883
  return new MessageAddedEvent({ agent: this, message });
816
884
  }
817
885
  }
886
+ /**
887
+ * Returns the cancel message for a cancelled tool.
888
+ * @param cancelTool - The cancel value (true or custom message)
889
+ * @returns The cancel message string
890
+ */
891
+ function cancelToolMessage(cancelTool) {
892
+ return typeof cancelTool === 'string' ? cancelTool : 'tool cancelled by hook';
893
+ }
818
894
  /**
819
895
  * Recursively flattens nested arrays of tools into a single flat array.
820
896
  * @param tools - Tools or nested arrays of tools
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,WAAW,GAMZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,oBAAoB,EAGpB,OAAO,EAIP,SAAS,EACT,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAA+B,MAAM,kBAAkB,CAAA;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC/F,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAA;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gEAAgE,CAAA;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAItG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA2F7C,6DAA6D;AAC7D,MAAM,kBAAkB,GAAG,eAAe,CAAA;AAE1C,mEAAmE;AACnE,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC;;;;GAIG;AACH,MAAM,OAAO,KAAK;IAChB;;OAEG;IACa,QAAQ,CAAW;IACnC;;;OAGG;IACa,QAAQ,CAAY;IACnB,oBAAoB,CAAqB;IAE1D;;OAEG;IACI,KAAK,CAAO;IAEnB;;OAEG;IACI,YAAY,CAAe;IAElC;;OAEG;IACa,IAAI,CAAQ;IAE5B;;OAEG;IACa,EAAE,CAAQ;IAE1B;;OAEG;IACa,WAAW,CAAS;IAEnB,cAAc,CAA4B;IAC1C,eAAe,CAAgB;IACxC,aAAa,CAAc;IAC3B,WAAW,CAAa;IACxB,YAAY,CAAS;IACrB,WAAW,GAAY,KAAK,CAAA;IAC5B,QAAQ,CAAU;IAClB,uBAAuB,CAA0B;IACzD,qEAAqE;IAC7D,OAAO,CAAQ;IACvB,sEAAsE;IAC9D,MAAM,CAAO;IAErB;;;OAGG;IACH,YAAY,MAAoB;QAC9B,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACpH,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChD,IAAI,CAAC,oBAAoB,GAAG,MAAM,EAAE,mBAAmB,IAAI,IAAI,gCAAgC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QACnH,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,kBAAkB,CAAA;QAC9C,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,gBAAgB,CAAA;QACxC,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QAE5E,IAAI,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,YAAY,EAAE,CAAA;QAClD,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAE7B,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,0BAA0B,EAAE,CAAA;QAEtD,oFAAoF;QACpF,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;YACxC,IAAI,CAAC,oBAAoB;YACzB,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAA;QAEF,IAAI,MAAM,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC/D,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAA;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAA;QACxD,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,uBAAuB,GAAG,MAAM,EAAE,sBAAsB,CAAA;QAE7D,kEAAkE;QAClE,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAElD,kDAAkD;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;QAEzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAA0B,SAAsC,EAAE,QAAyB;QAChG,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,kDAAkD;QAClD,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;YACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC,CAAC,CACH,CAAA;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAE3C,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAEhF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,yBAAyB,CACjC,8HAA8H,CAC/H,CAAA;QACH,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,OAAO;YACL,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAS,EAAE;gBAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YAC1B,CAAC;SACF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAE,OAAuB;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtC,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,CAAC,MAAM,CAClB,IAAgB,EAChB,OAAuB;;;YAEvB,MAAM,KAAK,kCAAG,IAAI,CAAC,WAAW,EAAE,QAAA,CAAA;YAEhC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAEvB,mEAAmE;YACnE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACnD,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;gBAEzC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC/C,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;gBACvC,CAAC;gBAED,MAAM,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAE9F,OAAO,MAAM,CAAC,KAAK,CAAA;YACrB,CAAC;oBAAS,CAAC;gBACT,wEAAwE;gBACxE,kEAAkE;gBAClE,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAkB,CAAC,CAAA;gBAC7D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,IAAI,CAAC;wBACH,MAAM,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACjD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,KAAK,6CAA6C,CAAC,CAAA;oBAC9G,CAAC;oBACD,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;gBACvC,CAAC;YACH,CAAC;;;;;;;;;KACF;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,KAAuB;QACpD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,CAAC,OAAO,CACpB,IAAgB,EAChB,OAAuB;QAEvB,IAAI,WAAW,GAA2B,IAAI,CAAA;QAC9C,IAAI,MAA+B,CAAA;QAEnC,qFAAqF;QACrF,MAAM,sBAAsB,GAAG,OAAO,EAAE,sBAAsB,IAAI,IAAI,CAAC,uBAAuB,CAAA;QAC9F,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAClH,IAAI,sBAA8C,CAAA;QAElD,kCAAkC;QAClC,MAAM,IAAI,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhD,yDAAyD;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAEhD,yBAAyB;QACzB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAA;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;QACvC,MAAM,gBAAgB,GAA4C;YAChE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAA;QACD,IAAI,YAAY;YAAE,gBAAgB,CAAC,OAAO,GAAG,YAAY,CAAA;QACzD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;QAE/D,IAAI,WAA8B,CAAA;QAClC,IAAI,CAAC;YACH,qDAAqD;YACrD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;YAC9C,CAAC;YAED,yEAAyE;YACzE,OAAO,IAAI,EAAE,CAAC;gBACZ,+BAA+B;gBAC/B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;gBAEvE,yDAAyD;gBACzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBAChD,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAA;gBAEF,IAAI,CAAC;oBACH,oEAAoE;oBACpE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;wBAC1D,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;4BACvC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;wBACpC,CAAC;wBACD,WAAW,GAAG,SAAS,CAAA;oBACzB,CAAC;oBAED,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAA;oBAEpE,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBACzC,6CAA6C;wBAC7C,IAAI,oBAAoB,EAAE,CAAC;4BACzB,IAAI,sBAAsB,EAAE,CAAC;gCAC3B,MAAM,IAAI,qBAAqB,CAC7B,iFAAiF,CAClF,CAAA;4BACH,CAAC;4BAED,sBAAsB,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,EAAE,CAAA;wBAC1E,CAAC;wBAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;wBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;wBAExC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;wBAE9C,IAAI,sBAAsB,EAAE,CAAC;4BAC3B,SAAQ;wBACV,CAAC;wBAED,MAAM,GAAG,IAAI,WAAW,CAAC;4BACvB,UAAU,EAAE,WAAW,CAAC,UAAU;4BAClC,WAAW,EAAE,WAAW,CAAC,OAAO;4BAChC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;4BAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;yBAC7B,CAAC,CAAA;wBACF,OAAO,MAAM,CAAA;oBACf,CAAC;oBAED,gBAAgB;oBAChB,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;oBAE3F;;;;;uBAKG;oBACH,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;oBAC9C,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;oBAE5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;oBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;oBAExC,mCAAmC;oBACnC,MAAM,gBAAgB,GAAG,oBAAoB;wBAC3C,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC;wBACvE,CAAC,CAAC,SAAS,CAAA;oBACb,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;wBACnC,MAAM,GAAG,IAAI,WAAW,CAAC;4BACvB,UAAU,EAAE,WAAW,CAAC,UAAU;4BAClC,WAAW,EAAE,WAAW,CAAC,OAAO;4BAChC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;4BAChC,gBAAgB;4BAChB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;yBAC7B,CAAC,CAAA;wBACF,OAAO,MAAM,CAAA;oBACf,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;oBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAA;oBACnE,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,GAAG,KAAc,CAAA;YAC5B,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE;gBACnC,GAAG,CAAC,WAAW,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gBAC1C,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5D,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB;gBACtD,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;aAC7D,CAAC,CAAA;YAEF,iCAAiC;YACjC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAA;YACxD,CAAC;YAED,0BAA0B;YAC1B,MAAM,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,wBAAwB,CAAC,cAAuB,EAAE,iBAA0B;QAClF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,CAC9G,CAAA;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAA;QAE9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAC/C,CAAC,KAAK,EAA4B,EAAE,CAClC,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAC1G,CAAA;QACD,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAA;QAEjC,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1C,OAAO,YAAY,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,IAAiB;QACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,0DAA0D;gBAC1D,OAAO;oBACL,IAAI,OAAO,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;qBAC/B,CAAC;iBACH,CAAA;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;gBAE7B,2CAA2C;gBAC3C,IAAI,MAAM,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpE,kDAAkD;oBAClD,IAAI,YAAY,YAAY,OAAO,EAAE,CAAC;wBACpC,uCAAuC;wBACvC,OAAO,IAAiB,CAAA;oBAC1B,CAAC;yBAAM,CAAC;wBACN,4CAA4C;wBAC5C,OAAQ,IAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC7E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,4CAA4C;oBAC5C,2DAA2D;oBAC3D,IAAI,aAA6B,CAAA;oBACjC,IAAI,MAAM,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACpE,kCAAkC;wBAClC,aAAa,GAAG,IAAsB,CAAA;oBACxC,CAAC;yBAAM,CAAC;wBACN,0DAA0D;wBAC1D,aAAa,GAAI,IAA2B,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;oBACxE,CAAC;oBAED,OAAO;wBACL,IAAI,OAAO,CAAC;4BACV,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,aAAa;yBACvB,CAAC;qBACH,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,kDAAkD;QAClD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,CAAC,YAAY,CACzB,UAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxE,MAAM,aAAa,GAAkB,EAAE,SAAS,EAAE,CAAA;QAClD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QAChD,CAAC;QAED,8BAA8B;QAC9B,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,UAAU,GAAG,UAAU,CAAA;QACvC,CAAC;QAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/C,4CAA4C;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5E,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;YAEzE,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAExC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAA;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAA;YACxC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE;gBACzC,MAAM,EAAE,MAAM,CAAC,OAAO;gBACtB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;aAC5B,CAAC,CAAA;YAEF,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;YAEpG,4DAA4D;YAC5D,IAAI,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,QAAQ,GAAkB;gBAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;aACzD,CAAA;YAED,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC9E,MAAM,mBAAmB,CAAA;YAEzB,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAC7C,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YAExC,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;YAEjE,qBAAqB;YACrB,MAAM,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;YAE9E,+CAA+C;YAC/C,MAAM,UAAU,CAAA;YAEhB,iEAAiE;YACjE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAC7C,CAAC;YAED,iBAAiB;YACjB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,CAAC,gBAAgB,CAC7B,QAAmB,EACnB,aAA4B;QAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC5E,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QAEzC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YAE1B,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,mDAAmD;gBACnD,MAAM,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1D,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QACvC,CAAC;QAED,8DAA8D;QAC9D,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,CAAC,YAAY,CACzB,gBAAyB,EACzB,YAA0B;QAE1B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACzF,MAAM,gBAAgB,CAAA;QAEtB,MAAM,gBAAgB,GAAsB,EAAE,CAAA;QAC9C,IAAI,iBAA0B,CAAA;QAE9B,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CACnD,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAChE,CAAA;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,6DAA6D;gBAC7D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;YACpF,CAAC;YAED,wCAAwC;YACxC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;gBAChE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CACpC,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,eAAe,CAAC;oBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;iBACxC,CAAC,CACL,CAAA;gBACD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,MAAM,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBACpD,CAAC;gBACD,gBAAgB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YACxC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBACzC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;oBAC3E,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;oBAEtC,8CAA8C;oBAC9C,MAAM,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,iBAAiB,GAAG,IAAI,OAAO,CAAC;gBAC9B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAA;YAEF,MAAM,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,CAAC,WAAW,CACxB,YAA0B,EAC1B,YAA0B;QAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEhD,sDAAsD;QACtD,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,KAAK,EAAE,YAAY,CAAC,KAAK;SAC1B,CAAA;QAED,gCAAgC;QAChC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACnF,MAAM,mBAAmB,CAAA;YAEzB,8CAA8C;YAC9C,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;gBACnE,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC;oBACrC,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;iBACxC,CAAC,CAAA;gBACF,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;oBAChD,KAAK,EAAE,IAAI;oBACX,OAAO;oBACP,IAAI;oBACJ,MAAM,EAAE,UAAU;iBACnB,CAAC,CAAA;gBACF,MAAM,kBAAkB,CAAA;gBACxB,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBAC7B,SAAQ;gBACV,CAAC;gBACD,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,IAAI,EAAE,OAAO;aACd,CAAC,CAAA;YAEF,wCAAwC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAEhC,IAAI,UAA2B,CAAA;YAC/B,IAAI,KAAwB,CAAA;YAE5B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,iBAAiB;gBACjB,UAAU,GAAG,IAAI,eAAe,CAAC;oBAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,SAAS,YAAY,CAAC,IAAI,yBAAyB,CAAC,CAAC;iBAC9E,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,WAAW,GAAgB;oBAC/B,OAAO,EAAE;wBACP,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,KAAK,EAAE,YAAY,CAAC,KAAK;qBAC1B;oBACD,KAAK,EAAE,IAAI;iBACZ,CAAA;gBAED,IAAI,CAAC;oBACH,sFAAsF;oBACtF,sFAAsF;oBACtF,qEAAqE;oBACrE,+DAA+D;oBAC/D,mEAAmE;oBACnE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;oBAC5F,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;oBACvF,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACtB,MAAM,IAAI,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;wBACvE,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;oBACrF,CAAC;oBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAA;oBAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,8BAA8B;wBAC9B,UAAU,GAAG,IAAI,eAAe,CAAC;4BAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;4BACjC,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,SAAS,YAAY,CAAC,IAAI,2BAA2B,CAAC,CAAC;yBAChF,CAAC,CAAA;oBACJ,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,MAAM,CAAA;wBACnB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;oBACtB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,mCAAmC;oBACnC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;oBACzB,UAAU,GAAG,IAAI,eAAe,CAAC;wBAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACvC,KAAK;qBACN,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAE/E,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;gBACpC,OAAO,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS;aACzC,CAAC,CAAA;YAEF,sCAAsC;YACtC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;gBAChD,KAAK,EAAE,IAAI;gBACX,OAAO;gBACP,IAAI;gBACJ,MAAM,EAAE,UAAU;gBAClB,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;aACtC,CAAC,CAAA;YACF,MAAM,kBAAkB,CAAA;YAExB,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC7B,SAAQ;YACV,CAAC;YAED,OAAO,UAAU,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,kBAAkB,CAAC,aAAqB;QAC9C,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QAC1C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC5C,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/C,wDAAwD;gBACxD,MAAM,eAAe,GAAmB,EAAE,CAAA;gBAC1C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACrC,gEAAgE;wBAChE,eAAe,CAAC,IAAI,CAClB,IAAI,eAAe,CAAC;4BAClB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;yBACxC,CAAC,CACH,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,qFAAqF;gBACrF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,eAAe,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;gBACpD,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC;oBACrC,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,0EAA0E;gBAC1E,MAAM,CAAC,IAAI,CACT,SAAS,WAAW,CAAC,IAAI,oFAAoF,CAC9G,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,OAAgB;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,OAAO,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,UAAyB;IAClD,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAA;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,KAAK,GAAW,EAAE,CAAA;IACxB,MAAM,UAAU,GAAgB,EAAE,CAAA;IAElC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;YAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;YAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;QACtC,CAAC;aAAM,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../src/agent/printer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAQzD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAO3D;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAC5C;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;;OAGG;gBACS,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAI5C;;;OAGG;IACI,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAgBlD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAOzB"}
1
+ {"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../src/agent/printer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAQzD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAO3D;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAC5C;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;;OAGG;gBACS,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAI5C;;;OAGG;IACI,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAoBlD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAOzB"}
@@ -47,6 +47,9 @@ export class AgentPrinter {
47
47
  case 'toolResultEvent':
48
48
  this.handleToolResult(event);
49
49
  break;
50
+ case 'agentResultEvent':
51
+ this.write('\n');
52
+ break;
50
53
  // Ignore other event types
51
54
  default:
52
55
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../../src/agent/printer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../../src/agent/printer.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * functionality without committing to a public API surface.
12
12
  */
13
13
  import type { JSONValue } from '../types/json.js';
14
- import type { Agent } from './agent.js';
14
+ import type { LocalAgent } from '../types/agent.js';
15
15
  /**
16
16
  * Current schema version of the snapshot format.
17
17
  */
@@ -105,7 +105,7 @@ export type TakeSnapshotOptions = {
105
105
  * @param options - Snapshot options
106
106
  * @returns A snapshot of the agent's state
107
107
  */
108
- export declare function takeSnapshot(agent: Agent, options: TakeSnapshotOptions): Snapshot;
108
+ export declare function takeSnapshot(agent: LocalAgent, options: TakeSnapshotOptions): Snapshot;
109
109
  /**
110
110
  * Loads a snapshot into the agent, restoring its state.
111
111
  *
@@ -115,7 +115,7 @@ export declare function takeSnapshot(agent: Agent, options: TakeSnapshotOptions)
115
115
  * @param agent - The agent to restore state into
116
116
  * @param snapshot - The snapshot to load
117
117
  */
118
- export declare function loadSnapshot(agent: Agent, snapshot: Snapshot): void;
118
+ export declare function loadSnapshot(agent: LocalAgent, snapshot: Snapshot): void;
119
119
  /**
120
120
  * Resolves snapshot fields based on preset/include/exclude parameters.
121
121
  *
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAEnB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;IAEZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAwBjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAwBnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,CAoC3F"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAEnB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;IAEZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAwBtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA6BxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,CAoC3F"}
@@ -78,19 +78,26 @@ export function loadSnapshot(agent, snapshot) {
78
78
  if (snapshot.schemaVersion !== SNAPSHOT_SCHEMA_VERSION) {
79
79
  throw new Error(`Unsupported snapshot schema version: ${snapshot.schemaVersion}. Current version: ${SNAPSHOT_SCHEMA_VERSION}`);
80
80
  }
81
- const { messages, state, systemPrompt } = snapshot.data;
82
- if (messages !== undefined) {
81
+ if ('messages' in snapshot.data) {
82
+ const messages = snapshot.data.messages;
83
83
  agent.messages.length = 0;
84
84
  for (const msgData of messages) {
85
85
  agent.messages.push(Message.fromJSON(msgData));
86
86
  }
87
87
  }
88
- if (state !== undefined) {
89
- loadStateSerializable(agent.appState, state);
88
+ if ('state' in snapshot.data) {
89
+ loadStateSerializable(agent.appState, snapshot.data.state);
90
90
  }
91
- // Only restore systemPrompt if explicitly present and non-null in the snapshot
92
- if (systemPrompt !== undefined && systemPrompt !== null) {
93
- agent.systemPrompt = systemPromptFromData(systemPrompt);
91
+ // Use key-presence check to distinguish "field absent" (leave unchanged) from
92
+ // "field present as null" (agent had no system prompt clear it).
93
+ if ('systemPrompt' in snapshot.data) {
94
+ const systemPrompt = snapshot.data.systemPrompt;
95
+ if (systemPrompt !== null) {
96
+ agent.systemPrompt = systemPromptFromData(systemPrompt);
97
+ }
98
+ else {
99
+ delete agent.systemPrompt;
100
+ }
94
101
  }
95
102
  }
96
103
  /**