@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,508 @@
1
+ import { v4 as uuidv4 } from "uuid";
2
+ const ADK_REQUEST_CONFIRMATION = "adk_request_confirmation";
3
+ const ADK_REQUEST_CREDENTIAL = "adk_request_credential";
4
+ /**
5
+ * Checks if an event is a final response using the same logic as ADK's
6
+ * `isFinalResponse()`.
7
+ */
8
+ export const isFinalResponse = (event) => {
9
+ if (event.actions?.skipSummarization ||
10
+ (event.longRunningToolIds && event.longRunningToolIds.length > 0)) {
11
+ return true;
12
+ }
13
+ const parts = event.content?.parts;
14
+ return (!event.partial &&
15
+ (parts?.length ?? 0) > 0 &&
16
+ !parts.some((p) => p.functionCall) &&
17
+ !parts.some((p) => p.functionResponse) &&
18
+ !parts[parts.length - 1]?.codeExecutionResult);
19
+ };
20
+ const CONTENT_FILTER_REASONS = new Set([
21
+ "SAFETY",
22
+ "RECITATION",
23
+ "BLOCKLIST",
24
+ "PROHIBITED_CONTENT",
25
+ "SPII",
26
+ "LANGUAGE",
27
+ "IMAGE_SAFETY",
28
+ "IMAGE_RECITATION",
29
+ "IMAGE_OTHER",
30
+ "IMAGE_PROHIBITED_CONTENT",
31
+ ]);
32
+ const ERROR_REASONS = new Set([
33
+ "MALFORMED_FUNCTION_CALL",
34
+ "UNEXPECTED_TOOL_CALL",
35
+ ]);
36
+ const finishReasonToStatus = (finishReason) => {
37
+ if (finishReason === "MAX_TOKENS") {
38
+ return { type: "incomplete", reason: "length" };
39
+ }
40
+ if (finishReason && CONTENT_FILTER_REASONS.has(finishReason)) {
41
+ return {
42
+ type: "incomplete",
43
+ reason: "content-filter",
44
+ error: `Content filtered: ${finishReason}`,
45
+ };
46
+ }
47
+ if (finishReason && ERROR_REASONS.has(finishReason)) {
48
+ return {
49
+ type: "incomplete",
50
+ reason: "error",
51
+ error: `LLM error: ${finishReason}`,
52
+ };
53
+ }
54
+ return { type: "complete", reason: "stop" };
55
+ };
56
+ // ── Snake_case normalization ──
57
+ const normalizeEventPart = (part) => {
58
+ const p = part;
59
+ const result = { ...p };
60
+ if ("function_call" in p && !("functionCall" in p))
61
+ result.functionCall = p.function_call;
62
+ if ("function_response" in p && !("functionResponse" in p))
63
+ result.functionResponse = p.function_response;
64
+ if ("inline_data" in p && !("inlineData" in p))
65
+ result.inlineData = p.inline_data;
66
+ if ("file_data" in p && !("fileData" in p))
67
+ result.fileData = p.file_data;
68
+ if ("executable_code" in p && !("executableCode" in p))
69
+ result.executableCode = p.executable_code;
70
+ if ("code_execution_result" in p && !("codeExecutionResult" in p))
71
+ result.codeExecutionResult = p.code_execution_result;
72
+ return result;
73
+ };
74
+ const normalizeEvent = (event) => {
75
+ const e = event;
76
+ const result = { ...e };
77
+ if ("error_code" in e && !("errorCode" in e))
78
+ result.errorCode = e.error_code;
79
+ if ("error_message" in e && !("errorMessage" in e))
80
+ result.errorMessage = e.error_message;
81
+ if ("long_running_tool_ids" in e && !("longRunningToolIds" in e))
82
+ result.longRunningToolIds = e.long_running_tool_ids;
83
+ if ("turn_complete" in e && !("turnComplete" in e))
84
+ result.turnComplete = e.turn_complete;
85
+ if ("finish_reason" in e && !("finishReason" in e))
86
+ result.finishReason = e.finish_reason;
87
+ if ("invocation_id" in e && !("invocationId" in e))
88
+ result.invocationId = e.invocation_id;
89
+ if ("custom_metadata" in e && !("customMetadata" in e))
90
+ result.customMetadata = e.custom_metadata;
91
+ if ("grounding_metadata" in e && !("groundingMetadata" in e))
92
+ result.groundingMetadata = e.grounding_metadata;
93
+ if ("citation_metadata" in e && !("citationMetadata" in e))
94
+ result.citationMetadata = e.citation_metadata;
95
+ if ("usage_metadata" in e && !("usageMetadata" in e))
96
+ result.usageMetadata = e.usage_metadata;
97
+ if (result.actions) {
98
+ const a = result.actions;
99
+ const na = { ...a };
100
+ if ("state_delta" in a && !("stateDelta" in a))
101
+ na.stateDelta = a.state_delta;
102
+ if ("artifact_delta" in a && !("artifactDelta" in a))
103
+ na.artifactDelta = a.artifact_delta;
104
+ if ("transfer_to_agent" in a && !("transferToAgent" in a))
105
+ na.transferToAgent = a.transfer_to_agent;
106
+ if ("skip_summarization" in a && !("skipSummarization" in a))
107
+ na.skipSummarization = a.skip_summarization;
108
+ if ("requested_auth_configs" in a && !("requestedAuthConfigs" in a))
109
+ na.requestedAuthConfigs = a.requested_auth_configs;
110
+ if ("requested_tool_confirmations" in a &&
111
+ !("requestedToolConfirmations" in a))
112
+ na.requestedToolConfirmations = a.requested_tool_confirmations;
113
+ result.actions = na;
114
+ }
115
+ if (result.content && result.content.parts) {
116
+ const content = result.content;
117
+ const parts = content.parts;
118
+ result.content = { ...content, parts: parts.map(normalizeEventPart) };
119
+ }
120
+ return result;
121
+ };
122
+ // ── Accumulator ──
123
+ export class AdkEventAccumulator {
124
+ messagesMap = new Map();
125
+ currentMessageId = null;
126
+ partialTextBuffer = "";
127
+ partialReasoningBuffer = "";
128
+ accumulatedStateDelta = {};
129
+ accumulatedArtifactDelta = {};
130
+ lastAgentInfo = {};
131
+ lastTransferToAgent;
132
+ pendingLongRunningToolIds = [];
133
+ toolConfirmations = [];
134
+ authRequests = [];
135
+ escalated = false;
136
+ messageMetadataMap = new Map();
137
+ constructor(initialMessages) {
138
+ if (initialMessages) {
139
+ for (const msg of initialMessages) {
140
+ this.messagesMap.set(msg.id, msg);
141
+ }
142
+ }
143
+ }
144
+ processEvent(rawEvent) {
145
+ const event = normalizeEvent(rawEvent);
146
+ // Accumulate state delta
147
+ if (event.actions?.stateDelta) {
148
+ Object.assign(this.accumulatedStateDelta, event.actions.stateDelta);
149
+ }
150
+ // Accumulate artifact delta
151
+ if (event.actions?.artifactDelta) {
152
+ Object.assign(this.accumulatedArtifactDelta, event.actions.artifactDelta);
153
+ }
154
+ // Track escalation
155
+ if (event.actions?.escalate) {
156
+ this.escalated = true;
157
+ }
158
+ // Track agent transfer
159
+ if (event.actions?.transferToAgent) {
160
+ this.lastTransferToAgent = event.actions.transferToAgent;
161
+ }
162
+ // Track long-running tool IDs
163
+ if (event.longRunningToolIds?.length) {
164
+ this.pendingLongRunningToolIds = event.longRunningToolIds;
165
+ }
166
+ // Track tool confirmations from actions
167
+ if (event.actions?.requestedToolConfirmations) {
168
+ for (const [tcId, conf] of Object.entries(event.actions.requestedToolConfirmations)) {
169
+ const c = conf;
170
+ this.toolConfirmations.push({
171
+ toolCallId: tcId,
172
+ toolName: "",
173
+ args: {},
174
+ hint: c.hint ?? "",
175
+ confirmed: false,
176
+ payload: c.payload,
177
+ });
178
+ }
179
+ }
180
+ // Track auth requests from actions
181
+ if (event.actions?.requestedAuthConfigs) {
182
+ for (const [tcId, authConf] of Object.entries(event.actions.requestedAuthConfigs)) {
183
+ this.authRequests.push({ toolCallId: tcId, authConfig: authConf });
184
+ }
185
+ }
186
+ // Track agent info
187
+ if (event.author && event.author !== "user") {
188
+ this.lastAgentInfo = {
189
+ name: event.author ?? undefined,
190
+ branch: event.branch ?? undefined,
191
+ };
192
+ }
193
+ // Handle interrupted events
194
+ if (event.interrupted) {
195
+ if (this.currentMessageId) {
196
+ const msg = this.messagesMap.get(this.currentMessageId);
197
+ if (msg && msg.type === "ai" && !msg.status) {
198
+ const updated = {
199
+ ...msg,
200
+ content: [...this.getContentArray(msg)],
201
+ status: { type: "incomplete", reason: "cancelled" },
202
+ };
203
+ this.messagesMap.set(updated.id, updated);
204
+ }
205
+ }
206
+ this.finalizeCurrentMessage();
207
+ return this.getMessages();
208
+ }
209
+ // Handle error events
210
+ if (event.errorCode || event.errorMessage) {
211
+ this.finalizeCurrentMessage();
212
+ const errorMsg = this.getOrCreateAiMessage(event);
213
+ const errorText = event.errorMessage ?? event.errorCode ?? "Unknown error";
214
+ const updated = {
215
+ ...errorMsg,
216
+ content: [
217
+ ...this.getContentArray(errorMsg),
218
+ { type: "text", text: errorText },
219
+ ],
220
+ status: { type: "incomplete", reason: "error", error: errorText },
221
+ };
222
+ this.messagesMap.set(updated.id, updated);
223
+ this.currentMessageId = null;
224
+ return this.getMessages();
225
+ }
226
+ const parts = event.content?.parts;
227
+ if (!parts?.length) {
228
+ // Track metadata even for content-less events (e.g. turnComplete)
229
+ this.trackMessageMetadata(event);
230
+ return this.getMessages();
231
+ }
232
+ // If author changed, finalize previous message
233
+ if (this.currentMessageId && event.author && event.author !== "user") {
234
+ const current = this.messagesMap.get(this.currentMessageId);
235
+ if (current && current.type === "ai" && current.author !== event.author) {
236
+ this.finalizeCurrentMessage();
237
+ }
238
+ }
239
+ for (const part of parts) {
240
+ this.processPart(part, event);
241
+ }
242
+ // Track per-message metadata (grounding, citation, usage)
243
+ this.trackMessageMetadata(event);
244
+ // Check isFinalResponse (can be true even for partial events via skipSummarization/longRunningToolIds)
245
+ if (isFinalResponse(event) && this.currentMessageId) {
246
+ const msg = this.messagesMap.get(this.currentMessageId);
247
+ if (msg && msg.type === "ai" && !msg.status) {
248
+ const status = finishReasonToStatus(event.finishReason);
249
+ const updated = {
250
+ ...msg,
251
+ content: [...this.getContentArray(msg)],
252
+ status,
253
+ };
254
+ this.messagesMap.set(updated.id, updated);
255
+ }
256
+ }
257
+ // Non-partial event finalizes the current message
258
+ if (!event.partial || isFinalResponse(event)) {
259
+ this.finalizeCurrentMessage();
260
+ }
261
+ return this.getMessages();
262
+ }
263
+ processPart(part, event) {
264
+ // Detect special ADK function calls
265
+ if (part.functionCall) {
266
+ const name = part.functionCall.name;
267
+ // Tool confirmation request
268
+ if (name === ADK_REQUEST_CONFIRMATION) {
269
+ const callArgs = part.functionCall.args;
270
+ // ADK JS: args keys are "originalFunctionCall" and "toolConfirmation"
271
+ // ADK Python: args keys are "original_function_call" and "tool_confirmation"
272
+ const original = callArgs.originalFunctionCall ??
273
+ callArgs.original_function_call;
274
+ const conf = callArgs.toolConfirmation ??
275
+ callArgs.tool_confirmation;
276
+ this.toolConfirmations.push({
277
+ toolCallId: part.functionCall.id ?? "",
278
+ toolName: original?.name ?? "",
279
+ args: original?.args ?? {},
280
+ hint: conf?.hint ?? "",
281
+ confirmed: false,
282
+ payload: conf?.payload,
283
+ });
284
+ }
285
+ // Auth credential request
286
+ if (name === ADK_REQUEST_CREDENTIAL) {
287
+ const credArgs = part.functionCall.args;
288
+ // ADK JS: args keys are "function_call_id" and "auth_config"
289
+ const originalToolCallId = credArgs.function_call_id ?? part.functionCall.id ?? "";
290
+ const authConfig = credArgs.auth_config ?? credArgs;
291
+ this.authRequests.push({
292
+ toolCallId: originalToolCallId,
293
+ authConfig,
294
+ });
295
+ }
296
+ }
297
+ // Text with thought=true → reasoning (accumulated)
298
+ if (part.text != null && part.thought) {
299
+ const msg = this.getOrCreateAiMessage(event);
300
+ if (event.partial) {
301
+ this.partialReasoningBuffer += part.text;
302
+ this.replaceLastReasoningContent(msg, this.partialReasoningBuffer);
303
+ }
304
+ else {
305
+ this.partialReasoningBuffer = "";
306
+ this.replaceLastReasoningContent(msg, part.text);
307
+ }
308
+ return;
309
+ }
310
+ // Regular text
311
+ if (part.text != null) {
312
+ const msg = this.getOrCreateAiMessage(event);
313
+ if (event.partial) {
314
+ this.partialTextBuffer += part.text;
315
+ this.replaceLastTextContent(msg, this.partialTextBuffer);
316
+ }
317
+ else {
318
+ this.partialTextBuffer = "";
319
+ this.replaceLastTextContent(msg, part.text);
320
+ }
321
+ return;
322
+ }
323
+ // Function call (including special ones above — still create tool-call parts)
324
+ if (part.functionCall) {
325
+ const msg = this.getOrCreateAiMessage(event);
326
+ const toolCall = {
327
+ id: part.functionCall.id ?? uuidv4(),
328
+ name: part.functionCall.name,
329
+ args: part.functionCall.args,
330
+ argsText: JSON.stringify(part.functionCall.args),
331
+ };
332
+ const existing = [...(msg.tool_calls ?? [])];
333
+ const idx = existing.findIndex((tc) => tc.id === toolCall.id);
334
+ if (idx >= 0) {
335
+ existing[idx] = toolCall;
336
+ }
337
+ else {
338
+ existing.push(toolCall);
339
+ }
340
+ const updated = {
341
+ ...msg,
342
+ content: [...this.getContentArray(msg)],
343
+ tool_calls: existing,
344
+ };
345
+ this.messagesMap.set(updated.id, updated);
346
+ return;
347
+ }
348
+ // Function response → tool message
349
+ if (part.functionResponse) {
350
+ this.finalizeCurrentMessage();
351
+ const toolMsg = {
352
+ id: uuidv4(),
353
+ type: "tool",
354
+ tool_call_id: part.functionResponse.id ?? "",
355
+ name: part.functionResponse.name,
356
+ content: JSON.stringify(part.functionResponse.response),
357
+ status: "success",
358
+ };
359
+ this.messagesMap.set(toolMsg.id, toolMsg);
360
+ return;
361
+ }
362
+ // Executable code
363
+ if (part.executableCode) {
364
+ const msg = this.getOrCreateAiMessage(event);
365
+ this.appendContent(msg, {
366
+ type: "code",
367
+ code: part.executableCode.code,
368
+ language: part.executableCode.language ?? "python",
369
+ });
370
+ return;
371
+ }
372
+ // Code execution result
373
+ if (part.codeExecutionResult) {
374
+ const msg = this.getOrCreateAiMessage(event);
375
+ this.appendContent(msg, {
376
+ type: "code_result",
377
+ output: part.codeExecutionResult.output,
378
+ outcome: part.codeExecutionResult.outcome ?? "OUTCOME_OK",
379
+ });
380
+ return;
381
+ }
382
+ // Inline data (images etc)
383
+ if (part.inlineData) {
384
+ const msg = this.getOrCreateAiMessage(event);
385
+ this.appendContent(msg, {
386
+ type: "image",
387
+ mimeType: part.inlineData.mimeType,
388
+ data: part.inlineData.data,
389
+ });
390
+ return;
391
+ }
392
+ // File data (URI reference)
393
+ if (part.fileData) {
394
+ const msg = this.getOrCreateAiMessage(event);
395
+ this.appendContent(msg, {
396
+ type: "image_url",
397
+ url: part.fileData.fileUri,
398
+ });
399
+ }
400
+ }
401
+ trackMessageMetadata(event) {
402
+ if (!this.currentMessageId ||
403
+ (!event.groundingMetadata &&
404
+ !event.citationMetadata &&
405
+ !event.usageMetadata))
406
+ return;
407
+ const existing = this.messageMetadataMap.get(this.currentMessageId) ?? {};
408
+ const updated = { ...existing };
409
+ if (event.groundingMetadata)
410
+ updated.groundingMetadata = event.groundingMetadata;
411
+ if (event.citationMetadata)
412
+ updated.citationMetadata = event.citationMetadata;
413
+ if (event.usageMetadata)
414
+ updated.usageMetadata = event.usageMetadata;
415
+ this.messageMetadataMap.set(this.currentMessageId, updated);
416
+ }
417
+ getContentArray(msg) {
418
+ return Array.isArray(msg.content)
419
+ ? msg.content
420
+ : [];
421
+ }
422
+ getOrCreateAiMessage(event) {
423
+ if (this.currentMessageId) {
424
+ const existing = this.messagesMap.get(this.currentMessageId);
425
+ if (existing && existing.type === "ai") {
426
+ return existing;
427
+ }
428
+ }
429
+ const id = uuidv4();
430
+ const msg = {
431
+ id,
432
+ type: "ai",
433
+ content: [],
434
+ ...(event.author != null && { author: event.author }),
435
+ ...(event.branch != null && { branch: event.branch }),
436
+ };
437
+ this.messagesMap.set(id, msg);
438
+ this.currentMessageId = id;
439
+ this.partialTextBuffer = "";
440
+ this.partialReasoningBuffer = "";
441
+ return msg;
442
+ }
443
+ appendContent(msg, part) {
444
+ const content = [...this.getContentArray(msg), part];
445
+ const updated = { ...msg, content };
446
+ this.messagesMap.set(updated.id, updated);
447
+ }
448
+ replaceLastTextContent(msg, text) {
449
+ const content = [...this.getContentArray(msg)];
450
+ const lastTextIdx = content.findLastIndex((p) => p.type === "text");
451
+ if (lastTextIdx >= 0) {
452
+ content[lastTextIdx] = { type: "text", text };
453
+ }
454
+ else {
455
+ content.push({ type: "text", text });
456
+ }
457
+ const updated = { ...msg, content };
458
+ this.messagesMap.set(updated.id, updated);
459
+ }
460
+ replaceLastReasoningContent(msg, text) {
461
+ const content = [...this.getContentArray(msg)];
462
+ const lastIdx = content.findLastIndex((p) => p.type === "reasoning");
463
+ if (lastIdx >= 0) {
464
+ content[lastIdx] = { type: "reasoning", text };
465
+ }
466
+ else {
467
+ content.push({ type: "reasoning", text });
468
+ }
469
+ const updated = { ...msg, content };
470
+ this.messagesMap.set(updated.id, updated);
471
+ }
472
+ finalizeCurrentMessage() {
473
+ this.partialTextBuffer = "";
474
+ this.partialReasoningBuffer = "";
475
+ this.currentMessageId = null;
476
+ }
477
+ getMessages() {
478
+ return [...this.messagesMap.values()];
479
+ }
480
+ getStateDelta() {
481
+ return { ...this.accumulatedStateDelta };
482
+ }
483
+ getArtifactDelta() {
484
+ return { ...this.accumulatedArtifactDelta };
485
+ }
486
+ getAgentInfo() {
487
+ return { ...this.lastAgentInfo };
488
+ }
489
+ getLastTransferToAgent() {
490
+ return this.lastTransferToAgent;
491
+ }
492
+ getLongRunningToolIds() {
493
+ return [...this.pendingLongRunningToolIds];
494
+ }
495
+ getToolConfirmations() {
496
+ return [...this.toolConfirmations];
497
+ }
498
+ getAuthRequests() {
499
+ return [...this.authRequests];
500
+ }
501
+ isEscalated() {
502
+ return this.escalated;
503
+ }
504
+ getMessageMetadata() {
505
+ return new Map(this.messageMetadataMap);
506
+ }
507
+ }
508
+ //# sourceMappingURL=AdkEventAccumulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdkEventAccumulator.js","sourceRoot":"","sources":["../src/AdkEventAccumulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { RemoteThreadListAdapter } from "@assistant-ui/core";
2
+ import type { AdkMessage } from "./types.js";
3
+ export type AdkSessionAdapterOptions = {
4
+ /**
5
+ * ADK server base URL (e.g. "http://localhost:8000").
6
+ */
7
+ apiUrl: string;
8
+ /**
9
+ * ADK application name.
10
+ */
11
+ appName: string;
12
+ /**
13
+ * ADK user ID.
14
+ */
15
+ userId: string;
16
+ /**
17
+ * Extra headers for API requests.
18
+ */
19
+ headers?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>) | undefined;
20
+ };
21
+ export type AdkArtifactData = {
22
+ inlineData?: {
23
+ mimeType: string;
24
+ data: string;
25
+ } | undefined;
26
+ text?: string | undefined;
27
+ };
28
+ type AdkSessionAdapterResult = {
29
+ adapter: RemoteThreadListAdapter;
30
+ load: (sessionId: string) => Promise<{
31
+ messages: AdkMessage[];
32
+ }>;
33
+ artifacts: {
34
+ list: (sessionId: string) => Promise<string[]>;
35
+ load: (sessionId: string, artifactName: string, version?: number) => Promise<AdkArtifactData>;
36
+ listVersions: (sessionId: string, artifactName: string) => Promise<number[]>;
37
+ delete: (sessionId: string, artifactName: string) => Promise<void>;
38
+ };
39
+ };
40
+ /**
41
+ * Creates a `RemoteThreadListAdapter` backed by ADK's session REST API,
42
+ * plus a `load` function that reconstructs messages from session events.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const { adapter, load } = createAdkSessionAdapter({
47
+ * apiUrl: "http://localhost:8000",
48
+ * appName: "my-app",
49
+ * userId: "user-1",
50
+ * });
51
+ *
52
+ * const runtime = useAdkRuntime({
53
+ * stream: createAdkStream({ ... }),
54
+ * sessionAdapter: adapter,
55
+ * load,
56
+ * });
57
+ * ```
58
+ */
59
+ export declare function createAdkSessionAdapter(options: AdkSessionAdapterOptions): AdkSessionAdapterResult;
60
+ export {};
61
+ //# sourceMappingURL=AdkSessionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdkSessionAdapter.d.ts","sourceRoot":"","sources":["../src/AdkSessionAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAY,UAAU,EAAE,mBAAgB;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChE,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IACjE,SAAS,EAAE;QACT,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,EAAE,CACJ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9B,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACpE,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,CAqKzB"}