@agnt5/sdk 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -0
- package/dist/__tests__/integration/helpers.d.ts +41 -0
- package/dist/__tests__/integration/helpers.d.ts.map +1 -0
- package/dist/__tests__/integration/helpers.js +78 -0
- package/dist/__tests__/integration/helpers.js.map +1 -0
- package/dist/agent.d.ts +260 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +493 -0
- package/dist/agent.js.map +1 -0
- package/dist/async-context.d.ts +57 -0
- package/dist/async-context.d.ts.map +1 -0
- package/dist/async-context.js +52 -0
- package/dist/async-context.js.map +1 -0
- package/dist/batch.d.ts +116 -0
- package/dist/batch.d.ts.map +1 -0
- package/dist/batch.js +98 -0
- package/dist/batch.js.map +1 -0
- package/dist/chat.d.ts +137 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +278 -0
- package/dist/chat.js.map +1 -0
- package/dist/client.d.ts +394 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +757 -0
- package/dist/client.js.map +1 -0
- package/dist/context.d.ts +47 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +244 -0
- package/dist/context.js.map +1 -0
- package/dist/errors.d.ts +148 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +201 -0
- package/dist/errors.js.map +1 -0
- package/dist/eval.d.ts +242 -0
- package/dist/eval.d.ts.map +1 -0
- package/dist/eval.js +452 -0
- package/dist/eval.js.map +1 -0
- package/dist/event-emitter.d.ts +28 -0
- package/dist/event-emitter.d.ts.map +1 -0
- package/dist/event-emitter.js +79 -0
- package/dist/event-emitter.js.map +1 -0
- package/dist/events.d.ts +285 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +256 -0
- package/dist/events.js.map +1 -0
- package/dist/function.d.ts +61 -0
- package/dist/function.d.ts.map +1 -0
- package/dist/function.js +78 -0
- package/dist/function.js.map +1 -0
- package/dist/index.d.ts +67 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/lm.d.ts +301 -0
- package/dist/lm.d.ts.map +1 -0
- package/dist/lm.js +283 -0
- package/dist/lm.js.map +1 -0
- package/dist/logging.d.ts +68 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +165 -0
- package/dist/logging.js.map +1 -0
- package/dist/mcp-server.d.ts +98 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +307 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp.d.ts +73 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +224 -0
- package/dist/mcp.js.map +1 -0
- package/dist/memory.d.ts +234 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +609 -0
- package/dist/memory.js.map +1 -0
- package/dist/platform-adapters.d.ts +121 -0
- package/dist/platform-adapters.d.ts.map +1 -0
- package/dist/platform-adapters.js +174 -0
- package/dist/platform-adapters.js.map +1 -0
- package/dist/platform-context.d.ts +55 -0
- package/dist/platform-context.d.ts.map +1 -0
- package/dist/platform-context.js +196 -0
- package/dist/platform-context.js.map +1 -0
- package/dist/retry-utils.d.ts +169 -0
- package/dist/retry-utils.d.ts.map +1 -0
- package/dist/retry-utils.js +304 -0
- package/dist/retry-utils.js.map +1 -0
- package/dist/sandbox.d.ts +103 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +168 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/schema-utils.d.ts +250 -0
- package/dist/schema-utils.d.ts.map +1 -0
- package/dist/schema-utils.js +444 -0
- package/dist/schema-utils.js.map +1 -0
- package/dist/scorer.d.ts +130 -0
- package/dist/scorer.d.ts.map +1 -0
- package/dist/scorer.js +211 -0
- package/dist/scorer.js.map +1 -0
- package/dist/state.d.ts +92 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +151 -0
- package/dist/state.js.map +1 -0
- package/dist/tool.d.ts +120 -0
- package/dist/tool.d.ts.map +1 -0
- package/dist/tool.js +215 -0
- package/dist/tool.js.map +1 -0
- package/dist/tracing.d.ts +82 -0
- package/dist/tracing.d.ts.map +1 -0
- package/dist/tracing.js +206 -0
- package/dist/tracing.js.map +1 -0
- package/dist/types.d.ts +139 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/worker.d.ts +111 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +944 -0
- package/dist/worker.js.map +1 -0
- package/dist/workflow-utils.d.ts +257 -0
- package/dist/workflow-utils.d.ts.map +1 -0
- package/dist/workflow-utils.js +370 -0
- package/dist/workflow-utils.js.map +1 -0
- package/dist/workflow.d.ts +78 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +138 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +86 -0
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types for platform lifecycle tracking and streaming.
|
|
3
|
+
*
|
|
4
|
+
* Event hierarchy via correlation IDs:
|
|
5
|
+
* RunStarted
|
|
6
|
+
* → FunctionStarted / WorkflowStarted / AgentStarted / ToolStarted
|
|
7
|
+
* → (component-specific events)
|
|
8
|
+
* → FunctionCompleted / WorkflowCompleted / AgentCompleted / ToolCompleted
|
|
9
|
+
* RunCompleted | RunFailed
|
|
10
|
+
*
|
|
11
|
+
* Two routing paths (matching Rust core's JournalEventMessage classification):
|
|
12
|
+
* - Checkpoint events (lifecycle): persisted via WriteCheckpoint gRPC
|
|
13
|
+
* - SSE-only events (streaming): queued → flush task → EventStream
|
|
14
|
+
*/
|
|
15
|
+
export interface BaseEvent {
|
|
16
|
+
/** Human-readable event name */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Correlation ID linking related events */
|
|
19
|
+
correlationId: string;
|
|
20
|
+
/** Parent correlation ID for event hierarchy */
|
|
21
|
+
parentCorrelationId: string | null;
|
|
22
|
+
/** Unique event ID */
|
|
23
|
+
eventId: string;
|
|
24
|
+
/** Timestamp in nanoseconds */
|
|
25
|
+
timestampNs: bigint;
|
|
26
|
+
/** Discriminator for the event type */
|
|
27
|
+
eventType: string;
|
|
28
|
+
/** Arbitrary metadata */
|
|
29
|
+
metadata: Record<string, any>;
|
|
30
|
+
}
|
|
31
|
+
export interface AgentStarted extends BaseEvent {
|
|
32
|
+
eventType: 'agent.started';
|
|
33
|
+
agentName: string;
|
|
34
|
+
agentModel: string;
|
|
35
|
+
toolNames: string[];
|
|
36
|
+
maxIterations: number;
|
|
37
|
+
}
|
|
38
|
+
export interface AgentCompleted extends BaseEvent {
|
|
39
|
+
eventType: 'agent.completed';
|
|
40
|
+
agentName: string;
|
|
41
|
+
iterations: number;
|
|
42
|
+
toolCallsCount: number;
|
|
43
|
+
handoffTo: string | null;
|
|
44
|
+
outputLength: number;
|
|
45
|
+
}
|
|
46
|
+
export interface AgentFailed extends BaseEvent {
|
|
47
|
+
eventType: 'agent.failed';
|
|
48
|
+
agentName: string;
|
|
49
|
+
iterations: number;
|
|
50
|
+
error: string;
|
|
51
|
+
}
|
|
52
|
+
export interface AgentIterationStarted extends BaseEvent {
|
|
53
|
+
eventType: 'agent.iteration.started';
|
|
54
|
+
iteration: number;
|
|
55
|
+
maxIterations: number;
|
|
56
|
+
}
|
|
57
|
+
export interface AgentIterationCompleted extends BaseEvent {
|
|
58
|
+
eventType: 'agent.iteration.completed';
|
|
59
|
+
iteration: number;
|
|
60
|
+
hasToolCalls: boolean;
|
|
61
|
+
toolCallsCount: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ToolCallStarted extends BaseEvent {
|
|
64
|
+
eventType: 'tool_call.started';
|
|
65
|
+
toolName: string;
|
|
66
|
+
toolCallId: string;
|
|
67
|
+
}
|
|
68
|
+
export interface ToolCallCompleted extends BaseEvent {
|
|
69
|
+
eventType: 'tool_call.completed';
|
|
70
|
+
toolName: string;
|
|
71
|
+
toolCallId: string;
|
|
72
|
+
}
|
|
73
|
+
export interface ToolCallFailed extends BaseEvent {
|
|
74
|
+
eventType: 'tool_call.failed';
|
|
75
|
+
toolName: string;
|
|
76
|
+
toolCallId: string;
|
|
77
|
+
error: string;
|
|
78
|
+
}
|
|
79
|
+
export type AgentEvent = AgentStarted | AgentCompleted | AgentFailed | AgentIterationStarted | AgentIterationCompleted | ToolCallStarted | ToolCallCompleted | ToolCallFailed;
|
|
80
|
+
export declare function agentStarted(agentName: string, correlationId: string, opts: {
|
|
81
|
+
agentModel: string;
|
|
82
|
+
toolNames: string[];
|
|
83
|
+
maxIterations: number;
|
|
84
|
+
}): AgentStarted;
|
|
85
|
+
export declare function agentCompleted(agentName: string, correlationId: string, opts: {
|
|
86
|
+
iterations: number;
|
|
87
|
+
toolCallsCount: number;
|
|
88
|
+
handoffTo: string | null;
|
|
89
|
+
outputLength: number;
|
|
90
|
+
}): AgentCompleted;
|
|
91
|
+
export declare function agentFailed(agentName: string, correlationId: string, opts: {
|
|
92
|
+
iterations: number;
|
|
93
|
+
error: string;
|
|
94
|
+
}): AgentFailed;
|
|
95
|
+
export declare function iterationStarted(correlationId: string, parentCorrelationId: string, opts: {
|
|
96
|
+
iteration: number;
|
|
97
|
+
maxIterations: number;
|
|
98
|
+
}): AgentIterationStarted;
|
|
99
|
+
export declare function iterationCompleted(correlationId: string, parentCorrelationId: string, opts: {
|
|
100
|
+
iteration: number;
|
|
101
|
+
hasToolCalls: boolean;
|
|
102
|
+
toolCallsCount: number;
|
|
103
|
+
}): AgentIterationCompleted;
|
|
104
|
+
export declare function toolCallStarted(correlationId: string, parentCorrelationId: string, opts: {
|
|
105
|
+
toolName: string;
|
|
106
|
+
toolCallId: string;
|
|
107
|
+
}): ToolCallStarted;
|
|
108
|
+
export declare function toolCallCompleted(correlationId: string, parentCorrelationId: string, opts: {
|
|
109
|
+
toolName: string;
|
|
110
|
+
toolCallId: string;
|
|
111
|
+
}): ToolCallCompleted;
|
|
112
|
+
export declare function toolCallFailed(correlationId: string, parentCorrelationId: string, opts: {
|
|
113
|
+
toolName: string;
|
|
114
|
+
toolCallId: string;
|
|
115
|
+
error: string;
|
|
116
|
+
}): ToolCallFailed;
|
|
117
|
+
/**
|
|
118
|
+
* SSE-only events are ephemeral streaming/observability events.
|
|
119
|
+
* They are NOT persisted and flow through the journal queue flush task.
|
|
120
|
+
*/
|
|
121
|
+
export declare function isSseOnlyEvent(eventType: string): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Checkpoint events are persisted lifecycle events that require sync acknowledgement.
|
|
124
|
+
* They flow through the WriteCheckpoint gRPC RPC.
|
|
125
|
+
*/
|
|
126
|
+
export declare function isCheckpointEvent(eventType: string): boolean;
|
|
127
|
+
export interface RunStarted extends BaseEvent {
|
|
128
|
+
eventType: 'run.started';
|
|
129
|
+
inputData: any;
|
|
130
|
+
attempt: number;
|
|
131
|
+
}
|
|
132
|
+
export interface RunCompleted extends BaseEvent {
|
|
133
|
+
eventType: 'run.completed';
|
|
134
|
+
outputData: any;
|
|
135
|
+
}
|
|
136
|
+
export interface RunFailed extends BaseEvent {
|
|
137
|
+
eventType: 'run.failed';
|
|
138
|
+
errorCode: string;
|
|
139
|
+
errorMessage: string;
|
|
140
|
+
attempt: number;
|
|
141
|
+
maxAttempts: number;
|
|
142
|
+
}
|
|
143
|
+
export interface FunctionStarted extends BaseEvent {
|
|
144
|
+
eventType: 'function.started';
|
|
145
|
+
inputData: any;
|
|
146
|
+
attempt: number;
|
|
147
|
+
}
|
|
148
|
+
export interface FunctionCompleted extends BaseEvent {
|
|
149
|
+
eventType: 'function.completed';
|
|
150
|
+
outputData: any;
|
|
151
|
+
durationMs: number;
|
|
152
|
+
}
|
|
153
|
+
export interface FunctionFailed extends BaseEvent {
|
|
154
|
+
eventType: 'function.failed';
|
|
155
|
+
errorCode: string;
|
|
156
|
+
errorMessage: string;
|
|
157
|
+
durationMs: number;
|
|
158
|
+
}
|
|
159
|
+
export interface WorkflowStarted extends BaseEvent {
|
|
160
|
+
eventType: 'workflow.started';
|
|
161
|
+
inputData: any;
|
|
162
|
+
attempt: number;
|
|
163
|
+
}
|
|
164
|
+
export interface WorkflowCompleted extends BaseEvent {
|
|
165
|
+
eventType: 'workflow.completed';
|
|
166
|
+
outputData: any;
|
|
167
|
+
durationMs: number;
|
|
168
|
+
}
|
|
169
|
+
export interface WorkflowFailed extends BaseEvent {
|
|
170
|
+
eventType: 'workflow.failed';
|
|
171
|
+
errorCode: string;
|
|
172
|
+
errorMessage: string;
|
|
173
|
+
durationMs: number;
|
|
174
|
+
}
|
|
175
|
+
export interface WorkflowPaused extends BaseEvent {
|
|
176
|
+
eventType: 'workflow.paused';
|
|
177
|
+
reason: string;
|
|
178
|
+
pauseData: Record<string, any>;
|
|
179
|
+
}
|
|
180
|
+
export interface ToolStarted extends BaseEvent {
|
|
181
|
+
eventType: 'tool.started';
|
|
182
|
+
inputData: any;
|
|
183
|
+
attempt: number;
|
|
184
|
+
}
|
|
185
|
+
export interface ToolCompleted extends BaseEvent {
|
|
186
|
+
eventType: 'tool.completed';
|
|
187
|
+
outputData: any;
|
|
188
|
+
durationMs: number;
|
|
189
|
+
}
|
|
190
|
+
export interface ToolFailed extends BaseEvent {
|
|
191
|
+
eventType: 'tool.failed';
|
|
192
|
+
errorCode: string;
|
|
193
|
+
errorMessage: string;
|
|
194
|
+
durationMs: number;
|
|
195
|
+
}
|
|
196
|
+
export interface OutputStart extends BaseEvent {
|
|
197
|
+
eventType: 'output.start';
|
|
198
|
+
}
|
|
199
|
+
export interface OutputDelta extends BaseEvent {
|
|
200
|
+
eventType: 'output.delta';
|
|
201
|
+
content: string;
|
|
202
|
+
contentIndex: number;
|
|
203
|
+
}
|
|
204
|
+
export interface OutputStop extends BaseEvent {
|
|
205
|
+
eventType: 'output.stop';
|
|
206
|
+
}
|
|
207
|
+
export type LifecycleEvent = RunStarted | RunCompleted | RunFailed | FunctionStarted | FunctionCompleted | FunctionFailed | WorkflowStarted | WorkflowCompleted | WorkflowFailed | WorkflowPaused | ToolStarted | ToolCompleted | ToolFailed | OutputStart | OutputDelta | OutputStop;
|
|
208
|
+
export type PlatformEvent = AgentEvent | LifecycleEvent;
|
|
209
|
+
export declare function generateCid(): string;
|
|
210
|
+
export declare function runStarted(correlationId: string, parentCorrelationId: string | null, opts: {
|
|
211
|
+
inputData: any;
|
|
212
|
+
attempt: number;
|
|
213
|
+
}): RunStarted;
|
|
214
|
+
export declare function runCompleted(correlationId: string, parentCorrelationId: string | null, opts: {
|
|
215
|
+
outputData: any;
|
|
216
|
+
}): RunCompleted;
|
|
217
|
+
export declare function runFailed(correlationId: string, parentCorrelationId: string | null, opts: {
|
|
218
|
+
errorCode: string;
|
|
219
|
+
errorMessage: string;
|
|
220
|
+
attempt: number;
|
|
221
|
+
maxAttempts: number;
|
|
222
|
+
}): RunFailed;
|
|
223
|
+
export declare function functionStarted(correlationId: string, parentCorrelationId: string, opts: {
|
|
224
|
+
inputData: any;
|
|
225
|
+
attempt: number;
|
|
226
|
+
}): FunctionStarted;
|
|
227
|
+
export declare function functionCompleted(correlationId: string, parentCorrelationId: string, opts: {
|
|
228
|
+
outputData: any;
|
|
229
|
+
durationMs: number;
|
|
230
|
+
}): FunctionCompleted;
|
|
231
|
+
export declare function functionFailed(correlationId: string, parentCorrelationId: string, opts: {
|
|
232
|
+
errorCode: string;
|
|
233
|
+
errorMessage: string;
|
|
234
|
+
durationMs: number;
|
|
235
|
+
}): FunctionFailed;
|
|
236
|
+
export declare function workflowStarted(correlationId: string, parentCorrelationId: string, opts: {
|
|
237
|
+
inputData: any;
|
|
238
|
+
attempt: number;
|
|
239
|
+
}): WorkflowStarted;
|
|
240
|
+
export declare function workflowCompleted(correlationId: string, parentCorrelationId: string, opts: {
|
|
241
|
+
outputData: any;
|
|
242
|
+
durationMs: number;
|
|
243
|
+
}): WorkflowCompleted;
|
|
244
|
+
export declare function workflowFailed(correlationId: string, parentCorrelationId: string, opts: {
|
|
245
|
+
errorCode: string;
|
|
246
|
+
errorMessage: string;
|
|
247
|
+
durationMs: number;
|
|
248
|
+
}): WorkflowFailed;
|
|
249
|
+
/**
|
|
250
|
+
* Workflow paused event — emitted when a workflow pauses for user input.
|
|
251
|
+
*
|
|
252
|
+
* The runtime projection treats `workflow.paused` as a terminal event for
|
|
253
|
+
* the gateway's `/v1/workflows/:name/run` endpoint (see
|
|
254
|
+
* runtime/crates/gateway/src/handlers/component.rs:160) and transitions the
|
|
255
|
+
* run's status to `paused` (see
|
|
256
|
+
* runtime/crates/processor/src/projections/runs.rs:130 apply_paused).
|
|
257
|
+
*
|
|
258
|
+
* Metadata carries fields the UI / resume endpoint need (question, options,
|
|
259
|
+
* pause_index, step_name, etc.) mirroring sdk-python's wait_for_input.
|
|
260
|
+
*/
|
|
261
|
+
export declare function workflowPaused(correlationId: string, parentCorrelationId: string, opts: {
|
|
262
|
+
reason: string;
|
|
263
|
+
pauseData: Record<string, any>;
|
|
264
|
+
metadata?: Record<string, string>;
|
|
265
|
+
}): WorkflowPaused;
|
|
266
|
+
export declare function toolStarted(correlationId: string, parentCorrelationId: string, opts: {
|
|
267
|
+
inputData: any;
|
|
268
|
+
attempt: number;
|
|
269
|
+
}): ToolStarted;
|
|
270
|
+
export declare function toolCompleted(correlationId: string, parentCorrelationId: string, opts: {
|
|
271
|
+
outputData: any;
|
|
272
|
+
durationMs: number;
|
|
273
|
+
}): ToolCompleted;
|
|
274
|
+
export declare function toolFailed(correlationId: string, parentCorrelationId: string, opts: {
|
|
275
|
+
errorCode: string;
|
|
276
|
+
errorMessage: string;
|
|
277
|
+
durationMs: number;
|
|
278
|
+
}): ToolFailed;
|
|
279
|
+
/**
|
|
280
|
+
* Convert a BaseEvent to a plain data payload for emission.
|
|
281
|
+
* Strips internal fields (correlationId, parentCorrelationId, eventId, etc.)
|
|
282
|
+
* and returns just the domain-specific data fields.
|
|
283
|
+
*/
|
|
284
|
+
export declare function toEventPayload(event: BaseEvent): Record<string, any>;
|
|
285
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types for platform lifecycle tracking and streaming.
|
|
3
|
+
*
|
|
4
|
+
* Event hierarchy via correlation IDs:
|
|
5
|
+
* RunStarted
|
|
6
|
+
* → FunctionStarted / WorkflowStarted / AgentStarted / ToolStarted
|
|
7
|
+
* → (component-specific events)
|
|
8
|
+
* → FunctionCompleted / WorkflowCompleted / AgentCompleted / ToolCompleted
|
|
9
|
+
* RunCompleted | RunFailed
|
|
10
|
+
*
|
|
11
|
+
* Two routing paths (matching Rust core's JournalEventMessage classification):
|
|
12
|
+
* - Checkpoint events (lifecycle): persisted via WriteCheckpoint gRPC
|
|
13
|
+
* - SSE-only events (streaming): queued → flush task → EventStream
|
|
14
|
+
*/
|
|
15
|
+
import { randomUUID } from 'crypto';
|
|
16
|
+
// ─── Factory helpers ─────────────────────────────────────────────────
|
|
17
|
+
function baseFields(name, correlationId, parentCorrelationId, metadata = {}) {
|
|
18
|
+
return {
|
|
19
|
+
name,
|
|
20
|
+
correlationId,
|
|
21
|
+
parentCorrelationId,
|
|
22
|
+
eventId: randomUUID(),
|
|
23
|
+
timestampNs: BigInt(Date.now()) * 1000000n,
|
|
24
|
+
metadata,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function agentStarted(agentName, correlationId, opts) {
|
|
28
|
+
return {
|
|
29
|
+
...baseFields(`${agentName}.started`, correlationId, null),
|
|
30
|
+
eventType: 'agent.started',
|
|
31
|
+
agentName,
|
|
32
|
+
agentModel: opts.agentModel,
|
|
33
|
+
toolNames: opts.toolNames,
|
|
34
|
+
maxIterations: opts.maxIterations,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function agentCompleted(agentName, correlationId, opts) {
|
|
38
|
+
return {
|
|
39
|
+
...baseFields(`${agentName}.completed`, correlationId, null),
|
|
40
|
+
eventType: 'agent.completed',
|
|
41
|
+
agentName,
|
|
42
|
+
iterations: opts.iterations,
|
|
43
|
+
toolCallsCount: opts.toolCallsCount,
|
|
44
|
+
handoffTo: opts.handoffTo,
|
|
45
|
+
outputLength: opts.outputLength,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function agentFailed(agentName, correlationId, opts) {
|
|
49
|
+
return {
|
|
50
|
+
...baseFields(`${agentName}.failed`, correlationId, null),
|
|
51
|
+
eventType: 'agent.failed',
|
|
52
|
+
agentName,
|
|
53
|
+
iterations: opts.iterations,
|
|
54
|
+
error: opts.error,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export function iterationStarted(correlationId, parentCorrelationId, opts) {
|
|
58
|
+
return {
|
|
59
|
+
...baseFields('iteration.started', correlationId, parentCorrelationId),
|
|
60
|
+
eventType: 'agent.iteration.started',
|
|
61
|
+
iteration: opts.iteration,
|
|
62
|
+
maxIterations: opts.maxIterations,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function iterationCompleted(correlationId, parentCorrelationId, opts) {
|
|
66
|
+
return {
|
|
67
|
+
...baseFields('iteration.completed', correlationId, parentCorrelationId),
|
|
68
|
+
eventType: 'agent.iteration.completed',
|
|
69
|
+
iteration: opts.iteration,
|
|
70
|
+
hasToolCalls: opts.hasToolCalls,
|
|
71
|
+
toolCallsCount: opts.toolCallsCount,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function toolCallStarted(correlationId, parentCorrelationId, opts) {
|
|
75
|
+
return {
|
|
76
|
+
...baseFields(`tool.${opts.toolName}.started`, correlationId, parentCorrelationId),
|
|
77
|
+
eventType: 'tool_call.started',
|
|
78
|
+
toolName: opts.toolName,
|
|
79
|
+
toolCallId: opts.toolCallId,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export function toolCallCompleted(correlationId, parentCorrelationId, opts) {
|
|
83
|
+
return {
|
|
84
|
+
...baseFields(`tool.${opts.toolName}.completed`, correlationId, parentCorrelationId),
|
|
85
|
+
eventType: 'tool_call.completed',
|
|
86
|
+
toolName: opts.toolName,
|
|
87
|
+
toolCallId: opts.toolCallId,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export function toolCallFailed(correlationId, parentCorrelationId, opts) {
|
|
91
|
+
return {
|
|
92
|
+
...baseFields(`tool.${opts.toolName}.failed`, correlationId, parentCorrelationId),
|
|
93
|
+
eventType: 'tool_call.failed',
|
|
94
|
+
toolName: opts.toolName,
|
|
95
|
+
toolCallId: opts.toolCallId,
|
|
96
|
+
error: opts.error,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// ─── Event classification (mirrors Rust JournalEventMessage) ────────
|
|
100
|
+
/**
|
|
101
|
+
* SSE-only events are ephemeral streaming/observability events.
|
|
102
|
+
* They are NOT persisted and flow through the journal queue flush task.
|
|
103
|
+
*/
|
|
104
|
+
export function isSseOnlyEvent(eventType) {
|
|
105
|
+
return (eventType.startsWith('output.') ||
|
|
106
|
+
eventType.startsWith('lm.stream.') ||
|
|
107
|
+
eventType.startsWith('lm.message.') ||
|
|
108
|
+
eventType.startsWith('lm.thinking.') ||
|
|
109
|
+
eventType.startsWith('lm.tool_call.') ||
|
|
110
|
+
eventType.startsWith('progress.') ||
|
|
111
|
+
eventType.startsWith('log'));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Checkpoint events are persisted lifecycle events that require sync acknowledgement.
|
|
115
|
+
* They flow through the WriteCheckpoint gRPC RPC.
|
|
116
|
+
*/
|
|
117
|
+
export function isCheckpointEvent(eventType) {
|
|
118
|
+
return !isSseOnlyEvent(eventType);
|
|
119
|
+
}
|
|
120
|
+
// ─── Lifecycle factory helpers ──────────────────────────────────────
|
|
121
|
+
export function generateCid() {
|
|
122
|
+
return randomUUID().slice(0, 8);
|
|
123
|
+
}
|
|
124
|
+
export function runStarted(correlationId, parentCorrelationId, opts) {
|
|
125
|
+
return {
|
|
126
|
+
...baseFields('run.started', correlationId, parentCorrelationId),
|
|
127
|
+
eventType: 'run.started',
|
|
128
|
+
inputData: opts.inputData,
|
|
129
|
+
attempt: opts.attempt,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export function runCompleted(correlationId, parentCorrelationId, opts) {
|
|
133
|
+
return {
|
|
134
|
+
...baseFields('run.completed', correlationId, parentCorrelationId),
|
|
135
|
+
eventType: 'run.completed',
|
|
136
|
+
outputData: opts.outputData,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
export function runFailed(correlationId, parentCorrelationId, opts) {
|
|
140
|
+
return {
|
|
141
|
+
...baseFields('run.failed', correlationId, parentCorrelationId, {
|
|
142
|
+
attempt: String(opts.attempt),
|
|
143
|
+
max_attempts: String(opts.maxAttempts),
|
|
144
|
+
}),
|
|
145
|
+
eventType: 'run.failed',
|
|
146
|
+
errorCode: opts.errorCode,
|
|
147
|
+
errorMessage: opts.errorMessage,
|
|
148
|
+
attempt: opts.attempt,
|
|
149
|
+
maxAttempts: opts.maxAttempts,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
export function functionStarted(correlationId, parentCorrelationId, opts) {
|
|
153
|
+
return {
|
|
154
|
+
...baseFields('function.started', correlationId, parentCorrelationId),
|
|
155
|
+
eventType: 'function.started',
|
|
156
|
+
inputData: opts.inputData,
|
|
157
|
+
attempt: opts.attempt,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export function functionCompleted(correlationId, parentCorrelationId, opts) {
|
|
161
|
+
return {
|
|
162
|
+
...baseFields('function.completed', correlationId, parentCorrelationId),
|
|
163
|
+
eventType: 'function.completed',
|
|
164
|
+
outputData: opts.outputData,
|
|
165
|
+
durationMs: opts.durationMs,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export function functionFailed(correlationId, parentCorrelationId, opts) {
|
|
169
|
+
return {
|
|
170
|
+
...baseFields('function.failed', correlationId, parentCorrelationId),
|
|
171
|
+
eventType: 'function.failed',
|
|
172
|
+
errorCode: opts.errorCode,
|
|
173
|
+
errorMessage: opts.errorMessage,
|
|
174
|
+
durationMs: opts.durationMs,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
export function workflowStarted(correlationId, parentCorrelationId, opts) {
|
|
178
|
+
return {
|
|
179
|
+
...baseFields('workflow.started', correlationId, parentCorrelationId),
|
|
180
|
+
eventType: 'workflow.started',
|
|
181
|
+
inputData: opts.inputData,
|
|
182
|
+
attempt: opts.attempt,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
export function workflowCompleted(correlationId, parentCorrelationId, opts) {
|
|
186
|
+
return {
|
|
187
|
+
...baseFields('workflow.completed', correlationId, parentCorrelationId),
|
|
188
|
+
eventType: 'workflow.completed',
|
|
189
|
+
outputData: opts.outputData,
|
|
190
|
+
durationMs: opts.durationMs,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export function workflowFailed(correlationId, parentCorrelationId, opts) {
|
|
194
|
+
return {
|
|
195
|
+
...baseFields('workflow.failed', correlationId, parentCorrelationId),
|
|
196
|
+
eventType: 'workflow.failed',
|
|
197
|
+
errorCode: opts.errorCode,
|
|
198
|
+
errorMessage: opts.errorMessage,
|
|
199
|
+
durationMs: opts.durationMs,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Workflow paused event — emitted when a workflow pauses for user input.
|
|
204
|
+
*
|
|
205
|
+
* The runtime projection treats `workflow.paused` as a terminal event for
|
|
206
|
+
* the gateway's `/v1/workflows/:name/run` endpoint (see
|
|
207
|
+
* runtime/crates/gateway/src/handlers/component.rs:160) and transitions the
|
|
208
|
+
* run's status to `paused` (see
|
|
209
|
+
* runtime/crates/processor/src/projections/runs.rs:130 apply_paused).
|
|
210
|
+
*
|
|
211
|
+
* Metadata carries fields the UI / resume endpoint need (question, options,
|
|
212
|
+
* pause_index, step_name, etc.) mirroring sdk-python's wait_for_input.
|
|
213
|
+
*/
|
|
214
|
+
export function workflowPaused(correlationId, parentCorrelationId, opts) {
|
|
215
|
+
return {
|
|
216
|
+
...baseFields('workflow.paused', correlationId, parentCorrelationId, opts.metadata || {}),
|
|
217
|
+
eventType: 'workflow.paused',
|
|
218
|
+
reason: opts.reason,
|
|
219
|
+
pauseData: opts.pauseData,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
export function toolStarted(correlationId, parentCorrelationId, opts) {
|
|
223
|
+
return {
|
|
224
|
+
...baseFields('tool.started', correlationId, parentCorrelationId),
|
|
225
|
+
eventType: 'tool.started',
|
|
226
|
+
inputData: opts.inputData,
|
|
227
|
+
attempt: opts.attempt,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
export function toolCompleted(correlationId, parentCorrelationId, opts) {
|
|
231
|
+
return {
|
|
232
|
+
...baseFields('tool.completed', correlationId, parentCorrelationId),
|
|
233
|
+
eventType: 'tool.completed',
|
|
234
|
+
outputData: opts.outputData,
|
|
235
|
+
durationMs: opts.durationMs,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
export function toolFailed(correlationId, parentCorrelationId, opts) {
|
|
239
|
+
return {
|
|
240
|
+
...baseFields('tool.failed', correlationId, parentCorrelationId),
|
|
241
|
+
eventType: 'tool.failed',
|
|
242
|
+
errorCode: opts.errorCode,
|
|
243
|
+
errorMessage: opts.errorMessage,
|
|
244
|
+
durationMs: opts.durationMs,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Convert a BaseEvent to a plain data payload for emission.
|
|
249
|
+
* Strips internal fields (correlationId, parentCorrelationId, eventId, etc.)
|
|
250
|
+
* and returns just the domain-specific data fields.
|
|
251
|
+
*/
|
|
252
|
+
export function toEventPayload(event) {
|
|
253
|
+
const { name, correlationId, parentCorrelationId, eventId, timestampNs, eventType, metadata, ...data } = event;
|
|
254
|
+
return data;
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { FunctionHandler, FunctionOptions, RetryPolicy, BackoffPolicy } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Function builder for creating durable functions
|
|
4
|
+
* @template TInput - Input parameter types
|
|
5
|
+
* @template TOutput - Return type
|
|
6
|
+
*/
|
|
7
|
+
export declare class FunctionBuilder<TInput = any, TOutput = any> {
|
|
8
|
+
private name;
|
|
9
|
+
private config;
|
|
10
|
+
constructor(name: string);
|
|
11
|
+
/**
|
|
12
|
+
* Configure retry policy
|
|
13
|
+
*/
|
|
14
|
+
retry(policy: RetryPolicy): this;
|
|
15
|
+
/**
|
|
16
|
+
* Configure backoff strategy
|
|
17
|
+
*/
|
|
18
|
+
backoff(policy: BackoffPolicy): this;
|
|
19
|
+
/**
|
|
20
|
+
* Configure timeout in milliseconds
|
|
21
|
+
*/
|
|
22
|
+
timeout(ms: number): this;
|
|
23
|
+
/**
|
|
24
|
+
* Define the function handler
|
|
25
|
+
*/
|
|
26
|
+
run(handler: FunctionHandler<TInput, TOutput>): FunctionHandler<TInput, TOutput>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a new function builder
|
|
30
|
+
* @param name - Unique function name
|
|
31
|
+
* @returns Function builder instance
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const greet = fn('greet').run(async (ctx, name: string) => {
|
|
36
|
+
* return `Hello, ${name}!`;
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function fn<TInput = any, TOutput = any>(name: string): FunctionBuilder<TInput, TOutput>;
|
|
41
|
+
/**
|
|
42
|
+
* Internal function registry
|
|
43
|
+
*/
|
|
44
|
+
declare class FunctionRegistry {
|
|
45
|
+
private static functions;
|
|
46
|
+
static register(name: string, config: {
|
|
47
|
+
handler: FunctionHandler;
|
|
48
|
+
options: FunctionOptions;
|
|
49
|
+
}): void;
|
|
50
|
+
static get(name: string): {
|
|
51
|
+
handler: FunctionHandler;
|
|
52
|
+
options: FunctionOptions;
|
|
53
|
+
} | undefined;
|
|
54
|
+
static getAll(): [string, {
|
|
55
|
+
handler: FunctionHandler;
|
|
56
|
+
options: FunctionOptions;
|
|
57
|
+
}][];
|
|
58
|
+
static clear(): void;
|
|
59
|
+
}
|
|
60
|
+
export { FunctionRegistry };
|
|
61
|
+
//# sourceMappingURL=function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAG1C,OAAO,CAAC,IAAI;IAFxB,OAAO,CAAC,MAAM,CAAuB;gBAEjB,IAAI,EAAE,MAAM;IAEhC;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKhC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKpC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKzB;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;CASjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAC5C,IAAI,EAAE,MAAM,GACX,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;GAEG;AACH,cAAM,gBAAgB;IACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAGpB;IAEJ,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;QAAE,OAAO,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE;IAKhE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM;iBAVV,eAAe;iBAAW,eAAe;;IActD,MAAM,CAAC,MAAM;iBAdA,eAAe;iBAAW,eAAe;;IAkBtD,MAAM,CAAC,KAAK;CAGb;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|