@strands-agents/sdk 1.0.0-rc.5 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +175 -0
- package/README.md +340 -0
- package/dist/src/__fixtures__/agent-helpers.d.ts +22 -1
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +45 -1
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-plugin.js +3 -1
- package/dist/src/__fixtures__/mock-plugin.js.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.d.ts +5 -2
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.js +23 -4
- package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
- package/dist/src/__tests__/interrupt.test.d.ts +2 -0
- package/dist/src/__tests__/interrupt.test.d.ts.map +1 -0
- package/dist/src/__tests__/interrupt.test.js +259 -0
- package/dist/src/__tests__/interrupt.test.js.map +1 -0
- package/dist/src/__tests__/mcp.test.js +448 -2
- package/dist/src/__tests__/mcp.test.js.map +1 -1
- package/dist/src/a2a/__tests__/events.test.js +2 -0
- package/dist/src/a2a/__tests__/events.test.js.map +1 -1
- package/dist/src/a2a/__tests__/executor.test.js +16 -5
- package/dist/src/a2a/__tests__/executor.test.js.map +1 -1
- package/dist/src/a2a/a2a-agent.d.ts +8 -3
- package/dist/src/a2a/a2a-agent.d.ts.map +1 -1
- package/dist/src/a2a/a2a-agent.js +12 -6
- package/dist/src/a2a/a2a-agent.js.map +1 -1
- package/dist/src/a2a/executor.d.ts +13 -0
- package/dist/src/a2a/executor.d.ts.map +1 -1
- package/dist/src/a2a/executor.js +19 -1
- package/dist/src/a2a/executor.js.map +1 -1
- package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js +23 -0
- package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.cancel.test.js +1 -1
- package/dist/src/agent/__tests__/agent.cancel.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.concurrent.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.concurrent.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.concurrent.test.js +488 -0
- package/dist/src/agent/__tests__/agent.concurrent.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.hook.test.js +724 -12
- package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.interrupt.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.interrupt.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.interrupt.test.js +730 -0
- package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.invocation-state.test.js +219 -0
- package/dist/src/agent/__tests__/agent.invocation-state.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.model-retry.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.model-retry.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.model-retry.test.js +161 -0
- package/dist/src/agent/__tests__/agent.model-retry.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.stateful-model.test.js +169 -0
- package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.test.js +217 -2
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.tracer.test.node.js +39 -0
- package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.js +51 -4
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
- package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
- package/dist/src/agent/agent-as-tool.js +4 -2
- package/dist/src/agent/agent-as-tool.js.map +1 -1
- package/dist/src/agent/agent.d.ts +109 -4
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +790 -224
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +2 -2
- package/dist/src/agent/snapshot.d.ts.map +1 -1
- package/dist/src/agent/snapshot.js +20 -2
- package/dist/src/agent/snapshot.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +230 -9
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +19 -6
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +58 -4
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +76 -1
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/conversation-manager.d.ts +67 -22
- package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/conversation-manager.js +65 -13
- package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/index.d.ts +1 -1
- package/dist/src/conversation-manager/index.d.ts.map +1 -1
- package/dist/src/conversation-manager/index.js +1 -1
- package/dist/src/conversation-manager/index.js.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +17 -3
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +10 -4
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +23 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.js +39 -17
- package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
- package/dist/src/errors.d.ts +11 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +12 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/hooks/__tests__/events.test.js +267 -73
- package/dist/src/hooks/__tests__/events.test.js.map +1 -1
- package/dist/src/hooks/__tests__/registry.test.js +182 -18
- package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
- package/dist/src/hooks/events.d.ts +193 -51
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +182 -26
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +3 -2
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/registry.d.ts +12 -12
- package/dist/src/hooks/registry.d.ts.map +1 -1
- package/dist/src/hooks/registry.js +55 -15
- package/dist/src/hooks/registry.js.map +1 -1
- package/dist/src/hooks/types.d.ts +23 -0
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/hooks/types.js +17 -1
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/index.d.ts +12 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interrupt.d.ts +220 -0
- package/dist/src/interrupt.d.ts.map +1 -0
- package/dist/src/interrupt.js +274 -0
- package/dist/src/interrupt.js.map +1 -0
- package/dist/src/logging/__tests__/warn-once.test.d.ts +2 -0
- package/dist/src/logging/__tests__/warn-once.test.d.ts.map +1 -0
- package/dist/src/logging/__tests__/warn-once.test.js +30 -0
- package/dist/src/logging/__tests__/warn-once.test.js.map +1 -0
- package/dist/src/logging/warn-once.d.ts +13 -0
- package/dist/src/logging/warn-once.d.ts.map +1 -0
- package/dist/src/logging/warn-once.js +18 -0
- package/dist/src/logging/warn-once.js.map +1 -0
- package/dist/src/mcp.d.ts +43 -3
- package/dist/src/mcp.d.ts.map +1 -1
- package/dist/src/mcp.js +85 -17
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/mime.d.ts +2 -1
- package/dist/src/mime.d.ts.map +1 -1
- package/dist/src/mime.js +1 -0
- package/dist/src/mime.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +147 -3
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +228 -2
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/defaults.test.d.ts +2 -0
- package/dist/src/models/__tests__/defaults.test.d.ts.map +1 -0
- package/dist/src/models/__tests__/defaults.test.js +36 -0
- package/dist/src/models/__tests__/defaults.test.js.map +1 -0
- package/dist/src/models/__tests__/google.test.js +135 -0
- package/dist/src/models/__tests__/google.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +149 -1
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/anthropic.d.ts +20 -1
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +42 -8
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +27 -1
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +100 -12
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/defaults.d.ts +47 -0
- package/dist/src/models/defaults.d.ts.map +1 -0
- package/dist/src/models/defaults.js +170 -0
- package/dist/src/models/defaults.js.map +1 -0
- package/dist/src/models/google/model.d.ts +14 -1
- package/dist/src/models/google/model.d.ts.map +1 -1
- package/dist/src/models/google/model.js +54 -8
- package/dist/src/models/google/model.js.map +1 -1
- package/dist/src/models/google/types.d.ts +8 -0
- package/dist/src/models/google/types.d.ts.map +1 -1
- package/dist/src/models/model.d.ts +65 -0
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +138 -0
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/openai/__tests__/chat.test.d.ts +2 -0
- package/dist/src/models/openai/__tests__/chat.test.d.ts.map +1 -0
- package/dist/src/models/{__tests__/openai.test.js → openai/__tests__/chat.test.js} +117 -7
- package/dist/src/models/openai/__tests__/chat.test.js.map +1 -0
- package/dist/src/models/openai/__tests__/responses.test.d.ts +2 -0
- package/dist/src/models/openai/__tests__/responses.test.d.ts.map +1 -0
- package/dist/src/models/openai/__tests__/responses.test.js +668 -0
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -0
- package/dist/src/models/openai/chat-adapter.d.ts +33 -0
- package/dist/src/models/openai/chat-adapter.d.ts.map +1 -0
- package/dist/src/models/openai/chat-adapter.js +383 -0
- package/dist/src/models/openai/chat-adapter.js.map +1 -0
- package/dist/src/models/openai/errors.d.ts +16 -0
- package/dist/src/models/openai/errors.d.ts.map +1 -0
- package/dist/src/models/openai/errors.js +40 -0
- package/dist/src/models/openai/errors.js.map +1 -0
- package/dist/src/models/openai/formatting.d.ts +18 -0
- package/dist/src/models/openai/formatting.d.ts.map +1 -0
- package/dist/src/models/openai/formatting.js +38 -0
- package/dist/src/models/openai/formatting.js.map +1 -0
- package/dist/src/models/openai/index.d.ts +19 -0
- package/dist/src/models/openai/index.d.ts.map +1 -0
- package/dist/src/models/openai/index.js +18 -0
- package/dist/src/models/openai/index.js.map +1 -0
- package/dist/src/models/openai/model.d.ts +77 -0
- package/dist/src/models/openai/model.d.ts.map +1 -0
- package/dist/src/models/openai/model.js +211 -0
- package/dist/src/models/openai/model.js.map +1 -0
- package/dist/src/models/openai/responses-adapter.d.ts +78 -0
- package/dist/src/models/openai/responses-adapter.d.ts.map +1 -0
- package/dist/src/models/openai/responses-adapter.js +467 -0
- package/dist/src/models/openai/responses-adapter.js.map +1 -0
- package/dist/src/models/openai/types.d.ts +131 -0
- package/dist/src/models/openai/types.d.ts.map +1 -0
- package/dist/src/models/openai/types.js +5 -0
- package/dist/src/models/openai/types.js.map +1 -0
- package/dist/src/multiagent/__tests__/events.test.js +122 -28
- package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/graph.invocation-state.test.js +95 -0
- package/dist/src/multiagent/__tests__/graph.invocation-state.test.js.map +1 -0
- package/dist/src/multiagent/__tests__/graph.test.js +69 -0
- package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.js +18 -2
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js +56 -0
- package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js.map +1 -0
- package/dist/src/multiagent/__tests__/swarm.test.js +77 -0
- package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
- package/dist/src/multiagent/events.d.ts +19 -1
- package/dist/src/multiagent/events.d.ts.map +1 -1
- package/dist/src/multiagent/events.js +18 -0
- package/dist/src/multiagent/events.js.map +1 -1
- package/dist/src/multiagent/graph.d.ts +27 -5
- package/dist/src/multiagent/graph.d.ts.map +1 -1
- package/dist/src/multiagent/graph.js +61 -15
- package/dist/src/multiagent/graph.js.map +1 -1
- package/dist/src/multiagent/index.d.ts +1 -1
- package/dist/src/multiagent/index.d.ts.map +1 -1
- package/dist/src/multiagent/multiagent.d.ts +21 -6
- package/dist/src/multiagent/multiagent.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.d.ts +28 -3
- package/dist/src/multiagent/nodes.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.js +42 -7
- package/dist/src/multiagent/nodes.js.map +1 -1
- package/dist/src/multiagent/swarm.d.ts +20 -4
- package/dist/src/multiagent/swarm.d.ts.map +1 -1
- package/dist/src/multiagent/swarm.js +65 -16
- package/dist/src/multiagent/swarm.js.map +1 -1
- package/dist/src/plugins/__tests__/registry.test.js +1 -1
- package/dist/src/plugins/__tests__/registry.test.js.map +1 -1
- package/dist/src/plugins/model-plugin.d.ts +20 -0
- package/dist/src/plugins/model-plugin.d.ts.map +1 -0
- package/dist/src/plugins/model-plugin.js +29 -0
- package/dist/src/plugins/model-plugin.js.map +1 -0
- package/dist/src/registry/__tests__/tool-registry.test.js +11 -0
- package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
- package/dist/src/registry/tool-registry.d.ts +4 -0
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +6 -0
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/retry/__tests__/backoff-strategy.test.d.ts +2 -0
- package/dist/src/retry/__tests__/backoff-strategy.test.d.ts.map +1 -0
- package/dist/src/retry/__tests__/backoff-strategy.test.js +116 -0
- package/dist/src/retry/__tests__/backoff-strategy.test.js.map +1 -0
- package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts +2 -0
- package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts.map +1 -0
- package/dist/src/retry/__tests__/default-model-retry-strategy.test.js +225 -0
- package/dist/src/retry/__tests__/default-model-retry-strategy.test.js.map +1 -0
- package/dist/src/retry/backoff-strategy.d.ts +108 -0
- package/dist/src/retry/backoff-strategy.d.ts.map +1 -0
- package/dist/src/retry/backoff-strategy.js +86 -0
- package/dist/src/retry/backoff-strategy.js.map +1 -0
- package/dist/src/retry/default-model-retry-strategy.d.ts +76 -0
- package/dist/src/retry/default-model-retry-strategy.d.ts.map +1 -0
- package/dist/src/retry/default-model-retry-strategy.js +104 -0
- package/dist/src/retry/default-model-retry-strategy.js.map +1 -0
- package/dist/src/retry/index.d.ts +8 -0
- package/dist/src/retry/index.d.ts.map +1 -0
- package/dist/src/retry/index.js +7 -0
- package/dist/src/retry/index.js.map +1 -0
- package/dist/src/retry/model-retry-strategy.d.ts +80 -0
- package/dist/src/retry/model-retry-strategy.d.ts.map +1 -0
- package/dist/src/retry/model-retry-strategy.js +85 -0
- package/dist/src/retry/model-retry-strategy.js.map +1 -0
- package/dist/src/retry/retry-strategy.d.ts +34 -0
- package/dist/src/retry/retry-strategy.d.ts.map +1 -0
- package/dist/src/retry/retry-strategy.js +25 -0
- package/dist/src/retry/retry-strategy.js.map +1 -0
- package/dist/src/session/__tests__/session-manager.test.js +52 -11
- package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
- package/dist/src/session/session-manager.d.ts +6 -0
- package/dist/src/session/session-manager.d.ts.map +1 -1
- package/dist/src/session/session-manager.js +17 -0
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/telemetry/__tests__/meter.test.js +23 -0
- package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
- package/dist/src/telemetry/meter.d.ts +15 -0
- package/dist/src/telemetry/meter.d.ts.map +1 -1
- package/dist/src/telemetry/meter.js +14 -0
- package/dist/src/telemetry/meter.js.map +1 -1
- package/dist/src/tools/__tests__/tool.test.js +24 -1
- package/dist/src/tools/__tests__/tool.test.js.map +1 -1
- package/dist/src/tools/function-tool.d.ts.map +1 -1
- package/dist/src/tools/function-tool.js +6 -1
- package/dist/src/tools/function-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +24 -3
- package/dist/src/tools/mcp-tool.d.ts.map +1 -1
- package/dist/src/tools/mcp-tool.js +103 -31
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/tool.d.ts +21 -2
- package/dist/src/tools/tool.d.ts.map +1 -1
- package/dist/src/tools/tool.js +12 -0
- package/dist/src/tools/tool.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/agent.test.js +48 -0
- package/dist/src/types/__tests__/agent.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +77 -9
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js +30 -6
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/elicitation.d.ts +15 -0
- package/dist/src/types/elicitation.d.ts.map +1 -0
- package/dist/src/types/elicitation.js +2 -0
- package/dist/src/types/elicitation.js.map +1 -0
- package/dist/src/types/interrupt.d.ts +103 -0
- package/dist/src/types/interrupt.d.ts.map +1 -0
- package/dist/src/types/interrupt.js +63 -0
- package/dist/src/types/interrupt.js.map +1 -0
- package/dist/src/types/messages.d.ts +2 -1
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +292 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +148 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js +78 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/index.d.ts +23 -0
- package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/index.js +21 -0
- package/dist/src/vended-plugins/context-offloader/index.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts +48 -0
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/plugin.js +244 -0
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/storage.d.ts +114 -0
- package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/storage.js +204 -0
- package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -0
- package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +21 -5
- package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +4 -0
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
- package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/bash.js +0 -3
- package/dist/src/vended-tools/bash/bash.js.map +1 -1
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +4 -0
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
- package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +4 -0
- package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
- package/package.json +17 -9
- package/dist/src/models/__tests__/openai.test.d.ts +0 -2
- package/dist/src/models/__tests__/openai.test.d.ts.map +0 -1
- package/dist/src/models/__tests__/openai.test.js.map +0 -1
- package/dist/src/models/openai.d.ts +0 -312
- package/dist/src/models/openai.d.ts.map +0 -1
- package/dist/src/models/openai.js +0 -789
- package/dist/src/models/openai.js.map +0 -1
package/dist/src/hooks/events.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { ToolStreamEvent } from '../tools/tool.js';
|
|
2
|
+
import { interruptFromAgent } from '../interrupt.js';
|
|
2
3
|
/**
|
|
3
4
|
* Agent hook events.
|
|
4
5
|
*
|
|
5
6
|
* All events extend {@link StreamEvent} with a `readonly type` discriminator
|
|
6
7
|
* (camelCase of the class name) for switch-based narrowing. Constructor takes
|
|
7
|
-
* a single data-object parameter.
|
|
8
|
-
*
|
|
8
|
+
* a single data-object parameter. Most properties are readonly — writable fields
|
|
9
|
+
* are the hook-driven control/data fields documented per event
|
|
10
|
+
* (e.g. `cancel`, `retry`, `selectedTool`, `resume`, and mutable `toolUse` / `result`).
|
|
9
11
|
*
|
|
10
12
|
* All current events extend {@link HookableEvent} (which itself extends {@link StreamEvent}),
|
|
11
13
|
* making them both streamable and subscribable via hook callbacks. {@link StreamEvent} exists
|
|
@@ -40,13 +42,29 @@ import { ToolStreamEvent } from '../tools/tool.js';
|
|
|
40
42
|
*
|
|
41
43
|
* ## Field naming conventions
|
|
42
44
|
*
|
|
43
|
-
* | Field
|
|
44
|
-
*
|
|
45
|
-
* | `agent`
|
|
46
|
-
* |
|
|
47
|
-
* | `.
|
|
48
|
-
* | `.
|
|
49
|
-
* | `.
|
|
45
|
+
* | Field | Usage |
|
|
46
|
+
* |--------------------|--------------------------------------------------|
|
|
47
|
+
* | `agent` | `LocalAgent` reference on all agent-loop events |
|
|
48
|
+
* | `invocationState` | Per-invocation state — see below |
|
|
49
|
+
* | `.event` | Inner event in update wrappers |
|
|
50
|
+
* | `.result` | Finished result object |
|
|
51
|
+
* | `.message` | Message object |
|
|
52
|
+
* | `.contentBlock` | Content block object |
|
|
53
|
+
*
|
|
54
|
+
* ## `invocationState` on events
|
|
55
|
+
*
|
|
56
|
+
* Every hookable event that fires **during** an invocation carries
|
|
57
|
+
* {@link InvocationState} — the per-invocation mutable bag shared across hooks
|
|
58
|
+
* and tools. This lets any callback (lifecycle, data, streaming, completion)
|
|
59
|
+
* correlate back to the caller's request context (`userId`, `traceId`, etc.)
|
|
60
|
+
* without closure workarounds.
|
|
61
|
+
*
|
|
62
|
+
* The only events without `invocationState` are the ones that fire **outside**
|
|
63
|
+
* any invocation scope: {@link InitializedEvent} and `MultiAgentInitializedEvent`,
|
|
64
|
+
* both of which fire at construction.
|
|
65
|
+
*
|
|
66
|
+
* New events should follow the same rule: carry `invocationState` unless the
|
|
67
|
+
* event fires before any invocation exists.
|
|
50
68
|
*/
|
|
51
69
|
/**
|
|
52
70
|
* Base class for all events yielded by `agent.stream()`.
|
|
@@ -96,12 +114,20 @@ export class InitializedEvent extends HookableEvent {
|
|
|
96
114
|
export class BeforeInvocationEvent extends HookableEvent {
|
|
97
115
|
type = 'beforeInvocationEvent';
|
|
98
116
|
agent;
|
|
117
|
+
invocationState;
|
|
118
|
+
/**
|
|
119
|
+
* Set by hook callbacks to cancel this invocation.
|
|
120
|
+
* When set to `true`, a default cancel message is used.
|
|
121
|
+
* When set to a string, that string is used as the assistant response message.
|
|
122
|
+
*/
|
|
123
|
+
cancel = false;
|
|
99
124
|
constructor(data) {
|
|
100
125
|
super();
|
|
101
126
|
this.agent = data.agent;
|
|
127
|
+
this.invocationState = data.invocationState;
|
|
102
128
|
}
|
|
103
129
|
/**
|
|
104
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
130
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
105
131
|
* Called automatically by JSON.stringify().
|
|
106
132
|
*/
|
|
107
133
|
toJSON() {
|
|
@@ -116,15 +142,28 @@ export class BeforeInvocationEvent extends HookableEvent {
|
|
|
116
142
|
export class AfterInvocationEvent extends HookableEvent {
|
|
117
143
|
type = 'afterInvocationEvent';
|
|
118
144
|
agent;
|
|
145
|
+
invocationState;
|
|
146
|
+
/**
|
|
147
|
+
* Set by hook callbacks to trigger a follow-up agent invocation with new input.
|
|
148
|
+
* When set, after this event's callbacks complete the agent re-enters its loop
|
|
149
|
+
* with these args as new input, under the same invocation lock. A fresh
|
|
150
|
+
* {@link BeforeInvocationEvent}/{@link AfterInvocationEvent} pair fires for the
|
|
151
|
+
* resumed run. Ignored if the invocation ended with an error.
|
|
152
|
+
*
|
|
153
|
+
* If multiple callbacks set `resume`, the last callback to run wins.
|
|
154
|
+
*/
|
|
155
|
+
resume = undefined;
|
|
119
156
|
constructor(data) {
|
|
120
157
|
super();
|
|
121
158
|
this.agent = data.agent;
|
|
159
|
+
this.invocationState = data.invocationState;
|
|
122
160
|
}
|
|
123
161
|
_shouldReverseCallbacks() {
|
|
124
162
|
return true;
|
|
125
163
|
}
|
|
126
164
|
/**
|
|
127
|
-
* Serializes for wire transport, excluding the agent reference
|
|
165
|
+
* Serializes for wire transport, excluding the agent reference, invocationState,
|
|
166
|
+
* and mutable resume field.
|
|
128
167
|
* Called automatically by JSON.stringify().
|
|
129
168
|
*/
|
|
130
169
|
toJSON() {
|
|
@@ -140,13 +179,15 @@ export class MessageAddedEvent extends HookableEvent {
|
|
|
140
179
|
type = 'messageAddedEvent';
|
|
141
180
|
agent;
|
|
142
181
|
message;
|
|
182
|
+
invocationState;
|
|
143
183
|
constructor(data) {
|
|
144
184
|
super();
|
|
145
185
|
this.agent = data.agent;
|
|
146
186
|
this.message = data.message;
|
|
187
|
+
this.invocationState = data.invocationState;
|
|
147
188
|
}
|
|
148
189
|
/**
|
|
149
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
190
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
150
191
|
* Called automatically by JSON.stringify().
|
|
151
192
|
*/
|
|
152
193
|
toJSON() {
|
|
@@ -156,27 +197,57 @@ export class MessageAddedEvent extends HookableEvent {
|
|
|
156
197
|
/**
|
|
157
198
|
* Event triggered just before a tool is executed.
|
|
158
199
|
* Fired after tool lookup but before execution begins.
|
|
159
|
-
*
|
|
200
|
+
*
|
|
201
|
+
* Hook callbacks can:
|
|
202
|
+
* - Set {@link cancel} to prevent the tool from executing.
|
|
203
|
+
* - Set {@link selectedTool} to execute a different tool in place of the registry's match.
|
|
204
|
+
* - Mutate {@link toolUse} to rewrite the tool input, id, or name before execution.
|
|
205
|
+
* If `name` is changed and `selectedTool` is not set, the tool is re-resolved from
|
|
206
|
+
* the registry under the new name.
|
|
160
207
|
*/
|
|
161
208
|
export class BeforeToolCallEvent extends HookableEvent {
|
|
162
209
|
type = 'beforeToolCallEvent';
|
|
163
210
|
agent;
|
|
164
211
|
toolUse;
|
|
165
212
|
tool;
|
|
213
|
+
invocationState;
|
|
166
214
|
/**
|
|
167
215
|
* Set by hook callbacks to cancel this tool call.
|
|
168
216
|
* When set to `true`, a default cancel message is used.
|
|
169
217
|
* When set to a string, that string is used as the tool result error message.
|
|
170
218
|
*/
|
|
171
219
|
cancel = false;
|
|
220
|
+
/**
|
|
221
|
+
* Set by hook callbacks to execute a replacement tool instead of {@link tool}.
|
|
222
|
+
* When undefined, the tool looked up from the registry (or re-resolved from a
|
|
223
|
+
* mutated `toolUse.name`) is used.
|
|
224
|
+
*
|
|
225
|
+
* If multiple callbacks set `selectedTool`, the last callback to run wins.
|
|
226
|
+
* Callbacks run in registration order for this event, so the last-registered
|
|
227
|
+
* callback's value is the one used.
|
|
228
|
+
*/
|
|
229
|
+
selectedTool = undefined;
|
|
172
230
|
constructor(data) {
|
|
173
231
|
super();
|
|
174
232
|
this.agent = data.agent;
|
|
175
233
|
this.toolUse = data.toolUse;
|
|
176
234
|
this.tool = data.tool;
|
|
235
|
+
this.invocationState = data.invocationState;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Raises an interrupt for human-in-the-loop workflows.
|
|
239
|
+
* If a response is available (from a previous resume), returns it immediately.
|
|
240
|
+
* Otherwise, throws an InterruptError to halt agent execution.
|
|
241
|
+
*
|
|
242
|
+
* @param params - Interrupt parameters including name and optional reason
|
|
243
|
+
* @returns The user's response when resuming from an interrupt
|
|
244
|
+
*/
|
|
245
|
+
interrupt(params) {
|
|
246
|
+
return interruptFromAgent(this.agent, `hook:beforeToolCall:${this.toolUse.toolUseId}:${params.name}`, params);
|
|
177
247
|
}
|
|
178
248
|
/**
|
|
179
|
-
* Serializes for wire transport, excluding the agent reference, tool instance,
|
|
249
|
+
* Serializes for wire transport, excluding the agent reference, tool instance,
|
|
250
|
+
* invocationState, and mutable cancel / selectedTool fields.
|
|
180
251
|
* Called automatically by JSON.stringify().
|
|
181
252
|
*/
|
|
182
253
|
toJSON() {
|
|
@@ -187,14 +258,22 @@ export class BeforeToolCallEvent extends HookableEvent {
|
|
|
187
258
|
* Event triggered after a tool execution completes.
|
|
188
259
|
* Fired after tool execution finishes, whether successful or failed.
|
|
189
260
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
261
|
+
*
|
|
262
|
+
* Hook callbacks can mutate {@link result} to rewrite the tool result before it
|
|
263
|
+
* propagates to the model (e.g. to redact or truncate output).
|
|
190
264
|
*/
|
|
191
265
|
export class AfterToolCallEvent extends HookableEvent {
|
|
192
266
|
type = 'afterToolCallEvent';
|
|
193
267
|
agent;
|
|
194
268
|
toolUse;
|
|
195
269
|
tool;
|
|
270
|
+
/**
|
|
271
|
+
* The tool result. Can be replaced by hook callbacks to transform the result
|
|
272
|
+
* before it enters the conversation history.
|
|
273
|
+
*/
|
|
196
274
|
result;
|
|
197
275
|
error;
|
|
276
|
+
invocationState;
|
|
198
277
|
/**
|
|
199
278
|
* Optional flag that can be set by hook callbacks to request a retry of the tool call.
|
|
200
279
|
* When set to true, the agent will re-execute the tool.
|
|
@@ -206,6 +285,7 @@ export class AfterToolCallEvent extends HookableEvent {
|
|
|
206
285
|
this.toolUse = data.toolUse;
|
|
207
286
|
this.tool = data.tool;
|
|
208
287
|
this.result = data.result;
|
|
288
|
+
this.invocationState = data.invocationState;
|
|
209
289
|
if (data.error !== undefined) {
|
|
210
290
|
this.error = data.error;
|
|
211
291
|
}
|
|
@@ -214,7 +294,7 @@ export class AfterToolCallEvent extends HookableEvent {
|
|
|
214
294
|
return true;
|
|
215
295
|
}
|
|
216
296
|
/**
|
|
217
|
-
* Serializes for wire transport, excluding the agent reference, tool instance, and mutable retry flag.
|
|
297
|
+
* Serializes for wire transport, excluding the agent reference, tool instance, invocationState, and mutable retry flag.
|
|
218
298
|
* Converts Error to an extensible object for safe wire serialization.
|
|
219
299
|
* Called automatically by JSON.stringify().
|
|
220
300
|
*/
|
|
@@ -235,17 +315,38 @@ export class BeforeModelCallEvent extends HookableEvent {
|
|
|
235
315
|
type = 'beforeModelCallEvent';
|
|
236
316
|
agent;
|
|
237
317
|
model;
|
|
318
|
+
invocationState;
|
|
319
|
+
/**
|
|
320
|
+
* Set by hook callbacks to cancel this model call.
|
|
321
|
+
* When set to `true`, a default cancel message is used.
|
|
322
|
+
* When set to a string, that string is used as the assistant response message.
|
|
323
|
+
*/
|
|
324
|
+
cancel = false;
|
|
325
|
+
/**
|
|
326
|
+
* Projected input token count for the upcoming model call.
|
|
327
|
+
* Computed by the agent loop from message metadata and token estimation.
|
|
328
|
+
* Available for hooks and plugins (e.g. conversation managers) to make
|
|
329
|
+
* proactive decisions about context management.
|
|
330
|
+
*/
|
|
331
|
+
projectedInputTokens;
|
|
238
332
|
constructor(data) {
|
|
239
333
|
super();
|
|
240
334
|
this.agent = data.agent;
|
|
241
335
|
this.model = data.model;
|
|
336
|
+
this.invocationState = data.invocationState;
|
|
337
|
+
if (data.projectedInputTokens !== undefined) {
|
|
338
|
+
this.projectedInputTokens = data.projectedInputTokens;
|
|
339
|
+
}
|
|
242
340
|
}
|
|
243
341
|
/**
|
|
244
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
342
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
245
343
|
* Called automatically by JSON.stringify().
|
|
246
344
|
*/
|
|
247
345
|
toJSON() {
|
|
248
|
-
return {
|
|
346
|
+
return {
|
|
347
|
+
type: this.type,
|
|
348
|
+
...(this.projectedInputTokens !== undefined && { projectedInputTokens: this.projectedInputTokens }),
|
|
349
|
+
};
|
|
249
350
|
}
|
|
250
351
|
}
|
|
251
352
|
/**
|
|
@@ -261,6 +362,17 @@ export class AfterModelCallEvent extends HookableEvent {
|
|
|
261
362
|
model;
|
|
262
363
|
stopData;
|
|
263
364
|
error;
|
|
365
|
+
invocationState;
|
|
366
|
+
/**
|
|
367
|
+
* 1-indexed count of model attempts for this turn, including the attempt
|
|
368
|
+
* that just completed (or failed). The first call in a turn is `1`; each
|
|
369
|
+
* subsequent retry increments by one.
|
|
370
|
+
*
|
|
371
|
+
* Retry strategies may rely on `attemptCount === 1` to mark the start of a
|
|
372
|
+
* new retry sequence (e.g. to clear per-turn state carried over from a
|
|
373
|
+
* previous turn). The agent loop guarantees this marker on every fresh turn.
|
|
374
|
+
*/
|
|
375
|
+
attemptCount;
|
|
264
376
|
/**
|
|
265
377
|
* Optional flag that can be set by hook callbacks to request a retry of the model call.
|
|
266
378
|
* When set to true, the agent will retry the model invocation.
|
|
@@ -270,6 +382,8 @@ export class AfterModelCallEvent extends HookableEvent {
|
|
|
270
382
|
super();
|
|
271
383
|
this.agent = data.agent;
|
|
272
384
|
this.model = data.model;
|
|
385
|
+
this.invocationState = data.invocationState;
|
|
386
|
+
this.attemptCount = data.attemptCount;
|
|
273
387
|
if (data.stopData !== undefined) {
|
|
274
388
|
this.stopData = data.stopData;
|
|
275
389
|
}
|
|
@@ -281,13 +395,14 @@ export class AfterModelCallEvent extends HookableEvent {
|
|
|
281
395
|
return true;
|
|
282
396
|
}
|
|
283
397
|
/**
|
|
284
|
-
* Serializes for wire transport, excluding the agent reference and mutable retry flag.
|
|
398
|
+
* Serializes for wire transport, excluding the agent reference, invocationState, and mutable retry flag.
|
|
285
399
|
* Converts Error to an extensible object for safe wire serialization.
|
|
286
400
|
* Called automatically by JSON.stringify().
|
|
287
401
|
*/
|
|
288
402
|
toJSON() {
|
|
289
403
|
return {
|
|
290
404
|
type: this.type,
|
|
405
|
+
attemptCount: this.attemptCount,
|
|
291
406
|
...(this.stopData !== undefined && { stopData: this.stopData }),
|
|
292
407
|
...(this.error !== undefined && { error: { message: this.error.message } }),
|
|
293
408
|
};
|
|
@@ -303,13 +418,15 @@ export class ModelStreamUpdateEvent extends HookableEvent {
|
|
|
303
418
|
type = 'modelStreamUpdateEvent';
|
|
304
419
|
agent;
|
|
305
420
|
event;
|
|
421
|
+
invocationState;
|
|
306
422
|
constructor(data) {
|
|
307
423
|
super();
|
|
308
424
|
this.agent = data.agent;
|
|
309
425
|
this.event = data.event;
|
|
426
|
+
this.invocationState = data.invocationState;
|
|
310
427
|
}
|
|
311
428
|
/**
|
|
312
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
429
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
313
430
|
* Called automatically by JSON.stringify().
|
|
314
431
|
*/
|
|
315
432
|
toJSON() {
|
|
@@ -330,13 +447,15 @@ export class ContentBlockEvent extends HookableEvent {
|
|
|
330
447
|
type = 'contentBlockEvent';
|
|
331
448
|
agent;
|
|
332
449
|
contentBlock;
|
|
450
|
+
invocationState;
|
|
333
451
|
constructor(data) {
|
|
334
452
|
super();
|
|
335
453
|
this.agent = data.agent;
|
|
336
454
|
this.contentBlock = data.contentBlock;
|
|
455
|
+
this.invocationState = data.invocationState;
|
|
337
456
|
}
|
|
338
457
|
/**
|
|
339
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
458
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
340
459
|
* Called automatically by JSON.stringify().
|
|
341
460
|
*/
|
|
342
461
|
toJSON() {
|
|
@@ -352,14 +471,16 @@ export class ModelMessageEvent extends HookableEvent {
|
|
|
352
471
|
agent;
|
|
353
472
|
message;
|
|
354
473
|
stopReason;
|
|
474
|
+
invocationState;
|
|
355
475
|
constructor(data) {
|
|
356
476
|
super();
|
|
357
477
|
this.agent = data.agent;
|
|
358
478
|
this.message = data.message;
|
|
359
479
|
this.stopReason = data.stopReason;
|
|
480
|
+
this.invocationState = data.invocationState;
|
|
360
481
|
}
|
|
361
482
|
/**
|
|
362
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
483
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
363
484
|
* Called automatically by JSON.stringify().
|
|
364
485
|
*/
|
|
365
486
|
toJSON() {
|
|
@@ -374,13 +495,15 @@ export class ToolResultEvent extends HookableEvent {
|
|
|
374
495
|
type = 'toolResultEvent';
|
|
375
496
|
agent;
|
|
376
497
|
result;
|
|
498
|
+
invocationState;
|
|
377
499
|
constructor(data) {
|
|
378
500
|
super();
|
|
379
501
|
this.agent = data.agent;
|
|
380
502
|
this.result = data.result;
|
|
503
|
+
this.invocationState = data.invocationState;
|
|
381
504
|
}
|
|
382
505
|
/**
|
|
383
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
506
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
384
507
|
* Called automatically by JSON.stringify().
|
|
385
508
|
*/
|
|
386
509
|
toJSON() {
|
|
@@ -400,13 +523,15 @@ export class ToolStreamUpdateEvent extends HookableEvent {
|
|
|
400
523
|
type = 'toolStreamUpdateEvent';
|
|
401
524
|
agent;
|
|
402
525
|
event;
|
|
526
|
+
invocationState;
|
|
403
527
|
constructor(data) {
|
|
404
528
|
super();
|
|
405
529
|
this.agent = data.agent;
|
|
406
530
|
this.event = data.event;
|
|
531
|
+
this.invocationState = data.invocationState;
|
|
407
532
|
}
|
|
408
533
|
/**
|
|
409
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
534
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
410
535
|
* Called automatically by JSON.stringify().
|
|
411
536
|
*/
|
|
412
537
|
toJSON() {
|
|
@@ -421,13 +546,15 @@ export class AgentResultEvent extends HookableEvent {
|
|
|
421
546
|
type = 'agentResultEvent';
|
|
422
547
|
agent;
|
|
423
548
|
result;
|
|
549
|
+
invocationState;
|
|
424
550
|
constructor(data) {
|
|
425
551
|
super();
|
|
426
552
|
this.agent = data.agent;
|
|
427
553
|
this.result = data.result;
|
|
554
|
+
this.invocationState = data.invocationState;
|
|
428
555
|
}
|
|
429
556
|
/**
|
|
430
|
-
* Serializes for wire transport, excluding the agent reference.
|
|
557
|
+
* Serializes for wire transport, excluding the agent reference and invocationState.
|
|
431
558
|
* Called automatically by JSON.stringify().
|
|
432
559
|
*/
|
|
433
560
|
toJSON() {
|
|
@@ -443,6 +570,7 @@ export class BeforeToolsEvent extends HookableEvent {
|
|
|
443
570
|
type = 'beforeToolsEvent';
|
|
444
571
|
agent;
|
|
445
572
|
message;
|
|
573
|
+
invocationState;
|
|
446
574
|
/**
|
|
447
575
|
* Set by hook callbacks to cancel all tool calls.
|
|
448
576
|
* When set to `true`, a default cancel message is used.
|
|
@@ -453,9 +581,21 @@ export class BeforeToolsEvent extends HookableEvent {
|
|
|
453
581
|
super();
|
|
454
582
|
this.agent = data.agent;
|
|
455
583
|
this.message = data.message;
|
|
584
|
+
this.invocationState = data.invocationState;
|
|
456
585
|
}
|
|
457
586
|
/**
|
|
458
|
-
*
|
|
587
|
+
* Raises an interrupt for human-in-the-loop workflows.
|
|
588
|
+
* If a response is available (from a previous resume), returns it immediately.
|
|
589
|
+
* Otherwise, throws an InterruptError to halt agent execution.
|
|
590
|
+
*
|
|
591
|
+
* @param params - Interrupt parameters including name and optional reason
|
|
592
|
+
* @returns The user's response when resuming from an interrupt
|
|
593
|
+
*/
|
|
594
|
+
interrupt(params) {
|
|
595
|
+
return interruptFromAgent(this.agent, `hook:beforeTools:${params.name}`, params);
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Serializes for wire transport, excluding the agent reference, invocationState, and mutable cancel flag.
|
|
459
599
|
* Called automatically by JSON.stringify().
|
|
460
600
|
*/
|
|
461
601
|
toJSON() {
|
|
@@ -471,16 +611,32 @@ export class AfterToolsEvent extends HookableEvent {
|
|
|
471
611
|
type = 'afterToolsEvent';
|
|
472
612
|
agent;
|
|
473
613
|
message;
|
|
614
|
+
invocationState;
|
|
615
|
+
/**
|
|
616
|
+
* When set to `true`, the agent loop halts after this tool batch completes
|
|
617
|
+
* without calling the model again and a default message
|
|
618
|
+
* (`"Turn ended early by hook after tool execution"`) is appended as the
|
|
619
|
+
* final assistant message. When set to a string, that string is used instead
|
|
620
|
+
* of the default — the string becomes literal assistant content (a
|
|
621
|
+
* `TextBlock`), not a reason or label. Contrast with
|
|
622
|
+
* {@link BeforeToolCallEvent.cancel | cancel} fields on other events, where
|
|
623
|
+
* the string is a cancellation reason.
|
|
624
|
+
*
|
|
625
|
+
* In both cases `stopReason` on the returned `AgentResult` is `'endTurn'`.
|
|
626
|
+
*/
|
|
627
|
+
endTurn = false;
|
|
474
628
|
constructor(data) {
|
|
475
629
|
super();
|
|
476
630
|
this.agent = data.agent;
|
|
477
631
|
this.message = data.message;
|
|
632
|
+
this.invocationState = data.invocationState;
|
|
478
633
|
}
|
|
479
634
|
_shouldReverseCallbacks() {
|
|
480
635
|
return true;
|
|
481
636
|
}
|
|
482
637
|
/**
|
|
483
|
-
* Serializes for wire transport, excluding the agent reference
|
|
638
|
+
* Serializes for wire transport, excluding the agent reference, invocationState,
|
|
639
|
+
* and mutable endTurn field.
|
|
484
640
|
* Called automatically by JSON.stringify().
|
|
485
641
|
*/
|
|
486
642
|
toJSON() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* Named `Hook*` because they describe the hooking/subscription pattern, not the events themselves.
|
|
14
14
|
*/
|
|
15
15
|
export { StreamEvent, HookableEvent, InitializedEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
|
|
16
|
-
export type { ModelStopData as ModelStopResponse, Redaction } from './events.js';
|
|
16
|
+
export type { ModelStopData as ModelStopResponse, Redaction, ToolUseData } from './events.js';
|
|
17
17
|
export { HookRegistryImplementation as HookRegistry } from './registry.js';
|
|
18
|
-
export type { HookCallback, HookableEventConstructor, HookCleanup } from './types.js';
|
|
18
|
+
export type { HookCallback, HookableEventConstructor, HookCallbackOptions, HookCleanup } from './types.js';
|
|
19
|
+
export { HookOrder } from './types.js';
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG7F,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAG1E,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/src/hooks/index.js
CHANGED
|
@@ -16,4 +16,5 @@
|
|
|
16
16
|
export { StreamEvent, HookableEvent, InitializedEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
|
|
17
17
|
// Registry
|
|
18
18
|
export { HookRegistryImplementation as HookRegistry } from './registry.js';
|
|
19
|
+
export { HookOrder } from './types.js';
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAKpB,WAAW;AACX,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAKpB,WAAW;AACX,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HookableEvent } from './events.js';
|
|
2
|
-
import type { HookCallback, HookableEventConstructor, HookCleanup } from './types.js';
|
|
2
|
+
import type { HookCallback, HookableEventConstructor, HookCallbackOptions, HookCleanup } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Interface for hook registry operations.
|
|
5
5
|
* Enables registration of hook callbacks for event-driven extensibility.
|
|
@@ -10,9 +10,10 @@ export interface HookRegistry {
|
|
|
10
10
|
*
|
|
11
11
|
* @param eventType - The event class constructor to register the callback for
|
|
12
12
|
* @param callback - The callback function to invoke when the event occurs
|
|
13
|
+
* @param options - Optional configuration including execution order
|
|
13
14
|
* @returns Cleanup function that removes the callback when invoked
|
|
14
15
|
*/
|
|
15
|
-
addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T
|
|
16
|
+
addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>, options?: HookCallbackOptions): HookCleanup;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Implementation of the hook registry for managing hook callbacks.
|
|
@@ -21,25 +22,24 @@ export interface HookRegistry {
|
|
|
21
22
|
export declare class HookRegistryImplementation implements HookRegistry {
|
|
22
23
|
private readonly _callbacks;
|
|
23
24
|
constructor();
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
*
|
|
27
|
-
* @param eventType - The event class constructor to register the callback for
|
|
28
|
-
* @param callback - The callback function to invoke when the event occurs
|
|
29
|
-
* @returns Cleanup function that removes the callback when invoked
|
|
30
|
-
*/
|
|
31
|
-
addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>): HookCleanup;
|
|
25
|
+
/** {@inheritDoc HookRegistry.addCallback} */
|
|
26
|
+
addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>, options?: HookCallbackOptions): HookCleanup;
|
|
32
27
|
/**
|
|
33
28
|
* Invoke all registered callbacks for the given event.
|
|
34
29
|
* Awaits each callback, supporting both sync and async.
|
|
35
30
|
*
|
|
31
|
+
* InterruptErrors are collected across callbacks rather than immediately thrown,
|
|
32
|
+
* allowing all hooks to register their interrupts. Non-interrupt errors propagate immediately.
|
|
33
|
+
*
|
|
36
34
|
* @param event - The event to invoke callbacks for
|
|
37
35
|
* @returns The event after all callbacks have been invoked
|
|
36
|
+
* @throws InterruptError with all collected interrupts after all callbacks complete
|
|
38
37
|
*/
|
|
39
38
|
invokeCallbacks<T extends HookableEvent>(event: T): Promise<T>;
|
|
40
39
|
/**
|
|
41
|
-
* Get callbacks for a specific event
|
|
42
|
-
*
|
|
40
|
+
* Get callbacks for a specific event in order.
|
|
41
|
+
* For After* events, reverses then re-sorts by order so that lower order
|
|
42
|
+
* still runs first, but same-order hooks run in reverse registration order.
|
|
43
43
|
*
|
|
44
44
|
* @param event - The event to get callbacks for
|
|
45
45
|
* @returns Array of callbacks for the event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAW1G;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,WAAW,CAAA;CACf;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;;IAM3E,6CAA6C;IAC7C,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,WAAW;IAyBd;;;;;;;;;;OAUG;IACG,eAAe,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmCpE;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CAQxB"}
|