@machinemetrics/agent-event-protocol 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +274 -0
- package/dist/chunk-RSG7CUUT.js +220 -0
- package/dist/chunk-RSG7CUUT.js.map +1 -0
- package/dist/chunk-WZD2VBMM.js +180 -0
- package/dist/chunk-WZD2VBMM.js.map +1 -0
- package/dist/chunk-ZINGYSGU.js +19 -0
- package/dist/chunk-ZINGYSGU.js.map +1 -0
- package/dist/core.cjs +241 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +463 -0
- package/dist/core.d.ts +463 -0
- package/dist/core.js +47 -0
- package/dist/core.js.map +1 -0
- package/dist/index.cjs +458 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/sse.cjs +404 -0
- package/dist/sse.cjs.map +1 -0
- package/dist/sse.d.cts +56 -0
- package/dist/sse.d.ts +56 -0
- package/dist/sse.js +10 -0
- package/dist/sse.js.map +1 -0
- package/dist/types-CttB5bnC.d.cts +323 -0
- package/dist/types-CttB5bnC.d.ts +323 -0
- package/package.json +69 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// src/core/schemas.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var UserContentBlockSchema = z.object({
|
|
4
|
+
type: z.literal("text"),
|
|
5
|
+
text: z.string()
|
|
6
|
+
});
|
|
7
|
+
var AssistantContentBlockSchema = z.discriminatedUnion("type", [
|
|
8
|
+
z.object({ type: z.literal("text"), text: z.string() }),
|
|
9
|
+
z.object({ type: z.literal("thinking"), text: z.string() }),
|
|
10
|
+
z.object({
|
|
11
|
+
type: z.literal("tool_use"),
|
|
12
|
+
toolCallId: z.string(),
|
|
13
|
+
tool: z.string(),
|
|
14
|
+
args: z.record(z.string(), z.unknown())
|
|
15
|
+
}),
|
|
16
|
+
z.object({
|
|
17
|
+
type: z.literal("tool_result"),
|
|
18
|
+
toolCallId: z.string(),
|
|
19
|
+
tool: z.string(),
|
|
20
|
+
status: z.enum(["success", "error"]),
|
|
21
|
+
summary: z.string().optional()
|
|
22
|
+
})
|
|
23
|
+
]);
|
|
24
|
+
var InputMessageSchema = z.object({
|
|
25
|
+
content: z.array(UserContentBlockSchema)
|
|
26
|
+
});
|
|
27
|
+
var ActionResultSchema = z.object({
|
|
28
|
+
actionId: z.string(),
|
|
29
|
+
kind: z.string(),
|
|
30
|
+
status: z.enum(["success", "error"]),
|
|
31
|
+
data: z.unknown().optional(),
|
|
32
|
+
error: z.string().optional()
|
|
33
|
+
});
|
|
34
|
+
var AgentRequestSchema = z.object({
|
|
35
|
+
messages: z.array(InputMessageSchema),
|
|
36
|
+
threadId: z.string().optional(),
|
|
37
|
+
context: z.object({
|
|
38
|
+
actionResults: z.array(ActionResultSchema).optional()
|
|
39
|
+
}).passthrough().optional()
|
|
40
|
+
});
|
|
41
|
+
var EventStageSchema = z.enum(["start", "delta", "stop"]);
|
|
42
|
+
var ErrorCodeSchema = z.enum([
|
|
43
|
+
"auth_failed",
|
|
44
|
+
"thread_not_found",
|
|
45
|
+
"thread_access_denied",
|
|
46
|
+
"invalid_message_format",
|
|
47
|
+
"message_too_large",
|
|
48
|
+
"rate_limit_exceeded",
|
|
49
|
+
"stream_timeout",
|
|
50
|
+
"agent_error",
|
|
51
|
+
"tool_error",
|
|
52
|
+
"internal_error",
|
|
53
|
+
"invalid_action_id"
|
|
54
|
+
]);
|
|
55
|
+
var FinishReasonSchema = z.enum(["stop", "length", "error", "action_required"]);
|
|
56
|
+
var MetadataEventSchema = z.object({
|
|
57
|
+
event: z.literal("metadata"),
|
|
58
|
+
requestId: z.string(),
|
|
59
|
+
threadId: z.string(),
|
|
60
|
+
agentId: z.string(),
|
|
61
|
+
timestamp: z.string()
|
|
62
|
+
});
|
|
63
|
+
var TextEventSchema = z.object({
|
|
64
|
+
event: z.literal("text"),
|
|
65
|
+
requestId: z.string(),
|
|
66
|
+
messageId: z.string(),
|
|
67
|
+
blockId: z.string(),
|
|
68
|
+
blockIndex: z.number().optional(),
|
|
69
|
+
stage: EventStageSchema,
|
|
70
|
+
delta: z.string().optional(),
|
|
71
|
+
deltaIndex: z.number().optional(),
|
|
72
|
+
timestamp: z.string()
|
|
73
|
+
});
|
|
74
|
+
var ThinkingEventSchema = z.object({
|
|
75
|
+
event: z.literal("thinking"),
|
|
76
|
+
requestId: z.string(),
|
|
77
|
+
messageId: z.string(),
|
|
78
|
+
blockId: z.string(),
|
|
79
|
+
blockIndex: z.number().optional(),
|
|
80
|
+
stage: EventStageSchema,
|
|
81
|
+
delta: z.string().optional(),
|
|
82
|
+
deltaIndex: z.number().optional(),
|
|
83
|
+
timestamp: z.string()
|
|
84
|
+
});
|
|
85
|
+
var ToolCallEventSchema = z.object({
|
|
86
|
+
event: z.literal("tool_call"),
|
|
87
|
+
requestId: z.string(),
|
|
88
|
+
messageId: z.string(),
|
|
89
|
+
blockId: z.string(),
|
|
90
|
+
blockIndex: z.number().optional(),
|
|
91
|
+
stage: EventStageSchema,
|
|
92
|
+
toolCallId: z.string().optional(),
|
|
93
|
+
tool: z.string().optional(),
|
|
94
|
+
delta: z.string().optional(),
|
|
95
|
+
deltaIndex: z.number().optional(),
|
|
96
|
+
args: z.record(z.string(), z.unknown()).optional(),
|
|
97
|
+
timestamp: z.string()
|
|
98
|
+
});
|
|
99
|
+
var ToolResultEventSchema = z.object({
|
|
100
|
+
event: z.literal("tool_result"),
|
|
101
|
+
requestId: z.string(),
|
|
102
|
+
messageId: z.string(),
|
|
103
|
+
blockId: z.string(),
|
|
104
|
+
blockIndex: z.number().optional(),
|
|
105
|
+
stage: EventStageSchema,
|
|
106
|
+
toolCallId: z.string().optional(),
|
|
107
|
+
tool: z.string().optional(),
|
|
108
|
+
status: z.enum(["success", "error"]).optional(),
|
|
109
|
+
summary: z.string().optional(),
|
|
110
|
+
timestamp: z.string()
|
|
111
|
+
});
|
|
112
|
+
var DoneEventSchema = z.object({
|
|
113
|
+
event: z.literal("done"),
|
|
114
|
+
requestId: z.string(),
|
|
115
|
+
messageId: z.string(),
|
|
116
|
+
threadId: z.string(),
|
|
117
|
+
content: z.array(AssistantContentBlockSchema),
|
|
118
|
+
usage: z.object({
|
|
119
|
+
promptTokens: z.number(),
|
|
120
|
+
completionTokens: z.number()
|
|
121
|
+
}).optional(),
|
|
122
|
+
finishReason: FinishReasonSchema,
|
|
123
|
+
traceId: z.string().optional(),
|
|
124
|
+
timestamp: z.string()
|
|
125
|
+
});
|
|
126
|
+
var ErrorEventSchema = z.object({
|
|
127
|
+
event: z.literal("error"),
|
|
128
|
+
requestId: z.string(),
|
|
129
|
+
message: z.string(),
|
|
130
|
+
code: ErrorCodeSchema.optional(),
|
|
131
|
+
retryable: z.boolean().optional(),
|
|
132
|
+
timestamp: z.string()
|
|
133
|
+
});
|
|
134
|
+
var AbortedEventSchema = z.object({
|
|
135
|
+
event: z.literal("aborted"),
|
|
136
|
+
requestId: z.string(),
|
|
137
|
+
messageId: z.string().optional(),
|
|
138
|
+
timestamp: z.string()
|
|
139
|
+
});
|
|
140
|
+
var ContinuationEventSchema = z.object({
|
|
141
|
+
event: z.literal("continuation"),
|
|
142
|
+
requestId: z.string(),
|
|
143
|
+
actionId: z.string(),
|
|
144
|
+
kind: z.string(),
|
|
145
|
+
payload: z.record(z.string(), z.unknown()),
|
|
146
|
+
timestamp: z.string()
|
|
147
|
+
});
|
|
148
|
+
var AgentEventSchema = z.discriminatedUnion("event", [
|
|
149
|
+
MetadataEventSchema,
|
|
150
|
+
TextEventSchema,
|
|
151
|
+
ThinkingEventSchema,
|
|
152
|
+
ToolCallEventSchema,
|
|
153
|
+
ToolResultEventSchema,
|
|
154
|
+
DoneEventSchema,
|
|
155
|
+
ErrorEventSchema,
|
|
156
|
+
AbortedEventSchema,
|
|
157
|
+
ContinuationEventSchema
|
|
158
|
+
]);
|
|
159
|
+
|
|
160
|
+
export {
|
|
161
|
+
UserContentBlockSchema,
|
|
162
|
+
AssistantContentBlockSchema,
|
|
163
|
+
InputMessageSchema,
|
|
164
|
+
ActionResultSchema,
|
|
165
|
+
AgentRequestSchema,
|
|
166
|
+
EventStageSchema,
|
|
167
|
+
ErrorCodeSchema,
|
|
168
|
+
FinishReasonSchema,
|
|
169
|
+
MetadataEventSchema,
|
|
170
|
+
TextEventSchema,
|
|
171
|
+
ThinkingEventSchema,
|
|
172
|
+
ToolCallEventSchema,
|
|
173
|
+
ToolResultEventSchema,
|
|
174
|
+
DoneEventSchema,
|
|
175
|
+
ErrorEventSchema,
|
|
176
|
+
AbortedEventSchema,
|
|
177
|
+
ContinuationEventSchema,
|
|
178
|
+
AgentEventSchema
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=chunk-WZD2VBMM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/schemas.ts"],"sourcesContent":["import { z } from 'zod';\n\n/**\n * Zod schema for validating user content blocks.\n * Currently only supports text; extensible for multimodal.\n */\nexport const UserContentBlockSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n});\n\n/**\n * Zod schema for validating assistant content blocks.\n * Discriminated union supporting text, thinking, tool_use, and tool_result.\n */\nexport const AssistantContentBlockSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('text'), text: z.string() }),\n z.object({ type: z.literal('thinking'), text: z.string() }),\n z.object({\n type: z.literal('tool_use'),\n toolCallId: z.string(),\n tool: z.string(),\n args: z.record(z.string(), z.unknown()),\n }),\n z.object({\n type: z.literal('tool_result'),\n toolCallId: z.string(),\n tool: z.string(),\n status: z.enum(['success', 'error']),\n summary: z.string().optional(),\n }),\n]);\n\n/**\n * Zod schema for validating input messages.\n */\nexport const InputMessageSchema = z.object({\n content: z.array(UserContentBlockSchema),\n});\n\n/**\n * Zod schema for validating action results from continuation events.\n */\nexport const ActionResultSchema = z.object({\n actionId: z.string(),\n kind: z.string(),\n status: z.enum(['success', 'error']),\n data: z.unknown().optional(),\n error: z.string().optional(),\n});\n\n/**\n * Zod schema for validating agent request payloads.\n * Context object uses passthrough() to allow additional fields.\n */\nexport const AgentRequestSchema = z.object({\n messages: z.array(InputMessageSchema),\n threadId: z.string().optional(),\n context: z\n .object({\n actionResults: z.array(ActionResultSchema).optional(),\n })\n .passthrough()\n .optional(),\n});\n\n/**\n * Zod schema for event lifecycle stages.\n */\nexport const EventStageSchema = z.enum(['start', 'delta', 'stop']);\n\n/**\n * Zod schema for protocol error codes.\n */\nexport const ErrorCodeSchema = z.enum([\n 'auth_failed',\n 'thread_not_found',\n 'thread_access_denied',\n 'invalid_message_format',\n 'message_too_large',\n 'rate_limit_exceeded',\n 'stream_timeout',\n 'agent_error',\n 'tool_error',\n 'internal_error',\n 'invalid_action_id',\n]);\n\n/**\n * Zod schema for stream finish reasons.\n */\nexport const FinishReasonSchema = z.enum(['stop', 'length', 'error', 'action_required']);\n\n/**\n * Zod schema for metadata events.\n * First event in every stream, provides identifiers.\n */\nexport const MetadataEventSchema = z.object({\n event: z.literal('metadata'),\n requestId: z.string(),\n threadId: z.string(),\n agentId: z.string(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for text streaming events.\n * Validates the stage lifecycle with appropriate optional fields per stage.\n */\nexport const TextEventSchema = z.object({\n event: z.literal('text'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n delta: z.string().optional(),\n deltaIndex: z.number().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for thinking/reasoning events.\n * Structure mirrors TextEventSchema.\n */\nexport const ThinkingEventSchema = z.object({\n event: z.literal('thinking'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n delta: z.string().optional(),\n deltaIndex: z.number().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for tool call events.\n * Args are optional (only present on stop stage).\n */\nexport const ToolCallEventSchema = z.object({\n event: z.literal('tool_call'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n toolCallId: z.string().optional(),\n tool: z.string().optional(),\n delta: z.string().optional(),\n deltaIndex: z.number().optional(),\n args: z.record(z.string(), z.unknown()).optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for tool result events.\n * Status and summary only present on stop stage.\n */\nexport const ToolResultEventSchema = z.object({\n event: z.literal('tool_result'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n toolCallId: z.string().optional(),\n tool: z.string().optional(),\n status: z.enum(['success', 'error']).optional(),\n summary: z.string().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for done events.\n * Terminal event with complete content array.\n */\nexport const DoneEventSchema = z.object({\n event: z.literal('done'),\n requestId: z.string(),\n messageId: z.string(),\n threadId: z.string(),\n content: z.array(AssistantContentBlockSchema),\n usage: z\n .object({\n promptTokens: z.number(),\n completionTokens: z.number(),\n })\n .optional(),\n finishReason: FinishReasonSchema,\n traceId: z.string().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for error events.\n * Terminal event with error details and retry guidance.\n */\nexport const ErrorEventSchema = z.object({\n event: z.literal('error'),\n requestId: z.string(),\n message: z.string(),\n code: ErrorCodeSchema.optional(),\n retryable: z.boolean().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for aborted events.\n * Terminal event acknowledging client cancellation.\n */\nexport const AbortedEventSchema = z.object({\n event: z.literal('aborted'),\n requestId: z.string(),\n messageId: z.string().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for continuation events.\n * Signals client action required before stream can continue.\n */\nexport const ContinuationEventSchema = z.object({\n event: z.literal('continuation'),\n requestId: z.string(),\n actionId: z.string(),\n kind: z.string(),\n payload: z.record(z.string(), z.unknown()),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for all protocol events.\n * Discriminated union on the `event` field for efficient parsing.\n */\nexport const AgentEventSchema = z.discriminatedUnion('event', [\n MetadataEventSchema,\n TextEventSchema,\n ThinkingEventSchema,\n ToolCallEventSchema,\n ToolResultEventSchema,\n DoneEventSchema,\n ErrorEventSchema,\n AbortedEventSchema,\n ContinuationEventSchema,\n]);\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/core/constants.ts
|
|
2
|
+
var PROTOCOL_VERSION = "1.0.0";
|
|
3
|
+
var EVENT_TYPES = [
|
|
4
|
+
"metadata",
|
|
5
|
+
"text",
|
|
6
|
+
"thinking",
|
|
7
|
+
"tool_call",
|
|
8
|
+
"tool_result",
|
|
9
|
+
"done",
|
|
10
|
+
"error",
|
|
11
|
+
"aborted",
|
|
12
|
+
"continuation"
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
PROTOCOL_VERSION,
|
|
17
|
+
EVENT_TYPES
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-ZINGYSGU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/constants.ts"],"sourcesContent":["/**\n * Current protocol version.\n * Additive changes (new events, optional fields) don't require version bump.\n * Breaking changes require new endpoint version (v2, v3, etc).\n */\nexport const PROTOCOL_VERSION = '1.0.0';\n\n/**\n * All valid event type identifiers in the protocol.\n * Used for discriminated union parsing and validation.\n */\nexport const EVENT_TYPES = [\n 'metadata',\n 'text',\n 'thinking',\n 'tool_call',\n 'tool_result',\n 'done',\n 'error',\n 'aborted',\n 'continuation',\n] as const;\n\n/**\n * Event type identifier.\n * Union of all valid event type strings.\n */\nexport type EventType = (typeof EVENT_TYPES)[number];\n"],"mappings":";AAKO,IAAM,mBAAmB;AAMzB,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
package/dist/core.cjs
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/core/index.ts
|
|
21
|
+
var core_exports = {};
|
|
22
|
+
__export(core_exports, {
|
|
23
|
+
AbortedEventSchema: () => AbortedEventSchema,
|
|
24
|
+
ActionResultSchema: () => ActionResultSchema,
|
|
25
|
+
AgentEventSchema: () => AgentEventSchema,
|
|
26
|
+
AgentRequestSchema: () => AgentRequestSchema,
|
|
27
|
+
AssistantContentBlockSchema: () => AssistantContentBlockSchema,
|
|
28
|
+
ContinuationEventSchema: () => ContinuationEventSchema,
|
|
29
|
+
DoneEventSchema: () => DoneEventSchema,
|
|
30
|
+
EVENT_TYPES: () => EVENT_TYPES,
|
|
31
|
+
ErrorCodeSchema: () => ErrorCodeSchema,
|
|
32
|
+
ErrorEventSchema: () => ErrorEventSchema,
|
|
33
|
+
EventStageSchema: () => EventStageSchema,
|
|
34
|
+
FinishReasonSchema: () => FinishReasonSchema,
|
|
35
|
+
InputMessageSchema: () => InputMessageSchema,
|
|
36
|
+
MetadataEventSchema: () => MetadataEventSchema,
|
|
37
|
+
PROTOCOL_VERSION: () => PROTOCOL_VERSION,
|
|
38
|
+
TextEventSchema: () => TextEventSchema,
|
|
39
|
+
ThinkingEventSchema: () => ThinkingEventSchema,
|
|
40
|
+
ToolCallEventSchema: () => ToolCallEventSchema,
|
|
41
|
+
ToolResultEventSchema: () => ToolResultEventSchema,
|
|
42
|
+
UserContentBlockSchema: () => UserContentBlockSchema
|
|
43
|
+
});
|
|
44
|
+
module.exports = __toCommonJS(core_exports);
|
|
45
|
+
|
|
46
|
+
// src/core/schemas.ts
|
|
47
|
+
var import_zod = require("zod");
|
|
48
|
+
var UserContentBlockSchema = import_zod.z.object({
|
|
49
|
+
type: import_zod.z.literal("text"),
|
|
50
|
+
text: import_zod.z.string()
|
|
51
|
+
});
|
|
52
|
+
var AssistantContentBlockSchema = import_zod.z.discriminatedUnion("type", [
|
|
53
|
+
import_zod.z.object({ type: import_zod.z.literal("text"), text: import_zod.z.string() }),
|
|
54
|
+
import_zod.z.object({ type: import_zod.z.literal("thinking"), text: import_zod.z.string() }),
|
|
55
|
+
import_zod.z.object({
|
|
56
|
+
type: import_zod.z.literal("tool_use"),
|
|
57
|
+
toolCallId: import_zod.z.string(),
|
|
58
|
+
tool: import_zod.z.string(),
|
|
59
|
+
args: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown())
|
|
60
|
+
}),
|
|
61
|
+
import_zod.z.object({
|
|
62
|
+
type: import_zod.z.literal("tool_result"),
|
|
63
|
+
toolCallId: import_zod.z.string(),
|
|
64
|
+
tool: import_zod.z.string(),
|
|
65
|
+
status: import_zod.z.enum(["success", "error"]),
|
|
66
|
+
summary: import_zod.z.string().optional()
|
|
67
|
+
})
|
|
68
|
+
]);
|
|
69
|
+
var InputMessageSchema = import_zod.z.object({
|
|
70
|
+
content: import_zod.z.array(UserContentBlockSchema)
|
|
71
|
+
});
|
|
72
|
+
var ActionResultSchema = import_zod.z.object({
|
|
73
|
+
actionId: import_zod.z.string(),
|
|
74
|
+
kind: import_zod.z.string(),
|
|
75
|
+
status: import_zod.z.enum(["success", "error"]),
|
|
76
|
+
data: import_zod.z.unknown().optional(),
|
|
77
|
+
error: import_zod.z.string().optional()
|
|
78
|
+
});
|
|
79
|
+
var AgentRequestSchema = import_zod.z.object({
|
|
80
|
+
messages: import_zod.z.array(InputMessageSchema),
|
|
81
|
+
threadId: import_zod.z.string().optional(),
|
|
82
|
+
context: import_zod.z.object({
|
|
83
|
+
actionResults: import_zod.z.array(ActionResultSchema).optional()
|
|
84
|
+
}).passthrough().optional()
|
|
85
|
+
});
|
|
86
|
+
var EventStageSchema = import_zod.z.enum(["start", "delta", "stop"]);
|
|
87
|
+
var ErrorCodeSchema = import_zod.z.enum([
|
|
88
|
+
"auth_failed",
|
|
89
|
+
"thread_not_found",
|
|
90
|
+
"thread_access_denied",
|
|
91
|
+
"invalid_message_format",
|
|
92
|
+
"message_too_large",
|
|
93
|
+
"rate_limit_exceeded",
|
|
94
|
+
"stream_timeout",
|
|
95
|
+
"agent_error",
|
|
96
|
+
"tool_error",
|
|
97
|
+
"internal_error",
|
|
98
|
+
"invalid_action_id"
|
|
99
|
+
]);
|
|
100
|
+
var FinishReasonSchema = import_zod.z.enum(["stop", "length", "error", "action_required"]);
|
|
101
|
+
var MetadataEventSchema = import_zod.z.object({
|
|
102
|
+
event: import_zod.z.literal("metadata"),
|
|
103
|
+
requestId: import_zod.z.string(),
|
|
104
|
+
threadId: import_zod.z.string(),
|
|
105
|
+
agentId: import_zod.z.string(),
|
|
106
|
+
timestamp: import_zod.z.string()
|
|
107
|
+
});
|
|
108
|
+
var TextEventSchema = import_zod.z.object({
|
|
109
|
+
event: import_zod.z.literal("text"),
|
|
110
|
+
requestId: import_zod.z.string(),
|
|
111
|
+
messageId: import_zod.z.string(),
|
|
112
|
+
blockId: import_zod.z.string(),
|
|
113
|
+
blockIndex: import_zod.z.number().optional(),
|
|
114
|
+
stage: EventStageSchema,
|
|
115
|
+
delta: import_zod.z.string().optional(),
|
|
116
|
+
deltaIndex: import_zod.z.number().optional(),
|
|
117
|
+
timestamp: import_zod.z.string()
|
|
118
|
+
});
|
|
119
|
+
var ThinkingEventSchema = import_zod.z.object({
|
|
120
|
+
event: import_zod.z.literal("thinking"),
|
|
121
|
+
requestId: import_zod.z.string(),
|
|
122
|
+
messageId: import_zod.z.string(),
|
|
123
|
+
blockId: import_zod.z.string(),
|
|
124
|
+
blockIndex: import_zod.z.number().optional(),
|
|
125
|
+
stage: EventStageSchema,
|
|
126
|
+
delta: import_zod.z.string().optional(),
|
|
127
|
+
deltaIndex: import_zod.z.number().optional(),
|
|
128
|
+
timestamp: import_zod.z.string()
|
|
129
|
+
});
|
|
130
|
+
var ToolCallEventSchema = import_zod.z.object({
|
|
131
|
+
event: import_zod.z.literal("tool_call"),
|
|
132
|
+
requestId: import_zod.z.string(),
|
|
133
|
+
messageId: import_zod.z.string(),
|
|
134
|
+
blockId: import_zod.z.string(),
|
|
135
|
+
blockIndex: import_zod.z.number().optional(),
|
|
136
|
+
stage: EventStageSchema,
|
|
137
|
+
toolCallId: import_zod.z.string().optional(),
|
|
138
|
+
tool: import_zod.z.string().optional(),
|
|
139
|
+
delta: import_zod.z.string().optional(),
|
|
140
|
+
deltaIndex: import_zod.z.number().optional(),
|
|
141
|
+
args: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional(),
|
|
142
|
+
timestamp: import_zod.z.string()
|
|
143
|
+
});
|
|
144
|
+
var ToolResultEventSchema = import_zod.z.object({
|
|
145
|
+
event: import_zod.z.literal("tool_result"),
|
|
146
|
+
requestId: import_zod.z.string(),
|
|
147
|
+
messageId: import_zod.z.string(),
|
|
148
|
+
blockId: import_zod.z.string(),
|
|
149
|
+
blockIndex: import_zod.z.number().optional(),
|
|
150
|
+
stage: EventStageSchema,
|
|
151
|
+
toolCallId: import_zod.z.string().optional(),
|
|
152
|
+
tool: import_zod.z.string().optional(),
|
|
153
|
+
status: import_zod.z.enum(["success", "error"]).optional(),
|
|
154
|
+
summary: import_zod.z.string().optional(),
|
|
155
|
+
timestamp: import_zod.z.string()
|
|
156
|
+
});
|
|
157
|
+
var DoneEventSchema = import_zod.z.object({
|
|
158
|
+
event: import_zod.z.literal("done"),
|
|
159
|
+
requestId: import_zod.z.string(),
|
|
160
|
+
messageId: import_zod.z.string(),
|
|
161
|
+
threadId: import_zod.z.string(),
|
|
162
|
+
content: import_zod.z.array(AssistantContentBlockSchema),
|
|
163
|
+
usage: import_zod.z.object({
|
|
164
|
+
promptTokens: import_zod.z.number(),
|
|
165
|
+
completionTokens: import_zod.z.number()
|
|
166
|
+
}).optional(),
|
|
167
|
+
finishReason: FinishReasonSchema,
|
|
168
|
+
traceId: import_zod.z.string().optional(),
|
|
169
|
+
timestamp: import_zod.z.string()
|
|
170
|
+
});
|
|
171
|
+
var ErrorEventSchema = import_zod.z.object({
|
|
172
|
+
event: import_zod.z.literal("error"),
|
|
173
|
+
requestId: import_zod.z.string(),
|
|
174
|
+
message: import_zod.z.string(),
|
|
175
|
+
code: ErrorCodeSchema.optional(),
|
|
176
|
+
retryable: import_zod.z.boolean().optional(),
|
|
177
|
+
timestamp: import_zod.z.string()
|
|
178
|
+
});
|
|
179
|
+
var AbortedEventSchema = import_zod.z.object({
|
|
180
|
+
event: import_zod.z.literal("aborted"),
|
|
181
|
+
requestId: import_zod.z.string(),
|
|
182
|
+
messageId: import_zod.z.string().optional(),
|
|
183
|
+
timestamp: import_zod.z.string()
|
|
184
|
+
});
|
|
185
|
+
var ContinuationEventSchema = import_zod.z.object({
|
|
186
|
+
event: import_zod.z.literal("continuation"),
|
|
187
|
+
requestId: import_zod.z.string(),
|
|
188
|
+
actionId: import_zod.z.string(),
|
|
189
|
+
kind: import_zod.z.string(),
|
|
190
|
+
payload: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()),
|
|
191
|
+
timestamp: import_zod.z.string()
|
|
192
|
+
});
|
|
193
|
+
var AgentEventSchema = import_zod.z.discriminatedUnion("event", [
|
|
194
|
+
MetadataEventSchema,
|
|
195
|
+
TextEventSchema,
|
|
196
|
+
ThinkingEventSchema,
|
|
197
|
+
ToolCallEventSchema,
|
|
198
|
+
ToolResultEventSchema,
|
|
199
|
+
DoneEventSchema,
|
|
200
|
+
ErrorEventSchema,
|
|
201
|
+
AbortedEventSchema,
|
|
202
|
+
ContinuationEventSchema
|
|
203
|
+
]);
|
|
204
|
+
|
|
205
|
+
// src/core/constants.ts
|
|
206
|
+
var PROTOCOL_VERSION = "1.0.0";
|
|
207
|
+
var EVENT_TYPES = [
|
|
208
|
+
"metadata",
|
|
209
|
+
"text",
|
|
210
|
+
"thinking",
|
|
211
|
+
"tool_call",
|
|
212
|
+
"tool_result",
|
|
213
|
+
"done",
|
|
214
|
+
"error",
|
|
215
|
+
"aborted",
|
|
216
|
+
"continuation"
|
|
217
|
+
];
|
|
218
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
219
|
+
0 && (module.exports = {
|
|
220
|
+
AbortedEventSchema,
|
|
221
|
+
ActionResultSchema,
|
|
222
|
+
AgentEventSchema,
|
|
223
|
+
AgentRequestSchema,
|
|
224
|
+
AssistantContentBlockSchema,
|
|
225
|
+
ContinuationEventSchema,
|
|
226
|
+
DoneEventSchema,
|
|
227
|
+
EVENT_TYPES,
|
|
228
|
+
ErrorCodeSchema,
|
|
229
|
+
ErrorEventSchema,
|
|
230
|
+
EventStageSchema,
|
|
231
|
+
FinishReasonSchema,
|
|
232
|
+
InputMessageSchema,
|
|
233
|
+
MetadataEventSchema,
|
|
234
|
+
PROTOCOL_VERSION,
|
|
235
|
+
TextEventSchema,
|
|
236
|
+
ThinkingEventSchema,
|
|
237
|
+
ToolCallEventSchema,
|
|
238
|
+
ToolResultEventSchema,
|
|
239
|
+
UserContentBlockSchema
|
|
240
|
+
});
|
|
241
|
+
//# sourceMappingURL=core.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts","../src/core/schemas.ts","../src/core/constants.ts"],"sourcesContent":["export * from './types.js';\nexport * from './schemas.js';\nexport * from './constants.js';\n","import { z } from 'zod';\n\n/**\n * Zod schema for validating user content blocks.\n * Currently only supports text; extensible for multimodal.\n */\nexport const UserContentBlockSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n});\n\n/**\n * Zod schema for validating assistant content blocks.\n * Discriminated union supporting text, thinking, tool_use, and tool_result.\n */\nexport const AssistantContentBlockSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('text'), text: z.string() }),\n z.object({ type: z.literal('thinking'), text: z.string() }),\n z.object({\n type: z.literal('tool_use'),\n toolCallId: z.string(),\n tool: z.string(),\n args: z.record(z.string(), z.unknown()),\n }),\n z.object({\n type: z.literal('tool_result'),\n toolCallId: z.string(),\n tool: z.string(),\n status: z.enum(['success', 'error']),\n summary: z.string().optional(),\n }),\n]);\n\n/**\n * Zod schema for validating input messages.\n */\nexport const InputMessageSchema = z.object({\n content: z.array(UserContentBlockSchema),\n});\n\n/**\n * Zod schema for validating action results from continuation events.\n */\nexport const ActionResultSchema = z.object({\n actionId: z.string(),\n kind: z.string(),\n status: z.enum(['success', 'error']),\n data: z.unknown().optional(),\n error: z.string().optional(),\n});\n\n/**\n * Zod schema for validating agent request payloads.\n * Context object uses passthrough() to allow additional fields.\n */\nexport const AgentRequestSchema = z.object({\n messages: z.array(InputMessageSchema),\n threadId: z.string().optional(),\n context: z\n .object({\n actionResults: z.array(ActionResultSchema).optional(),\n })\n .passthrough()\n .optional(),\n});\n\n/**\n * Zod schema for event lifecycle stages.\n */\nexport const EventStageSchema = z.enum(['start', 'delta', 'stop']);\n\n/**\n * Zod schema for protocol error codes.\n */\nexport const ErrorCodeSchema = z.enum([\n 'auth_failed',\n 'thread_not_found',\n 'thread_access_denied',\n 'invalid_message_format',\n 'message_too_large',\n 'rate_limit_exceeded',\n 'stream_timeout',\n 'agent_error',\n 'tool_error',\n 'internal_error',\n 'invalid_action_id',\n]);\n\n/**\n * Zod schema for stream finish reasons.\n */\nexport const FinishReasonSchema = z.enum(['stop', 'length', 'error', 'action_required']);\n\n/**\n * Zod schema for metadata events.\n * First event in every stream, provides identifiers.\n */\nexport const MetadataEventSchema = z.object({\n event: z.literal('metadata'),\n requestId: z.string(),\n threadId: z.string(),\n agentId: z.string(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for text streaming events.\n * Validates the stage lifecycle with appropriate optional fields per stage.\n */\nexport const TextEventSchema = z.object({\n event: z.literal('text'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n delta: z.string().optional(),\n deltaIndex: z.number().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for thinking/reasoning events.\n * Structure mirrors TextEventSchema.\n */\nexport const ThinkingEventSchema = z.object({\n event: z.literal('thinking'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n delta: z.string().optional(),\n deltaIndex: z.number().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for tool call events.\n * Args are optional (only present on stop stage).\n */\nexport const ToolCallEventSchema = z.object({\n event: z.literal('tool_call'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n toolCallId: z.string().optional(),\n tool: z.string().optional(),\n delta: z.string().optional(),\n deltaIndex: z.number().optional(),\n args: z.record(z.string(), z.unknown()).optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for tool result events.\n * Status and summary only present on stop stage.\n */\nexport const ToolResultEventSchema = z.object({\n event: z.literal('tool_result'),\n requestId: z.string(),\n messageId: z.string(),\n blockId: z.string(),\n blockIndex: z.number().optional(),\n stage: EventStageSchema,\n toolCallId: z.string().optional(),\n tool: z.string().optional(),\n status: z.enum(['success', 'error']).optional(),\n summary: z.string().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for done events.\n * Terminal event with complete content array.\n */\nexport const DoneEventSchema = z.object({\n event: z.literal('done'),\n requestId: z.string(),\n messageId: z.string(),\n threadId: z.string(),\n content: z.array(AssistantContentBlockSchema),\n usage: z\n .object({\n promptTokens: z.number(),\n completionTokens: z.number(),\n })\n .optional(),\n finishReason: FinishReasonSchema,\n traceId: z.string().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for error events.\n * Terminal event with error details and retry guidance.\n */\nexport const ErrorEventSchema = z.object({\n event: z.literal('error'),\n requestId: z.string(),\n message: z.string(),\n code: ErrorCodeSchema.optional(),\n retryable: z.boolean().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for aborted events.\n * Terminal event acknowledging client cancellation.\n */\nexport const AbortedEventSchema = z.object({\n event: z.literal('aborted'),\n requestId: z.string(),\n messageId: z.string().optional(),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for continuation events.\n * Signals client action required before stream can continue.\n */\nexport const ContinuationEventSchema = z.object({\n event: z.literal('continuation'),\n requestId: z.string(),\n actionId: z.string(),\n kind: z.string(),\n payload: z.record(z.string(), z.unknown()),\n timestamp: z.string(),\n});\n\n/**\n * Zod schema for all protocol events.\n * Discriminated union on the `event` field for efficient parsing.\n */\nexport const AgentEventSchema = z.discriminatedUnion('event', [\n MetadataEventSchema,\n TextEventSchema,\n ThinkingEventSchema,\n ToolCallEventSchema,\n ToolResultEventSchema,\n DoneEventSchema,\n ErrorEventSchema,\n AbortedEventSchema,\n ContinuationEventSchema,\n]);\n","/**\n * Current protocol version.\n * Additive changes (new events, optional fields) don't require version bump.\n * Breaking changes require new endpoint version (v2, v3, etc).\n */\nexport const PROTOCOL_VERSION = '1.0.0';\n\n/**\n * All valid event type identifiers in the protocol.\n * Used for discriminated union parsing and validation.\n */\nexport const EVENT_TYPES = [\n 'metadata',\n 'text',\n 'thinking',\n 'tool_call',\n 'tool_result',\n 'done',\n 'error',\n 'aborted',\n 'continuation',\n] as const;\n\n/**\n * Event type identifier.\n * Union of all valid event type strings.\n */\nexport type EventType = (typeof EVENT_TYPES)[number];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,iBAAkB;AAMX,IAAM,yBAAyB,aAAE,OAAO;AAAA,EAC7C,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,aAAE,OAAO;AACjB,CAAC;AAMM,IAAM,8BAA8B,aAAE,mBAAmB,QAAQ;AAAA,EACtE,aAAE,OAAO,EAAE,MAAM,aAAE,QAAQ,MAAM,GAAG,MAAM,aAAE,OAAO,EAAE,CAAC;AAAA,EACtD,aAAE,OAAO,EAAE,MAAM,aAAE,QAAQ,UAAU,GAAG,MAAM,aAAE,OAAO,EAAE,CAAC;AAAA,EAC1D,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,UAAU;AAAA,IAC1B,YAAY,aAAE,OAAO;AAAA,IACrB,MAAM,aAAE,OAAO;AAAA,IACf,MAAM,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC;AAAA,EACxC,CAAC;AAAA,EACD,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,aAAa;AAAA,IAC7B,YAAY,aAAE,OAAO;AAAA,IACrB,MAAM,aAAE,OAAO;AAAA,IACf,QAAQ,aAAE,KAAK,CAAC,WAAW,OAAO,CAAC;AAAA,IACnC,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,CAAC;AACH,CAAC;AAKM,IAAM,qBAAqB,aAAE,OAAO;AAAA,EACzC,SAAS,aAAE,MAAM,sBAAsB;AACzC,CAAC;AAKM,IAAM,qBAAqB,aAAE,OAAO;AAAA,EACzC,UAAU,aAAE,OAAO;AAAA,EACnB,MAAM,aAAE,OAAO;AAAA,EACf,QAAQ,aAAE,KAAK,CAAC,WAAW,OAAO,CAAC;AAAA,EACnC,MAAM,aAAE,QAAQ,EAAE,SAAS;AAAA,EAC3B,OAAO,aAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAMM,IAAM,qBAAqB,aAAE,OAAO;AAAA,EACzC,UAAU,aAAE,MAAM,kBAAkB;AAAA,EACpC,UAAU,aAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,SAAS,aACN,OAAO;AAAA,IACN,eAAe,aAAE,MAAM,kBAAkB,EAAE,SAAS;AAAA,EACtD,CAAC,EACA,YAAY,EACZ,SAAS;AACd,CAAC;AAKM,IAAM,mBAAmB,aAAE,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC;AAK1D,IAAM,kBAAkB,aAAE,KAAK;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,qBAAqB,aAAE,KAAK,CAAC,QAAQ,UAAU,SAAS,iBAAiB,CAAC;AAMhF,IAAM,sBAAsB,aAAE,OAAO;AAAA,EAC1C,OAAO,aAAE,QAAQ,UAAU;AAAA,EAC3B,WAAW,aAAE,OAAO;AAAA,EACpB,UAAU,aAAE,OAAO;AAAA,EACnB,SAAS,aAAE,OAAO;AAAA,EAClB,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACtC,OAAO,aAAE,QAAQ,MAAM;AAAA,EACvB,WAAW,aAAE,OAAO;AAAA,EACpB,WAAW,aAAE,OAAO;AAAA,EACpB,SAAS,aAAE,OAAO;AAAA,EAClB,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO;AAAA,EACP,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,sBAAsB,aAAE,OAAO;AAAA,EAC1C,OAAO,aAAE,QAAQ,UAAU;AAAA,EAC3B,WAAW,aAAE,OAAO;AAAA,EACpB,WAAW,aAAE,OAAO;AAAA,EACpB,SAAS,aAAE,OAAO;AAAA,EAClB,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO;AAAA,EACP,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,sBAAsB,aAAE,OAAO;AAAA,EAC1C,OAAO,aAAE,QAAQ,WAAW;AAAA,EAC5B,WAAW,aAAE,OAAO;AAAA,EACpB,WAAW,aAAE,OAAO;AAAA,EACpB,SAAS,aAAE,OAAO;AAAA,EAClB,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO;AAAA,EACP,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,MAAM,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACjD,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,wBAAwB,aAAE,OAAO;AAAA,EAC5C,OAAO,aAAE,QAAQ,aAAa;AAAA,EAC9B,WAAW,aAAE,OAAO;AAAA,EACpB,WAAW,aAAE,OAAO;AAAA,EACpB,SAAS,aAAE,OAAO;AAAA,EAClB,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO;AAAA,EACP,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,QAAQ,aAAE,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,SAAS;AAAA,EAC9C,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACtC,OAAO,aAAE,QAAQ,MAAM;AAAA,EACvB,WAAW,aAAE,OAAO;AAAA,EACpB,WAAW,aAAE,OAAO;AAAA,EACpB,UAAU,aAAE,OAAO;AAAA,EACnB,SAAS,aAAE,MAAM,2BAA2B;AAAA,EAC5C,OAAO,aACJ,OAAO;AAAA,IACN,cAAc,aAAE,OAAO;AAAA,IACvB,kBAAkB,aAAE,OAAO;AAAA,EAC7B,CAAC,EACA,SAAS;AAAA,EACZ,cAAc;AAAA,EACd,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,mBAAmB,aAAE,OAAO;AAAA,EACvC,OAAO,aAAE,QAAQ,OAAO;AAAA,EACxB,WAAW,aAAE,OAAO;AAAA,EACpB,SAAS,aAAE,OAAO;AAAA,EAClB,MAAM,gBAAgB,SAAS;AAAA,EAC/B,WAAW,aAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,qBAAqB,aAAE,OAAO;AAAA,EACzC,OAAO,aAAE,QAAQ,SAAS;AAAA,EAC1B,WAAW,aAAE,OAAO;AAAA,EACpB,WAAW,aAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,0BAA0B,aAAE,OAAO;AAAA,EAC9C,OAAO,aAAE,QAAQ,cAAc;AAAA,EAC/B,WAAW,aAAE,OAAO;AAAA,EACpB,UAAU,aAAE,OAAO;AAAA,EACnB,MAAM,aAAE,OAAO;AAAA,EACf,SAAS,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC;AAAA,EACzC,WAAW,aAAE,OAAO;AACtB,CAAC;AAMM,IAAM,mBAAmB,aAAE,mBAAmB,SAAS;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;;;ACjPM,IAAM,mBAAmB;AAMzB,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|