@strands-agents/sdk 1.0.0 → 1.2.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/README.md +6 -0
- package/dist/src/__fixtures__/agent-helpers.d.ts +16 -1
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +42 -0
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.d.ts +2 -1
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.js +20 -3
- 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 +264 -0
- package/dist/src/__tests__/interrupt.test.js.map +1 -0
- package/dist/src/__tests__/mcp.test.js +447 -7
- package/dist/src/__tests__/mcp.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.hook.test.js +551 -1
- 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 +779 -0
- package/dist/src/agent/__tests__/agent.interrupt.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.test.js +174 -0
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.js +148 -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 +2 -3
- package/dist/src/agent/agent-as-tool.js.map +1 -1
- package/dist/src/agent/agent.d.ts +94 -4
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +625 -223
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +11 -19
- package/dist/src/agent/snapshot.d.ts.map +1 -1
- package/dist/src/agent/snapshot.js +23 -19
- 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 +422 -41
- 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 +75 -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 +43 -10
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +202 -45
- 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/hooks/__tests__/events.test.js +99 -12
- package/dist/src/hooks/__tests__/events.test.js.map +1 -1
- package/dist/src/hooks/__tests__/registry.test.js +166 -2
- package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
- package/dist/src/hooks/events.d.ts +125 -32
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +111 -8
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +4 -3
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +2 -1
- 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 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interrupt.d.ts +247 -0
- package/dist/src/interrupt.d.ts.map +1 -0
- package/dist/src/interrupt.js +316 -0
- package/dist/src/interrupt.js.map +1 -0
- package/dist/src/mcp.d.ts +61 -4
- package/dist/src/mcp.d.ts.map +1 -1
- package/dist/src/mcp.js +161 -25
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +78 -8
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +156 -18
- 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 +72 -6
- package/dist/src/models/__tests__/google.test.js.map +1 -1
- package/dist/src/models/anthropic.d.ts +10 -0
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +14 -4
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +17 -3
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +80 -13
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/defaults.d.ts +10 -0
- package/dist/src/models/defaults.d.ts.map +1 -1
- package/dist/src/models/defaults.js +129 -0
- package/dist/src/models/defaults.js.map +1 -1
- package/dist/src/models/google/model.d.ts.map +1 -1
- package/dist/src/models/google/model.js +4 -2
- package/dist/src/models/google/model.js.map +1 -1
- package/dist/src/models/google/types.d.ts +10 -0
- package/dist/src/models/google/types.d.ts.map +1 -1
- package/dist/src/models/model.d.ts +15 -0
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +18 -0
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/openai/__tests__/chat.test.js +55 -2
- package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
- package/dist/src/models/openai/__tests__/responses.test.js +19 -0
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
- package/dist/src/models/openai/errors.d.ts.map +1 -1
- package/dist/src/models/openai/errors.js +7 -4
- package/dist/src/models/openai/errors.js.map +1 -1
- package/dist/src/models/openai/model.d.ts.map +1 -1
- package/dist/src/models/openai/model.js +2 -2
- package/dist/src/models/openai/model.js.map +1 -1
- 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__/graph.tracer.test.js +14 -0
- package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/interrupts.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/interrupts.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/interrupts.test.js +390 -0
- package/dist/src/multiagent/__tests__/interrupts.test.js.map +1 -0
- package/dist/src/multiagent/__tests__/nodes.test.js +13 -0
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/state.test.js +139 -1
- package/dist/src/multiagent/__tests__/state.test.js.map +1 -1
- 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 +15 -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 +59 -3
- package/dist/src/multiagent/graph.d.ts.map +1 -1
- package/dist/src/multiagent/graph.js +201 -34
- package/dist/src/multiagent/graph.js.map +1 -1
- package/dist/src/multiagent/multiagent.d.ts +77 -3
- package/dist/src/multiagent/multiagent.d.ts.map +1 -1
- package/dist/src/multiagent/multiagent.js +115 -1
- package/dist/src/multiagent/multiagent.js.map +1 -1
- package/dist/src/multiagent/nodes.d.ts +18 -0
- package/dist/src/multiagent/nodes.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.js +69 -22
- package/dist/src/multiagent/nodes.js.map +1 -1
- package/dist/src/multiagent/state.d.ts +39 -3
- package/dist/src/multiagent/state.d.ts.map +1 -1
- package/dist/src/multiagent/state.js +80 -1
- package/dist/src/multiagent/state.js.map +1 -1
- package/dist/src/multiagent/swarm.d.ts +30 -1
- package/dist/src/multiagent/swarm.d.ts.map +1 -1
- package/dist/src/multiagent/swarm.js +166 -33
- package/dist/src/multiagent/swarm.js.map +1 -1
- package/dist/src/registry/__tests__/tool-registry.test.js +37 -0
- package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
- package/dist/src/registry/tool-registry.d.ts +13 -7
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +35 -10
- 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 +84 -3
- package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
- package/dist/src/session/session-manager.d.ts +11 -2
- package/dist/src/session/session-manager.d.ts.map +1 -1
- package/dist/src/session/session-manager.js +17 -6
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/telemetry/__tests__/meter.test.js +5 -27
- package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
- package/dist/src/telemetry/meter.d.ts +12 -4
- package/dist/src/telemetry/meter.d.ts.map +1 -1
- package/dist/src/telemetry/meter.js +13 -8
- 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.map +1 -1
- package/dist/src/tools/mcp-tool.js +3 -2
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/tool.d.ts +10 -1
- 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 +97 -0
- package/dist/src/types/__tests__/agent.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +48 -8
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js +28 -3
- package/dist/src/types/agent.js.map +1 -1
- 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 +12 -0
- 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 +3 -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 +3 -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 +3 -0
- package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
- package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
- package/package.json +9 -5
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
2
|
import { HookRegistryImplementation } from '../registry.js';
|
|
3
|
-
import { AfterInvocationEvent, BeforeInvocationEvent } from '../events.js';
|
|
3
|
+
import { AfterInvocationEvent, BeforeInvocationEvent, BeforeToolCallEvent } from '../events.js';
|
|
4
4
|
import { Agent } from '../../agent/agent.js';
|
|
5
|
+
import { InterruptError, InterruptState } from '../../interrupt.js';
|
|
5
6
|
describe('HookRegistryImplementation', () => {
|
|
6
7
|
let registry;
|
|
7
8
|
let mockAgent;
|
|
9
|
+
const getInterruptState = (agent) => agent._interruptState;
|
|
8
10
|
beforeEach(() => {
|
|
9
11
|
registry = new HookRegistryImplementation();
|
|
10
12
|
mockAgent = new Agent();
|
|
@@ -81,7 +83,7 @@ describe('HookRegistryImplementation', () => {
|
|
|
81
83
|
registry.addCallback(BeforeInvocationEvent, callback);
|
|
82
84
|
await expect(registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }))).rejects.toThrow('Hook failed');
|
|
83
85
|
});
|
|
84
|
-
it('stops execution on first error', async () => {
|
|
86
|
+
it('stops execution on first non-interrupt error', async () => {
|
|
85
87
|
const callback1 = vi.fn(() => {
|
|
86
88
|
throw new Error('First callback failed');
|
|
87
89
|
});
|
|
@@ -111,6 +113,58 @@ describe('HookRegistryImplementation', () => {
|
|
|
111
113
|
expect(result).toBe(event);
|
|
112
114
|
});
|
|
113
115
|
});
|
|
116
|
+
describe('ordering', () => {
|
|
117
|
+
it('lower order runs first', async () => {
|
|
118
|
+
const callOrder = [];
|
|
119
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
120
|
+
callOrder.push(0);
|
|
121
|
+
});
|
|
122
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
123
|
+
callOrder.push(100);
|
|
124
|
+
}, { order: 100 });
|
|
125
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
126
|
+
callOrder.push(-100);
|
|
127
|
+
}, { order: -100 });
|
|
128
|
+
await registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }));
|
|
129
|
+
expect(callOrder).toEqual([-100, 0, 100]);
|
|
130
|
+
});
|
|
131
|
+
it('same order preserves registration order', async () => {
|
|
132
|
+
const callOrder = [];
|
|
133
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
134
|
+
callOrder.push('first');
|
|
135
|
+
}, { order: 10 });
|
|
136
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
137
|
+
callOrder.push('second');
|
|
138
|
+
}, { order: 10 });
|
|
139
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
140
|
+
callOrder.push('third');
|
|
141
|
+
}, { order: 10 });
|
|
142
|
+
await registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }));
|
|
143
|
+
expect(callOrder).toEqual(['first', 'second', 'third']);
|
|
144
|
+
});
|
|
145
|
+
it('negative order runs before default', async () => {
|
|
146
|
+
const callOrder = [];
|
|
147
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
148
|
+
callOrder.push('default');
|
|
149
|
+
});
|
|
150
|
+
registry.addCallback(BeforeInvocationEvent, () => {
|
|
151
|
+
callOrder.push('early');
|
|
152
|
+
}, { order: -100 });
|
|
153
|
+
await registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }));
|
|
154
|
+
expect(callOrder).toEqual(['early', 'default']);
|
|
155
|
+
});
|
|
156
|
+
it('After events: lower order still runs first across groups', async () => {
|
|
157
|
+
const callOrder = [];
|
|
158
|
+
registry.addCallback(AfterInvocationEvent, () => {
|
|
159
|
+
callOrder.push('early');
|
|
160
|
+
}, { order: -100 });
|
|
161
|
+
registry.addCallback(AfterInvocationEvent, () => {
|
|
162
|
+
callOrder.push('late');
|
|
163
|
+
}, { order: 100 });
|
|
164
|
+
await registry.invokeCallbacks(new AfterInvocationEvent({ agent: mockAgent, invocationState: {} }));
|
|
165
|
+
expect(callOrder).toEqual(['early', 'late']);
|
|
166
|
+
});
|
|
167
|
+
});
|
|
114
168
|
describe('addCallback cleanup function', () => {
|
|
115
169
|
it('returns cleanup function that removes the callback', async () => {
|
|
116
170
|
const callback = vi.fn();
|
|
@@ -157,5 +211,115 @@ describe('HookRegistryImplementation', () => {
|
|
|
157
211
|
expect(callback2).not.toHaveBeenCalled();
|
|
158
212
|
});
|
|
159
213
|
});
|
|
214
|
+
describe('InterruptError collection', () => {
|
|
215
|
+
const createEvent = () => new BeforeToolCallEvent({
|
|
216
|
+
agent: mockAgent,
|
|
217
|
+
toolUse: { name: 'test', toolUseId: 'tool-1', input: {} },
|
|
218
|
+
tool: undefined,
|
|
219
|
+
invocationState: {},
|
|
220
|
+
});
|
|
221
|
+
it('collects InterruptErrors from multiple callbacks and invokes all of them', async () => {
|
|
222
|
+
const event = createEvent();
|
|
223
|
+
const callback1 = vi.fn(() => {
|
|
224
|
+
event.interrupt({ name: 'interrupt_a', reason: 'Reason A' });
|
|
225
|
+
});
|
|
226
|
+
const callback2 = vi.fn(() => {
|
|
227
|
+
event.interrupt({ name: 'interrupt_b', reason: 'Reason B' });
|
|
228
|
+
});
|
|
229
|
+
registry.addCallback(BeforeToolCallEvent, callback1);
|
|
230
|
+
registry.addCallback(BeforeToolCallEvent, callback2);
|
|
231
|
+
await expect(registry.invokeCallbacks(event)).rejects.toThrow(InterruptError);
|
|
232
|
+
expect(callback1).toHaveBeenCalledOnce();
|
|
233
|
+
expect(callback2).toHaveBeenCalledOnce();
|
|
234
|
+
const state = getInterruptState(mockAgent);
|
|
235
|
+
expect(Object.keys(state.interrupts).length).toBe(2);
|
|
236
|
+
expect(state
|
|
237
|
+
.getInterruptsList()
|
|
238
|
+
.map((i) => i.name)
|
|
239
|
+
.sort()).toEqual(['interrupt_a', 'interrupt_b']);
|
|
240
|
+
});
|
|
241
|
+
it('throws InterruptError with all collected interrupts after all callbacks run', async () => {
|
|
242
|
+
const event = createEvent();
|
|
243
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
244
|
+
event.interrupt({ name: 'first', reason: 'First' });
|
|
245
|
+
});
|
|
246
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
247
|
+
event.interrupt({ name: 'second', reason: 'Second' });
|
|
248
|
+
});
|
|
249
|
+
try {
|
|
250
|
+
await registry.invokeCallbacks(event);
|
|
251
|
+
expect.unreachable('should have thrown');
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
expect(error).toBeInstanceOf(InterruptError);
|
|
255
|
+
const ie = error;
|
|
256
|
+
expect(ie.interrupts).toHaveLength(2);
|
|
257
|
+
expect(ie.interrupts.map((i) => i.name)).toEqual(['first', 'second']);
|
|
258
|
+
expect(ie.message).toBe('2 interrupts raised: first, second');
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
it('stops on non-interrupt error even when interrupts were collected', async () => {
|
|
262
|
+
const event = createEvent();
|
|
263
|
+
const callback3 = vi.fn();
|
|
264
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
265
|
+
event.interrupt({ name: 'interrupt_a', reason: 'Reason A' });
|
|
266
|
+
});
|
|
267
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
268
|
+
throw new Error('Non-interrupt failure');
|
|
269
|
+
});
|
|
270
|
+
registry.addCallback(BeforeToolCallEvent, callback3);
|
|
271
|
+
await expect(registry.invokeCallbacks(event)).rejects.toThrow('Non-interrupt failure');
|
|
272
|
+
expect(callback3).not.toHaveBeenCalled();
|
|
273
|
+
});
|
|
274
|
+
it('runs all callbacks when only some raise interrupts', async () => {
|
|
275
|
+
const event = createEvent();
|
|
276
|
+
const callOrder = [];
|
|
277
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
278
|
+
callOrder.push('first');
|
|
279
|
+
event.interrupt({ name: 'interrupt_a', reason: 'Reason A' });
|
|
280
|
+
});
|
|
281
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
282
|
+
callOrder.push('second-no-interrupt');
|
|
283
|
+
});
|
|
284
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
285
|
+
callOrder.push('third');
|
|
286
|
+
event.interrupt({ name: 'interrupt_b', reason: 'Reason B' });
|
|
287
|
+
});
|
|
288
|
+
await expect(registry.invokeCallbacks(event)).rejects.toThrow(InterruptError);
|
|
289
|
+
expect(callOrder).toEqual(['first', 'second-no-interrupt', 'third']);
|
|
290
|
+
const state = getInterruptState(mockAgent);
|
|
291
|
+
expect(Object.keys(state.interrupts).length).toBe(2);
|
|
292
|
+
expect(state
|
|
293
|
+
.getInterruptsList()
|
|
294
|
+
.map((i) => i.name)
|
|
295
|
+
.sort()).toEqual(['interrupt_a', 'interrupt_b']);
|
|
296
|
+
});
|
|
297
|
+
it('throws when two callbacks use the same interrupt name', async () => {
|
|
298
|
+
const event = createEvent();
|
|
299
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
300
|
+
event.interrupt({ name: 'confirm', reason: 'First' });
|
|
301
|
+
});
|
|
302
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
303
|
+
event.interrupt({ name: 'confirm', reason: 'Second' });
|
|
304
|
+
});
|
|
305
|
+
await expect(registry.invokeCallbacks(event)).rejects.toThrow('interrupt_names=<confirm> | duplicate interrupt names');
|
|
306
|
+
});
|
|
307
|
+
it('reports all duplicate interrupt names in error', async () => {
|
|
308
|
+
const event = createEvent();
|
|
309
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
310
|
+
event.interrupt({ name: 'alpha' });
|
|
311
|
+
});
|
|
312
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
313
|
+
event.interrupt({ name: 'alpha' });
|
|
314
|
+
});
|
|
315
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
316
|
+
event.interrupt({ name: 'beta' });
|
|
317
|
+
});
|
|
318
|
+
registry.addCallback(BeforeToolCallEvent, () => {
|
|
319
|
+
event.interrupt({ name: 'beta' });
|
|
320
|
+
});
|
|
321
|
+
await expect(registry.invokeCallbacks(event)).rejects.toThrow('interrupt_names=<alpha, beta> | duplicate interrupt names');
|
|
322
|
+
});
|
|
323
|
+
});
|
|
160
324
|
});
|
|
161
325
|
//# sourceMappingURL=registry.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/registry.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/registry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import type { LocalAgent, AgentResult, InvocationState } from '../types/agent.js';
|
|
1
|
+
import type { LocalAgent, AgentResult, InvocationState, InvokeArgs } from '../types/agent.js';
|
|
2
2
|
import type { ContentBlock, Message, StopReason, ToolResultBlock } from '../types/messages.js';
|
|
3
3
|
import { type Tool, ToolStreamEvent } from '../tools/tool.js';
|
|
4
4
|
import type { JSONValue } from '../types/json.js';
|
|
5
5
|
import type { ModelStreamEvent } from '../models/streaming.js';
|
|
6
6
|
import type { Model } from '../models/model.js';
|
|
7
|
+
import { type Interrupt, type Interruptible } from '../interrupt.js';
|
|
8
|
+
import type { InterruptParams } from '../types/interrupt.js';
|
|
7
9
|
/**
|
|
8
10
|
* Agent hook events.
|
|
9
11
|
*
|
|
10
12
|
* All events extend {@link StreamEvent} with a `readonly type` discriminator
|
|
11
13
|
* (camelCase of the class name) for switch-based narrowing. Constructor takes
|
|
12
|
-
* a single data-object parameter.
|
|
13
|
-
*
|
|
14
|
+
* a single data-object parameter. Most properties are readonly — writable fields
|
|
15
|
+
* are the hook-driven control/data fields documented per event
|
|
16
|
+
* (e.g. `cancel`, `retry`, `selectedTool`, `resume`, and mutable `toolUse` / `result`).
|
|
14
17
|
*
|
|
15
18
|
* All current events extend {@link HookableEvent} (which itself extends {@link StreamEvent}),
|
|
16
19
|
* making them both streamable and subscribable via hook callbacks. {@link StreamEvent} exists
|
|
@@ -89,6 +92,17 @@ export declare abstract class HookableEvent extends StreamEvent {
|
|
|
89
92
|
*/
|
|
90
93
|
_shouldReverseCallbacks(): boolean;
|
|
91
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Mutable tool-use descriptor carried on tool-call hook events.
|
|
97
|
+
* Matches the shape of the tool use block the model emitted; hooks on
|
|
98
|
+
* {@link BeforeToolCallEvent} may mutate its fields (or reassign the object)
|
|
99
|
+
* to rewrite the input, id, or tool name before the tool executes.
|
|
100
|
+
*/
|
|
101
|
+
export interface ToolUseData {
|
|
102
|
+
name: string;
|
|
103
|
+
toolUseId: string;
|
|
104
|
+
input: JSONValue;
|
|
105
|
+
}
|
|
92
106
|
/**
|
|
93
107
|
* Event triggered when an agent has finished initialization.
|
|
94
108
|
* Fired after the agent has been fully constructed and all built-in components have been initialized.
|
|
@@ -138,21 +152,33 @@ export declare class AfterInvocationEvent extends HookableEvent {
|
|
|
138
152
|
readonly type: "afterInvocationEvent";
|
|
139
153
|
readonly agent: LocalAgent;
|
|
140
154
|
readonly invocationState: InvocationState;
|
|
155
|
+
/**
|
|
156
|
+
* Set by hook callbacks to trigger a follow-up agent invocation with new input.
|
|
157
|
+
* When set, after this event's callbacks complete the agent re-enters its loop
|
|
158
|
+
* with these args as new input, under the same invocation lock. A fresh
|
|
159
|
+
* {@link BeforeInvocationEvent}/{@link AfterInvocationEvent} pair fires for the
|
|
160
|
+
* resumed run. Ignored if the invocation ended with an error.
|
|
161
|
+
*
|
|
162
|
+
* If multiple callbacks set `resume`, the last callback to run wins.
|
|
163
|
+
*/
|
|
164
|
+
resume: InvokeArgs | undefined;
|
|
141
165
|
constructor(data: {
|
|
142
166
|
agent: LocalAgent;
|
|
143
167
|
invocationState: InvocationState;
|
|
144
168
|
});
|
|
145
169
|
_shouldReverseCallbacks(): boolean;
|
|
146
170
|
/**
|
|
147
|
-
* Serializes for wire transport, excluding the agent reference
|
|
171
|
+
* Serializes for wire transport, excluding the agent reference, invocationState,
|
|
172
|
+
* and mutable resume field.
|
|
148
173
|
* Called automatically by JSON.stringify().
|
|
149
174
|
*/
|
|
150
175
|
toJSON(): Pick<AfterInvocationEvent, 'type'>;
|
|
151
176
|
}
|
|
152
177
|
/**
|
|
153
178
|
* Event triggered when the framework adds a message to the conversation history.
|
|
154
|
-
* Fired
|
|
155
|
-
* Does not fire for
|
|
179
|
+
* Fired for user input, assistant responses, and tool-result messages added
|
|
180
|
+
* during agent execution. Does not fire for messages preloaded via
|
|
181
|
+
* `AgentConfig.messages` or messages manually pushed to `agent.messages`.
|
|
156
182
|
*/
|
|
157
183
|
export declare class MessageAddedEvent extends HookableEvent {
|
|
158
184
|
readonly type: "messageAddedEvent";
|
|
@@ -173,16 +199,18 @@ export declare class MessageAddedEvent extends HookableEvent {
|
|
|
173
199
|
/**
|
|
174
200
|
* Event triggered just before a tool is executed.
|
|
175
201
|
* Fired after tool lookup but before execution begins.
|
|
176
|
-
*
|
|
202
|
+
*
|
|
203
|
+
* Hook callbacks can:
|
|
204
|
+
* - Set {@link cancel} to prevent the tool from executing.
|
|
205
|
+
* - Set {@link selectedTool} to execute a different tool in place of the registry's match.
|
|
206
|
+
* - Mutate {@link toolUse} to rewrite the tool input, id, or name before execution.
|
|
207
|
+
* If `name` is changed and `selectedTool` is not set, the tool is re-resolved from
|
|
208
|
+
* the registry under the new name.
|
|
177
209
|
*/
|
|
178
|
-
export declare class BeforeToolCallEvent extends HookableEvent {
|
|
210
|
+
export declare class BeforeToolCallEvent extends HookableEvent implements Interruptible {
|
|
179
211
|
readonly type: "beforeToolCallEvent";
|
|
180
212
|
readonly agent: LocalAgent;
|
|
181
|
-
|
|
182
|
-
name: string;
|
|
183
|
-
toolUseId: string;
|
|
184
|
-
input: JSONValue;
|
|
185
|
-
};
|
|
213
|
+
toolUse: ToolUseData;
|
|
186
214
|
readonly tool: Tool | undefined;
|
|
187
215
|
readonly invocationState: InvocationState;
|
|
188
216
|
/**
|
|
@@ -191,18 +219,34 @@ export declare class BeforeToolCallEvent extends HookableEvent {
|
|
|
191
219
|
* When set to a string, that string is used as the tool result error message.
|
|
192
220
|
*/
|
|
193
221
|
cancel: boolean | string;
|
|
222
|
+
/**
|
|
223
|
+
* Set by hook callbacks to execute a replacement tool instead of {@link tool}.
|
|
224
|
+
* When undefined, the tool looked up from the registry (or re-resolved from a
|
|
225
|
+
* mutated `toolUse.name`) is used.
|
|
226
|
+
*
|
|
227
|
+
* If multiple callbacks set `selectedTool`, the last callback to run wins.
|
|
228
|
+
* Callbacks run in registration order for this event, so the last-registered
|
|
229
|
+
* callback's value is the one used.
|
|
230
|
+
*/
|
|
231
|
+
selectedTool: Tool | undefined;
|
|
194
232
|
constructor(data: {
|
|
195
233
|
agent: LocalAgent;
|
|
196
|
-
toolUse:
|
|
197
|
-
name: string;
|
|
198
|
-
toolUseId: string;
|
|
199
|
-
input: JSONValue;
|
|
200
|
-
};
|
|
234
|
+
toolUse: ToolUseData;
|
|
201
235
|
tool: Tool | undefined;
|
|
202
236
|
invocationState: InvocationState;
|
|
203
237
|
});
|
|
204
238
|
/**
|
|
205
|
-
*
|
|
239
|
+
* Raises an interrupt for human-in-the-loop workflows.
|
|
240
|
+
* If a response is available (from a previous resume), returns it immediately.
|
|
241
|
+
* Otherwise, throws an InterruptError to halt agent execution.
|
|
242
|
+
*
|
|
243
|
+
* @param params - Interrupt parameters including name and optional reason
|
|
244
|
+
* @returns The user's response when resuming from an interrupt
|
|
245
|
+
*/
|
|
246
|
+
interrupt<T = JSONValue>(params: InterruptParams): T;
|
|
247
|
+
/**
|
|
248
|
+
* Serializes for wire transport, excluding the agent reference, tool instance,
|
|
249
|
+
* invocationState, and mutable cancel / selectedTool fields.
|
|
206
250
|
* Called automatically by JSON.stringify().
|
|
207
251
|
*/
|
|
208
252
|
toJSON(): Pick<BeforeToolCallEvent, 'type' | 'toolUse'>;
|
|
@@ -211,15 +255,14 @@ export declare class BeforeToolCallEvent extends HookableEvent {
|
|
|
211
255
|
* Event triggered after a tool execution completes.
|
|
212
256
|
* Fired after tool execution finishes, whether successful or failed.
|
|
213
257
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
258
|
+
*
|
|
259
|
+
* Hook callbacks can mutate {@link result} to rewrite the tool result before it
|
|
260
|
+
* propagates to the model (e.g. to redact or truncate output).
|
|
214
261
|
*/
|
|
215
262
|
export declare class AfterToolCallEvent extends HookableEvent {
|
|
216
263
|
readonly type: "afterToolCallEvent";
|
|
217
264
|
readonly agent: LocalAgent;
|
|
218
|
-
readonly toolUse:
|
|
219
|
-
name: string;
|
|
220
|
-
toolUseId: string;
|
|
221
|
-
input: JSONValue;
|
|
222
|
-
};
|
|
265
|
+
readonly toolUse: ToolUseData;
|
|
223
266
|
readonly tool: Tool | undefined;
|
|
224
267
|
/**
|
|
225
268
|
* The tool result. Can be replaced by hook callbacks to transform the result
|
|
@@ -235,11 +278,7 @@ export declare class AfterToolCallEvent extends HookableEvent {
|
|
|
235
278
|
retry?: boolean;
|
|
236
279
|
constructor(data: {
|
|
237
280
|
agent: LocalAgent;
|
|
238
|
-
toolUse:
|
|
239
|
-
name: string;
|
|
240
|
-
toolUseId: string;
|
|
241
|
-
input: JSONValue;
|
|
242
|
-
};
|
|
281
|
+
toolUse: ToolUseData;
|
|
243
282
|
tool: Tool | undefined;
|
|
244
283
|
result: ToolResultBlock;
|
|
245
284
|
invocationState: InvocationState;
|
|
@@ -334,6 +373,16 @@ export declare class AfterModelCallEvent extends HookableEvent {
|
|
|
334
373
|
readonly stopData?: ModelStopData;
|
|
335
374
|
readonly error?: Error;
|
|
336
375
|
readonly invocationState: InvocationState;
|
|
376
|
+
/**
|
|
377
|
+
* 1-indexed count of model attempts for this turn, including the attempt
|
|
378
|
+
* that just completed (or failed). The first call in a turn is `1`; each
|
|
379
|
+
* subsequent retry increments by one.
|
|
380
|
+
*
|
|
381
|
+
* Retry strategies may rely on `attemptCount === 1` to mark the start of a
|
|
382
|
+
* new retry sequence (e.g. to clear per-turn state carried over from a
|
|
383
|
+
* previous turn). The agent loop guarantees this marker on every fresh turn.
|
|
384
|
+
*/
|
|
385
|
+
readonly attemptCount: number;
|
|
337
386
|
/**
|
|
338
387
|
* Optional flag that can be set by hook callbacks to request a retry of the model call.
|
|
339
388
|
* When set to true, the agent will retry the model invocation.
|
|
@@ -343,6 +392,7 @@ export declare class AfterModelCallEvent extends HookableEvent {
|
|
|
343
392
|
agent: LocalAgent;
|
|
344
393
|
model: Model;
|
|
345
394
|
invocationState: InvocationState;
|
|
395
|
+
attemptCount: number;
|
|
346
396
|
stopData?: ModelStopData;
|
|
347
397
|
error?: Error;
|
|
348
398
|
});
|
|
@@ -352,7 +402,7 @@ export declare class AfterModelCallEvent extends HookableEvent {
|
|
|
352
402
|
* Converts Error to an extensible object for safe wire serialization.
|
|
353
403
|
* Called automatically by JSON.stringify().
|
|
354
404
|
*/
|
|
355
|
-
toJSON(): Pick<AfterModelCallEvent, 'type' | 'stopData'> & {
|
|
405
|
+
toJSON(): Pick<AfterModelCallEvent, 'type' | 'stopData' | 'attemptCount'> & {
|
|
356
406
|
error?: {
|
|
357
407
|
message?: string;
|
|
358
408
|
};
|
|
@@ -493,12 +543,32 @@ export declare class AgentResultEvent extends HookableEvent {
|
|
|
493
543
|
*/
|
|
494
544
|
toJSON(): Pick<AgentResultEvent, 'type' | 'result'>;
|
|
495
545
|
}
|
|
546
|
+
/**
|
|
547
|
+
* Event emitted when an interrupt is raised during agent execution. The `interrupt.source`
|
|
548
|
+
* field discriminates between tool-callback and hook-callback origins. One event fires
|
|
549
|
+
* per unanswered interrupt at the moment the agent stops to wait for responses.
|
|
550
|
+
*/
|
|
551
|
+
export declare class InterruptEvent extends HookableEvent {
|
|
552
|
+
readonly type: "interruptEvent";
|
|
553
|
+
readonly agent: LocalAgent;
|
|
554
|
+
readonly interrupt: Interrupt;
|
|
555
|
+
readonly invocationState: InvocationState;
|
|
556
|
+
constructor(data: {
|
|
557
|
+
agent: LocalAgent;
|
|
558
|
+
interrupt: Interrupt;
|
|
559
|
+
invocationState: InvocationState;
|
|
560
|
+
});
|
|
561
|
+
/** Serializes for wire transport, excluding agent and invocationState. */
|
|
562
|
+
toJSON(): Pick<InterruptEvent, 'type'> & {
|
|
563
|
+
interrupt: ReturnType<Interrupt['toJSON']>;
|
|
564
|
+
};
|
|
565
|
+
}
|
|
496
566
|
/**
|
|
497
567
|
* Event triggered before executing tools.
|
|
498
568
|
* Fired when the model returns tool use blocks that need to be executed.
|
|
499
569
|
* Hook callbacks can set {@link cancel} to prevent all tools from executing.
|
|
500
570
|
*/
|
|
501
|
-
export declare class BeforeToolsEvent extends HookableEvent {
|
|
571
|
+
export declare class BeforeToolsEvent extends HookableEvent implements Interruptible {
|
|
502
572
|
readonly type: "beforeToolsEvent";
|
|
503
573
|
readonly agent: LocalAgent;
|
|
504
574
|
readonly message: Message;
|
|
@@ -514,6 +584,15 @@ export declare class BeforeToolsEvent extends HookableEvent {
|
|
|
514
584
|
message: Message;
|
|
515
585
|
invocationState: InvocationState;
|
|
516
586
|
});
|
|
587
|
+
/**
|
|
588
|
+
* Raises an interrupt for human-in-the-loop workflows.
|
|
589
|
+
* If a response is available (from a previous resume), returns it immediately.
|
|
590
|
+
* Otherwise, throws an InterruptError to halt agent execution.
|
|
591
|
+
*
|
|
592
|
+
* @param params - Interrupt parameters including name and optional reason
|
|
593
|
+
* @returns The user's response when resuming from an interrupt
|
|
594
|
+
*/
|
|
595
|
+
interrupt<T = JSONValue>(params: InterruptParams): T;
|
|
517
596
|
/**
|
|
518
597
|
* Serializes for wire transport, excluding the agent reference, invocationState, and mutable cancel flag.
|
|
519
598
|
* Called automatically by JSON.stringify().
|
|
@@ -530,6 +609,19 @@ export declare class AfterToolsEvent extends HookableEvent {
|
|
|
530
609
|
readonly agent: LocalAgent;
|
|
531
610
|
readonly message: Message;
|
|
532
611
|
readonly invocationState: InvocationState;
|
|
612
|
+
/**
|
|
613
|
+
* When set to `true`, the agent loop halts after this tool batch completes
|
|
614
|
+
* without calling the model again and a default message
|
|
615
|
+
* (`"Turn ended early by hook after tool execution"`) is appended as the
|
|
616
|
+
* final assistant message. When set to a string, that string is used instead
|
|
617
|
+
* of the default — the string becomes literal assistant content (a
|
|
618
|
+
* `TextBlock`), not a reason or label. Contrast with
|
|
619
|
+
* {@link BeforeToolCallEvent.cancel | cancel} fields on other events, where
|
|
620
|
+
* the string is a cancellation reason.
|
|
621
|
+
*
|
|
622
|
+
* In both cases `stopReason` on the returned `AgentResult` is `'endTurn'`.
|
|
623
|
+
*/
|
|
624
|
+
endTurn: boolean | string;
|
|
533
625
|
constructor(data: {
|
|
534
626
|
agent: LocalAgent;
|
|
535
627
|
message: Message;
|
|
@@ -537,7 +629,8 @@ export declare class AfterToolsEvent extends HookableEvent {
|
|
|
537
629
|
});
|
|
538
630
|
_shouldReverseCallbacks(): boolean;
|
|
539
631
|
/**
|
|
540
|
-
* Serializes for wire transport, excluding the agent reference
|
|
632
|
+
* Serializes for wire transport, excluding the agent reference, invocationState,
|
|
633
|
+
* and mutable endTurn field.
|
|
541
634
|
* Called automatically by JSON.stringify().
|
|
542
635
|
*/
|
|
543
636
|
toJSON(): Pick<AfterToolsEvent, 'type' | 'message'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
|