@assistant-ui/react-google-adk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +156 -0
  3. package/dist/AdkClient.d.ts +45 -0
  4. package/dist/AdkClient.d.ts.map +1 -0
  5. package/dist/AdkClient.js +204 -0
  6. package/dist/AdkClient.js.map +1 -0
  7. package/dist/AdkEventAccumulator.d.ts +45 -0
  8. package/dist/AdkEventAccumulator.d.ts.map +1 -0
  9. package/dist/AdkEventAccumulator.js +508 -0
  10. package/dist/AdkEventAccumulator.js.map +1 -0
  11. package/dist/AdkSessionAdapter.d.ts +61 -0
  12. package/dist/AdkSessionAdapter.d.ts.map +1 -0
  13. package/dist/AdkSessionAdapter.js +159 -0
  14. package/dist/AdkSessionAdapter.js.map +1 -0
  15. package/dist/convertAdkMessages.d.ts +4 -0
  16. package/dist/convertAdkMessages.d.ts.map +1 -0
  17. package/dist/convertAdkMessages.js +75 -0
  18. package/dist/convertAdkMessages.js.map +1 -0
  19. package/dist/hooks.d.ts +50 -0
  20. package/dist/hooks.d.ts.map +1 -0
  21. package/dist/hooks.js +173 -0
  22. package/dist/hooks.js.map +1 -0
  23. package/dist/index.d.ts +11 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +10 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/server/adkEventStream.d.ts +42 -0
  28. package/dist/server/adkEventStream.d.ts.map +1 -0
  29. package/dist/server/adkEventStream.js +135 -0
  30. package/dist/server/adkEventStream.js.map +1 -0
  31. package/dist/server/createAdkApiRoute.d.ts +47 -0
  32. package/dist/server/createAdkApiRoute.d.ts.map +1 -0
  33. package/dist/server/createAdkApiRoute.js +41 -0
  34. package/dist/server/createAdkApiRoute.js.map +1 -0
  35. package/dist/server/index.d.ts +4 -0
  36. package/dist/server/index.d.ts.map +1 -0
  37. package/dist/server/index.js +4 -0
  38. package/dist/server/index.js.map +1 -0
  39. package/dist/server/parseAdkRequest.d.ts +56 -0
  40. package/dist/server/parseAdkRequest.d.ts.map +1 -0
  41. package/dist/server/parseAdkRequest.js +93 -0
  42. package/dist/server/parseAdkRequest.js.map +1 -0
  43. package/dist/structuredEvents.d.ts +7 -0
  44. package/dist/structuredEvents.d.ts.map +1 -0
  45. package/dist/structuredEvents.js +79 -0
  46. package/dist/structuredEvents.js.map +1 -0
  47. package/dist/types.d.ts +253 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +14 -0
  50. package/dist/types.js.map +1 -0
  51. package/dist/useAdkMessages.d.ts +28 -0
  52. package/dist/useAdkMessages.d.ts.map +1 -0
  53. package/dist/useAdkMessages.js +198 -0
  54. package/dist/useAdkMessages.js.map +1 -0
  55. package/dist/useAdkRuntime.d.ts +36 -0
  56. package/dist/useAdkRuntime.d.ts.map +1 -0
  57. package/dist/useAdkRuntime.js +252 -0
  58. package/dist/useAdkRuntime.js.map +1 -0
  59. package/package.json +83 -0
  60. package/server/package.json +4 -0
  61. package/src/AdkClient.test.ts +662 -0
  62. package/src/AdkClient.ts +274 -0
  63. package/src/AdkEventAccumulator.test.ts +591 -0
  64. package/src/AdkEventAccumulator.ts +602 -0
  65. package/src/AdkSessionAdapter.test.ts +362 -0
  66. package/src/AdkSessionAdapter.ts +245 -0
  67. package/src/convertAdkMessages.test.ts +209 -0
  68. package/src/convertAdkMessages.ts +93 -0
  69. package/src/hooks.ts +217 -0
  70. package/src/index.ts +66 -0
  71. package/src/server/adkEventStream.test.ts +78 -0
  72. package/src/server/adkEventStream.ts +161 -0
  73. package/src/server/createAdkApiRoute.test.ts +370 -0
  74. package/src/server/createAdkApiRoute.ts +86 -0
  75. package/src/server/index.ts +6 -0
  76. package/src/server/parseAdkRequest.test.ts +152 -0
  77. package/src/server/parseAdkRequest.ts +122 -0
  78. package/src/structuredEvents.ts +81 -0
  79. package/src/types.ts +265 -0
  80. package/src/useAdkMessages.ts +259 -0
  81. package/src/useAdkRuntime.ts +398 -0
@@ -0,0 +1,253 @@
1
+ import type { MessageStatus } from "@assistant-ui/core";
2
+ import type { ReadonlyJSONObject } from "assistant-stream/utils";
3
+ export type AdkEventPart = {
4
+ text?: string;
5
+ thought?: boolean;
6
+ functionCall?: {
7
+ name: string;
8
+ id?: string;
9
+ args: Record<string, unknown>;
10
+ };
11
+ functionResponse?: {
12
+ name: string;
13
+ id?: string;
14
+ response: unknown;
15
+ };
16
+ executableCode?: {
17
+ code: string;
18
+ language?: string;
19
+ };
20
+ codeExecutionResult?: {
21
+ output: string;
22
+ outcome?: string;
23
+ };
24
+ inlineData?: {
25
+ mimeType: string;
26
+ data: string;
27
+ };
28
+ fileData?: {
29
+ fileUri: string;
30
+ mimeType?: string;
31
+ };
32
+ };
33
+ export type AdkEventActions = {
34
+ stateDelta?: Record<string, unknown> | undefined;
35
+ artifactDelta?: Record<string, number> | undefined;
36
+ transferToAgent?: string | undefined;
37
+ escalate?: boolean | undefined;
38
+ skipSummarization?: boolean | undefined;
39
+ requestedAuthConfigs?: Record<string, unknown> | undefined;
40
+ requestedToolConfirmations?: Record<string, unknown> | undefined;
41
+ };
42
+ export type AdkEvent = {
43
+ id: string;
44
+ invocationId?: string | undefined;
45
+ author?: string | undefined;
46
+ branch?: string | undefined;
47
+ partial?: boolean | undefined;
48
+ turnComplete?: boolean | undefined;
49
+ interrupted?: boolean | undefined;
50
+ finishReason?: string | undefined;
51
+ timestamp?: number | undefined;
52
+ content?: {
53
+ role?: string | undefined;
54
+ parts?: AdkEventPart[] | undefined;
55
+ } | undefined;
56
+ actions?: AdkEventActions | undefined;
57
+ longRunningToolIds?: string[] | undefined;
58
+ errorCode?: string | undefined;
59
+ errorMessage?: string | undefined;
60
+ groundingMetadata?: unknown;
61
+ citationMetadata?: unknown;
62
+ usageMetadata?: unknown;
63
+ customMetadata?: Record<string, unknown> | undefined;
64
+ };
65
+ export type AdkToolCall = {
66
+ id: string;
67
+ name: string;
68
+ args: ReadonlyJSONObject;
69
+ argsText?: string;
70
+ };
71
+ export type AdkMessage = {
72
+ id: string;
73
+ type: "human";
74
+ content: string | AdkMessageContentPart[];
75
+ } | {
76
+ id: string;
77
+ type: "ai";
78
+ content: string | AdkMessageContentPart[];
79
+ tool_calls?: AdkToolCall[] | undefined;
80
+ author?: string | undefined;
81
+ branch?: string | undefined;
82
+ status?: MessageStatus | undefined;
83
+ } | {
84
+ id: string;
85
+ type: "tool";
86
+ content: string;
87
+ tool_call_id: string;
88
+ name: string;
89
+ status?: "success" | "error" | undefined;
90
+ artifact?: unknown;
91
+ };
92
+ export type AdkMessageContentPart = {
93
+ type: "text";
94
+ text: string;
95
+ } | {
96
+ type: "reasoning";
97
+ text: string;
98
+ } | {
99
+ type: "image";
100
+ mimeType: string;
101
+ data: string;
102
+ } | {
103
+ type: "image_url";
104
+ url: string;
105
+ } | {
106
+ type: "code";
107
+ code: string;
108
+ language: string;
109
+ } | {
110
+ type: "code_result";
111
+ output: string;
112
+ outcome: string;
113
+ } | {
114
+ type: "activity";
115
+ message: string;
116
+ };
117
+ export type AdkToolConfirmation = {
118
+ toolCallId: string;
119
+ toolName: string;
120
+ args: Record<string, unknown>;
121
+ hint: string;
122
+ confirmed: boolean;
123
+ payload?: unknown;
124
+ };
125
+ export type AdkAuthCredentialType = "apiKey" | "http" | "oauth2" | "openIdConnect" | "serviceAccount";
126
+ export type AdkAuthCredential = {
127
+ authType: AdkAuthCredentialType;
128
+ resourceRef?: string | undefined;
129
+ apiKey?: string | undefined;
130
+ http?: {
131
+ scheme: string;
132
+ credentials: {
133
+ username?: string;
134
+ password?: string;
135
+ token?: string;
136
+ };
137
+ } | undefined;
138
+ oauth2?: {
139
+ clientId?: string;
140
+ clientSecret?: string;
141
+ authUri?: string;
142
+ state?: string;
143
+ redirectUri?: string;
144
+ authResponseUri?: string;
145
+ authCode?: string;
146
+ accessToken?: string;
147
+ refreshToken?: string;
148
+ expiresAt?: number;
149
+ expiresIn?: number;
150
+ } | undefined;
151
+ serviceAccount?: unknown;
152
+ };
153
+ export type AdkAuthRequest = {
154
+ toolCallId: string;
155
+ authConfig: unknown;
156
+ };
157
+ export type AdkMessageMetadata = {
158
+ groundingMetadata?: unknown;
159
+ citationMetadata?: unknown;
160
+ usageMetadata?: unknown;
161
+ };
162
+ export type AdkRunConfig = {
163
+ streamingMode?: "none" | "sse" | "bidi" | undefined;
164
+ pauseOnToolCalls?: boolean | undefined;
165
+ maxLlmCalls?: number | undefined;
166
+ saveInputBlobsAsArtifacts?: boolean | undefined;
167
+ supportCfc?: boolean | undefined;
168
+ speechConfig?: unknown;
169
+ responseModalities?: string[] | undefined;
170
+ outputAudioTranscription?: unknown;
171
+ inputAudioTranscription?: unknown;
172
+ enableAffectiveDialog?: boolean | undefined;
173
+ proactivity?: unknown;
174
+ realtimeInputConfig?: unknown;
175
+ };
176
+ export type AdkSendMessageConfig = {
177
+ /**
178
+ * ADK RunConfig. Typed as `unknown` for compatibility with
179
+ * assistant-ui core's RunConfig type. Use `AdkRunConfig` when
180
+ * constructing configs manually for type safety.
181
+ */
182
+ runConfig?: unknown;
183
+ checkpointId?: string | undefined;
184
+ stateDelta?: Record<string, unknown> | undefined;
185
+ };
186
+ export declare const AdkEventType: {
187
+ readonly THOUGHT: "thought";
188
+ readonly CONTENT: "content";
189
+ readonly TOOL_CALL: "tool_call";
190
+ readonly TOOL_RESULT: "tool_result";
191
+ readonly CALL_CODE: "call_code";
192
+ readonly CODE_RESULT: "code_result";
193
+ readonly ERROR: "error";
194
+ readonly ACTIVITY: "activity";
195
+ readonly TOOL_CONFIRMATION: "tool_confirmation";
196
+ readonly FINISHED: "finished";
197
+ };
198
+ export type AdkStructuredEvent = {
199
+ type: "thought";
200
+ content: string;
201
+ } | {
202
+ type: "content";
203
+ content: string;
204
+ } | {
205
+ type: "tool_call";
206
+ call: {
207
+ name: string;
208
+ id?: string;
209
+ args: Record<string, unknown>;
210
+ };
211
+ } | {
212
+ type: "tool_result";
213
+ result: {
214
+ name: string;
215
+ id?: string;
216
+ response: unknown;
217
+ };
218
+ } | {
219
+ type: "call_code";
220
+ code: {
221
+ code: string;
222
+ language?: string;
223
+ };
224
+ } | {
225
+ type: "code_result";
226
+ result: {
227
+ output: string;
228
+ outcome?: string;
229
+ };
230
+ } | {
231
+ type: "error";
232
+ errorCode?: string;
233
+ errorMessage?: string;
234
+ } | {
235
+ type: "activity";
236
+ message: string;
237
+ } | {
238
+ type: "tool_confirmation";
239
+ confirmations: Record<string, unknown>;
240
+ } | {
241
+ type: "finished";
242
+ };
243
+ export type AdkStreamCallback = (messages: AdkMessage[], config: AdkSendMessageConfig & {
244
+ abortSignal: AbortSignal;
245
+ initialize: () => Promise<{
246
+ remoteId: string;
247
+ externalId: string | undefined;
248
+ }>;
249
+ }) => Promise<AsyncGenerator<AdkEvent>> | AsyncGenerator<AdkEvent>;
250
+ export type OnAdkErrorCallback = (error: unknown) => void | Promise<void>;
251
+ export type OnAdkCustomEventCallback = (type: string, data: unknown) => void | Promise<void>;
252
+ export type OnAdkAgentTransferCallback = (toAgent: string) => void | Promise<void>;
253
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,14 @@
1
+ // ── Structured events ──
2
+ export const AdkEventType = {
3
+ THOUGHT: "thought",
4
+ CONTENT: "content",
5
+ TOOL_CALL: "tool_call",
6
+ TOOL_RESULT: "tool_result",
7
+ CALL_CODE: "call_code",
8
+ CODE_RESULT: "code_result",
9
+ ERROR: "error",
10
+ ACTIVITY: "activity",
11
+ TOOL_CONFIRMATION: "tool_confirmation",
12
+ FINISHED: "finished",
13
+ };
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA8MA,0BAA0B;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;IACtC,QAAQ,EAAE,UAAU;CACZ,CAAC"}
@@ -0,0 +1,28 @@
1
+ /// <reference types="@assistant-ui/core/store" />
2
+ import type { AdkMessage, AdkMessageMetadata, AdkSendMessageConfig, AdkStreamCallback, AdkToolConfirmation, AdkAuthRequest, OnAdkErrorCallback, OnAdkCustomEventCallback, OnAdkAgentTransferCallback } from "./types.js";
3
+ export type UseAdkMessagesOptions = {
4
+ stream: AdkStreamCallback;
5
+ eventHandlers?: {
6
+ onError?: OnAdkErrorCallback;
7
+ onCustomEvent?: OnAdkCustomEventCallback;
8
+ onAgentTransfer?: OnAdkAgentTransferCallback;
9
+ };
10
+ };
11
+ export declare const useAdkMessages: ({ stream, eventHandlers, }: UseAdkMessagesOptions) => {
12
+ messages: AdkMessage[];
13
+ stateDelta: Record<string, unknown>;
14
+ agentInfo: {
15
+ name?: string | undefined;
16
+ branch?: string | undefined;
17
+ };
18
+ longRunningToolIds: string[];
19
+ artifactDelta: Record<string, number>;
20
+ toolConfirmations: AdkToolConfirmation[];
21
+ authRequests: AdkAuthRequest[];
22
+ escalated: boolean;
23
+ messageMetadata: Map<string, AdkMessageMetadata>;
24
+ sendMessage: (newMessages: AdkMessage[], config: AdkSendMessageConfig) => Promise<void>;
25
+ cancel: () => void;
26
+ setMessages: (msgs: AdkMessage[]) => void;
27
+ };
28
+ //# sourceMappingURL=useAdkMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAdkMessages.d.ts","sourceRoot":"","sources":["../src/useAdkMessages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,UAAU,EAEV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC3B,mBAAgB;AAEjB,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,aAAa,CAAC,EAAE,wBAAwB,CAAC;QACzC,eAAe,CAAC,EAAE,0BAA0B,CAAC;KAC9C,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,4BAG5B,qBAAqB;;;;eAIb,MAAM,GAAG,SAAS;iBAChB,MAAM,GAAG,SAAS;;;;;;;;+BAsCP,UAAU,EAAE,UAAU,oBAAoB;;wBAdhB,UAAU,EAAE;CA0H7D,CAAC"}
@@ -0,0 +1,198 @@
1
+ /// <reference types="@assistant-ui/core/store" />
2
+ import { useState, useCallback, useRef, useMemo } from "react";
3
+ import { v4 as uuidv4 } from "uuid";
4
+ import { useAui } from "@assistant-ui/store";
5
+ import { AdkEventAccumulator } from "./AdkEventAccumulator.js";
6
+ export const useAdkMessages = ({ stream, eventHandlers, }) => {
7
+ const [messages, _setMessages] = useState([]);
8
+ const [stateDelta, setStateDelta] = useState({});
9
+ const [agentInfo, setAgentInfo] = useState({});
10
+ const [longRunningToolIds, setLongRunningToolIds] = useState([]);
11
+ const [artifactDelta, setArtifactDelta] = useState({});
12
+ const [toolConfirmations, setToolConfirmations] = useState([]);
13
+ const [authRequests, setAuthRequests] = useState([]);
14
+ const [escalated, setEscalated] = useState(false);
15
+ const [messageMetadata, setMessageMetadata] = useState(new Map());
16
+ const lastTransferToAgentRef = useRef(undefined);
17
+ const messagesRef = useRef(messages);
18
+ messagesRef.current = messages;
19
+ const stateDeltaRef = useRef(stateDelta);
20
+ stateDeltaRef.current = stateDelta;
21
+ const artifactDeltaRef = useRef(artifactDelta);
22
+ artifactDeltaRef.current = artifactDelta;
23
+ const messageMetadataRef = useRef(messageMetadata);
24
+ messageMetadataRef.current = messageMetadata;
25
+ const setMessagesImmediate = useCallback((msgs) => {
26
+ messagesRef.current = msgs;
27
+ _setMessages(msgs);
28
+ }, []);
29
+ const abortControllerRef = useRef(null);
30
+ const { onError, onCustomEvent, onAgentTransfer } = useMemo(() => eventHandlers ?? {}, [eventHandlers]);
31
+ const aui = useAui();
32
+ const sendMessage = useCallback(async (newMessages, config) => {
33
+ const newMessagesWithId = newMessages.map((m) => m.id ? m : { ...m, id: uuidv4() });
34
+ const accumulator = new AdkEventAccumulator(messagesRef.current);
35
+ for (const msg of newMessagesWithId) {
36
+ accumulator.processEvent(messageToEvent(msg));
37
+ }
38
+ setMessagesImmediate(accumulator.getMessages());
39
+ const abortController = new AbortController();
40
+ abortControllerRef.current = abortController;
41
+ try {
42
+ const response = await stream(newMessagesWithId, {
43
+ ...config,
44
+ abortSignal: abortController.signal,
45
+ initialize: async () => {
46
+ return await aui.threadListItem().initialize();
47
+ },
48
+ });
49
+ for await (const event of response) {
50
+ const updatedMessages = accumulator.processEvent(event);
51
+ setMessagesImmediate(updatedMessages);
52
+ setStateDelta({
53
+ ...stateDeltaRef.current,
54
+ ...accumulator.getStateDelta(),
55
+ });
56
+ setAgentInfo(accumulator.getAgentInfo());
57
+ setLongRunningToolIds(accumulator.getLongRunningToolIds());
58
+ setArtifactDelta({
59
+ ...artifactDeltaRef.current,
60
+ ...accumulator.getArtifactDelta(),
61
+ });
62
+ setToolConfirmations(accumulator.getToolConfirmations());
63
+ setAuthRequests(accumulator.getAuthRequests());
64
+ setEscalated(accumulator.isEscalated());
65
+ {
66
+ const newMeta = accumulator.getMessageMetadata();
67
+ if (newMeta.size > 0) {
68
+ setMessageMetadata(new Map([...messageMetadataRef.current, ...newMeta]));
69
+ }
70
+ }
71
+ const transfer = accumulator.getLastTransferToAgent();
72
+ if (transfer && transfer !== lastTransferToAgentRef.current) {
73
+ lastTransferToAgentRef.current = transfer;
74
+ onAgentTransfer?.(transfer);
75
+ }
76
+ // Fire custom event callback for events with customMetadata
77
+ if (event.customMetadata && onCustomEvent) {
78
+ for (const [key, value] of Object.entries(event.customMetadata)) {
79
+ onCustomEvent(key, value);
80
+ }
81
+ }
82
+ if (event.errorCode || event.errorMessage) {
83
+ onError?.(event.errorMessage ?? event.errorCode);
84
+ }
85
+ }
86
+ }
87
+ catch (error) {
88
+ if (!abortController.signal.aborted &&
89
+ !(error instanceof Error && error.name === "AbortError")) {
90
+ throw error;
91
+ }
92
+ }
93
+ finally {
94
+ if (abortControllerRef.current === abortController) {
95
+ abortControllerRef.current = null;
96
+ }
97
+ }
98
+ }, [
99
+ aui,
100
+ setMessagesImmediate,
101
+ stream,
102
+ onError,
103
+ onCustomEvent,
104
+ onAgentTransfer,
105
+ ]);
106
+ const cancel = useCallback(() => {
107
+ if (abortControllerRef.current) {
108
+ abortControllerRef.current.abort();
109
+ }
110
+ }, []);
111
+ return {
112
+ messages,
113
+ stateDelta,
114
+ agentInfo,
115
+ longRunningToolIds,
116
+ artifactDelta,
117
+ toolConfirmations,
118
+ authRequests,
119
+ escalated,
120
+ messageMetadata,
121
+ sendMessage,
122
+ cancel,
123
+ setMessages: setMessagesImmediate,
124
+ };
125
+ };
126
+ const messageToEvent = (msg) => {
127
+ if (msg.type === "human") {
128
+ return {
129
+ id: msg.id ?? uuidv4(),
130
+ author: "user",
131
+ content: { role: "user", parts: contentToParts(msg.content) },
132
+ };
133
+ }
134
+ if (msg.type === "tool") {
135
+ let response;
136
+ try {
137
+ response = JSON.parse(msg.content);
138
+ }
139
+ catch {
140
+ response = msg.content;
141
+ }
142
+ return {
143
+ id: msg.id ?? uuidv4(),
144
+ content: {
145
+ role: "user",
146
+ parts: [
147
+ {
148
+ functionResponse: {
149
+ name: msg.name,
150
+ id: msg.tool_call_id,
151
+ response,
152
+ },
153
+ },
154
+ ],
155
+ },
156
+ };
157
+ }
158
+ const result = { id: msg.id ?? uuidv4() };
159
+ if (msg.author != null)
160
+ result.author = msg.author;
161
+ result.content = {
162
+ role: "model",
163
+ parts: [
164
+ ...contentToParts(msg.content),
165
+ ...(msg.tool_calls?.map((tc) => ({
166
+ functionCall: { name: tc.name, id: tc.id, args: { ...tc.args } },
167
+ })) ?? []),
168
+ ],
169
+ };
170
+ return result;
171
+ };
172
+ const contentToParts = (content) => {
173
+ if (typeof content === "string")
174
+ return [{ text: content }];
175
+ return content.map((part) => {
176
+ switch (part.type) {
177
+ case "text":
178
+ return { text: part.text };
179
+ case "reasoning":
180
+ return { text: part.text, thought: true };
181
+ case "image":
182
+ return { inlineData: { mimeType: part.mimeType, data: part.data } };
183
+ case "image_url":
184
+ return { fileData: { fileUri: part.url } };
185
+ case "code":
186
+ return {
187
+ executableCode: { code: part.code, language: part.language },
188
+ };
189
+ case "code_result":
190
+ return {
191
+ codeExecutionResult: { output: part.output, outcome: part.outcome },
192
+ };
193
+ default:
194
+ return { text: "" };
195
+ }
196
+ });
197
+ };
198
+ //# sourceMappingURL=useAdkMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAdkMessages.js","sourceRoot":"","sources":["../src/useAdkMessages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /// <reference types="@assistant-ui/core/store" />
2
+ import { type AttachmentAdapter, type FeedbackAdapter, type SpeechSynthesisAdapter } from "@assistant-ui/core";
3
+ import type { AssistantCloud } from "assistant-cloud";
4
+ import type { RemoteThreadListAdapter } from "@assistant-ui/core";
5
+ import type { AdkMessage, AdkStreamCallback, OnAdkErrorCallback, OnAdkCustomEventCallback, OnAdkAgentTransferCallback } from "./types.js";
6
+ export type UseAdkRuntimeOptions = {
7
+ stream: AdkStreamCallback;
8
+ autoCancelPendingToolCalls?: boolean | undefined;
9
+ unstable_allowCancellation?: boolean | undefined;
10
+ getCheckpointId?: (threadId: string, parentMessages: AdkMessage[]) => Promise<string | null>;
11
+ load?: (threadId: string) => Promise<{
12
+ messages: AdkMessage[];
13
+ }>;
14
+ create?: () => Promise<{
15
+ externalId: string;
16
+ }>;
17
+ delete?: (threadId: string) => Promise<void>;
18
+ adapters?: {
19
+ attachments?: AttachmentAdapter;
20
+ speech?: SpeechSynthesisAdapter;
21
+ feedback?: FeedbackAdapter;
22
+ } | undefined;
23
+ eventHandlers?: {
24
+ onError?: OnAdkErrorCallback;
25
+ onCustomEvent?: OnAdkCustomEventCallback;
26
+ onAgentTransfer?: OnAdkAgentTransferCallback;
27
+ } | undefined;
28
+ cloud?: AssistantCloud | undefined;
29
+ /**
30
+ * A `RemoteThreadListAdapter` to use instead of the cloud adapter.
31
+ * Use with `createAdkSessionAdapter` for ADK session-backed persistence.
32
+ */
33
+ sessionAdapter?: RemoteThreadListAdapter | undefined;
34
+ };
35
+ export declare const useAdkRuntime: ({ cloud, sessionAdapter, create, delete: deleteFn, ...options }: UseAdkRuntimeOptions) => import("@assistant-ui/core").AssistantRuntime;
36
+ //# sourceMappingURL=useAdkRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAdkRuntime.d.ts","sourceRoot":"","sources":["../src/useAdkRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAG5B,MAAM,oBAAoB,CAAC;AAU5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EAEV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC3B,mBAAgB;AAwEjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,UAAU,EAAE,KACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,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,aAAa,CAAC,EACV;QACE,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,aAAa,CAAC,EAAE,wBAAwB,CAAC;QACzC,eAAe,CAAC,EAAE,0BAA0B,CAAC;KAC9C,GACD,SAAS,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;CACtD,CAAC;AA+OF,eAAO,MAAM,aAAa,GAAI,iEAM3B,oBAAoB,kDAqBtB,CAAC"}