@assistant-ui/react-a2a 0.1.3 → 0.1.5

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/dist/types.js CHANGED
@@ -1,14 +1,10 @@
1
- // src/types.ts
2
- var A2AKnownEventTypes = /* @__PURE__ */ ((A2AKnownEventTypes2) => {
3
- A2AKnownEventTypes2["TaskUpdate"] = "task-update";
4
- A2AKnownEventTypes2["TaskComplete"] = "task-complete";
5
- A2AKnownEventTypes2["TaskFailed"] = "task-failed";
6
- A2AKnownEventTypes2["Artifacts"] = "artifacts";
7
- A2AKnownEventTypes2["StateUpdate"] = "state-update";
8
- A2AKnownEventTypes2["Error"] = "error";
9
- return A2AKnownEventTypes2;
10
- })(A2AKnownEventTypes || {});
11
- export {
12
- A2AKnownEventTypes
13
- };
1
+ export var A2AKnownEventTypes;
2
+ (function (A2AKnownEventTypes) {
3
+ A2AKnownEventTypes["TaskUpdate"] = "task-update";
4
+ A2AKnownEventTypes["TaskComplete"] = "task-complete";
5
+ A2AKnownEventTypes["TaskFailed"] = "task-failed";
6
+ A2AKnownEventTypes["Artifacts"] = "artifacts";
7
+ A2AKnownEventTypes["StateUpdate"] = "state-update";
8
+ A2AKnownEventTypes["Error"] = "error";
9
+ })(A2AKnownEventTypes || (A2AKnownEventTypes = {}));
14
10
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import { MessageStatus } from \"@assistant-ui/react\";\nimport { ReadonlyJSONObject } from \"assistant-stream/utils\";\n\n// A2A Message Types\nexport type A2AMessage = {\n id?: string;\n role: \"user\" | \"assistant\" | \"system\" | \"tool\";\n content: string | A2AMessageContent[];\n tool_calls?: A2AToolCall[];\n tool_call_id?: string;\n artifacts?: A2AArtifact[];\n status?: MessageStatus;\n};\n\nexport type A2AMessageContent =\n | { type: \"text\"; text: string }\n | { type: \"image_url\"; image_url: string | { url: string } }\n | { type: \"data\"; data: any };\n\nexport type A2AToolCall = {\n id: string;\n name: string;\n args: ReadonlyJSONObject;\n argsText?: string;\n};\n\nexport type A2AArtifact = {\n name: string;\n parts: A2AArtifactPart[];\n};\n\nexport type A2AArtifactPart = {\n kind: \"text\" | \"data\" | \"file\";\n data?: any;\n text?: string;\n metadata?: Record<string, any>;\n};\n\n// A2A Events (similar to LangGraph events)\nexport type A2AEvent = {\n event: A2AKnownEventTypes | string;\n data: any;\n};\n\nexport enum A2AKnownEventTypes {\n TaskUpdate = \"task-update\",\n TaskComplete = \"task-complete\",\n TaskFailed = \"task-failed\",\n Artifacts = \"artifacts\",\n StateUpdate = \"state-update\",\n Error = \"error\",\n}\n\n// A2A Task State\nexport type A2ATaskState = {\n id: string;\n state: \"pending\" | \"working\" | \"completed\" | \"failed\";\n progress?: number;\n message?: string;\n};\n\n// A2A Task Result\nexport type A2ATaskResult = {\n id: string;\n status: {\n state: \"pending\" | \"working\" | \"completed\" | \"failed\";\n message?: string;\n };\n artifacts?: A2AArtifact[];\n history?: Array<{\n messageId: string;\n role: string;\n parts?: Array<{ kind: string; text?: string; data?: any }>;\n }>;\n};\n\n// A2A Configuration\nexport type A2AConfig = {\n contextId?: string;\n runConfig?: Record<string, any>;\n};\n\n// A2A Send Message Configuration\nexport type A2ASendMessageConfig = A2AConfig & {\n command?: A2ACommand;\n};\n\n// A2A Commands (for interrupts/resume)\nexport type A2ACommand = {\n resume?: string;\n interrupt?: string;\n};\n\n// A2A Stream Callback\nexport type A2AStreamCallback<TMessage> = (\n messages: TMessage[],\n config: A2ASendMessageConfig & { abortSignal: AbortSignal },\n) => Promise<AsyncGenerator<A2AEvent>> | AsyncGenerator<A2AEvent>;\n\n// Event handler callback types\nexport type OnTaskUpdateEventCallback = (\n data: A2ATaskState,\n) => void | Promise<void>;\nexport type OnArtifactsEventCallback = (\n artifacts: A2AArtifact[],\n) => void | Promise<void>;\nexport type OnErrorEventCallback = (error: unknown) => void | Promise<void>;\nexport type OnStateUpdateEventCallback = (\n state: unknown,\n) => void | Promise<void>;\nexport type OnCustomEventCallback = (\n type: string,\n data: unknown,\n) => void | Promise<void>;\n"],"mappings":";AA4CO,IAAK,qBAAL,kBAAKA,wBAAL;AACL,EAAAA,oBAAA,gBAAa;AACb,EAAAA,oBAAA,kBAAe;AACf,EAAAA,oBAAA,gBAAa;AACb,EAAAA,oBAAA,eAAY;AACZ,EAAAA,oBAAA,iBAAc;AACd,EAAAA,oBAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;","names":["A2AKnownEventTypes"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,gDAA0B,CAAA;IAC1B,oDAA8B,CAAA;IAC9B,gDAA0B,CAAA;IAC1B,6CAAuB,CAAA;IACvB,kDAA4B,CAAA;IAC5B,qCAAe,CAAA;AACjB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B"}
@@ -1,4 +1,4 @@
1
- import { A2AEvent, A2ATaskState, A2AArtifact, A2ASendMessageConfig, A2AStreamCallback, OnTaskUpdateEventCallback, OnArtifactsEventCallback, OnErrorEventCallback, OnStateUpdateEventCallback, OnCustomEventCallback } from "./types";
1
+ import { A2AEvent, A2ATaskState, A2AArtifact, A2ASendMessageConfig, A2AStreamCallback, OnTaskUpdateEventCallback, OnArtifactsEventCallback, OnErrorEventCallback, OnStateUpdateEventCallback, OnCustomEventCallback } from "./types.js";
2
2
  export type A2AMessagesEvent<_TMessage> = A2AEvent;
3
3
  export declare const useA2AMessages: <TMessage extends {
4
4
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useA2AMessages.d.ts","sourceRoot":"","sources":["../src/useA2AMessages.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,gBAAgB,CAAC,SAAS,IAAI,QAAQ,CAAC;AAOnD,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,2CAI9D;IACD,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IACzE,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC,WAAW,CAAC,EAAE,wBAAwB,CAAC;QACvC,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,CAAC;CACH;;;;+BAUuB,QAAQ,EAAE,UAAU,oBAAoB;;;;;CAmI/D,CAAC"}
1
+ {"version":3,"file":"useA2AMessages.d.ts","sourceRoot":"","sources":["../src/useA2AMessages.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACtB,mBAAgB;AAEjB,MAAM,MAAM,gBAAgB,CAAC,SAAS,IAAI,QAAQ,CAAC;AAOnD,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,2CAI9D;IACD,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IACzE,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC,WAAW,CAAC,EAAE,wBAAwB,CAAC;QACvC,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,CAAC;CACH;;;;+BAUuB,QAAQ,EAAE,UAAU,oBAAoB;;;;;CAmI/D,CAAC"}
@@ -1,134 +1,122 @@
1
- // src/useA2AMessages.ts
2
1
  import { useState, useCallback, useRef, useMemo } from "react";
3
2
  import { v4 as uuidv4 } from "uuid";
4
3
  import { A2AMessageAccumulator } from "./A2AMessageAccumulator.js";
5
- import {
6
- A2AKnownEventTypes
7
- } from "./types.js";
8
- var DEFAULT_APPEND_MESSAGE = (_, curr) => curr;
9
- var useA2AMessages = ({
10
- stream,
11
- appendMessage = DEFAULT_APPEND_MESSAGE,
12
- eventHandlers
13
- }) => {
14
- const [messages, setMessages] = useState([]);
15
- const [taskState, setTaskState] = useState();
16
- const [artifacts, setArtifacts] = useState([]);
17
- const abortControllerRef = useRef(null);
18
- const { onTaskUpdate, onArtifacts, onError, onStateUpdate, onCustomEvent } = useMemo(() => eventHandlers ?? {}, [eventHandlers]);
19
- const sendMessage = useCallback(
20
- async (newMessages, config) => {
21
- const newMessagesWithId = newMessages.map(
22
- (m) => m.id ? m : { ...m, id: uuidv4() }
23
- );
24
- const accumulator = new A2AMessageAccumulator({
25
- initialMessages: messages,
26
- appendMessage
27
- });
28
- setMessages(accumulator.addMessages(newMessagesWithId));
29
- const abortController = new AbortController();
30
- abortControllerRef.current = abortController;
31
- const response = await stream(newMessagesWithId, {
32
- ...config,
33
- abortSignal: abortController.signal
34
- });
35
- for await (const event of response) {
36
- switch (event.event) {
37
- case A2AKnownEventTypes.TaskUpdate:
38
- const taskData = event.data;
39
- setTaskState(taskData);
40
- onTaskUpdate?.(taskData);
41
- break;
42
- case A2AKnownEventTypes.TaskComplete:
43
- const { messages: taskMessages, artifacts: taskArtifacts } = event.data;
44
- if (taskMessages) {
45
- setMessages(accumulator.addMessages(taskMessages));
4
+ import { A2AKnownEventTypes, } from "./types.js";
5
+ const DEFAULT_APPEND_MESSAGE = (_, curr) => curr;
6
+ export const useA2AMessages = ({ stream, appendMessage = DEFAULT_APPEND_MESSAGE, eventHandlers, }) => {
7
+ const [messages, setMessages] = useState([]);
8
+ const [taskState, setTaskState] = useState();
9
+ const [artifacts, setArtifacts] = useState([]);
10
+ const abortControllerRef = useRef(null);
11
+ const { onTaskUpdate, onArtifacts, onError, onStateUpdate, onCustomEvent } = useMemo(() => eventHandlers ?? {}, [eventHandlers]);
12
+ const sendMessage = useCallback(async (newMessages, config) => {
13
+ // ensure all messages have an ID
14
+ const newMessagesWithId = newMessages.map((m) => m.id ? m : { ...m, id: uuidv4() });
15
+ const accumulator = new A2AMessageAccumulator({
16
+ initialMessages: messages,
17
+ appendMessage,
18
+ });
19
+ setMessages(accumulator.addMessages(newMessagesWithId));
20
+ const abortController = new AbortController();
21
+ abortControllerRef.current = abortController;
22
+ const response = await stream(newMessagesWithId, {
23
+ ...config,
24
+ abortSignal: abortController.signal,
25
+ });
26
+ for await (const event of response) {
27
+ switch (event.event) {
28
+ case A2AKnownEventTypes.TaskUpdate:
29
+ const taskData = event.data;
30
+ setTaskState(taskData);
31
+ onTaskUpdate?.(taskData);
32
+ break;
33
+ case A2AKnownEventTypes.TaskComplete:
34
+ // Extract messages and artifacts from completed task
35
+ const { messages: taskMessages, artifacts: taskArtifacts } = event.data;
36
+ if (taskMessages) {
37
+ setMessages(accumulator.addMessages(taskMessages));
38
+ }
39
+ if (taskArtifacts) {
40
+ setArtifacts(taskArtifacts);
41
+ onArtifacts?.(taskArtifacts);
42
+ }
43
+ // Clear task state on completion
44
+ setTaskState(undefined);
45
+ break;
46
+ case A2AKnownEventTypes.TaskFailed:
47
+ onError?.(event.data);
48
+ // Update task state to failed
49
+ if (taskState) {
50
+ setTaskState({
51
+ ...taskState,
52
+ state: "failed",
53
+ message: event.data?.message,
54
+ });
55
+ }
56
+ break;
57
+ case A2AKnownEventTypes.Artifacts:
58
+ const artifactData = event.data;
59
+ setArtifacts(artifactData);
60
+ onArtifacts?.(artifactData);
61
+ break;
62
+ case A2AKnownEventTypes.StateUpdate:
63
+ onStateUpdate?.(event.data);
64
+ break;
65
+ case A2AKnownEventTypes.Error:
66
+ onError?.(event.data);
67
+ // Update the last assistant message with error status if available
68
+ const messages = accumulator.getMessages();
69
+ const lastAssistantMessage = messages.findLast((m) => m != null &&
70
+ "role" in m &&
71
+ m.role === "assistant" &&
72
+ m.id != null);
73
+ if (lastAssistantMessage) {
74
+ const errorMessage = {
75
+ ...lastAssistantMessage,
76
+ status: {
77
+ type: "incomplete",
78
+ reason: "error",
79
+ error: event.data,
80
+ },
81
+ };
82
+ setMessages(accumulator.addMessages([errorMessage]));
83
+ }
84
+ break;
85
+ default:
86
+ if (onCustomEvent) {
87
+ onCustomEvent(event.event, event.data);
88
+ }
89
+ else {
90
+ console.warn("Unhandled A2A event received:", event.event, event.data);
91
+ }
92
+ break;
46
93
  }
47
- if (taskArtifacts) {
48
- setArtifacts(taskArtifacts);
49
- onArtifacts?.(taskArtifacts);
50
- }
51
- setTaskState(void 0);
52
- break;
53
- case A2AKnownEventTypes.TaskFailed:
54
- onError?.(event.data);
55
- if (taskState) {
56
- setTaskState({
57
- ...taskState,
58
- state: "failed",
59
- message: event.data?.message
60
- });
61
- }
62
- break;
63
- case A2AKnownEventTypes.Artifacts:
64
- const artifactData = event.data;
65
- setArtifacts(artifactData);
66
- onArtifacts?.(artifactData);
67
- break;
68
- case A2AKnownEventTypes.StateUpdate:
69
- onStateUpdate?.(event.data);
70
- break;
71
- case A2AKnownEventTypes.Error:
72
- onError?.(event.data);
73
- const messages2 = accumulator.getMessages();
74
- const lastAssistantMessage = messages2.findLast(
75
- (m) => m != null && "role" in m && m.role === "assistant" && m.id != null
76
- );
77
- if (lastAssistantMessage) {
78
- const errorMessage = {
79
- ...lastAssistantMessage,
80
- status: {
81
- type: "incomplete",
82
- reason: "error",
83
- error: event.data
84
- }
85
- };
86
- setMessages(accumulator.addMessages([errorMessage]));
87
- }
88
- break;
89
- default:
90
- if (onCustomEvent) {
91
- onCustomEvent(event.event, event.data);
92
- } else {
93
- console.warn(
94
- "Unhandled A2A event received:",
95
- event.event,
96
- event.data
97
- );
98
- }
99
- break;
100
94
  }
101
- }
102
- },
103
- [
104
- messages,
105
- appendMessage,
106
- stream,
107
- onTaskUpdate,
108
- onArtifacts,
109
- onError,
110
- onStateUpdate,
111
- onCustomEvent,
112
- taskState
113
- ]
114
- );
115
- const cancel = useCallback(() => {
116
- if (abortControllerRef.current) {
117
- abortControllerRef.current.abort();
118
- }
119
- }, [abortControllerRef]);
120
- return {
121
- messages,
122
- artifacts,
123
- taskState,
124
- sendMessage,
125
- cancel,
126
- setMessages,
127
- setArtifacts,
128
- setTaskState
129
- };
130
- };
131
- export {
132
- useA2AMessages
95
+ }, [
96
+ messages,
97
+ appendMessage,
98
+ stream,
99
+ onTaskUpdate,
100
+ onArtifacts,
101
+ onError,
102
+ onStateUpdate,
103
+ onCustomEvent,
104
+ taskState,
105
+ ]);
106
+ const cancel = useCallback(() => {
107
+ if (abortControllerRef.current) {
108
+ abortControllerRef.current.abort();
109
+ }
110
+ }, [abortControllerRef]);
111
+ return {
112
+ messages,
113
+ artifacts,
114
+ taskState,
115
+ sendMessage,
116
+ cancel,
117
+ setMessages,
118
+ setArtifacts,
119
+ setTaskState,
120
+ };
133
121
  };
134
122
  //# sourceMappingURL=useA2AMessages.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useA2AMessages.ts"],"sourcesContent":["import { useState, useCallback, useRef, useMemo } from \"react\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { A2AMessageAccumulator } from \"./A2AMessageAccumulator\";\nimport {\n A2AEvent,\n A2AKnownEventTypes,\n A2ATaskState,\n A2AArtifact,\n A2ASendMessageConfig,\n A2AStreamCallback,\n OnTaskUpdateEventCallback,\n OnArtifactsEventCallback,\n OnErrorEventCallback,\n OnStateUpdateEventCallback,\n OnCustomEventCallback,\n} from \"./types\";\n\nexport type A2AMessagesEvent<_TMessage> = A2AEvent;\n\nconst DEFAULT_APPEND_MESSAGE = <TMessage>(\n _: TMessage | undefined,\n curr: TMessage,\n) => curr;\n\nexport const useA2AMessages = <TMessage extends { id?: string }>({\n stream,\n appendMessage = DEFAULT_APPEND_MESSAGE,\n eventHandlers,\n}: {\n stream: A2AStreamCallback<TMessage>;\n appendMessage?: (prev: TMessage | undefined, curr: TMessage) => TMessage;\n eventHandlers?: {\n onTaskUpdate?: OnTaskUpdateEventCallback;\n onArtifacts?: OnArtifactsEventCallback;\n onError?: OnErrorEventCallback;\n onStateUpdate?: OnStateUpdateEventCallback;\n onCustomEvent?: OnCustomEventCallback;\n };\n}) => {\n const [messages, setMessages] = useState<TMessage[]>([]);\n const [taskState, setTaskState] = useState<A2ATaskState | undefined>();\n const [artifacts, setArtifacts] = useState<A2AArtifact[]>([]);\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const { onTaskUpdate, onArtifacts, onError, onStateUpdate, onCustomEvent } =\n useMemo(() => eventHandlers ?? {}, [eventHandlers]);\n\n const sendMessage = useCallback(\n async (newMessages: TMessage[], config: A2ASendMessageConfig) => {\n // ensure all messages have an ID\n const newMessagesWithId = newMessages.map((m) =>\n m.id ? m : { ...m, id: uuidv4() },\n );\n\n const accumulator = new A2AMessageAccumulator({\n initialMessages: messages,\n appendMessage,\n });\n setMessages(accumulator.addMessages(newMessagesWithId));\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n const response = await stream(newMessagesWithId, {\n ...config,\n abortSignal: abortController.signal,\n });\n\n for await (const event of response) {\n switch (event.event) {\n case A2AKnownEventTypes.TaskUpdate:\n const taskData = event.data as A2ATaskState;\n setTaskState(taskData);\n onTaskUpdate?.(taskData);\n break;\n\n case A2AKnownEventTypes.TaskComplete:\n // Extract messages and artifacts from completed task\n const { messages: taskMessages, artifacts: taskArtifacts } =\n event.data;\n if (taskMessages) {\n setMessages(accumulator.addMessages(taskMessages));\n }\n if (taskArtifacts) {\n setArtifacts(taskArtifacts);\n onArtifacts?.(taskArtifacts);\n }\n // Clear task state on completion\n setTaskState(undefined);\n break;\n\n case A2AKnownEventTypes.TaskFailed:\n onError?.(event.data);\n // Update task state to failed\n if (taskState) {\n setTaskState({\n ...taskState,\n state: \"failed\",\n message: event.data?.message,\n });\n }\n break;\n\n case A2AKnownEventTypes.Artifacts:\n const artifactData = event.data as A2AArtifact[];\n setArtifacts(artifactData);\n onArtifacts?.(artifactData);\n break;\n\n case A2AKnownEventTypes.StateUpdate:\n onStateUpdate?.(event.data);\n break;\n\n case A2AKnownEventTypes.Error:\n onError?.(event.data);\n // Update the last assistant message with error status if available\n const messages = accumulator.getMessages();\n const lastAssistantMessage = messages.findLast(\n (m): m is TMessage & { role: string; id: string } =>\n m != null &&\n \"role\" in m &&\n m.role === \"assistant\" &&\n m.id != null,\n );\n if (lastAssistantMessage) {\n const errorMessage = {\n ...lastAssistantMessage,\n status: {\n type: \"incomplete\" as const,\n reason: \"error\" as const,\n error: event.data,\n },\n };\n setMessages(accumulator.addMessages([errorMessage]));\n }\n break;\n\n default:\n if (onCustomEvent) {\n onCustomEvent(event.event, event.data);\n } else {\n console.warn(\n \"Unhandled A2A event received:\",\n event.event,\n event.data,\n );\n }\n break;\n }\n }\n },\n [\n messages,\n appendMessage,\n stream,\n onTaskUpdate,\n onArtifacts,\n onError,\n onStateUpdate,\n onCustomEvent,\n taskState,\n ],\n );\n\n const cancel = useCallback(() => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n }, [abortControllerRef]);\n\n return {\n messages,\n artifacts,\n taskState,\n sendMessage,\n cancel,\n setMessages,\n setArtifacts,\n setTaskState,\n };\n};\n"],"mappings":"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","names":["messages"]}
1
+ {"version":3,"file":"useA2AMessages.js","sourceRoot":"","sources":["../src/useA2AMessages.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { A2AMessage, A2AArtifact, A2ATaskState, A2ASendMessageConfig, A2AStreamCallback, OnTaskUpdateEventCallback, OnArtifactsEventCallback, OnErrorEventCallback, OnStateUpdateEventCallback, OnCustomEventCallback } from "./types";
1
+ import { A2AMessage, A2AArtifact, A2ATaskState, A2ASendMessageConfig, A2AStreamCallback, OnTaskUpdateEventCallback, OnArtifactsEventCallback, OnErrorEventCallback, OnStateUpdateEventCallback, OnCustomEventCallback } from "./types.js";
2
2
  import { AttachmentAdapter } from "@assistant-ui/react";
3
3
  import { FeedbackAdapter } from "@assistant-ui/react";
4
4
  import { SpeechSynthesisAdapter } from "@assistant-ui/react";
@@ -1 +1 @@
1
- {"version":3,"file":"useA2ARuntime.d.ts","sourceRoot":"","sources":["../src/useA2ARuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAEV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,SAAS,CAAC;AASjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA4E7D,eAAO,MAAM,eAAe,gCAG3B,CAAC;AAEF,eAAO,MAAM,eAAe,qBAG3B,CAAC;AAEF,eAAO,MAAM,UAAU,mBA5BJ,UAAU,EAAE,UAAU,oBAAoB,KAAK,OAAO,CAAC,IAAI,CA+B7E,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,mLAS3B;IACD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtC;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAChD,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,EACL;QACE,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B,GACD,SAAS,CAAC;IACd;;OAEG;IACH,aAAa,CAAC,EACV;QACE;;WAEG;QACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC;;WAEG;QACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;QACvC;;WAEG;QACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B;;WAEG;QACH,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C;;WAEG;QACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,GACD,SAAS,CAAC;CACf,mDAyJA,CAAC"}
1
+ {"version":3,"file":"useA2ARuntime.d.ts","sourceRoot":"","sources":["../src/useA2ARuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAEV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACtB,mBAAgB;AASjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA4E7D,eAAO,MAAM,eAAe,gCAG3B,CAAC;AAEF,eAAO,MAAM,eAAe,qBAG3B,CAAC;AAEF,eAAO,MAAM,UAAU,mBA5BJ,UAAU,EAAE,UAAU,oBAAoB,KAAK,OAAO,CAAC,IAAI,CA+B7E,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,mLAS3B;IACD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtC;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAChD,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,EACL;QACE,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B,GACD,SAAS,CAAC;IACd;;OAEG;IACH,aAAa,CAAC,EACV;QACE;;WAEG;QACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC;;WAEG;QACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;QACvC;;WAEG;QACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B;;WAEG;QACH,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C;;WAEG;QACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,GACD,SAAS,CAAC;CACf,mDAyJA,CAAC"}