@google/adk 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/cjs/a2a/a2a_event.js +290 -0
  2. package/dist/cjs/a2a/event_converter_utils.js +201 -0
  3. package/dist/cjs/a2a/executor_context.js +53 -0
  4. package/dist/cjs/a2a/metadata_converter_utils.js +125 -0
  5. package/dist/cjs/a2a/part_converter_utils.js +23 -21
  6. package/dist/cjs/agents/base_agent.js +3 -3
  7. package/dist/cjs/{tools/tool_context.js → agents/context.js} +70 -15
  8. package/dist/cjs/agents/functions.js +2 -2
  9. package/dist/cjs/agents/llm_agent.js +21 -674
  10. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +132 -0
  11. package/dist/cjs/agents/processors/basic_llm_request_processor.js +68 -0
  12. package/dist/cjs/agents/processors/code_execution_request_processor.js +389 -0
  13. package/dist/cjs/agents/processors/content_request_processor.js +66 -0
  14. package/dist/cjs/agents/processors/identity_llm_request_processor.js +54 -0
  15. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +85 -0
  16. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +165 -0
  17. package/dist/cjs/common.js +11 -7
  18. package/dist/cjs/index.js +89 -53
  19. package/dist/cjs/index.js.map +7 -0
  20. package/dist/cjs/models/llm_response.js +2 -0
  21. package/dist/cjs/plugins/base_plugin.js +1 -1
  22. package/dist/cjs/runner/runner.js +1 -1
  23. package/dist/cjs/sessions/database_session_service.js +4 -1
  24. package/dist/cjs/sessions/db/operations.js +24 -12
  25. package/dist/cjs/tools/base_tool.js +3 -0
  26. package/dist/cjs/tools/base_toolset.js +13 -3
  27. package/dist/cjs/tools/exit_loop_tool.js +63 -0
  28. package/dist/cjs/tools/mcp/mcp_toolset.js +9 -5
  29. package/dist/cjs/utils/logger.js +61 -54
  30. package/dist/cjs/version.js +1 -1
  31. package/dist/esm/a2a/a2a_event.js +243 -0
  32. package/dist/esm/a2a/event_converter_utils.js +187 -0
  33. package/dist/esm/a2a/executor_context.js +23 -0
  34. package/dist/esm/a2a/metadata_converter_utils.js +90 -0
  35. package/dist/esm/a2a/part_converter_utils.js +25 -21
  36. package/dist/esm/agents/base_agent.js +3 -3
  37. package/dist/esm/{tools/tool_context.js → agents/context.js} +66 -11
  38. package/dist/esm/agents/functions.js +2 -2
  39. package/dist/esm/agents/llm_agent.js +14 -683
  40. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +101 -0
  41. package/dist/esm/agents/processors/basic_llm_request_processor.js +37 -0
  42. package/dist/esm/agents/processors/code_execution_request_processor.js +363 -0
  43. package/dist/esm/agents/processors/content_request_processor.js +38 -0
  44. package/dist/esm/agents/processors/identity_llm_request_processor.js +23 -0
  45. package/dist/esm/agents/processors/instructions_llm_request_processor.js +54 -0
  46. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +140 -0
  47. package/dist/esm/common.js +11 -9
  48. package/dist/esm/index.js +95 -18
  49. package/dist/esm/index.js.map +7 -0
  50. package/dist/esm/models/llm_response.js +2 -0
  51. package/dist/esm/plugins/base_plugin.js +1 -1
  52. package/dist/esm/runner/runner.js +1 -1
  53. package/dist/esm/sessions/database_session_service.js +4 -1
  54. package/dist/esm/sessions/db/operations.js +31 -7
  55. package/dist/esm/tools/base_tool.js +3 -0
  56. package/dist/esm/tools/base_toolset.js +11 -2
  57. package/dist/esm/tools/exit_loop_tool.js +32 -0
  58. package/dist/esm/tools/mcp/mcp_toolset.js +9 -5
  59. package/dist/esm/utils/logger.js +51 -54
  60. package/dist/esm/version.js +1 -1
  61. package/dist/types/a2a/a2a_event.d.ts +122 -0
  62. package/dist/types/a2a/event_converter_utils.d.ts +20 -0
  63. package/dist/types/a2a/executor_context.d.ts +33 -0
  64. package/dist/types/a2a/metadata_converter_utils.d.ts +62 -0
  65. package/dist/types/a2a/part_converter_utils.d.ts +4 -3
  66. package/dist/types/agents/base_agent.d.ts +2 -2
  67. package/dist/types/{tools/tool_context.d.ts → agents/context.d.ts} +43 -8
  68. package/dist/types/agents/llm_agent.d.ts +8 -31
  69. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +18 -0
  70. package/dist/types/agents/{base_llm_processor.d.ts → processors/base_llm_processor.d.ts} +4 -4
  71. package/dist/types/agents/processors/basic_llm_request_processor.d.ts +13 -0
  72. package/dist/types/agents/processors/code_execution_request_processor.d.ts +34 -0
  73. package/dist/types/agents/processors/content_request_processor.d.ts +13 -0
  74. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +13 -0
  75. package/dist/types/agents/processors/instructions_llm_request_processor.d.ts +16 -0
  76. package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +13 -0
  77. package/dist/types/auth/credential_service/base_credential_service.d.ts +3 -3
  78. package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +3 -3
  79. package/dist/types/common.d.ts +4 -4
  80. package/dist/types/models/llm_response.d.ts +5 -1
  81. package/dist/types/plugins/base_plugin.d.ts +12 -13
  82. package/dist/types/plugins/logging_plugin.d.ts +9 -10
  83. package/dist/types/plugins/plugin_manager.d.ts +9 -10
  84. package/dist/types/plugins/security_plugin.d.ts +2 -2
  85. package/dist/types/sessions/database_session_service.d.ts +2 -1
  86. package/dist/types/sessions/db/operations.d.ts +1 -1
  87. package/dist/types/tools/base_tool.d.ts +3 -3
  88. package/dist/types/tools/base_toolset.d.ts +12 -3
  89. package/dist/types/tools/exit_loop_tool.d.ts +24 -0
  90. package/dist/types/tools/forwarding_artifact_service.d.ts +2 -2
  91. package/dist/types/tools/function_tool.d.ts +2 -2
  92. package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
  93. package/dist/types/utils/logger.d.ts +5 -9
  94. package/dist/types/version.d.ts +1 -1
  95. package/dist/web/a2a/a2a_event.js +243 -0
  96. package/dist/web/a2a/event_converter_utils.js +201 -0
  97. package/dist/web/a2a/executor_context.js +23 -0
  98. package/dist/web/a2a/metadata_converter_utils.js +107 -0
  99. package/dist/web/a2a/part_converter_utils.js +25 -21
  100. package/dist/web/agents/base_agent.js +3 -3
  101. package/dist/web/{tools/tool_context.js → agents/context.js} +66 -11
  102. package/dist/web/agents/functions.js +2 -2
  103. package/dist/web/agents/llm_agent.js +14 -661
  104. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +100 -0
  105. package/dist/web/agents/processors/basic_llm_request_processor.js +71 -0
  106. package/dist/web/agents/processors/code_execution_request_processor.js +365 -0
  107. package/dist/web/agents/processors/content_request_processor.js +56 -0
  108. package/dist/web/agents/processors/identity_llm_request_processor.js +41 -0
  109. package/dist/web/agents/processors/instructions_llm_request_processor.js +72 -0
  110. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +158 -0
  111. package/dist/web/common.js +11 -9
  112. package/dist/web/index.js +13 -18
  113. package/dist/web/index.js.map +7 -0
  114. package/dist/web/models/llm_response.js +2 -0
  115. package/dist/web/plugins/base_plugin.js +1 -1
  116. package/dist/web/runner/runner.js +1 -1
  117. package/dist/web/sessions/database_session_service.js +4 -1
  118. package/dist/web/sessions/db/operations.js +31 -7
  119. package/dist/web/tools/base_tool.js +3 -0
  120. package/dist/web/tools/base_toolset.js +11 -2
  121. package/dist/web/tools/exit_loop_tool.js +32 -0
  122. package/dist/web/tools/mcp/mcp_toolset.js +27 -5
  123. package/dist/web/utils/logger.js +51 -54
  124. package/dist/web/version.js +1 -1
  125. package/package.json +3 -2
  126. package/dist/cjs/agents/callback_context.js +0 -101
  127. package/dist/esm/agents/callback_context.js +0 -71
  128. package/dist/types/agents/callback_context.d.ts +0 -42
  129. package/dist/web/agents/callback_context.js +0 -71
  130. /package/dist/cjs/agents/{base_llm_processor.js → processors/base_llm_processor.js} +0 -0
  131. /package/dist/esm/agents/{base_llm_processor.js → processors/base_llm_processor.js} +0 -0
  132. /package/dist/web/agents/{base_llm_processor.js → processors/base_llm_processor.js} +0 -0
@@ -0,0 +1,290 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var a2a_event_exports = {};
26
+ __export(a2a_event_exports, {
27
+ MessageRole: () => MessageRole,
28
+ createInputMissingErrorEvent: () => createInputMissingErrorEvent,
29
+ createTask: () => createTask,
30
+ createTaskArtifactUpdateEvent: () => createTaskArtifactUpdateEvent,
31
+ createTaskCompletedEvent: () => createTaskCompletedEvent,
32
+ createTaskFailedEvent: () => createTaskFailedEvent,
33
+ createTaskInputRequiredEvent: () => createTaskInputRequiredEvent,
34
+ createTaskSubmittedEvent: () => createTaskSubmittedEvent,
35
+ createTaskWorkingEvent: () => createTaskWorkingEvent,
36
+ getEventMetadata: () => getEventMetadata,
37
+ getFailedTaskStatusUpdateEventError: () => getFailedTaskStatusUpdateEventError,
38
+ isFailedTaskStatusUpdateEvent: () => isFailedTaskStatusUpdateEvent,
39
+ isInputRequiredTaskStatusUpdateEvent: () => isInputRequiredTaskStatusUpdateEvent,
40
+ isMessage: () => isMessage,
41
+ isTask: () => isTask,
42
+ isTaskArtifactUpdateEvent: () => isTaskArtifactUpdateEvent,
43
+ isTaskStatusUpdateEvent: () => isTaskStatusUpdateEvent,
44
+ isTerminalTaskStatusUpdateEvent: () => isTerminalTaskStatusUpdateEvent
45
+ });
46
+ module.exports = __toCommonJS(a2a_event_exports);
47
+ var import_env_aware_utils = require("../utils/env_aware_utils.js");
48
+ /**
49
+ * @license
50
+ * Copyright 2026 Google LLC
51
+ * SPDX-License-Identifier: Apache-2.0
52
+ */
53
+ var MessageRole = /* @__PURE__ */ ((MessageRole2) => {
54
+ MessageRole2["USER"] = "user";
55
+ MessageRole2["AGENT"] = "agent";
56
+ return MessageRole2;
57
+ })(MessageRole || {});
58
+ function isTaskStatusUpdateEvent(event) {
59
+ return (event == null ? void 0 : event.kind) === "status-update";
60
+ }
61
+ function isTaskArtifactUpdateEvent(event) {
62
+ return (event == null ? void 0 : event.kind) === "artifact-update";
63
+ }
64
+ function isMessage(event) {
65
+ return (event == null ? void 0 : event.kind) === "message";
66
+ }
67
+ function isTask(event) {
68
+ return (event == null ? void 0 : event.kind) === "task";
69
+ }
70
+ function getEventMetadata(event) {
71
+ if (isTaskArtifactUpdateEvent(event)) {
72
+ return event.artifact.metadata || {};
73
+ }
74
+ if (isTaskStatusUpdateEvent(event) || isTask(event) || isMessage(event)) {
75
+ return event.metadata || {};
76
+ }
77
+ return {};
78
+ }
79
+ function isFailedTaskStatusUpdateEvent(event) {
80
+ return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "failed";
81
+ }
82
+ function isTerminalTaskStatusUpdateEvent(event) {
83
+ return (isTaskStatusUpdateEvent(event) || isTask(event)) && ["completed", "failed", "canceled", "rejected"].includes(event.status.state);
84
+ }
85
+ function isInputRequiredTaskStatusUpdateEvent(event) {
86
+ return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "input-required";
87
+ }
88
+ function getFailedTaskStatusUpdateEventError(event) {
89
+ var _a;
90
+ if (!isFailedTaskStatusUpdateEvent(event)) {
91
+ return void 0;
92
+ }
93
+ const parts = ((_a = event.status.message) == null ? void 0 : _a.parts) || [];
94
+ if (parts.length === 0) {
95
+ return void 0;
96
+ }
97
+ if (parts[0].kind !== "text") {
98
+ return void 0;
99
+ }
100
+ return parts[0].text;
101
+ }
102
+ function createTaskSubmittedEvent({
103
+ taskId,
104
+ contextId,
105
+ message
106
+ }) {
107
+ return {
108
+ kind: "status-update",
109
+ taskId,
110
+ contextId,
111
+ final: false,
112
+ status: {
113
+ state: "submitted",
114
+ message,
115
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
116
+ }
117
+ };
118
+ }
119
+ function createTask({
120
+ contextId,
121
+ message,
122
+ taskId
123
+ }) {
124
+ return {
125
+ kind: "task",
126
+ id: taskId || (0, import_env_aware_utils.randomUUID)(),
127
+ contextId,
128
+ history: [message],
129
+ status: {
130
+ state: "submitted",
131
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
132
+ }
133
+ };
134
+ }
135
+ function createTaskWorkingEvent({
136
+ taskId,
137
+ contextId,
138
+ message
139
+ }) {
140
+ return {
141
+ kind: "status-update",
142
+ taskId,
143
+ contextId,
144
+ final: false,
145
+ status: {
146
+ state: "working",
147
+ message,
148
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
149
+ }
150
+ };
151
+ }
152
+ function createTaskCompletedEvent({
153
+ taskId,
154
+ contextId,
155
+ metadata = {}
156
+ }) {
157
+ return {
158
+ kind: "status-update",
159
+ taskId,
160
+ contextId,
161
+ final: true,
162
+ status: {
163
+ state: "completed",
164
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
165
+ },
166
+ metadata
167
+ };
168
+ }
169
+ function createTaskArtifactUpdateEvent({
170
+ taskId,
171
+ contextId,
172
+ artifactId,
173
+ parts = [],
174
+ metadata,
175
+ append,
176
+ lastChunk
177
+ }) {
178
+ return {
179
+ kind: "artifact-update",
180
+ taskId,
181
+ contextId,
182
+ append,
183
+ lastChunk,
184
+ artifact: {
185
+ artifactId: artifactId || (0, import_env_aware_utils.randomUUID)(),
186
+ parts,
187
+ metadata
188
+ }
189
+ };
190
+ }
191
+ function createTaskFailedEvent({
192
+ taskId,
193
+ contextId,
194
+ error,
195
+ metadata
196
+ }) {
197
+ return {
198
+ kind: "status-update",
199
+ taskId,
200
+ contextId,
201
+ status: {
202
+ state: "failed",
203
+ message: {
204
+ kind: "message",
205
+ messageId: (0, import_env_aware_utils.randomUUID)(),
206
+ role: "agent",
207
+ taskId,
208
+ contextId,
209
+ parts: [
210
+ {
211
+ kind: "text",
212
+ text: error.message
213
+ }
214
+ ]
215
+ },
216
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
217
+ },
218
+ metadata,
219
+ final: true
220
+ };
221
+ }
222
+ function createTaskInputRequiredEvent({
223
+ taskId,
224
+ contextId,
225
+ parts
226
+ }) {
227
+ return {
228
+ kind: "status-update",
229
+ taskId,
230
+ contextId,
231
+ final: true,
232
+ status: {
233
+ state: "input-required",
234
+ message: {
235
+ kind: "message",
236
+ messageId: (0, import_env_aware_utils.randomUUID)(),
237
+ role: "agent",
238
+ taskId,
239
+ contextId,
240
+ parts
241
+ },
242
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
243
+ }
244
+ };
245
+ }
246
+ function createInputMissingErrorEvent({
247
+ taskId,
248
+ contextId,
249
+ parts
250
+ }) {
251
+ return {
252
+ kind: "status-update",
253
+ taskId,
254
+ contextId,
255
+ final: true,
256
+ status: {
257
+ state: "input-required",
258
+ message: {
259
+ kind: "message",
260
+ messageId: (0, import_env_aware_utils.randomUUID)(),
261
+ role: "agent",
262
+ taskId,
263
+ contextId,
264
+ parts
265
+ },
266
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
267
+ }
268
+ };
269
+ }
270
+ // Annotate the CommonJS export names for ESM import in node:
271
+ 0 && (module.exports = {
272
+ MessageRole,
273
+ createInputMissingErrorEvent,
274
+ createTask,
275
+ createTaskArtifactUpdateEvent,
276
+ createTaskCompletedEvent,
277
+ createTaskFailedEvent,
278
+ createTaskInputRequiredEvent,
279
+ createTaskSubmittedEvent,
280
+ createTaskWorkingEvent,
281
+ getEventMetadata,
282
+ getFailedTaskStatusUpdateEventError,
283
+ isFailedTaskStatusUpdateEvent,
284
+ isInputRequiredTaskStatusUpdateEvent,
285
+ isMessage,
286
+ isTask,
287
+ isTaskArtifactUpdateEvent,
288
+ isTaskStatusUpdateEvent,
289
+ isTerminalTaskStatusUpdateEvent
290
+ });
@@ -0,0 +1,201 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var event_converter_utils_exports = {};
26
+ __export(event_converter_utils_exports, {
27
+ toA2AMessage: () => toA2AMessage,
28
+ toAdkEvent: () => toAdkEvent
29
+ });
30
+ module.exports = __toCommonJS(event_converter_utils_exports);
31
+ var import_genai = require("@google/genai");
32
+ var import_event = require("../events/event.js");
33
+ var import_event_actions = require("../events/event_actions.js");
34
+ var import_env_aware_utils = require("../utils/env_aware_utils.js");
35
+ var import_a2a_event = require("./a2a_event.js");
36
+ var import_metadata_converter_utils = require("./metadata_converter_utils.js");
37
+ var import_part_converter_utils = require("./part_converter_utils.js");
38
+ /**
39
+ * @license
40
+ * Copyright 2026 Google LLC
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
43
+ function toA2AMessage(event, {
44
+ appName,
45
+ userId,
46
+ sessionId
47
+ }) {
48
+ var _a;
49
+ return {
50
+ kind: "message",
51
+ messageId: (0, import_env_aware_utils.randomUUID)(),
52
+ role: event.author === import_a2a_event.MessageRole.USER ? import_a2a_event.MessageRole.USER : import_a2a_event.MessageRole.AGENT,
53
+ parts: (0, import_part_converter_utils.toA2AParts)(((_a = event.content) == null ? void 0 : _a.parts) || [], event.longRunningToolIds),
54
+ metadata: (0, import_metadata_converter_utils.getA2AEventMetadata)(event, { appName, userId, sessionId })
55
+ };
56
+ }
57
+ function toAdkEvent(event, invocationId, agentName) {
58
+ if ((0, import_a2a_event.isMessage)(event)) {
59
+ return messageToAdkEvent(event, invocationId, agentName);
60
+ }
61
+ if ((0, import_a2a_event.isTask)(event)) {
62
+ return taskToAdkEvent(event, invocationId, agentName);
63
+ }
64
+ if ((0, import_a2a_event.isTaskArtifactUpdateEvent)(event)) {
65
+ return artifactUpdateToAdkEvent(event, invocationId, agentName);
66
+ }
67
+ if ((0, import_a2a_event.isTaskStatusUpdateEvent)(event)) {
68
+ return event.final ? finalTaskStatusUpdateToAdkEvent(event, invocationId, agentName) : taskStatusUpdateToAdkEvent(event, invocationId, agentName);
69
+ }
70
+ return void 0;
71
+ }
72
+ function messageToAdkEvent(msg, invocationId, agentName, parentEvent) {
73
+ const parts = (0, import_part_converter_utils.toGenAIParts)(msg.parts);
74
+ return {
75
+ ...createAdkEventFromMetadata(parentEvent || msg),
76
+ invocationId,
77
+ author: msg.role === import_a2a_event.MessageRole.USER ? import_a2a_event.MessageRole.USER : agentName,
78
+ content: msg.role === import_a2a_event.MessageRole.USER ? (0, import_genai.createUserContent)(parts) : (0, import_genai.createModelContent)(parts),
79
+ turnComplete: true,
80
+ partial: false
81
+ };
82
+ }
83
+ function artifactUpdateToAdkEvent(a2aEvent, invocationId, agentName) {
84
+ var _a;
85
+ const partsToConvert = ((_a = a2aEvent.artifact) == null ? void 0 : _a.parts) || [];
86
+ if (partsToConvert.length === 0) {
87
+ return void 0;
88
+ }
89
+ const partial = !!(0, import_a2a_event.getEventMetadata)(a2aEvent)[import_metadata_converter_utils.A2AMetadataKeys.PARTIAL] || a2aEvent.append || !a2aEvent.lastChunk;
90
+ return {
91
+ ...createAdkEventFromMetadata(a2aEvent),
92
+ invocationId,
93
+ author: agentName,
94
+ content: (0, import_genai.createModelContent)((0, import_part_converter_utils.toGenAIParts)(partsToConvert)),
95
+ longRunningToolIds: getLongRunningToolIDs(partsToConvert),
96
+ partial
97
+ };
98
+ }
99
+ function finalTaskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName) {
100
+ var _a;
101
+ const partsToConvert = ((_a = a2aEvent.status.message) == null ? void 0 : _a.parts) || [];
102
+ if (partsToConvert.length === 0) {
103
+ return void 0;
104
+ }
105
+ const parts = (0, import_part_converter_utils.toGenAIParts)(partsToConvert);
106
+ const isFailedTask = (0, import_a2a_event.isFailedTaskStatusUpdateEvent)(a2aEvent);
107
+ const hasContent = !isFailedTask && parts.length > 0;
108
+ return {
109
+ ...createAdkEventFromMetadata(a2aEvent),
110
+ invocationId,
111
+ author: agentName,
112
+ errorMessage: isFailedTask ? (0, import_a2a_event.getFailedTaskStatusUpdateEventError)(a2aEvent) : void 0,
113
+ content: hasContent ? (0, import_genai.createModelContent)(parts) : void 0,
114
+ longRunningToolIds: getLongRunningToolIDs(partsToConvert),
115
+ turnComplete: true
116
+ };
117
+ }
118
+ function taskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName) {
119
+ const msg = a2aEvent.status.message;
120
+ if (!msg) {
121
+ return void 0;
122
+ }
123
+ const parts = (0, import_part_converter_utils.toGenAIParts)(msg.parts);
124
+ return {
125
+ ...createAdkEventFromMetadata(a2aEvent),
126
+ invocationId,
127
+ author: agentName,
128
+ content: (0, import_genai.createModelContent)(parts),
129
+ turnComplete: false,
130
+ partial: true
131
+ };
132
+ }
133
+ function taskToAdkEvent(a2aTask, invocationId, agentName) {
134
+ var _a, _b;
135
+ const parts = [];
136
+ const longRunningToolIds = [];
137
+ if (a2aTask.artifacts) {
138
+ for (const artifact of a2aTask.artifacts) {
139
+ if (((_a = artifact.parts) == null ? void 0 : _a.length) > 0) {
140
+ const artifactParts = (0, import_part_converter_utils.toGenAIParts)(artifact.parts);
141
+ parts.push(...artifactParts);
142
+ longRunningToolIds.push(...getLongRunningToolIDs(artifact.parts));
143
+ }
144
+ }
145
+ }
146
+ if ((_b = a2aTask.status) == null ? void 0 : _b.message) {
147
+ const a2aParts = a2aTask.status.message.parts;
148
+ const genAIParts = (0, import_part_converter_utils.toGenAIParts)(a2aParts);
149
+ parts.push(...genAIParts);
150
+ longRunningToolIds.push(...getLongRunningToolIDs(a2aParts));
151
+ }
152
+ const isTerminal = (0, import_a2a_event.isTerminalTaskStatusUpdateEvent)(a2aTask) || (0, import_a2a_event.isInputRequiredTaskStatusUpdateEvent)(a2aTask);
153
+ const isFailed = (0, import_a2a_event.isFailedTaskStatusUpdateEvent)(a2aTask);
154
+ if (parts.length === 0 && !isTerminal) {
155
+ return void 0;
156
+ }
157
+ return {
158
+ ...createAdkEventFromMetadata(a2aTask),
159
+ invocationId,
160
+ author: agentName,
161
+ content: isFailed ? void 0 : (0, import_genai.createModelContent)(parts),
162
+ errorMessage: isFailed ? (0, import_a2a_event.getFailedTaskStatusUpdateEventError)(a2aTask) : void 0,
163
+ longRunningToolIds,
164
+ turnComplete: isTerminal
165
+ };
166
+ }
167
+ function createAdkEventFromMetadata(a2aEvent) {
168
+ const metadata = a2aEvent.metadata || {};
169
+ return (0, import_event.createEvent)({
170
+ branch: metadata[import_metadata_converter_utils.A2AMetadataKeys.BRANCH],
171
+ author: metadata[import_metadata_converter_utils.A2AMetadataKeys.AUTHOR],
172
+ partial: metadata[import_metadata_converter_utils.A2AMetadataKeys.PARTIAL],
173
+ errorCode: metadata[import_metadata_converter_utils.A2AMetadataKeys.ERROR_CODE],
174
+ errorMessage: metadata[import_metadata_converter_utils.A2AMetadataKeys.ERROR_MESSAGE],
175
+ citationMetadata: metadata[import_metadata_converter_utils.A2AMetadataKeys.CITATION_METADATA],
176
+ groundingMetadata: metadata[import_metadata_converter_utils.A2AMetadataKeys.GROUNDING_METADATA],
177
+ usageMetadata: metadata[import_metadata_converter_utils.A2AMetadataKeys.USAGE_METADATA],
178
+ customMetadata: metadata[import_metadata_converter_utils.A2AMetadataKeys.CUSTOM_METADATA],
179
+ actions: (0, import_event_actions.createEventActions)({
180
+ escalate: !!metadata[import_metadata_converter_utils.A2AMetadataKeys.ESCALATE],
181
+ transferToAgent: metadata[import_metadata_converter_utils.A2AMetadataKeys.TRANSFER_TO_AGENT]
182
+ })
183
+ });
184
+ }
185
+ function getLongRunningToolIDs(parts) {
186
+ const ids = [];
187
+ for (const a2aPart of parts) {
188
+ if (a2aPart.metadata && a2aPart.metadata[import_metadata_converter_utils.A2AMetadataKeys.IS_LONG_RUNNING]) {
189
+ const genAIPart = (0, import_part_converter_utils.toGenAIPart)(a2aPart);
190
+ if (genAIPart.functionCall && genAIPart.functionCall.id) {
191
+ ids.push(genAIPart.functionCall.id);
192
+ }
193
+ }
194
+ }
195
+ return ids;
196
+ }
197
+ // Annotate the CommonJS export names for ESM import in node:
198
+ 0 && (module.exports = {
199
+ toA2AMessage,
200
+ toAdkEvent
201
+ });
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var executor_context_exports = {};
26
+ __export(executor_context_exports, {
27
+ createExecutorContext: () => createExecutorContext
28
+ });
29
+ module.exports = __toCommonJS(executor_context_exports);
30
+ /**
31
+ * @license
32
+ * Copyright 2026 Google LLC
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ function createExecutorContext({
36
+ session,
37
+ userContent,
38
+ requestContext
39
+ }) {
40
+ return {
41
+ userId: session.userId,
42
+ sessionId: session.id,
43
+ agentName: session.appName,
44
+ readonlyState: session.state,
45
+ events: session.events,
46
+ userContent,
47
+ requestContext
48
+ };
49
+ }
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ createExecutorContext
53
+ });
@@ -0,0 +1,125 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var metadata_converter_utils_exports = {};
26
+ __export(metadata_converter_utils_exports, {
27
+ A2AMetadataKeys: () => A2AMetadataKeys,
28
+ AdkMetadataKeys: () => AdkMetadataKeys,
29
+ getA2AEventMetadata: () => getA2AEventMetadata,
30
+ getA2AEventMetadataFromActions: () => getA2AEventMetadataFromActions,
31
+ getA2ASessionMetadata: () => getA2ASessionMetadata,
32
+ getAdkEventMetadata: () => getAdkEventMetadata
33
+ });
34
+ module.exports = __toCommonJS(metadata_converter_utils_exports);
35
+ var import_a2a_event = require("./a2a_event.js");
36
+ /**
37
+ * @license
38
+ * Copyright 2026 Google LLC
39
+ * SPDX-License-Identifier: Apache-2.0
40
+ */
41
+ const ADK_METADATA_KEY_PREFIX = "adk_";
42
+ const A2A_METADATA_KEY_PREFIX = "a2a:";
43
+ var A2AMetadataKeys = ((A2AMetadataKeys2) => {
44
+ A2AMetadataKeys2["APP_NAME"] = `${ADK_METADATA_KEY_PREFIX}app_name`;
45
+ A2AMetadataKeys2["USER_ID"] = `${ADK_METADATA_KEY_PREFIX}user_id`;
46
+ A2AMetadataKeys2["SESSION_ID"] = `${ADK_METADATA_KEY_PREFIX}session_id`;
47
+ A2AMetadataKeys2["INVOCATION_ID"] = `${ADK_METADATA_KEY_PREFIX}invocation_id`;
48
+ A2AMetadataKeys2["AUTHOR"] = `${ADK_METADATA_KEY_PREFIX}author`;
49
+ A2AMetadataKeys2["BRANCH"] = `${ADK_METADATA_KEY_PREFIX}branch`;
50
+ A2AMetadataKeys2["DATA_PART_TYPE"] = `${ADK_METADATA_KEY_PREFIX}type`;
51
+ A2AMetadataKeys2["PARTIAL"] = `${ADK_METADATA_KEY_PREFIX}partial`;
52
+ A2AMetadataKeys2["ESCALATE"] = `${ADK_METADATA_KEY_PREFIX}escalate`;
53
+ A2AMetadataKeys2["TRANSFER_TO_AGENT"] = `${ADK_METADATA_KEY_PREFIX}transfer_to_agent`;
54
+ A2AMetadataKeys2["IS_LONG_RUNNING"] = `${ADK_METADATA_KEY_PREFIX}is_long_running`;
55
+ A2AMetadataKeys2["THOUGHT"] = `${ADK_METADATA_KEY_PREFIX}thought`;
56
+ A2AMetadataKeys2["ERROR_CODE"] = `${ADK_METADATA_KEY_PREFIX}error_code`;
57
+ A2AMetadataKeys2["ERROR_MESSAGE"] = `${ADK_METADATA_KEY_PREFIX}error_message`;
58
+ A2AMetadataKeys2["CITATION_METADATA"] = `${ADK_METADATA_KEY_PREFIX}citation_metadata`;
59
+ A2AMetadataKeys2["GROUNDING_METADATA"] = `${ADK_METADATA_KEY_PREFIX}grounding_metadata`;
60
+ A2AMetadataKeys2["USAGE_METADATA"] = `${ADK_METADATA_KEY_PREFIX}usage_metadata`;
61
+ A2AMetadataKeys2["CUSTOM_METADATA"] = `${ADK_METADATA_KEY_PREFIX}custom_metadata`;
62
+ return A2AMetadataKeys2;
63
+ })(A2AMetadataKeys || {});
64
+ var AdkMetadataKeys = ((AdkMetadataKeys2) => {
65
+ AdkMetadataKeys2["TASK_ID"] = `${A2A_METADATA_KEY_PREFIX}task_id`;
66
+ AdkMetadataKeys2["CONTEXT_ID"] = `${A2A_METADATA_KEY_PREFIX}context_id`;
67
+ return AdkMetadataKeys2;
68
+ })(AdkMetadataKeys || {});
69
+ function getAdkEventMetadata(a2aEvent) {
70
+ return {
71
+ [AdkMetadataKeys.TASK_ID]: (0, import_a2a_event.isTask)(a2aEvent) ? a2aEvent.id : a2aEvent.taskId,
72
+ [AdkMetadataKeys.CONTEXT_ID]: a2aEvent.contextId
73
+ };
74
+ }
75
+ function getA2AEventMetadata(adkEvent, {
76
+ appName,
77
+ userId,
78
+ sessionId
79
+ }) {
80
+ return {
81
+ ...getA2AEventMetadataFromActions(adkEvent.actions),
82
+ ...getA2ASessionMetadata({
83
+ appName,
84
+ userId,
85
+ sessionId
86
+ }),
87
+ [A2AMetadataKeys.INVOCATION_ID]: adkEvent.invocationId,
88
+ [A2AMetadataKeys.AUTHOR]: adkEvent.author,
89
+ [A2AMetadataKeys.BRANCH]: adkEvent.branch,
90
+ [A2AMetadataKeys.ERROR_CODE]: adkEvent.errorMessage,
91
+ [A2AMetadataKeys.ERROR_MESSAGE]: adkEvent.errorMessage,
92
+ [A2AMetadataKeys.CITATION_METADATA]: adkEvent.citationMetadata,
93
+ [A2AMetadataKeys.GROUNDING_METADATA]: adkEvent.groundingMetadata,
94
+ [A2AMetadataKeys.USAGE_METADATA]: adkEvent.usageMetadata,
95
+ [A2AMetadataKeys.CUSTOM_METADATA]: adkEvent.customMetadata,
96
+ [A2AMetadataKeys.PARTIAL]: adkEvent.partial,
97
+ [A2AMetadataKeys.IS_LONG_RUNNING]: (adkEvent.longRunningToolIds || []).length > 0
98
+ };
99
+ }
100
+ function getA2ASessionMetadata({
101
+ appName,
102
+ userId,
103
+ sessionId
104
+ }) {
105
+ return {
106
+ [A2AMetadataKeys.APP_NAME]: appName,
107
+ [A2AMetadataKeys.USER_ID]: userId,
108
+ [A2AMetadataKeys.SESSION_ID]: sessionId
109
+ };
110
+ }
111
+ function getA2AEventMetadataFromActions(actions) {
112
+ return {
113
+ [A2AMetadataKeys.ESCALATE]: actions.escalate,
114
+ [A2AMetadataKeys.TRANSFER_TO_AGENT]: actions.transferToAgent
115
+ };
116
+ }
117
+ // Annotate the CommonJS export names for ESM import in node:
118
+ 0 && (module.exports = {
119
+ A2AMetadataKeys,
120
+ AdkMetadataKeys,
121
+ getA2AEventMetadata,
122
+ getA2AEventMetadataFromActions,
123
+ getA2ASessionMetadata,
124
+ getAdkEventMetadata
125
+ });