@strands-agents/sdk 0.3.0 → 0.4.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 +43 -0
- package/dist/src/__fixtures__/mock-hook-provider.d.ts +3 -7
- package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-hook-provider.js +3 -9
- package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.d.ts +8 -2
- package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.js +1 -0
- package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
- package/dist/src/__fixtures__/mock-storage-provider.d.ts +37 -0
- package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -0
- package/dist/src/__fixtures__/mock-storage-provider.js +105 -0
- package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -0
- package/dist/src/__fixtures__/slim-types.d.ts +50 -0
- package/dist/src/__fixtures__/slim-types.d.ts.map +1 -0
- package/dist/src/__fixtures__/slim-types.js +6 -0
- package/dist/src/__fixtures__/slim-types.js.map +1 -0
- package/dist/src/__fixtures__/tool-helpers.d.ts +8 -3
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.js +1 -1
- package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
- package/dist/src/agent/__tests__/agent.hook.test.js +18 -18
- package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.test.js +124 -8
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/printer.test.js +5 -9
- package/dist/src/agent/__tests__/printer.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.d.ts +2 -0
- package/dist/src/agent/__tests__/snapshot.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/snapshot.test.js +249 -0
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -0
- package/dist/src/agent/__tests__/state.test.js +19 -0
- package/dist/src/agent/__tests__/state.test.js.map +1 -1
- package/dist/src/agent/agent.d.ts +19 -4
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +104 -34
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/printer.d.ts +4 -0
- package/dist/src/agent/printer.d.ts.map +1 -1
- package/dist/src/agent/printer.js +18 -6
- package/dist/src/agent/printer.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +132 -0
- package/dist/src/agent/snapshot.d.ts.map +1 -0
- package/dist/src/agent/snapshot.js +151 -0
- package/dist/src/agent/snapshot.js.map +1 -0
- package/dist/src/agent/state.d.ts +14 -1
- package/dist/src/agent/state.d.ts.map +1 -1
- package/dist/src/agent/state.js +21 -0
- package/dist/src/agent/state.js.map +1 -1
- package/dist/src/errors.d.ts +15 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +18 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/hooks/__tests__/events.test.js +102 -21
- package/dist/src/hooks/__tests__/events.test.js.map +1 -1
- package/dist/src/hooks/events.d.ts +156 -22
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +158 -18
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +12 -4
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +11 -3
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/registry.d.ts +5 -5
- package/dist/src/hooks/registry.d.ts.map +1 -1
- package/dist/src/hooks/registry.js.map +1 -1
- package/dist/src/hooks/types.d.ts +5 -5
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +31 -42
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +70 -107
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/gemini.test.js +18 -18
- package/dist/src/models/__tests__/gemini.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +14 -13
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/__tests__/openai.test.js +73 -83
- package/dist/src/models/__tests__/openai.test.js.map +1 -1
- package/dist/src/models/streaming.d.ts +8 -0
- package/dist/src/models/streaming.d.ts.map +1 -1
- package/dist/src/models/streaming.js +17 -0
- package/dist/src/models/streaming.js.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/nodes.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/nodes.test.js +98 -0
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -0
- package/dist/src/multiagent/events.d.ts +24 -0
- package/dist/src/multiagent/events.d.ts.map +1 -0
- package/dist/src/multiagent/events.js +19 -0
- package/dist/src/multiagent/events.js.map +1 -0
- package/dist/src/multiagent/index.d.ts +11 -0
- package/dist/src/multiagent/index.d.ts.map +1 -0
- package/dist/src/multiagent/index.js +7 -0
- package/dist/src/multiagent/index.js.map +1 -0
- package/dist/src/multiagent/nodes.d.ts +75 -0
- package/dist/src/multiagent/nodes.d.ts.map +1 -0
- package/dist/src/multiagent/nodes.js +101 -0
- package/dist/src/multiagent/nodes.js.map +1 -0
- package/dist/src/multiagent/state.d.ts +55 -0
- package/dist/src/multiagent/state.d.ts.map +1 -0
- package/dist/src/multiagent/state.js +43 -0
- package/dist/src/multiagent/state.js.map +1 -0
- package/dist/src/multiagent/types.d.ts +5 -0
- package/dist/src/multiagent/types.d.ts.map +1 -0
- package/dist/src/multiagent/types.js +2 -0
- package/dist/src/multiagent/types.js.map +1 -0
- package/dist/src/registry/tool-registry.d.ts +2 -1
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +4 -2
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/session/__tests__/file-storage.test.node.d.ts +2 -0
- package/dist/src/session/__tests__/file-storage.test.node.d.ts.map +1 -0
- package/dist/src/session/__tests__/file-storage.test.node.js +218 -0
- package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -0
- package/dist/src/session/__tests__/s3-storage.test.node.d.ts +2 -0
- package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +1 -0
- package/dist/src/session/__tests__/s3-storage.test.node.js +375 -0
- package/dist/src/session/__tests__/s3-storage.test.node.js.map +1 -0
- package/dist/src/session/__tests__/validation.test.d.ts +2 -0
- package/dist/src/session/__tests__/validation.test.d.ts.map +1 -0
- package/dist/src/session/__tests__/validation.test.js +20 -0
- package/dist/src/session/__tests__/validation.test.js.map +1 -0
- package/dist/src/session/file-storage.d.ts +79 -0
- package/dist/src/session/file-storage.d.ts.map +1 -0
- package/dist/src/session/file-storage.js +144 -0
- package/dist/src/session/file-storage.js.map +1 -0
- package/dist/src/session/index.d.ts +19 -0
- package/dist/src/session/index.d.ts.map +1 -0
- package/dist/src/session/index.js +18 -0
- package/dist/src/session/index.js.map +1 -0
- package/dist/src/session/s3-storage.d.ts +93 -0
- package/dist/src/session/s3-storage.d.ts.map +1 -0
- package/dist/src/session/s3-storage.js +150 -0
- package/dist/src/session/s3-storage.js.map +1 -0
- package/dist/src/session/storage.d.ts +91 -0
- package/dist/src/session/storage.d.ts.map +1 -0
- package/dist/src/session/storage.js +2 -0
- package/dist/src/session/storage.js.map +1 -0
- package/dist/src/session/types.d.ts +49 -0
- package/dist/src/session/types.d.ts.map +1 -0
- package/dist/src/session/types.js +2 -0
- package/dist/src/session/types.js.map +1 -0
- package/dist/src/session/validation.d.ts +10 -0
- package/dist/src/session/validation.d.ts.map +1 -0
- package/dist/src/session/validation.js +16 -0
- package/dist/src/session/validation.js.map +1 -0
- package/dist/src/structured-output/__tests__/context.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/context.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/context.test.js +201 -0
- package/dist/src/structured-output/__tests__/context.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/exceptions.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/exceptions.test.js +103 -0
- package/dist/src/structured-output/__tests__/exceptions.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/tool.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/tool.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/tool.test.js +256 -0
- package/dist/src/structured-output/__tests__/tool.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/utils.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/utils.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/utils.test.js +183 -0
- package/dist/src/structured-output/__tests__/utils.test.js.map +1 -0
- package/dist/src/structured-output/context.d.ts +91 -0
- package/dist/src/structured-output/context.d.ts.map +1 -0
- package/dist/src/structured-output/context.js +112 -0
- package/dist/src/structured-output/context.js.map +1 -0
- package/dist/src/structured-output/exceptions.d.ts +18 -0
- package/dist/src/structured-output/exceptions.d.ts.map +1 -0
- package/dist/src/structured-output/exceptions.js +28 -0
- package/dist/src/structured-output/exceptions.js.map +1 -0
- package/dist/src/structured-output/tool.d.ts +33 -0
- package/dist/src/structured-output/tool.d.ts.map +1 -0
- package/dist/src/structured-output/tool.js +73 -0
- package/dist/src/structured-output/tool.js.map +1 -0
- package/dist/src/structured-output/utils.d.ts +23 -0
- package/dist/src/structured-output/utils.d.ts.map +1 -0
- package/dist/src/structured-output/utils.js +104 -0
- package/dist/src/structured-output/utils.js.map +1 -0
- package/dist/src/tools/zod-tool.d.ts.map +1 -1
- package/dist/src/tools/zod-tool.js +2 -5
- package/dist/src/tools/zod-tool.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/media.test.js +216 -1
- package/dist/src/types/__tests__/media.test.js.map +1 -1
- package/dist/src/types/__tests__/messages.test.js +193 -4
- package/dist/src/types/__tests__/messages.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +13 -7
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js +8 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/json.d.ts +61 -0
- package/dist/src/types/json.d.ts.map +1 -1
- package/dist/src/types/json.js +24 -0
- package/dist/src/types/json.js.map +1 -1
- package/dist/src/types/media.d.ts +84 -4
- package/dist/src/types/media.d.ts.map +1 -1
- package/dist/src/types/media.js +194 -0
- package/dist/src/types/media.js.map +1 -1
- package/dist/src/types/messages.d.ts +148 -9
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +234 -7
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/types/serializable.d.ts +31 -0
- package/dist/src/types/serializable.d.ts.map +1 -0
- package/dist/src/types/serializable.js +19 -0
- package/dist/src/types/serializable.js.map +1 -0
- package/dist/src/utils/zod.d.ts +11 -0
- package/dist/src/utils/zod.d.ts.map +1 -0
- package/dist/src/utils/zod.js +14 -0
- package/dist/src/utils/zod.js.map +1 -0
- package/package.json +7 -2
|
@@ -1,13 +1,70 @@
|
|
|
1
|
-
import type { AgentData } from '../types/agent.js';
|
|
1
|
+
import type { AgentData, AgentResult } from '../types/agent.js';
|
|
2
2
|
import type { ContentBlock, Message, StopReason, ToolResultBlock } from '../types/messages.js';
|
|
3
|
-
import type
|
|
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
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Agent hook events.
|
|
8
|
+
*
|
|
9
|
+
* All events extend {@link StreamEvent} and carry `readonly agent: AgentData` with a
|
|
10
|
+
* `readonly type` discriminator (camelCase of the class name) for switch-based narrowing.
|
|
11
|
+
* Constructor takes a single data-object parameter. All properties are readonly except
|
|
12
|
+
* explicit mutable flags (`retry`).
|
|
13
|
+
*
|
|
14
|
+
* All current events extend {@link HookableEvent} (which itself extends {@link StreamEvent}),
|
|
15
|
+
* making them both streamable and subscribable via hook callbacks. {@link StreamEvent} exists
|
|
16
|
+
* as the base class for potential future events that should be stream-only without hookability.
|
|
17
|
+
*
|
|
18
|
+
* ## Event categories
|
|
19
|
+
*
|
|
20
|
+
* **Lifecycle events** — Before/After pairs that bracket agent operations.
|
|
21
|
+
* - Naming: `Before<Noun>Event` / `After<Noun>Event`
|
|
22
|
+
* - `After*` events override `_shouldReverseCallbacks()` → `true` for cleanup ordering.
|
|
23
|
+
* - Examples: {@link BeforeInvocationEvent}/{@link AfterInvocationEvent},
|
|
24
|
+
* {@link BeforeModelCallEvent}/{@link AfterModelCallEvent},
|
|
25
|
+
* {@link BeforeToolsEvent}/{@link AfterToolsEvent},
|
|
26
|
+
* {@link BeforeToolCallEvent}/{@link AfterToolCallEvent}
|
|
27
|
+
*
|
|
28
|
+
* **State-change events** — Signal that agent state was mutated.
|
|
29
|
+
* - Naming: `<Noun><PastTense>Event`
|
|
30
|
+
* - Examples: {@link InitializedEvent}, {@link MessageAddedEvent}
|
|
31
|
+
*
|
|
32
|
+
* **Data events** — Wrap data objects produced during agent execution.
|
|
33
|
+
* Two sub-categories:
|
|
34
|
+
*
|
|
35
|
+
* *Update events* — wrap transient streaming data from lower layers.
|
|
36
|
+
* - Naming: `<Source>StreamUpdateEvent`, payload field: `.event`
|
|
37
|
+
* - Examples: {@link ModelStreamUpdateEvent}, {@link ToolStreamUpdateEvent}
|
|
38
|
+
*
|
|
39
|
+
* *Completion events* — wrap finished data after processing completes.
|
|
40
|
+
* - Naming: descriptive `<Noun>Event`, payload field matches data type
|
|
41
|
+
* (`.result` for results, `.message` for messages, `.contentBlock` for content blocks).
|
|
42
|
+
* - Examples: {@link ContentBlockEvent}, {@link ModelMessageEvent},
|
|
43
|
+
* {@link ToolResultEvent}, {@link AgentResultEvent}
|
|
44
|
+
*
|
|
45
|
+
* ## Field naming conventions
|
|
46
|
+
*
|
|
47
|
+
* | Field | Usage |
|
|
48
|
+
* |----------------|---------------------------------------------|
|
|
49
|
+
* | `agent` | Present on every event (`AgentData`) |
|
|
50
|
+
* | `.event` | Inner event in update wrappers |
|
|
51
|
+
* | `.result` | Finished result object |
|
|
52
|
+
* | `.message` | Message object |
|
|
53
|
+
* | `.contentBlock`| Content block object |
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Base class for all events yielded by `agent.stream()`.
|
|
57
|
+
* Carries no hookability — subclasses that should be hookable extend {@link HookableEvent} instead.
|
|
58
|
+
*/
|
|
59
|
+
export declare abstract class StreamEvent {
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Base class for events that can be subscribed to via the hook system.
|
|
63
|
+
* Only events extending this class are dispatched to {@link HookRegistry} callbacks.
|
|
64
|
+
* All current events extend this class. {@link StreamEvent} exists as the base for
|
|
65
|
+
* potential future stream-only events that should not be hookable.
|
|
9
66
|
*/
|
|
10
|
-
export declare abstract class
|
|
67
|
+
export declare abstract class HookableEvent extends StreamEvent {
|
|
11
68
|
/**
|
|
12
69
|
* @internal
|
|
13
70
|
* Check if callbacks should be reversed for this event.
|
|
@@ -19,7 +76,7 @@ export declare abstract class HookEvent {
|
|
|
19
76
|
* Event triggered when an agent has finished initialization.
|
|
20
77
|
* Fired after the agent has been fully constructed and all built-in components have been initialized.
|
|
21
78
|
*/
|
|
22
|
-
export declare class InitializedEvent extends
|
|
79
|
+
export declare class InitializedEvent extends HookableEvent {
|
|
23
80
|
readonly type: "initializedEvent";
|
|
24
81
|
readonly agent: AgentData;
|
|
25
82
|
constructor(data: {
|
|
@@ -30,7 +87,7 @@ export declare class InitializedEvent extends HookEvent {
|
|
|
30
87
|
* Event triggered at the beginning of a new agent request.
|
|
31
88
|
* Fired before any model inference or tool execution occurs.
|
|
32
89
|
*/
|
|
33
|
-
export declare class BeforeInvocationEvent extends
|
|
90
|
+
export declare class BeforeInvocationEvent extends HookableEvent {
|
|
34
91
|
readonly type: "beforeInvocationEvent";
|
|
35
92
|
readonly agent: AgentData;
|
|
36
93
|
constructor(data: {
|
|
@@ -42,7 +99,7 @@ export declare class BeforeInvocationEvent extends HookEvent {
|
|
|
42
99
|
* Fired after all processing completes, regardless of success or error.
|
|
43
100
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
44
101
|
*/
|
|
45
|
-
export declare class AfterInvocationEvent extends
|
|
102
|
+
export declare class AfterInvocationEvent extends HookableEvent {
|
|
46
103
|
readonly type: "afterInvocationEvent";
|
|
47
104
|
readonly agent: AgentData;
|
|
48
105
|
constructor(data: {
|
|
@@ -55,7 +112,7 @@ export declare class AfterInvocationEvent extends HookEvent {
|
|
|
55
112
|
* Fired during the agent loop execution for framework-generated messages.
|
|
56
113
|
* Does not fire for initial messages from AgentConfig or user input messages.
|
|
57
114
|
*/
|
|
58
|
-
export declare class MessageAddedEvent extends
|
|
115
|
+
export declare class MessageAddedEvent extends HookableEvent {
|
|
59
116
|
readonly type: "messageAddedEvent";
|
|
60
117
|
readonly agent: AgentData;
|
|
61
118
|
readonly message: Message;
|
|
@@ -68,7 +125,7 @@ export declare class MessageAddedEvent extends HookEvent {
|
|
|
68
125
|
* Event triggered just before a tool is executed.
|
|
69
126
|
* Fired after tool lookup but before execution begins.
|
|
70
127
|
*/
|
|
71
|
-
export declare class BeforeToolCallEvent extends
|
|
128
|
+
export declare class BeforeToolCallEvent extends HookableEvent {
|
|
72
129
|
readonly type: "beforeToolCallEvent";
|
|
73
130
|
readonly agent: AgentData;
|
|
74
131
|
readonly toolUse: {
|
|
@@ -92,7 +149,7 @@ export declare class BeforeToolCallEvent extends HookEvent {
|
|
|
92
149
|
* Fired after tool execution finishes, whether successful or failed.
|
|
93
150
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
94
151
|
*/
|
|
95
|
-
export declare class AfterToolCallEvent extends
|
|
152
|
+
export declare class AfterToolCallEvent extends HookableEvent {
|
|
96
153
|
readonly type: "afterToolCallEvent";
|
|
97
154
|
readonly agent: AgentData;
|
|
98
155
|
readonly toolUse: {
|
|
@@ -125,7 +182,7 @@ export declare class AfterToolCallEvent extends HookEvent {
|
|
|
125
182
|
* Event triggered just before the model is invoked.
|
|
126
183
|
* Fired before sending messages to the model for inference.
|
|
127
184
|
*/
|
|
128
|
-
export declare class BeforeModelCallEvent extends
|
|
185
|
+
export declare class BeforeModelCallEvent extends HookableEvent {
|
|
129
186
|
readonly type: "beforeModelCallEvent";
|
|
130
187
|
readonly agent: AgentData;
|
|
131
188
|
constructor(data: {
|
|
@@ -152,7 +209,7 @@ export interface ModelStopData {
|
|
|
152
209
|
*
|
|
153
210
|
* Note: stopData may be undefined if an error occurs before the model completes.
|
|
154
211
|
*/
|
|
155
|
-
export declare class AfterModelCallEvent extends
|
|
212
|
+
export declare class AfterModelCallEvent extends HookableEvent {
|
|
156
213
|
readonly type: "afterModelCallEvent";
|
|
157
214
|
readonly agent: AgentData;
|
|
158
215
|
readonly stopData?: ModelStopData;
|
|
@@ -171,25 +228,102 @@ export declare class AfterModelCallEvent extends HookEvent {
|
|
|
171
228
|
}
|
|
172
229
|
/**
|
|
173
230
|
* Event triggered for each streaming event from the model.
|
|
174
|
-
*
|
|
175
|
-
*
|
|
231
|
+
* Wraps a {@link ModelStreamEvent} (transient streaming delta) during model inference.
|
|
232
|
+
* Completed content blocks are handled separately by {@link ContentBlockEvent}
|
|
233
|
+
* because they represent different granularities: partial deltas vs fully assembled results.
|
|
234
|
+
*/
|
|
235
|
+
export declare class ModelStreamUpdateEvent extends HookableEvent {
|
|
236
|
+
readonly type: "modelStreamUpdateEvent";
|
|
237
|
+
readonly agent: AgentData;
|
|
238
|
+
readonly event: ModelStreamEvent;
|
|
239
|
+
constructor(data: {
|
|
240
|
+
agent: AgentData;
|
|
241
|
+
event: ModelStreamEvent;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Event triggered when a content block completes during model inference.
|
|
246
|
+
* Wraps completed content blocks (TextBlock, ToolUseBlock, ReasoningBlock) from model streaming.
|
|
247
|
+
* This is intentionally separate from {@link ModelStreamUpdateEvent}. The model's
|
|
248
|
+
* `streamAggregated()` yields two kinds of output: {@link ModelStreamEvent} (transient
|
|
249
|
+
* streaming deltas — partial data arriving while the model generates) and
|
|
250
|
+
* {@link ContentBlock} (fully assembled results after all deltas accumulate).
|
|
251
|
+
* These represent different granularities with different semantics, so they are
|
|
252
|
+
* wrapped in distinct event classes rather than combined into a single event.
|
|
253
|
+
*/
|
|
254
|
+
export declare class ContentBlockEvent extends HookableEvent {
|
|
255
|
+
readonly type: "contentBlockEvent";
|
|
256
|
+
readonly agent: AgentData;
|
|
257
|
+
readonly contentBlock: ContentBlock;
|
|
258
|
+
constructor(data: {
|
|
259
|
+
agent: AgentData;
|
|
260
|
+
contentBlock: ContentBlock;
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Event triggered when the model completes a full message.
|
|
265
|
+
* Wraps the assembled message and stop reason after model streaming finishes.
|
|
266
|
+
*/
|
|
267
|
+
export declare class ModelMessageEvent extends HookableEvent {
|
|
268
|
+
readonly type: "modelMessageEvent";
|
|
269
|
+
readonly agent: AgentData;
|
|
270
|
+
readonly message: Message;
|
|
271
|
+
readonly stopReason: StopReason;
|
|
272
|
+
constructor(data: {
|
|
273
|
+
agent: AgentData;
|
|
274
|
+
message: Message;
|
|
275
|
+
stopReason: StopReason;
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Event triggered when a tool execution completes.
|
|
280
|
+
* Wraps the tool result block after a tool finishes execution.
|
|
281
|
+
*/
|
|
282
|
+
export declare class ToolResultEvent extends HookableEvent {
|
|
283
|
+
readonly type: "toolResultEvent";
|
|
284
|
+
readonly agent: AgentData;
|
|
285
|
+
readonly result: ToolResultBlock;
|
|
286
|
+
constructor(data: {
|
|
287
|
+
agent: AgentData;
|
|
288
|
+
result: ToolResultBlock;
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Event triggered for each streaming progress event from a tool during execution.
|
|
293
|
+
* Wraps a {@link ToolStreamEvent} with agent context, keeping the tool authoring
|
|
294
|
+
* interface unchanged — tools construct `ToolStreamEvent` without knowledge of agents
|
|
295
|
+
* or hooks, and the agent layer wraps them at the boundary.
|
|
176
296
|
*
|
|
177
|
-
*
|
|
297
|
+
* Consistent with {@link ModelStreamUpdateEvent} which wraps model streaming events
|
|
298
|
+
* the same way.
|
|
299
|
+
*/
|
|
300
|
+
export declare class ToolStreamUpdateEvent extends HookableEvent {
|
|
301
|
+
readonly type: "toolStreamUpdateEvent";
|
|
302
|
+
readonly agent: AgentData;
|
|
303
|
+
readonly event: ToolStreamEvent;
|
|
304
|
+
constructor(data: {
|
|
305
|
+
agent: AgentData;
|
|
306
|
+
event: ToolStreamEvent;
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Event triggered as the final event in the agent stream.
|
|
311
|
+
* Wraps the agent result containing the stop reason and last message.
|
|
178
312
|
*/
|
|
179
|
-
export declare class
|
|
180
|
-
readonly type: "
|
|
313
|
+
export declare class AgentResultEvent extends HookableEvent {
|
|
314
|
+
readonly type: "agentResultEvent";
|
|
181
315
|
readonly agent: AgentData;
|
|
182
|
-
readonly
|
|
316
|
+
readonly result: AgentResult;
|
|
183
317
|
constructor(data: {
|
|
184
318
|
agent: AgentData;
|
|
185
|
-
|
|
319
|
+
result: AgentResult;
|
|
186
320
|
});
|
|
187
321
|
}
|
|
188
322
|
/**
|
|
189
323
|
* Event triggered before executing tools.
|
|
190
324
|
* Fired when the model returns tool use blocks that need to be executed.
|
|
191
325
|
*/
|
|
192
|
-
export declare class BeforeToolsEvent extends
|
|
326
|
+
export declare class BeforeToolsEvent extends HookableEvent {
|
|
193
327
|
readonly type: "beforeToolsEvent";
|
|
194
328
|
readonly agent: AgentData;
|
|
195
329
|
readonly message: Message;
|
|
@@ -203,7 +337,7 @@ export declare class BeforeToolsEvent extends HookEvent {
|
|
|
203
337
|
* Fired after tool results are collected and ready to be added to conversation.
|
|
204
338
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
205
339
|
*/
|
|
206
|
-
export declare class AfterToolsEvent extends
|
|
340
|
+
export declare class AfterToolsEvent extends HookableEvent {
|
|
207
341
|
readonly type: "afterToolsEvent";
|
|
208
342
|
readonly agent: AgentData;
|
|
209
343
|
readonly message: Message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
|
package/dist/src/hooks/events.js
CHANGED
|
@@ -1,8 +1,66 @@
|
|
|
1
|
+
import { ToolStreamEvent } from '../tools/tool.js';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
3
|
+
* Agent hook events.
|
|
4
|
+
*
|
|
5
|
+
* All events extend {@link StreamEvent} and carry `readonly agent: AgentData` with a
|
|
6
|
+
* `readonly type` discriminator (camelCase of the class name) for switch-based narrowing.
|
|
7
|
+
* Constructor takes a single data-object parameter. All properties are readonly except
|
|
8
|
+
* explicit mutable flags (`retry`).
|
|
9
|
+
*
|
|
10
|
+
* All current events extend {@link HookableEvent} (which itself extends {@link StreamEvent}),
|
|
11
|
+
* making them both streamable and subscribable via hook callbacks. {@link StreamEvent} exists
|
|
12
|
+
* as the base class for potential future events that should be stream-only without hookability.
|
|
13
|
+
*
|
|
14
|
+
* ## Event categories
|
|
15
|
+
*
|
|
16
|
+
* **Lifecycle events** — Before/After pairs that bracket agent operations.
|
|
17
|
+
* - Naming: `Before<Noun>Event` / `After<Noun>Event`
|
|
18
|
+
* - `After*` events override `_shouldReverseCallbacks()` → `true` for cleanup ordering.
|
|
19
|
+
* - Examples: {@link BeforeInvocationEvent}/{@link AfterInvocationEvent},
|
|
20
|
+
* {@link BeforeModelCallEvent}/{@link AfterModelCallEvent},
|
|
21
|
+
* {@link BeforeToolsEvent}/{@link AfterToolsEvent},
|
|
22
|
+
* {@link BeforeToolCallEvent}/{@link AfterToolCallEvent}
|
|
23
|
+
*
|
|
24
|
+
* **State-change events** — Signal that agent state was mutated.
|
|
25
|
+
* - Naming: `<Noun><PastTense>Event`
|
|
26
|
+
* - Examples: {@link InitializedEvent}, {@link MessageAddedEvent}
|
|
27
|
+
*
|
|
28
|
+
* **Data events** — Wrap data objects produced during agent execution.
|
|
29
|
+
* Two sub-categories:
|
|
30
|
+
*
|
|
31
|
+
* *Update events* — wrap transient streaming data from lower layers.
|
|
32
|
+
* - Naming: `<Source>StreamUpdateEvent`, payload field: `.event`
|
|
33
|
+
* - Examples: {@link ModelStreamUpdateEvent}, {@link ToolStreamUpdateEvent}
|
|
34
|
+
*
|
|
35
|
+
* *Completion events* — wrap finished data after processing completes.
|
|
36
|
+
* - Naming: descriptive `<Noun>Event`, payload field matches data type
|
|
37
|
+
* (`.result` for results, `.message` for messages, `.contentBlock` for content blocks).
|
|
38
|
+
* - Examples: {@link ContentBlockEvent}, {@link ModelMessageEvent},
|
|
39
|
+
* {@link ToolResultEvent}, {@link AgentResultEvent}
|
|
40
|
+
*
|
|
41
|
+
* ## Field naming conventions
|
|
42
|
+
*
|
|
43
|
+
* | Field | Usage |
|
|
44
|
+
* |----------------|---------------------------------------------|
|
|
45
|
+
* | `agent` | Present on every event (`AgentData`) |
|
|
46
|
+
* | `.event` | Inner event in update wrappers |
|
|
47
|
+
* | `.result` | Finished result object |
|
|
48
|
+
* | `.message` | Message object |
|
|
49
|
+
* | `.contentBlock`| Content block object |
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* Base class for all events yielded by `agent.stream()`.
|
|
53
|
+
* Carries no hookability — subclasses that should be hookable extend {@link HookableEvent} instead.
|
|
4
54
|
*/
|
|
5
|
-
export class
|
|
55
|
+
export class StreamEvent {
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Base class for events that can be subscribed to via the hook system.
|
|
59
|
+
* Only events extending this class are dispatched to {@link HookRegistry} callbacks.
|
|
60
|
+
* All current events extend this class. {@link StreamEvent} exists as the base for
|
|
61
|
+
* potential future stream-only events that should not be hookable.
|
|
62
|
+
*/
|
|
63
|
+
export class HookableEvent extends StreamEvent {
|
|
6
64
|
/**
|
|
7
65
|
* @internal
|
|
8
66
|
* Check if callbacks should be reversed for this event.
|
|
@@ -16,7 +74,7 @@ export class HookEvent {
|
|
|
16
74
|
* Event triggered when an agent has finished initialization.
|
|
17
75
|
* Fired after the agent has been fully constructed and all built-in components have been initialized.
|
|
18
76
|
*/
|
|
19
|
-
export class InitializedEvent extends
|
|
77
|
+
export class InitializedEvent extends HookableEvent {
|
|
20
78
|
type = 'initializedEvent';
|
|
21
79
|
agent;
|
|
22
80
|
constructor(data) {
|
|
@@ -28,7 +86,7 @@ export class InitializedEvent extends HookEvent {
|
|
|
28
86
|
* Event triggered at the beginning of a new agent request.
|
|
29
87
|
* Fired before any model inference or tool execution occurs.
|
|
30
88
|
*/
|
|
31
|
-
export class BeforeInvocationEvent extends
|
|
89
|
+
export class BeforeInvocationEvent extends HookableEvent {
|
|
32
90
|
type = 'beforeInvocationEvent';
|
|
33
91
|
agent;
|
|
34
92
|
constructor(data) {
|
|
@@ -41,7 +99,7 @@ export class BeforeInvocationEvent extends HookEvent {
|
|
|
41
99
|
* Fired after all processing completes, regardless of success or error.
|
|
42
100
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
43
101
|
*/
|
|
44
|
-
export class AfterInvocationEvent extends
|
|
102
|
+
export class AfterInvocationEvent extends HookableEvent {
|
|
45
103
|
type = 'afterInvocationEvent';
|
|
46
104
|
agent;
|
|
47
105
|
constructor(data) {
|
|
@@ -57,7 +115,7 @@ export class AfterInvocationEvent extends HookEvent {
|
|
|
57
115
|
* Fired during the agent loop execution for framework-generated messages.
|
|
58
116
|
* Does not fire for initial messages from AgentConfig or user input messages.
|
|
59
117
|
*/
|
|
60
|
-
export class MessageAddedEvent extends
|
|
118
|
+
export class MessageAddedEvent extends HookableEvent {
|
|
61
119
|
type = 'messageAddedEvent';
|
|
62
120
|
agent;
|
|
63
121
|
message;
|
|
@@ -71,7 +129,7 @@ export class MessageAddedEvent extends HookEvent {
|
|
|
71
129
|
* Event triggered just before a tool is executed.
|
|
72
130
|
* Fired after tool lookup but before execution begins.
|
|
73
131
|
*/
|
|
74
|
-
export class BeforeToolCallEvent extends
|
|
132
|
+
export class BeforeToolCallEvent extends HookableEvent {
|
|
75
133
|
type = 'beforeToolCallEvent';
|
|
76
134
|
agent;
|
|
77
135
|
toolUse;
|
|
@@ -88,7 +146,7 @@ export class BeforeToolCallEvent extends HookEvent {
|
|
|
88
146
|
* Fired after tool execution finishes, whether successful or failed.
|
|
89
147
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
90
148
|
*/
|
|
91
|
-
export class AfterToolCallEvent extends
|
|
149
|
+
export class AfterToolCallEvent extends HookableEvent {
|
|
92
150
|
type = 'afterToolCallEvent';
|
|
93
151
|
agent;
|
|
94
152
|
toolUse;
|
|
@@ -118,7 +176,7 @@ export class AfterToolCallEvent extends HookEvent {
|
|
|
118
176
|
* Event triggered just before the model is invoked.
|
|
119
177
|
* Fired before sending messages to the model for inference.
|
|
120
178
|
*/
|
|
121
|
-
export class BeforeModelCallEvent extends
|
|
179
|
+
export class BeforeModelCallEvent extends HookableEvent {
|
|
122
180
|
type = 'beforeModelCallEvent';
|
|
123
181
|
agent;
|
|
124
182
|
constructor(data) {
|
|
@@ -133,7 +191,7 @@ export class BeforeModelCallEvent extends HookEvent {
|
|
|
133
191
|
*
|
|
134
192
|
* Note: stopData may be undefined if an error occurs before the model completes.
|
|
135
193
|
*/
|
|
136
|
-
export class AfterModelCallEvent extends
|
|
194
|
+
export class AfterModelCallEvent extends HookableEvent {
|
|
137
195
|
type = 'afterModelCallEvent';
|
|
138
196
|
agent;
|
|
139
197
|
stopData;
|
|
@@ -159,13 +217,81 @@ export class AfterModelCallEvent extends HookEvent {
|
|
|
159
217
|
}
|
|
160
218
|
/**
|
|
161
219
|
* Event triggered for each streaming event from the model.
|
|
162
|
-
*
|
|
163
|
-
*
|
|
220
|
+
* Wraps a {@link ModelStreamEvent} (transient streaming delta) during model inference.
|
|
221
|
+
* Completed content blocks are handled separately by {@link ContentBlockEvent}
|
|
222
|
+
* because they represent different granularities: partial deltas vs fully assembled results.
|
|
223
|
+
*/
|
|
224
|
+
export class ModelStreamUpdateEvent extends HookableEvent {
|
|
225
|
+
type = 'modelStreamUpdateEvent';
|
|
226
|
+
agent;
|
|
227
|
+
event;
|
|
228
|
+
constructor(data) {
|
|
229
|
+
super();
|
|
230
|
+
this.agent = data.agent;
|
|
231
|
+
this.event = data.event;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Event triggered when a content block completes during model inference.
|
|
236
|
+
* Wraps completed content blocks (TextBlock, ToolUseBlock, ReasoningBlock) from model streaming.
|
|
237
|
+
* This is intentionally separate from {@link ModelStreamUpdateEvent}. The model's
|
|
238
|
+
* `streamAggregated()` yields two kinds of output: {@link ModelStreamEvent} (transient
|
|
239
|
+
* streaming deltas — partial data arriving while the model generates) and
|
|
240
|
+
* {@link ContentBlock} (fully assembled results after all deltas accumulate).
|
|
241
|
+
* These represent different granularities with different semantics, so they are
|
|
242
|
+
* wrapped in distinct event classes rather than combined into a single event.
|
|
243
|
+
*/
|
|
244
|
+
export class ContentBlockEvent extends HookableEvent {
|
|
245
|
+
type = 'contentBlockEvent';
|
|
246
|
+
agent;
|
|
247
|
+
contentBlock;
|
|
248
|
+
constructor(data) {
|
|
249
|
+
super();
|
|
250
|
+
this.agent = data.agent;
|
|
251
|
+
this.contentBlock = data.contentBlock;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Event triggered when the model completes a full message.
|
|
256
|
+
* Wraps the assembled message and stop reason after model streaming finishes.
|
|
257
|
+
*/
|
|
258
|
+
export class ModelMessageEvent extends HookableEvent {
|
|
259
|
+
type = 'modelMessageEvent';
|
|
260
|
+
agent;
|
|
261
|
+
message;
|
|
262
|
+
stopReason;
|
|
263
|
+
constructor(data) {
|
|
264
|
+
super();
|
|
265
|
+
this.agent = data.agent;
|
|
266
|
+
this.message = data.message;
|
|
267
|
+
this.stopReason = data.stopReason;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Event triggered when a tool execution completes.
|
|
272
|
+
* Wraps the tool result block after a tool finishes execution.
|
|
273
|
+
*/
|
|
274
|
+
export class ToolResultEvent extends HookableEvent {
|
|
275
|
+
type = 'toolResultEvent';
|
|
276
|
+
agent;
|
|
277
|
+
result;
|
|
278
|
+
constructor(data) {
|
|
279
|
+
super();
|
|
280
|
+
this.agent = data.agent;
|
|
281
|
+
this.result = data.result;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Event triggered for each streaming progress event from a tool during execution.
|
|
286
|
+
* Wraps a {@link ToolStreamEvent} with agent context, keeping the tool authoring
|
|
287
|
+
* interface unchanged — tools construct `ToolStreamEvent` without knowledge of agents
|
|
288
|
+
* or hooks, and the agent layer wraps them at the boundary.
|
|
164
289
|
*
|
|
165
|
-
*
|
|
290
|
+
* Consistent with {@link ModelStreamUpdateEvent} which wraps model streaming events
|
|
291
|
+
* the same way.
|
|
166
292
|
*/
|
|
167
|
-
export class
|
|
168
|
-
type = '
|
|
293
|
+
export class ToolStreamUpdateEvent extends HookableEvent {
|
|
294
|
+
type = 'toolStreamUpdateEvent';
|
|
169
295
|
agent;
|
|
170
296
|
event;
|
|
171
297
|
constructor(data) {
|
|
@@ -174,11 +300,25 @@ export class ModelStreamEventHook extends HookEvent {
|
|
|
174
300
|
this.event = data.event;
|
|
175
301
|
}
|
|
176
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Event triggered as the final event in the agent stream.
|
|
305
|
+
* Wraps the agent result containing the stop reason and last message.
|
|
306
|
+
*/
|
|
307
|
+
export class AgentResultEvent extends HookableEvent {
|
|
308
|
+
type = 'agentResultEvent';
|
|
309
|
+
agent;
|
|
310
|
+
result;
|
|
311
|
+
constructor(data) {
|
|
312
|
+
super();
|
|
313
|
+
this.agent = data.agent;
|
|
314
|
+
this.result = data.result;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
177
317
|
/**
|
|
178
318
|
* Event triggered before executing tools.
|
|
179
319
|
* Fired when the model returns tool use blocks that need to be executed.
|
|
180
320
|
*/
|
|
181
|
-
export class BeforeToolsEvent extends
|
|
321
|
+
export class BeforeToolsEvent extends HookableEvent {
|
|
182
322
|
type = 'beforeToolsEvent';
|
|
183
323
|
agent;
|
|
184
324
|
message;
|
|
@@ -193,7 +333,7 @@ export class BeforeToolsEvent extends HookEvent {
|
|
|
193
333
|
* Fired after tool results are collected and ready to be added to conversation.
|
|
194
334
|
* Uses reverse callback ordering for proper cleanup semantics.
|
|
195
335
|
*/
|
|
196
|
-
export class AfterToolsEvent extends
|
|
336
|
+
export class AfterToolsEvent extends HookableEvent {
|
|
197
337
|
type = 'afterToolsEvent';
|
|
198
338
|
agent;
|
|
199
339
|
message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hooks module for event-driven extensibility.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* This module has two concerns with distinct naming:
|
|
5
|
+
*
|
|
6
|
+
* - **Events** (`StreamEvent` and subclasses) — the data objects yielded by `agent.stream()`.
|
|
7
|
+
* Named `Stream*` because they are members of the agent stream.
|
|
8
|
+
* All current events extend {@link HookableEvent}, making them subscribable via hook callbacks.
|
|
9
|
+
* See {@link StreamEvent} and `events.ts` for the full taxonomy.
|
|
10
|
+
*
|
|
11
|
+
* - **Hook infrastructure** (`HookProvider`, `HookCallback`, `HookRegistry`, `HookCleanup`) —
|
|
12
|
+
* the subscription mechanism that lets providers register callbacks for {@link HookableEvent} types.
|
|
13
|
+
* Named `Hook*` because they describe the hooking/subscription pattern, not the events themselves.
|
|
6
14
|
*/
|
|
7
|
-
export {
|
|
15
|
+
export { StreamEvent, HookableEvent, InitializedEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
|
|
8
16
|
export type { ModelStopData as ModelStopResponse } from './events.js';
|
|
9
17
|
export { HookRegistryImplementation as HookRegistry } from './registry.js';
|
|
10
|
-
export type { HookCallback, HookProvider,
|
|
18
|
+
export type { HookCallback, HookProvider, HookableEventConstructor, HookCleanup } from './types.js';
|
|
11
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA
|
|
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,MAAM,aAAa,CAAA;AAGrE,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAG1E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/src/hooks/index.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hooks module for event-driven extensibility.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* This module has two concerns with distinct naming:
|
|
5
|
+
*
|
|
6
|
+
* - **Events** (`StreamEvent` and subclasses) — the data objects yielded by `agent.stream()`.
|
|
7
|
+
* Named `Stream*` because they are members of the agent stream.
|
|
8
|
+
* All current events extend {@link HookableEvent}, making them subscribable via hook callbacks.
|
|
9
|
+
* See {@link StreamEvent} and `events.ts` for the full taxonomy.
|
|
10
|
+
*
|
|
11
|
+
* - **Hook infrastructure** (`HookProvider`, `HookCallback`, `HookRegistry`, `HookCleanup`) —
|
|
12
|
+
* the subscription mechanism that lets providers register callbacks for {@link HookableEvent} types.
|
|
13
|
+
* Named `Hook*` because they describe the hooking/subscription pattern, not the events themselves.
|
|
6
14
|
*/
|
|
7
15
|
// Event classes
|
|
8
|
-
export {
|
|
16
|
+
export { StreamEvent, HookableEvent, InitializedEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
|
|
9
17
|
// Registry
|
|
10
18
|
export { HookRegistryImplementation as HookRegistry } from './registry.js';
|
|
11
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|