@assistant-ui/react-ag-ui 0.0.31 → 0.0.33

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.
Files changed (38) hide show
  1. package/dist/index.d.ts +3 -4
  2. package/dist/index.js +2 -2
  3. package/dist/runtime/AgUiThreadRuntimeCore.d.ts +85 -82
  4. package/dist/runtime/AgUiThreadRuntimeCore.d.ts.map +1 -1
  5. package/dist/runtime/AgUiThreadRuntimeCore.js +542 -628
  6. package/dist/runtime/AgUiThreadRuntimeCore.js.map +1 -1
  7. package/dist/runtime/adapter/conversions.d.ts +39 -36
  8. package/dist/runtime/adapter/conversions.d.ts.map +1 -1
  9. package/dist/runtime/adapter/conversions.js +294 -390
  10. package/dist/runtime/adapter/conversions.js.map +1 -1
  11. package/dist/runtime/adapter/run-aggregator.d.ts +54 -51
  12. package/dist/runtime/adapter/run-aggregator.d.ts.map +1 -1
  13. package/dist/runtime/adapter/run-aggregator.js +367 -413
  14. package/dist/runtime/adapter/run-aggregator.js.map +1 -1
  15. package/dist/runtime/adapter/subscriber.d.ts +94 -91
  16. package/dist/runtime/adapter/subscriber.d.ts.map +1 -1
  17. package/dist/runtime/adapter/subscriber.js +77 -86
  18. package/dist/runtime/adapter/subscriber.js.map +1 -1
  19. package/dist/runtime/event-parser.d.ts +9 -5
  20. package/dist/runtime/event-parser.d.ts.map +1 -1
  21. package/dist/runtime/event-parser.js +172 -177
  22. package/dist/runtime/event-parser.js.map +1 -1
  23. package/dist/runtime/logger.d.ts +7 -4
  24. package/dist/runtime/logger.d.ts.map +1 -1
  25. package/dist/runtime/logger.js +7 -3
  26. package/dist/runtime/logger.js.map +1 -1
  27. package/dist/runtime/types.d.ts +121 -117
  28. package/dist/runtime/types.d.ts.map +1 -1
  29. package/dist/runtime/types.js +0 -2
  30. package/dist/useAgUiRuntime.d.ts +10 -6
  31. package/dist/useAgUiRuntime.d.ts.map +1 -1
  32. package/dist/useAgUiRuntime.js +105 -142
  33. package/dist/useAgUiRuntime.js.map +1 -1
  34. package/package.json +7 -7
  35. package/src/useAgUiRuntime.ts +3 -47
  36. package/dist/index.d.ts.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/runtime/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-aggregator.js","sourceRoot":"","sources":["../../../src/runtime/adapter/run-aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-aggregator.js","names":[],"sources":["../../../src/runtime/adapter/run-aggregator.ts"],"sourcesContent":["\"use client\";\n\nimport type {\n ChatModelRunResult,\n MessageTiming,\n ThreadAssistantMessagePart,\n ToolCallMessagePart,\n} from \"@assistant-ui/core\";\nimport type { AgUiEvent, AgUiInterrupt } from \"../types\";\nimport type { Logger } from \"../logger\";\n\nexport const AG_UI_METADATA_NAMESPACE = \"agui\";\n\nexport type AgUiCustomMetadata = {\n interrupts?: AgUiInterrupt[];\n};\n\ntype Emit = (update: ChatModelRunResult) => void;\n\ntype ToolCallState = {\n toolCallId: string;\n toolCallName: string;\n argsText: string;\n parsedArgs: Record<string, unknown> | undefined;\n result: unknown;\n isError: boolean | undefined;\n parentMessageId?: string;\n toolMessageId?: string;\n};\n\nexport type RunAggregatorOptions = {\n showThinking: boolean;\n logger: Logger;\n emit: Emit;\n onServerMessageId?: (messageId: string) => void;\n};\n\n/**\n * Collects AG-UI events into assistant-ui run snapshots that can be yielded from a ChatModelAdapter.\n *\n * The aggregator keeps a single assistant message worth of parts. Each incoming event updates the parts and\n * emits a fresh snapshot through the provided `emit` callback.\n */\nexport class RunAggregator {\n private readonly emitUpdate: Emit;\n private readonly showThinking: boolean;\n private readonly logger: Logger;\n private readonly onServerMessageId: ((messageId: string) => void) | undefined;\n\n private status: ChatModelRunResult[\"status\"] | undefined;\n private interrupts: AgUiInterrupt[] | undefined;\n private readonly textParts = new Map<\n string,\n { buffer: string; touched: boolean }\n >();\n private activeTextMessageId: string | undefined;\n private readonly reasoningParts = new Map<string, string>(); // key → buffer\n private activeReasoningKey: string | undefined;\n private reasoningPartCounter = 0;\n private readonly toolCalls = new Map<string, ToolCallState>();\n private readonly partOrder: (\n | { kind: \"text\"; key: string }\n | { kind: \"reasoning\"; key: string }\n | { kind: \"tool-call\"; toolCallId: string }\n )[] = [];\n private textPartCounter = 0;\n private serverMessageIdReported = false;\n\n private streamStartTime: number | undefined;\n private firstTokenTime: number | undefined;\n private totalChunks = 0;\n\n constructor(options: RunAggregatorOptions) {\n this.emitUpdate = options.emit;\n this.showThinking = options.showThinking;\n this.logger = options.logger;\n this.onServerMessageId = options.onServerMessageId;\n }\n\n handle(event: AgUiEvent): void {\n switch (event.type) {\n case \"RUN_STARTED\": {\n this.clearTextParts();\n this.reasoningParts.clear();\n this.activeReasoningKey = undefined;\n this.reasoningPartCounter = 0;\n this.toolCalls.clear();\n this.partOrder.length = 0;\n this.textPartCounter = 0;\n this.activeTextMessageId = undefined;\n this.interrupts = undefined;\n this.serverMessageIdReported = false;\n this.streamStartTime = Date.now();\n this.firstTokenTime = undefined;\n this.totalChunks = 0;\n this.status = { type: \"running\" };\n this.emit();\n break;\n }\n case \"RUN_FINISHED\": {\n if (event.outcome?.type === \"interrupt\") {\n this.interrupts = event.outcome.interrupts;\n this.status = { type: \"requires-action\", reason: \"interrupt\" };\n this.emit();\n break;\n }\n\n this.interrupts = undefined;\n const hasUnresolvedToolCalls = Array.from(this.toolCalls.values()).some(\n (tc) => tc.result === undefined,\n );\n\n this.status =\n event.outcome?.type === \"success\" || !hasUnresolvedToolCalls\n ? { type: \"complete\", reason: \"unknown\" }\n : { type: \"requires-action\", reason: \"tool-calls\" };\n this.emit();\n break;\n }\n case \"RUN_ERROR\": {\n this.status = {\n type: \"incomplete\",\n reason: \"error\",\n ...(event.message !== undefined ? { error: event.message } : {}),\n };\n this.emit();\n break;\n }\n case \"RUN_CANCELLED\": {\n this.status = { type: \"incomplete\", reason: \"cancelled\" };\n this.emit();\n break;\n }\n\n case \"TEXT_MESSAGE_START\": {\n this.reportServerMessageId(event.messageId);\n const id = this.startTextMessage(event.messageId);\n if (id) {\n this.markTextPartTouched(id);\n }\n this.emit();\n break;\n }\n case \"TEXT_MESSAGE_CONTENT\":\n case \"TEXT_MESSAGE_CHUNK\": {\n const incomingId = \"messageId\" in event ? event.messageId : undefined;\n this.reportServerMessageId(incomingId);\n if (!event.delta) break;\n this.recordFirstToken();\n const id = this.resolveTextMessageId(incomingId);\n this.appendText(id, event.delta);\n this.totalChunks++;\n this.emit();\n break;\n }\n case \"TEXT_MESSAGE_END\": {\n this.reportServerMessageId(event.messageId);\n if (event.messageId && this.activeTextMessageId === event.messageId) {\n this.activeTextMessageId = undefined;\n }\n this.emit();\n break;\n }\n\n case \"THINKING_START\":\n case \"THINKING_TEXT_MESSAGE_START\":\n case \"REASONING_START\":\n case \"REASONING_MESSAGE_START\":\n this.handleReasoningStart(\n \"messageId\" in event ? event.messageId : undefined,\n );\n break;\n case \"THINKING_TEXT_MESSAGE_CONTENT\":\n this.handleReasoningContent(event.delta);\n this.totalChunks++;\n this.recordFirstToken();\n break;\n case \"REASONING_MESSAGE_CONTENT\":\n this.handleReasoningContent(\n event.delta,\n \"messageId\" in event ? event.messageId : undefined,\n );\n this.totalChunks++;\n this.recordFirstToken();\n break;\n case \"THINKING_TEXT_MESSAGE_END\":\n case \"THINKING_END\":\n case \"REASONING_MESSAGE_END\":\n case \"REASONING_END\":\n this.handleReasoningEnd();\n break;\n\n case \"TOOL_CALL_START\": {\n this.reportServerMessageId(event.parentMessageId);\n this.startToolCall(\n event.toolCallId,\n event.toolCallName,\n event.parentMessageId,\n );\n this.emit();\n break;\n }\n case \"TOOL_CALL_ARGS\":\n case \"TOOL_CALL_CHUNK\": {\n if (event.type === \"TOOL_CALL_CHUNK\") {\n this.reportServerMessageId(event.parentMessageId);\n }\n if (!event.delta) break;\n this.appendToolArgs(event.toolCallId, event.delta);\n this.emit();\n break;\n }\n case \"TOOL_CALL_END\": {\n this.emit();\n break;\n }\n case \"TOOL_CALL_RESULT\": {\n this.finishToolCall(\n event.toolCallId,\n event.content ?? \"\",\n event.role === \"tool\" ? false : undefined,\n event.messageId,\n );\n this.emit();\n break;\n }\n\n default: {\n this.logger.debug?.(\"[agui] aggregator ignored event\", event);\n }\n }\n }\n\n private reportServerMessageId(messageId: string | undefined): void {\n if (this.serverMessageIdReported || !messageId) return;\n this.serverMessageIdReported = true;\n this.onServerMessageId?.(messageId);\n }\n\n private clearTextParts(): void {\n this.textParts.clear();\n }\n\n private generateTextKey(): string {\n this.textPartCounter += 1;\n return `text-${this.textPartCounter}`;\n }\n\n private startTextMessage(messageId?: string): string {\n const id = messageId ?? this.generateTextKey();\n this.ensureTextPart(id);\n this.activeTextMessageId = id;\n return id;\n }\n\n private resolveTextMessageId(messageId?: string): string {\n if (messageId) {\n this.ensureTextPart(messageId);\n this.activeTextMessageId = messageId;\n return messageId;\n }\n\n if (this.activeTextMessageId) {\n return this.activeTextMessageId;\n }\n\n const generated = this.generateTextKey();\n this.ensureTextPart(generated);\n this.activeTextMessageId = generated;\n return generated;\n }\n\n private ensureTextPart(id: string): void {\n if (!this.textParts.has(id)) {\n this.textParts.set(id, { buffer: \"\", touched: false });\n if (\n !this.partOrder.some((part) => part.kind === \"text\" && part.key === id)\n ) {\n this.partOrder.push({ kind: \"text\", key: id });\n }\n }\n }\n\n private markTextPartTouched(id: string): void {\n const entry = this.textParts.get(id);\n if (!entry) return;\n entry.touched = true;\n }\n\n private appendText(id: string, delta: string): void {\n this.ensureTextPart(id);\n const entry = this.textParts.get(id);\n if (!entry) return;\n entry.buffer += delta;\n entry.touched = true;\n }\n\n private startToolCall(\n id: string | undefined,\n name?: string,\n parentMessageId?: string,\n ) {\n if (!id) return;\n // A new tool call acts as a boundary: any anonymous text that arrives\n // after it should be a new part, not appended to the pre-tool text.\n this.activeTextMessageId = undefined;\n if (\n !this.partOrder.some(\n (part) => part.kind === \"tool-call\" && part.toolCallId === id,\n )\n ) {\n this.partOrder.push({ kind: \"tool-call\", toolCallId: id });\n }\n const state: ToolCallState = {\n toolCallId: id,\n toolCallName: name ?? \"tool\",\n argsText: \"\",\n parsedArgs: undefined,\n result: undefined,\n isError: undefined,\n };\n if (parentMessageId) {\n state.parentMessageId = parentMessageId;\n }\n this.toolCalls.set(id, state);\n }\n\n private appendToolArgs(id: string | undefined, delta: string) {\n const entry = id ? this.toolCalls.get(id) : undefined;\n if (!entry) return;\n entry.argsText += delta;\n try {\n const parsed = JSON.parse(entry.argsText);\n if (parsed && typeof parsed === \"object\") {\n entry.parsedArgs = parsed as Record<string, unknown>;\n } else {\n entry.parsedArgs = undefined;\n }\n } catch {\n entry.parsedArgs = undefined;\n }\n }\n\n private finishToolCall(\n id: string,\n content: string,\n isError?: boolean,\n toolMessageId?: string,\n ) {\n if (!id) return;\n let entry = this.toolCalls.get(id);\n if (!entry) {\n entry = {\n toolCallId: id,\n toolCallName: \"tool\",\n argsText: \"\",\n parsedArgs: undefined,\n result: undefined,\n isError: undefined,\n };\n this.toolCalls.set(id, entry);\n }\n if (\n !this.partOrder.some(\n (part) => part.kind === \"tool-call\" && part.toolCallId === id,\n )\n ) {\n this.partOrder.push({ kind: \"tool-call\", toolCallId: id });\n }\n entry.result = this.tryParseJSON(content);\n entry.isError = isError;\n if (toolMessageId) {\n entry.toolMessageId = toolMessageId;\n }\n }\n\n private tryParseJSON(value: string): unknown {\n if (!value) return value;\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n }\n\n private emit(): void {\n const snapshot: ThreadAssistantMessagePart[] = [];\n\n for (const part of this.partOrder) {\n if (part.kind === \"reasoning\") {\n if (this.showThinking) {\n const buffer = this.reasoningParts.get(part.key) ?? \"\";\n if (buffer.length > 0 || this.activeReasoningKey === part.key) {\n snapshot.push({ type: \"reasoning\", text: buffer } as const);\n }\n }\n continue;\n }\n\n if (part.kind === \"text\") {\n const entry = this.textParts.get(part.key);\n if (entry?.touched) {\n snapshot.push({ type: \"text\", text: entry.buffer } as const);\n }\n continue;\n }\n\n const entry = this.toolCalls.get(part.toolCallId);\n if (!entry) continue;\n const toolPart: ToolCallMessagePart = {\n type: \"tool-call\",\n toolCallId: entry.toolCallId,\n toolName: entry.toolCallName,\n args: (entry.parsedArgs ?? {}) as any,\n argsText: entry.argsText,\n ...(entry.result !== undefined ? { result: entry.result } : {}),\n ...(entry.isError !== undefined ? { isError: entry.isError } : {}),\n ...(entry.parentMessageId ? { parentId: entry.parentMessageId } : {}),\n ...(entry.toolMessageId\n ? { unstable_toolMessageId: entry.toolMessageId }\n : {}),\n } as ToolCallMessagePart & { unstable_toolMessageId?: string };\n snapshot.push(toolPart);\n }\n\n const timing = this.getTiming();\n const metadata = {\n ...(timing ? { timing } : {}),\n ...(this.interrupts\n ? {\n custom: {\n [AG_UI_METADATA_NAMESPACE]: {\n interrupts: this.interrupts,\n } satisfies AgUiCustomMetadata,\n },\n }\n : {}),\n };\n const result: ChatModelRunResult = {\n content: snapshot,\n ...(this.status ? { status: this.status } : undefined),\n ...(Object.keys(metadata).length > 0 ? { metadata } : undefined),\n };\n this.emitUpdate(result);\n }\n\n private recordFirstToken(): void {\n if (\n this.firstTokenTime === undefined &&\n this.streamStartTime !== undefined\n ) {\n this.firstTokenTime = Date.now() - this.streamStartTime;\n }\n }\n\n private getTiming(): MessageTiming | undefined {\n if (this.streamStartTime === undefined) return undefined;\n\n const now = Date.now();\n const totalStreamTime = now - this.streamStartTime;\n const tokenCount =\n this.totalChunks > 0\n ? Math.ceil(\n Array.from(this.textParts.values()).reduce(\n (sum, p) => sum + p.buffer.length,\n 0,\n ) / 4,\n )\n : undefined;\n const tokensPerSecond =\n tokenCount && totalStreamTime > 0\n ? (tokenCount / totalStreamTime) * 1000\n : undefined;\n\n return {\n streamStartTime: this.streamStartTime,\n ...(this.firstTokenTime !== undefined\n ? { firstTokenTime: this.firstTokenTime }\n : {}),\n totalStreamTime,\n ...(tokenCount !== undefined ? { tokenCount } : {}),\n ...(tokensPerSecond !== undefined ? { tokensPerSecond } : {}),\n totalChunks: this.totalChunks,\n toolCallCount: this.toolCalls.size,\n };\n }\n\n private handleReasoningStart(messageId?: string): void {\n if (!this.showThinking) return;\n // A reasoning block acts as a boundary: anonymous text arriving after it\n // should be a new part, not appended to any pre-reasoning text.\n this.activeTextMessageId = undefined;\n const key = messageId ?? `__auto-reasoning-${++this.reasoningPartCounter}`;\n if (!this.reasoningParts.has(key)) {\n this.reasoningParts.set(key, \"\");\n this.partOrder.push({ kind: \"reasoning\", key });\n }\n this.activeReasoningKey = key;\n this.emit();\n }\n\n private handleReasoningContent(delta: string, messageId?: string): void {\n if (!this.showThinking || !delta) return;\n if (!this.activeReasoningKey) {\n // Content arrived without a preceding START — create the slot lazily.\n this.handleReasoningStart(messageId);\n }\n const key = this.activeReasoningKey;\n if (!key) return;\n this.reasoningParts.set(key, (this.reasoningParts.get(key) ?? \"\") + delta);\n this.emit();\n }\n\n private handleReasoningEnd(): void {\n if (!this.showThinking) return;\n this.activeReasoningKey = undefined;\n this.emit();\n }\n}\n"],"mappings":"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"}
@@ -1,97 +1,100 @@
1
- import type { AgUiEvent } from "../types.js";
2
- import type { Logger } from "../logger.js";
1
+ import { Logger } from "../logger.js";
2
+ import { AgUiEvent } from "../types.js";
3
+
4
+ //#region src/runtime/adapter/subscriber.d.ts
3
5
  type Dispatch = (event: AgUiEvent) => void;
4
6
  type Subscriber = {
5
- onEvent?: (payload: {
6
- event: unknown;
7
- }) => void;
8
- onTextMessageStartEvent?: (payload: {
9
- event: unknown;
10
- }) => void;
11
- onTextMessageContentEvent?: (payload: {
12
- event: unknown;
13
- }) => void;
14
- onTextMessageEndEvent?: (payload: {
15
- event: unknown;
16
- }) => void;
17
- onTextMessageChunkEvent?: (payload: {
18
- event: unknown;
19
- }) => void;
20
- onThinkingStartEvent?: (payload: {
21
- event: unknown;
22
- }) => void;
23
- onThinkingEndEvent?: (payload: {
24
- event: unknown;
25
- }) => void;
26
- onThinkingTextMessageStartEvent?: (payload: {
27
- event: unknown;
28
- }) => void;
29
- onThinkingTextMessageContentEvent?: (payload: {
30
- event: unknown;
31
- }) => void;
32
- onThinkingTextMessageEndEvent?: (payload: {
33
- event: unknown;
34
- }) => void;
35
- onReasoningStartEvent?: (payload: {
36
- event: unknown;
37
- }) => void;
38
- onReasoningEndEvent?: (payload: {
39
- event: unknown;
40
- }) => void;
41
- onReasoningMessageStartEvent?: (payload: {
42
- event: unknown;
43
- }) => void;
44
- onReasoningMessageContentEvent?: (payload: {
45
- event: unknown;
46
- }) => void;
47
- onReasoningMessageEndEvent?: (payload: {
48
- event: unknown;
49
- }) => void;
50
- onToolCallStartEvent?: (payload: {
51
- event: unknown;
52
- }) => void;
53
- onToolCallArgsEvent?: (payload: {
54
- event: unknown;
55
- }) => void;
56
- onToolCallEndEvent?: (payload: {
57
- event: unknown;
58
- }) => void;
59
- onToolCallChunkEvent?: (payload: {
60
- event: unknown;
61
- }) => void;
62
- onToolCallResultEvent?: (payload: {
63
- event: unknown;
64
- }) => void;
65
- onStateSnapshotEvent?: (payload: {
66
- event: unknown;
67
- }) => void;
68
- onStateDeltaEvent?: (payload: {
69
- event: unknown;
70
- }) => void;
71
- onMessagesSnapshotEvent?: (payload: {
72
- event: unknown;
73
- }) => void;
74
- onCustomEvent?: (payload: {
75
- event: unknown;
76
- }) => void;
77
- onRawEvent?: (payload: {
78
- event: unknown;
79
- }) => void;
80
- onRunFinishedEvent?: (payload: {
81
- event: unknown;
82
- }) => void;
83
- onRunFinalized?: () => void;
84
- onRunFailed?: (payload: {
85
- error: Error;
86
- }) => void;
7
+ onEvent?: (payload: {
8
+ event: unknown;
9
+ }) => void;
10
+ onTextMessageStartEvent?: (payload: {
11
+ event: unknown;
12
+ }) => void;
13
+ onTextMessageContentEvent?: (payload: {
14
+ event: unknown;
15
+ }) => void;
16
+ onTextMessageEndEvent?: (payload: {
17
+ event: unknown;
18
+ }) => void;
19
+ onTextMessageChunkEvent?: (payload: {
20
+ event: unknown;
21
+ }) => void;
22
+ onThinkingStartEvent?: (payload: {
23
+ event: unknown;
24
+ }) => void;
25
+ onThinkingEndEvent?: (payload: {
26
+ event: unknown;
27
+ }) => void;
28
+ onThinkingTextMessageStartEvent?: (payload: {
29
+ event: unknown;
30
+ }) => void;
31
+ onThinkingTextMessageContentEvent?: (payload: {
32
+ event: unknown;
33
+ }) => void;
34
+ onThinkingTextMessageEndEvent?: (payload: {
35
+ event: unknown;
36
+ }) => void;
37
+ onReasoningStartEvent?: (payload: {
38
+ event: unknown;
39
+ }) => void;
40
+ onReasoningEndEvent?: (payload: {
41
+ event: unknown;
42
+ }) => void;
43
+ onReasoningMessageStartEvent?: (payload: {
44
+ event: unknown;
45
+ }) => void;
46
+ onReasoningMessageContentEvent?: (payload: {
47
+ event: unknown;
48
+ }) => void;
49
+ onReasoningMessageEndEvent?: (payload: {
50
+ event: unknown;
51
+ }) => void;
52
+ onToolCallStartEvent?: (payload: {
53
+ event: unknown;
54
+ }) => void;
55
+ onToolCallArgsEvent?: (payload: {
56
+ event: unknown;
57
+ }) => void;
58
+ onToolCallEndEvent?: (payload: {
59
+ event: unknown;
60
+ }) => void;
61
+ onToolCallChunkEvent?: (payload: {
62
+ event: unknown;
63
+ }) => void;
64
+ onToolCallResultEvent?: (payload: {
65
+ event: unknown;
66
+ }) => void;
67
+ onStateSnapshotEvent?: (payload: {
68
+ event: unknown;
69
+ }) => void;
70
+ onStateDeltaEvent?: (payload: {
71
+ event: unknown;
72
+ }) => void;
73
+ onMessagesSnapshotEvent?: (payload: {
74
+ event: unknown;
75
+ }) => void;
76
+ onCustomEvent?: (payload: {
77
+ event: unknown;
78
+ }) => void;
79
+ onRawEvent?: (payload: {
80
+ event: unknown;
81
+ }) => void;
82
+ onRunFinishedEvent?: (payload: {
83
+ event: unknown;
84
+ }) => void;
85
+ onRunFinalized?: () => void;
86
+ onRunFailed?: (payload: {
87
+ error: Error;
88
+ }) => void;
87
89
  };
88
90
  type SubscriberOptions = {
89
- dispatch: Dispatch;
90
- runId: string;
91
- logger?: Logger;
92
- onRunFailed?: (error: Error) => void;
91
+ dispatch: Dispatch;
92
+ runId: string;
93
+ logger?: Logger;
94
+ onRunFailed?: (error: Error) => void;
93
95
  };
94
- export declare const createAgUiSubscriber: (options: SubscriberOptions) => Subscriber;
95
- export type AgUiSubscriber = ReturnType<typeof createAgUiSubscriber>;
96
- export {};
96
+ declare const createAgUiSubscriber: (options: SubscriberOptions) => Subscriber;
97
+ type AgUiSubscriber = ReturnType<typeof createAgUiSubscriber>;
98
+ //#endregion
99
+ export { AgUiSubscriber, createAgUiSubscriber };
97
100
  //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../src/runtime/adapter/subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriber.d.ts","names":[],"sources":["../../../src/runtime/adapter/subscriber.ts"],"mappings":";;;;KAMK,QAAA,IAAY,KAAgB,EAAT,SAAS;AAAA,KAE5B,UAAA;EACH,OAAA,IAAW,OAAA;IAAW,KAAA;EAAA;EACtB,uBAAA,IAA2B,OAAA;IAAW,KAAA;EAAA;EACtC,yBAAA,IAA6B,OAAA;IAAW,KAAA;EAAA;EACxC,qBAAA,IAAyB,OAAA;IAAW,KAAA;EAAA;EACpC,uBAAA,IAA2B,OAAA;IAAW,KAAA;EAAA;EACtC,oBAAA,IAAwB,OAAA;IAAW,KAAA;EAAA;EACnC,kBAAA,IAAsB,OAAA;IAAW,KAAA;EAAA;EACjC,+BAAA,IAAmC,OAAA;IAAW,KAAA;EAAA;EAC9C,iCAAA,IAAqC,OAAA;IAAW,KAAA;EAAA;EAChD,6BAAA,IAAiC,OAAA;IAAW,KAAA;EAAA;EAC5C,qBAAA,IAAyB,OAAA;IAAW,KAAA;EAAA;EACpC,mBAAA,IAAuB,OAAA;IAAW,KAAA;EAAA;EAClC,4BAAA,IAAgC,OAAA;IAAW,KAAA;EAAA;EAC3C,8BAAA,IAAkC,OAAA;IAAW,KAAA;EAAA;EAC7C,0BAAA,IAA8B,OAAA;IAAW,KAAA;EAAA;EACzC,oBAAA,IAAwB,OAAA;IAAW,KAAA;EAAA;EACnC,mBAAA,IAAuB,OAAA;IAAW,KAAA;EAAA;EAClC,kBAAA,IAAsB,OAAA;IAAW,KAAA;EAAA;EACjC,oBAAA,IAAwB,OAAA;IAAW,KAAA;EAAA;EACnC,qBAAA,IAAyB,OAAA;IAAW,KAAA;EAAA;EACpC,oBAAA,IAAwB,OAAA;IAAW,KAAA;EAAA;EACnC,iBAAA,IAAqB,OAAA;IAAW,KAAA;EAAA;EAChC,uBAAA,IAA2B,OAAA;IAAW,KAAA;EAAA;EACtC,aAAA,IAAiB,OAAA;IAAW,KAAA;EAAA;EAC5B,UAAA,IAAc,OAAA;IAAW,KAAA;EAAA;EACzB,kBAAA,IAAsB,OAAA;IAAW,KAAA;EAAA;EACjC,cAAA;EACA,WAAA,IAAe,OAAA;IAAW,KAAA,EAAO,KAAK;EAAA;AAAA;AAAA,KAuBnC,iBAAA;EACH,QAAA,EAAU,QAAA;EACV,KAAA;EACA,MAAA,GAAS,MAAA;EACT,WAAA,IAAe,KAAA,EAAO,KAAA;AAAA;AAAA,cAGX,oBAAA,GACX,OAAA,EAAS,iBAAA,KACR,UAwFF;AAAA,KAEW,cAAA,GAAiB,UAAU,QAAQ,oBAAA"}
@@ -1,92 +1,83 @@
1
1
  "use client";
2
2
  import { parseAgUiEvent } from "../event-parser.js";
3
+ //#region src/runtime/adapter/subscriber.ts
3
4
  const ensureEvent = (raw, type, logger) => {
4
- const parseOptions = logger ? { logger } : undefined;
5
- let parsed;
6
- if (raw && typeof raw === "object") {
7
- const payload = raw;
8
- if (typeof payload.type === "string") {
9
- parsed = parseAgUiEvent(payload, parseOptions);
10
- }
11
- else {
12
- parsed = parseAgUiEvent({ type, ...payload }, parseOptions);
13
- }
14
- }
15
- else {
16
- parsed = parseAgUiEvent({ type }, parseOptions);
17
- }
18
- return parsed && parsed.type === type ? parsed : null;
5
+ const parseOptions = logger ? { logger } : void 0;
6
+ let parsed;
7
+ if (raw && typeof raw === "object") {
8
+ const payload = raw;
9
+ if (typeof payload.type === "string") parsed = parseAgUiEvent(payload, parseOptions);
10
+ else parsed = parseAgUiEvent({
11
+ type,
12
+ ...payload
13
+ }, parseOptions);
14
+ } else parsed = parseAgUiEvent({ type }, parseOptions);
15
+ return parsed && parsed.type === type ? parsed : null;
19
16
  };
20
- export const createAgUiSubscriber = (options) => {
21
- const { dispatch, runId, logger, onRunFailed } = options;
22
- let runFinishedDispatched = false;
23
- const dispatchIfValid = (raw, type) => {
24
- const event = ensureEvent(raw, type, logger);
25
- if (!event)
26
- return;
27
- dispatch(event);
28
- };
29
- return {
30
- onEvent: ({ event }) => {
31
- const typeCandidate = event && typeof event === "object"
32
- ? event.type
33
- : undefined;
34
- if (typeof typeCandidate === "string") {
35
- // Typed handlers will receive this via the discriminated callbacks; avoid duplicates.
36
- return;
37
- }
38
- const parsed = parseAgUiEvent(event);
39
- if (parsed)
40
- dispatch(parsed);
41
- },
42
- onTextMessageStartEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_START"),
43
- onTextMessageContentEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_CONTENT"),
44
- onTextMessageEndEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_END"),
45
- onTextMessageChunkEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_CHUNK"),
46
- onThinkingStartEvent: ({ event }) => dispatchIfValid(event, "THINKING_START"),
47
- onThinkingEndEvent: ({ event }) => dispatchIfValid(event, "THINKING_END"),
48
- onThinkingTextMessageStartEvent: ({ event }) => dispatchIfValid(event, "THINKING_TEXT_MESSAGE_START"),
49
- onThinkingTextMessageContentEvent: ({ event }) => dispatchIfValid(event, "THINKING_TEXT_MESSAGE_CONTENT"),
50
- onThinkingTextMessageEndEvent: ({ event }) => dispatchIfValid(event, "THINKING_TEXT_MESSAGE_END"),
51
- onReasoningStartEvent: ({ event }) => dispatchIfValid(event, "REASONING_START"),
52
- onReasoningEndEvent: ({ event }) => dispatchIfValid(event, "REASONING_END"),
53
- onReasoningMessageStartEvent: ({ event }) => dispatchIfValid(event, "REASONING_MESSAGE_START"),
54
- onReasoningMessageContentEvent: ({ event }) => dispatchIfValid(event, "REASONING_MESSAGE_CONTENT"),
55
- onReasoningMessageEndEvent: ({ event }) => dispatchIfValid(event, "REASONING_MESSAGE_END"),
56
- onToolCallStartEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_START"),
57
- onToolCallArgsEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_ARGS"),
58
- onToolCallEndEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_END"),
59
- onToolCallChunkEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_CHUNK"),
60
- onToolCallResultEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_RESULT"),
61
- onStateSnapshotEvent: ({ event }) => dispatchIfValid(event, "STATE_SNAPSHOT"),
62
- onStateDeltaEvent: ({ event }) => dispatchIfValid(event, "STATE_DELTA"),
63
- onMessagesSnapshotEvent: ({ event }) => dispatchIfValid(event, "MESSAGES_SNAPSHOT"),
64
- onCustomEvent: ({ event }) => dispatchIfValid(event, "CUSTOM"),
65
- onRawEvent: ({ event }) => dispatchIfValid(event, "RAW"),
66
- onRunFinishedEvent: ({ event }) => {
67
- const parsed = ensureEvent(event, "RUN_FINISHED", logger);
68
- if (!parsed)
69
- return;
70
- runFinishedDispatched = true;
71
- dispatch(parsed);
72
- },
73
- onRunFinalized: () => {
74
- if (runFinishedDispatched)
75
- return;
76
- dispatch({ type: "RUN_FINISHED", runId });
77
- },
78
- onRunFailed: ({ error }) => {
79
- onRunFailed?.(error);
80
- const message = typeof error.message === "string" ? error.message : "Run failed";
81
- const code = typeof error?.code === "string"
82
- ? error.code
83
- : undefined;
84
- dispatch({
85
- type: "RUN_ERROR",
86
- ...(message !== undefined ? { message } : {}),
87
- ...(code !== undefined ? { code } : {}),
88
- });
89
- },
90
- };
17
+ const createAgUiSubscriber = (options) => {
18
+ const { dispatch, runId, logger, onRunFailed } = options;
19
+ let runFinishedDispatched = false;
20
+ const dispatchIfValid = (raw, type) => {
21
+ const event = ensureEvent(raw, type, logger);
22
+ if (!event) return;
23
+ dispatch(event);
24
+ };
25
+ return {
26
+ onEvent: ({ event }) => {
27
+ if (typeof (event && typeof event === "object" ? event.type : void 0) === "string") return;
28
+ const parsed = parseAgUiEvent(event);
29
+ if (parsed) dispatch(parsed);
30
+ },
31
+ onTextMessageStartEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_START"),
32
+ onTextMessageContentEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_CONTENT"),
33
+ onTextMessageEndEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_END"),
34
+ onTextMessageChunkEvent: ({ event }) => dispatchIfValid(event, "TEXT_MESSAGE_CHUNK"),
35
+ onThinkingStartEvent: ({ event }) => dispatchIfValid(event, "THINKING_START"),
36
+ onThinkingEndEvent: ({ event }) => dispatchIfValid(event, "THINKING_END"),
37
+ onThinkingTextMessageStartEvent: ({ event }) => dispatchIfValid(event, "THINKING_TEXT_MESSAGE_START"),
38
+ onThinkingTextMessageContentEvent: ({ event }) => dispatchIfValid(event, "THINKING_TEXT_MESSAGE_CONTENT"),
39
+ onThinkingTextMessageEndEvent: ({ event }) => dispatchIfValid(event, "THINKING_TEXT_MESSAGE_END"),
40
+ onReasoningStartEvent: ({ event }) => dispatchIfValid(event, "REASONING_START"),
41
+ onReasoningEndEvent: ({ event }) => dispatchIfValid(event, "REASONING_END"),
42
+ onReasoningMessageStartEvent: ({ event }) => dispatchIfValid(event, "REASONING_MESSAGE_START"),
43
+ onReasoningMessageContentEvent: ({ event }) => dispatchIfValid(event, "REASONING_MESSAGE_CONTENT"),
44
+ onReasoningMessageEndEvent: ({ event }) => dispatchIfValid(event, "REASONING_MESSAGE_END"),
45
+ onToolCallStartEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_START"),
46
+ onToolCallArgsEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_ARGS"),
47
+ onToolCallEndEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_END"),
48
+ onToolCallChunkEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_CHUNK"),
49
+ onToolCallResultEvent: ({ event }) => dispatchIfValid(event, "TOOL_CALL_RESULT"),
50
+ onStateSnapshotEvent: ({ event }) => dispatchIfValid(event, "STATE_SNAPSHOT"),
51
+ onStateDeltaEvent: ({ event }) => dispatchIfValid(event, "STATE_DELTA"),
52
+ onMessagesSnapshotEvent: ({ event }) => dispatchIfValid(event, "MESSAGES_SNAPSHOT"),
53
+ onCustomEvent: ({ event }) => dispatchIfValid(event, "CUSTOM"),
54
+ onRawEvent: ({ event }) => dispatchIfValid(event, "RAW"),
55
+ onRunFinishedEvent: ({ event }) => {
56
+ const parsed = ensureEvent(event, "RUN_FINISHED", logger);
57
+ if (!parsed) return;
58
+ runFinishedDispatched = true;
59
+ dispatch(parsed);
60
+ },
61
+ onRunFinalized: () => {
62
+ if (runFinishedDispatched) return;
63
+ dispatch({
64
+ type: "RUN_FINISHED",
65
+ runId
66
+ });
67
+ },
68
+ onRunFailed: ({ error }) => {
69
+ onRunFailed?.(error);
70
+ const message = typeof error.message === "string" ? error.message : "Run failed";
71
+ const code = typeof error?.code === "string" ? error.code : void 0;
72
+ dispatch({
73
+ type: "RUN_ERROR",
74
+ ...message !== void 0 ? { message } : {},
75
+ ...code !== void 0 ? { code } : {}
76
+ });
77
+ }
78
+ };
91
79
  };
80
+ //#endregion
81
+ export { createAgUiSubscriber };
82
+
92
83
  //# sourceMappingURL=subscriber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/runtime/adapter/subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriber.js","names":[],"sources":["../../../src/runtime/adapter/subscriber.ts"],"sourcesContent":["\"use client\";\n\nimport type { AgUiEvent } from \"../types\";\nimport { parseAgUiEvent } from \"../event-parser\";\nimport type { Logger } from \"../logger\";\n\ntype Dispatch = (event: AgUiEvent) => void;\n\ntype Subscriber = {\n onEvent?: (payload: { event: unknown }) => void;\n onTextMessageStartEvent?: (payload: { event: unknown }) => void;\n onTextMessageContentEvent?: (payload: { event: unknown }) => void;\n onTextMessageEndEvent?: (payload: { event: unknown }) => void;\n onTextMessageChunkEvent?: (payload: { event: unknown }) => void;\n onThinkingStartEvent?: (payload: { event: unknown }) => void;\n onThinkingEndEvent?: (payload: { event: unknown }) => void;\n onThinkingTextMessageStartEvent?: (payload: { event: unknown }) => void;\n onThinkingTextMessageContentEvent?: (payload: { event: unknown }) => void;\n onThinkingTextMessageEndEvent?: (payload: { event: unknown }) => void;\n onReasoningStartEvent?: (payload: { event: unknown }) => void;\n onReasoningEndEvent?: (payload: { event: unknown }) => void;\n onReasoningMessageStartEvent?: (payload: { event: unknown }) => void;\n onReasoningMessageContentEvent?: (payload: { event: unknown }) => void;\n onReasoningMessageEndEvent?: (payload: { event: unknown }) => void;\n onToolCallStartEvent?: (payload: { event: unknown }) => void;\n onToolCallArgsEvent?: (payload: { event: unknown }) => void;\n onToolCallEndEvent?: (payload: { event: unknown }) => void;\n onToolCallChunkEvent?: (payload: { event: unknown }) => void;\n onToolCallResultEvent?: (payload: { event: unknown }) => void;\n onStateSnapshotEvent?: (payload: { event: unknown }) => void;\n onStateDeltaEvent?: (payload: { event: unknown }) => void;\n onMessagesSnapshotEvent?: (payload: { event: unknown }) => void;\n onCustomEvent?: (payload: { event: unknown }) => void;\n onRawEvent?: (payload: { event: unknown }) => void;\n onRunFinishedEvent?: (payload: { event: unknown }) => void;\n onRunFinalized?: () => void;\n onRunFailed?: (payload: { error: Error }) => void;\n};\n\nconst ensureEvent = (\n raw: unknown,\n type: AgUiEvent[\"type\"],\n logger?: Logger,\n): AgUiEvent | null => {\n const parseOptions = logger ? { logger } : undefined;\n let parsed: AgUiEvent | null;\n if (raw && typeof raw === \"object\") {\n const payload = raw as Record<string, unknown>;\n if (typeof payload.type === \"string\") {\n parsed = parseAgUiEvent(payload, parseOptions);\n } else {\n parsed = parseAgUiEvent({ type, ...payload }, parseOptions);\n }\n } else {\n parsed = parseAgUiEvent({ type }, parseOptions);\n }\n return parsed && parsed.type === type ? parsed : null;\n};\n\ntype SubscriberOptions = {\n dispatch: Dispatch;\n runId: string;\n logger?: Logger;\n onRunFailed?: (error: Error) => void;\n};\n\nexport const createAgUiSubscriber = (\n options: SubscriberOptions,\n): Subscriber => {\n const { dispatch, runId, logger, onRunFailed } = options;\n let runFinishedDispatched = false;\n const dispatchIfValid = (raw: unknown, type: AgUiEvent[\"type\"]) => {\n const event = ensureEvent(raw, type, logger);\n if (!event) return;\n dispatch(event);\n };\n return {\n onEvent: ({ event }) => {\n const typeCandidate =\n event && typeof event === \"object\"\n ? (event as Record<string, unknown>).type\n : undefined;\n if (typeof typeCandidate === \"string\") {\n // Typed handlers will receive this via the discriminated callbacks; avoid duplicates.\n return;\n }\n const parsed = parseAgUiEvent(event);\n if (parsed) dispatch(parsed);\n },\n onTextMessageStartEvent: ({ event }) =>\n dispatchIfValid(event, \"TEXT_MESSAGE_START\"),\n onTextMessageContentEvent: ({ event }) =>\n dispatchIfValid(event, \"TEXT_MESSAGE_CONTENT\"),\n onTextMessageEndEvent: ({ event }) =>\n dispatchIfValid(event, \"TEXT_MESSAGE_END\"),\n onTextMessageChunkEvent: ({ event }) =>\n dispatchIfValid(event, \"TEXT_MESSAGE_CHUNK\"),\n onThinkingStartEvent: ({ event }) =>\n dispatchIfValid(event, \"THINKING_START\"),\n onThinkingEndEvent: ({ event }) => dispatchIfValid(event, \"THINKING_END\"),\n onThinkingTextMessageStartEvent: ({ event }) =>\n dispatchIfValid(event, \"THINKING_TEXT_MESSAGE_START\"),\n onThinkingTextMessageContentEvent: ({ event }) =>\n dispatchIfValid(event, \"THINKING_TEXT_MESSAGE_CONTENT\"),\n onThinkingTextMessageEndEvent: ({ event }) =>\n dispatchIfValid(event, \"THINKING_TEXT_MESSAGE_END\"),\n onReasoningStartEvent: ({ event }) =>\n dispatchIfValid(event, \"REASONING_START\"),\n onReasoningEndEvent: ({ event }) => dispatchIfValid(event, \"REASONING_END\"),\n onReasoningMessageStartEvent: ({ event }) =>\n dispatchIfValid(event, \"REASONING_MESSAGE_START\"),\n onReasoningMessageContentEvent: ({ event }) =>\n dispatchIfValid(event, \"REASONING_MESSAGE_CONTENT\"),\n onReasoningMessageEndEvent: ({ event }) =>\n dispatchIfValid(event, \"REASONING_MESSAGE_END\"),\n onToolCallStartEvent: ({ event }) =>\n dispatchIfValid(event, \"TOOL_CALL_START\"),\n onToolCallArgsEvent: ({ event }) =>\n dispatchIfValid(event, \"TOOL_CALL_ARGS\"),\n onToolCallEndEvent: ({ event }) => dispatchIfValid(event, \"TOOL_CALL_END\"),\n onToolCallChunkEvent: ({ event }) =>\n dispatchIfValid(event, \"TOOL_CALL_CHUNK\"),\n onToolCallResultEvent: ({ event }) =>\n dispatchIfValid(event, \"TOOL_CALL_RESULT\"),\n onStateSnapshotEvent: ({ event }) =>\n dispatchIfValid(event, \"STATE_SNAPSHOT\"),\n onStateDeltaEvent: ({ event }) => dispatchIfValid(event, \"STATE_DELTA\"),\n onMessagesSnapshotEvent: ({ event }) =>\n dispatchIfValid(event, \"MESSAGES_SNAPSHOT\"),\n onCustomEvent: ({ event }) => dispatchIfValid(event, \"CUSTOM\"),\n onRawEvent: ({ event }) => dispatchIfValid(event, \"RAW\"),\n onRunFinishedEvent: ({ event }) => {\n const parsed = ensureEvent(event, \"RUN_FINISHED\", logger);\n if (!parsed) return;\n runFinishedDispatched = true;\n dispatch(parsed);\n },\n onRunFinalized: () => {\n if (runFinishedDispatched) return;\n dispatch({ type: \"RUN_FINISHED\", runId });\n },\n onRunFailed: ({ error }) => {\n onRunFailed?.(error);\n const message =\n typeof error.message === \"string\" ? error.message : \"Run failed\";\n const code =\n typeof (error as any)?.code === \"string\"\n ? (error as any).code\n : undefined;\n dispatch({\n type: \"RUN_ERROR\" as const,\n ...(message !== undefined ? { message } : {}),\n ...(code !== undefined ? { code } : {}),\n } satisfies AgUiEvent);\n },\n };\n};\n\nexport type AgUiSubscriber = ReturnType<typeof createAgUiSubscriber>;\n"],"mappings":"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"}
@@ -1,7 +1,11 @@
1
- import type { AgUiEvent } from "./types.js";
2
- import type { Logger } from "./logger.js";
3
- export type ParseAgUiEventOptions = {
4
- logger?: Logger;
1
+ import { Logger } from "./logger.js";
2
+ import { AgUiEvent } from "./types.js";
3
+
4
+ //#region src/runtime/event-parser.d.ts
5
+ type ParseAgUiEventOptions = {
6
+ logger?: Logger;
5
7
  };
6
- export declare const parseAgUiEvent: (event: unknown, options?: ParseAgUiEventOptions) => AgUiEvent | null;
8
+ declare const parseAgUiEvent: (event: unknown, options?: ParseAgUiEventOptions) => AgUiEvent | null;
9
+ //#endregion
10
+ export { ParseAgUiEventOptions, parseAgUiEvent };
7
11
  //# sourceMappingURL=event-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/runtime/event-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAyC,mBAAgB;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAiB;AAEvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAiEF,eAAO,MAAM,cAAc,GACzB,OAAO,OAAO,EACd,UAAU,qBAAqB,KAC9B,SAAS,GAAG,IAsLd,CAAC"}
1
+ {"version":3,"file":"event-parser.d.ts","names":[],"sources":["../../src/runtime/event-parser.ts"],"mappings":";;;;KAGY,qBAAA;EACV,MAAA,GAAS,MAAM;AAAA;AAAA,cAkEJ,cAAA,GACX,KAAA,WACA,OAAA,GAAU,qBAAA,KACT,SAAS"}