@paean-ai/adk 0.2.13 → 0.2.15

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 (254) hide show
  1. package/dist/cjs/index.js +11 -11
  2. package/dist/cjs/index.js.map +3 -3
  3. package/dist/esm/index.js +11 -11
  4. package/dist/esm/index.js.map +3 -3
  5. package/dist/types/agents/llm_agent.d.ts +4 -0
  6. package/dist/web/index.js +1 -1
  7. package/dist/web/index.js.map +3 -3
  8. package/package.json +3 -3
  9. package/dist/cjs/agents/active_streaming_tool.js +0 -44
  10. package/dist/cjs/agents/base_agent.js +0 -245
  11. package/dist/cjs/agents/base_llm_processor.js +0 -44
  12. package/dist/cjs/agents/callback_context.js +0 -98
  13. package/dist/cjs/agents/content_processor_utils.js +0 -346
  14. package/dist/cjs/agents/functions.js +0 -385
  15. package/dist/cjs/agents/instructions.js +0 -110
  16. package/dist/cjs/agents/invocation_context.js +0 -107
  17. package/dist/cjs/agents/live_request_queue.js +0 -136
  18. package/dist/cjs/agents/llm_agent.js +0 -1212
  19. package/dist/cjs/agents/loop_agent.js +0 -68
  20. package/dist/cjs/agents/parallel_agent.js +0 -78
  21. package/dist/cjs/agents/readonly_context.js +0 -68
  22. package/dist/cjs/agents/run_config.js +0 -70
  23. package/dist/cjs/agents/sequential_agent.js +0 -84
  24. package/dist/cjs/agents/transcription_entry.js +0 -27
  25. package/dist/cjs/artifacts/base_artifact_service.js +0 -27
  26. package/dist/cjs/artifacts/gcs_artifact_service.js +0 -140
  27. package/dist/cjs/artifacts/in_memory_artifact_service.js +0 -119
  28. package/dist/cjs/auth/auth_credential.js +0 -46
  29. package/dist/cjs/auth/auth_handler.js +0 -92
  30. package/dist/cjs/auth/auth_schemes.js +0 -62
  31. package/dist/cjs/auth/auth_tool.js +0 -27
  32. package/dist/cjs/auth/credential_service/base_credential_service.js +0 -27
  33. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +0 -63
  34. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +0 -40
  35. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +0 -59
  36. package/dist/cjs/code_executors/base_code_executor.js +0 -76
  37. package/dist/cjs/code_executors/built_in_code_executor.js +0 -58
  38. package/dist/cjs/code_executors/code_execution_utils.js +0 -142
  39. package/dist/cjs/code_executors/code_executor_context.js +0 -198
  40. package/dist/cjs/common.js +0 -181
  41. package/dist/cjs/events/event.js +0 -119
  42. package/dist/cjs/events/event_actions.js +0 -83
  43. package/dist/cjs/examples/base_example_provider.js +0 -40
  44. package/dist/cjs/examples/example.js +0 -27
  45. package/dist/cjs/examples/example_util.js +0 -107
  46. package/dist/cjs/index_web.js +0 -33
  47. package/dist/cjs/memory/base_memory_service.js +0 -27
  48. package/dist/cjs/memory/in_memory_memory_service.js +0 -97
  49. package/dist/cjs/memory/memory_entry.js +0 -27
  50. package/dist/cjs/models/base_llm.js +0 -95
  51. package/dist/cjs/models/base_llm_connection.js +0 -27
  52. package/dist/cjs/models/gemini_llm_connection.js +0 -132
  53. package/dist/cjs/models/google_llm.js +0 -559
  54. package/dist/cjs/models/llm_request.js +0 -82
  55. package/dist/cjs/models/llm_response.js +0 -71
  56. package/dist/cjs/models/registry.js +0 -121
  57. package/dist/cjs/plugins/base_plugin.js +0 -236
  58. package/dist/cjs/plugins/logging_plugin.js +0 -222
  59. package/dist/cjs/plugins/plugin_manager.js +0 -239
  60. package/dist/cjs/plugins/security_plugin.js +0 -153
  61. package/dist/cjs/runner/in_memory_runner.js +0 -58
  62. package/dist/cjs/runner/runner.js +0 -277
  63. package/dist/cjs/sessions/base_session_service.js +0 -71
  64. package/dist/cjs/sessions/in_memory_session_service.js +0 -184
  65. package/dist/cjs/sessions/session.js +0 -48
  66. package/dist/cjs/sessions/state.js +0 -101
  67. package/dist/cjs/telemetry/google_cloud.js +0 -85
  68. package/dist/cjs/telemetry/setup.js +0 -97
  69. package/dist/cjs/telemetry/tracing.js +0 -231
  70. package/dist/cjs/tools/agent_tool.js +0 -134
  71. package/dist/cjs/tools/base_tool.js +0 -107
  72. package/dist/cjs/tools/base_toolset.js +0 -76
  73. package/dist/cjs/tools/forwarding_artifact_service.js +0 -71
  74. package/dist/cjs/tools/function_tool.js +0 -101
  75. package/dist/cjs/tools/google_search_tool.js +0 -76
  76. package/dist/cjs/tools/long_running_tool.js +0 -63
  77. package/dist/cjs/tools/mcp/mcp_session_manager.js +0 -65
  78. package/dist/cjs/tools/mcp/mcp_tool.js +0 -65
  79. package/dist/cjs/tools/mcp/mcp_toolset.js +0 -61
  80. package/dist/cjs/tools/tool_confirmation.js +0 -49
  81. package/dist/cjs/tools/tool_context.js +0 -129
  82. package/dist/cjs/utils/client_labels.js +0 -56
  83. package/dist/cjs/utils/deep_clone.js +0 -44
  84. package/dist/cjs/utils/env_aware_utils.js +0 -83
  85. package/dist/cjs/utils/gemini_schema_util.js +0 -88
  86. package/dist/cjs/utils/logger.js +0 -121
  87. package/dist/cjs/utils/model_name.js +0 -76
  88. package/dist/cjs/utils/simple_zod_to_json.js +0 -191
  89. package/dist/cjs/utils/variant_utils.js +0 -55
  90. package/dist/cjs/version.js +0 -39
  91. package/dist/esm/agents/active_streaming_tool.js +0 -14
  92. package/dist/esm/agents/base_agent.js +0 -214
  93. package/dist/esm/agents/base_llm_processor.js +0 -13
  94. package/dist/esm/agents/callback_context.js +0 -68
  95. package/dist/esm/agents/content_processor_utils.js +0 -315
  96. package/dist/esm/agents/functions.js +0 -344
  97. package/dist/esm/agents/instructions.js +0 -80
  98. package/dist/esm/agents/invocation_context.js +0 -76
  99. package/dist/esm/agents/live_request_queue.js +0 -106
  100. package/dist/esm/agents/llm_agent.js +0 -1180
  101. package/dist/esm/agents/loop_agent.js +0 -38
  102. package/dist/esm/agents/parallel_agent.js +0 -48
  103. package/dist/esm/agents/readonly_context.js +0 -38
  104. package/dist/esm/agents/run_config.js +0 -39
  105. package/dist/esm/agents/sequential_agent.js +0 -54
  106. package/dist/esm/agents/transcription_entry.js +0 -5
  107. package/dist/esm/artifacts/base_artifact_service.js +0 -5
  108. package/dist/esm/artifacts/gcs_artifact_service.js +0 -110
  109. package/dist/esm/artifacts/in_memory_artifact_service.js +0 -89
  110. package/dist/esm/auth/auth_credential.js +0 -16
  111. package/dist/esm/auth/auth_handler.js +0 -62
  112. package/dist/esm/auth/auth_schemes.js +0 -31
  113. package/dist/esm/auth/auth_tool.js +0 -5
  114. package/dist/esm/auth/credential_service/base_credential_service.js +0 -5
  115. package/dist/esm/auth/credential_service/in_memory_credential_service.js +0 -33
  116. package/dist/esm/auth/exchanger/base_credential_exchanger.js +0 -10
  117. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +0 -29
  118. package/dist/esm/code_executors/base_code_executor.js +0 -46
  119. package/dist/esm/code_executors/built_in_code_executor.js +0 -28
  120. package/dist/esm/code_executors/code_execution_utils.js +0 -108
  121. package/dist/esm/code_executors/code_executor_context.js +0 -168
  122. package/dist/esm/common.js +0 -98
  123. package/dist/esm/events/event.js +0 -83
  124. package/dist/esm/events/event_actions.js +0 -52
  125. package/dist/esm/examples/base_example_provider.js +0 -10
  126. package/dist/esm/examples/example.js +0 -5
  127. package/dist/esm/examples/example_util.js +0 -76
  128. package/dist/esm/index_web.js +0 -6
  129. package/dist/esm/memory/base_memory_service.js +0 -5
  130. package/dist/esm/memory/in_memory_memory_service.js +0 -67
  131. package/dist/esm/memory/memory_entry.js +0 -5
  132. package/dist/esm/models/base_llm.js +0 -64
  133. package/dist/esm/models/base_llm_connection.js +0 -5
  134. package/dist/esm/models/gemini_llm_connection.js +0 -102
  135. package/dist/esm/models/google_llm.js +0 -533
  136. package/dist/esm/models/llm_request.js +0 -50
  137. package/dist/esm/models/llm_response.js +0 -41
  138. package/dist/esm/models/registry.js +0 -91
  139. package/dist/esm/plugins/base_plugin.js +0 -206
  140. package/dist/esm/plugins/logging_plugin.js +0 -192
  141. package/dist/esm/plugins/plugin_manager.js +0 -209
  142. package/dist/esm/plugins/security_plugin.js +0 -119
  143. package/dist/esm/runner/in_memory_runner.js +0 -28
  144. package/dist/esm/runner/runner.js +0 -247
  145. package/dist/esm/sessions/base_session_service.js +0 -41
  146. package/dist/esm/sessions/in_memory_session_service.js +0 -154
  147. package/dist/esm/sessions/session.js +0 -18
  148. package/dist/esm/sessions/state.js +0 -71
  149. package/dist/esm/telemetry/google_cloud.js +0 -54
  150. package/dist/esm/telemetry/setup.js +0 -67
  151. package/dist/esm/telemetry/tracing.js +0 -195
  152. package/dist/esm/tools/agent_tool.js +0 -104
  153. package/dist/esm/tools/base_tool.js +0 -77
  154. package/dist/esm/tools/base_toolset.js +0 -46
  155. package/dist/esm/tools/forwarding_artifact_service.js +0 -41
  156. package/dist/esm/tools/function_tool.js +0 -71
  157. package/dist/esm/tools/google_search_tool.js +0 -46
  158. package/dist/esm/tools/long_running_tool.js +0 -33
  159. package/dist/esm/tools/mcp/mcp_session_manager.js +0 -35
  160. package/dist/esm/tools/mcp/mcp_tool.js +0 -35
  161. package/dist/esm/tools/mcp/mcp_toolset.js +0 -31
  162. package/dist/esm/tools/tool_confirmation.js +0 -19
  163. package/dist/esm/tools/tool_context.js +0 -99
  164. package/dist/esm/utils/client_labels.js +0 -26
  165. package/dist/esm/utils/deep_clone.js +0 -14
  166. package/dist/esm/utils/env_aware_utils.js +0 -49
  167. package/dist/esm/utils/gemini_schema_util.js +0 -58
  168. package/dist/esm/utils/logger.js +0 -89
  169. package/dist/esm/utils/model_name.js +0 -41
  170. package/dist/esm/utils/simple_zod_to_json.js +0 -160
  171. package/dist/esm/utils/variant_utils.js +0 -24
  172. package/dist/esm/version.js +0 -9
  173. package/dist/web/agents/active_streaming_tool.js +0 -14
  174. package/dist/web/agents/base_agent.js +0 -265
  175. package/dist/web/agents/base_llm_processor.js +0 -13
  176. package/dist/web/agents/callback_context.js +0 -68
  177. package/dist/web/agents/content_processor_utils.js +0 -315
  178. package/dist/web/agents/functions.js +0 -344
  179. package/dist/web/agents/instructions.js +0 -80
  180. package/dist/web/agents/invocation_context.js +0 -76
  181. package/dist/web/agents/live_request_queue.js +0 -124
  182. package/dist/web/agents/llm_agent.js +0 -1310
  183. package/dist/web/agents/loop_agent.js +0 -71
  184. package/dist/web/agents/parallel_agent.js +0 -83
  185. package/dist/web/agents/readonly_context.js +0 -38
  186. package/dist/web/agents/run_config.js +0 -54
  187. package/dist/web/agents/sequential_agent.js +0 -99
  188. package/dist/web/agents/transcription_entry.js +0 -5
  189. package/dist/web/artifacts/base_artifact_service.js +0 -5
  190. package/dist/web/artifacts/gcs_artifact_service.js +0 -126
  191. package/dist/web/artifacts/in_memory_artifact_service.js +0 -89
  192. package/dist/web/auth/auth_credential.js +0 -16
  193. package/dist/web/auth/auth_handler.js +0 -62
  194. package/dist/web/auth/auth_schemes.js +0 -31
  195. package/dist/web/auth/auth_tool.js +0 -5
  196. package/dist/web/auth/credential_service/base_credential_service.js +0 -5
  197. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -33
  198. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -10
  199. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -29
  200. package/dist/web/code_executors/base_code_executor.js +0 -46
  201. package/dist/web/code_executors/built_in_code_executor.js +0 -28
  202. package/dist/web/code_executors/code_execution_utils.js +0 -105
  203. package/dist/web/code_executors/code_executor_context.js +0 -168
  204. package/dist/web/common.js +0 -98
  205. package/dist/web/events/event.js +0 -101
  206. package/dist/web/events/event_actions.js +0 -67
  207. package/dist/web/examples/base_example_provider.js +0 -10
  208. package/dist/web/examples/example.js +0 -5
  209. package/dist/web/examples/example_util.js +0 -75
  210. package/dist/web/index_web.js +0 -6
  211. package/dist/web/memory/base_memory_service.js +0 -5
  212. package/dist/web/memory/in_memory_memory_service.js +0 -67
  213. package/dist/web/memory/memory_entry.js +0 -5
  214. package/dist/web/models/base_llm.js +0 -64
  215. package/dist/web/models/base_llm_connection.js +0 -5
  216. package/dist/web/models/gemini_llm_connection.js +0 -120
  217. package/dist/web/models/google_llm.js +0 -574
  218. package/dist/web/models/llm_request.js +0 -50
  219. package/dist/web/models/llm_response.js +0 -41
  220. package/dist/web/models/registry.js +0 -91
  221. package/dist/web/plugins/base_plugin.js +0 -206
  222. package/dist/web/plugins/logging_plugin.js +0 -192
  223. package/dist/web/plugins/plugin_manager.js +0 -209
  224. package/dist/web/plugins/security_plugin.js +0 -119
  225. package/dist/web/runner/in_memory_runner.js +0 -28
  226. package/dist/web/runner/runner.js +0 -278
  227. package/dist/web/sessions/base_session_service.js +0 -41
  228. package/dist/web/sessions/in_memory_session_service.js +0 -154
  229. package/dist/web/sessions/session.js +0 -18
  230. package/dist/web/sessions/state.js +0 -87
  231. package/dist/web/telemetry/google_cloud.js +0 -54
  232. package/dist/web/telemetry/setup.js +0 -67
  233. package/dist/web/telemetry/tracing.js +0 -210
  234. package/dist/web/tools/agent_tool.js +0 -118
  235. package/dist/web/tools/base_tool.js +0 -77
  236. package/dist/web/tools/base_toolset.js +0 -46
  237. package/dist/web/tools/forwarding_artifact_service.js +0 -41
  238. package/dist/web/tools/function_tool.js +0 -71
  239. package/dist/web/tools/google_search_tool.js +0 -46
  240. package/dist/web/tools/long_running_tool.js +0 -50
  241. package/dist/web/tools/mcp/mcp_session_manager.js +0 -35
  242. package/dist/web/tools/mcp/mcp_tool.js +0 -35
  243. package/dist/web/tools/mcp/mcp_toolset.js +0 -31
  244. package/dist/web/tools/tool_confirmation.js +0 -19
  245. package/dist/web/tools/tool_context.js +0 -99
  246. package/dist/web/utils/client_labels.js +0 -26
  247. package/dist/web/utils/deep_clone.js +0 -14
  248. package/dist/web/utils/env_aware_utils.js +0 -49
  249. package/dist/web/utils/gemini_schema_util.js +0 -58
  250. package/dist/web/utils/logger.js +0 -89
  251. package/dist/web/utils/model_name.js +0 -41
  252. package/dist/web/utils/simple_zod_to_json.js +0 -174
  253. package/dist/web/utils/variant_utils.js +0 -24
  254. package/dist/web/version.js +0 -9
@@ -1,385 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 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 functions_exports = {};
26
- __export(functions_exports, {
27
- REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
28
- REQUEST_EUC_FUNCTION_CALL_NAME: () => REQUEST_EUC_FUNCTION_CALL_NAME,
29
- functionsExportedForTestingOnly: () => functionsExportedForTestingOnly,
30
- generateAuthEvent: () => generateAuthEvent,
31
- generateClientFunctionCallId: () => generateClientFunctionCallId,
32
- generateRequestConfirmationEvent: () => generateRequestConfirmationEvent,
33
- getLongRunningFunctionCalls: () => getLongRunningFunctionCalls,
34
- handleFunctionCallList: () => handleFunctionCallList,
35
- handleFunctionCallsAsync: () => handleFunctionCallsAsync,
36
- mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
37
- populateClientFunctionCallId: () => populateClientFunctionCallId,
38
- removeClientFunctionCallId: () => removeClientFunctionCallId
39
- });
40
- module.exports = __toCommonJS(functions_exports);
41
- var import_genai = require("@google/genai");
42
- var import_event = require("../events/event.js");
43
- var import_event_actions = require("../events/event_actions.js");
44
- var import_tool_context = require("../tools/tool_context.js");
45
- var import_env_aware_utils = require("../utils/env_aware_utils.js");
46
- var import_logger = require("../utils/logger.js");
47
- /**
48
- * @license
49
- * Copyright 2025 Google LLC
50
- * SPDX-License-Identifier: Apache-2.0
51
- */
52
- const AF_FUNCTION_CALL_ID_PREFIX = "adk-";
53
- const REQUEST_EUC_FUNCTION_CALL_NAME = "adk_request_credential";
54
- const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
55
- const functionsExportedForTestingOnly = {
56
- handleFunctionCallList
57
- };
58
- function generateClientFunctionCallId() {
59
- return `${AF_FUNCTION_CALL_ID_PREFIX}${(0, import_env_aware_utils.randomUUID)()}`;
60
- }
61
- function populateClientFunctionCallId(modelResponseEvent) {
62
- const functionCalls = (0, import_event.getFunctionCalls)(modelResponseEvent);
63
- if (!functionCalls) {
64
- return;
65
- }
66
- for (const functionCall of functionCalls) {
67
- if (!functionCall.id) {
68
- functionCall.id = generateClientFunctionCallId();
69
- }
70
- }
71
- }
72
- function removeClientFunctionCallId(content) {
73
- if (content && content.parts) {
74
- for (const part of content.parts) {
75
- if (part.functionCall && part.functionCall.id && part.functionCall.id.startsWith(AF_FUNCTION_CALL_ID_PREFIX)) {
76
- part.functionCall.id = void 0;
77
- }
78
- if (part.functionResponse && part.functionResponse.id && part.functionResponse.id.startsWith(AF_FUNCTION_CALL_ID_PREFIX)) {
79
- part.functionResponse.id = void 0;
80
- }
81
- }
82
- }
83
- }
84
- function getLongRunningFunctionCalls(functionCalls, toolsDict) {
85
- const longRunningToolIds = /* @__PURE__ */ new Set();
86
- for (const functionCall of functionCalls) {
87
- if (functionCall.name && functionCall.name in toolsDict && toolsDict[functionCall.name].isLongRunning && functionCall.id) {
88
- longRunningToolIds.add(functionCall.id);
89
- }
90
- }
91
- return longRunningToolIds;
92
- }
93
- function generateAuthEvent(invocationContext, functionResponseEvent) {
94
- var _a;
95
- if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs)) {
96
- return void 0;
97
- }
98
- const parts = [];
99
- const longRunningToolIds = /* @__PURE__ */ new Set();
100
- for (const [functionCallId, authConfig] of Object.entries(
101
- functionResponseEvent.actions.requestedAuthConfigs
102
- )) {
103
- const requestEucFunctionCall = {
104
- name: REQUEST_EUC_FUNCTION_CALL_NAME,
105
- args: {
106
- "function_call_id": functionCallId,
107
- "auth_config": authConfig
108
- },
109
- id: generateClientFunctionCallId()
110
- };
111
- longRunningToolIds.add(requestEucFunctionCall.id);
112
- parts.push({ functionCall: requestEucFunctionCall });
113
- }
114
- return (0, import_event.createEvent)({
115
- invocationId: invocationContext.invocationId,
116
- author: invocationContext.agent.name,
117
- branch: invocationContext.branch,
118
- content: {
119
- parts,
120
- role: functionResponseEvent.content.role
121
- },
122
- longRunningToolIds: Array.from(longRunningToolIds)
123
- });
124
- }
125
- function generateRequestConfirmationEvent({
126
- invocationContext,
127
- functionCallEvent,
128
- functionResponseEvent
129
- }) {
130
- var _a, _b;
131
- if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedToolConfirmations)) {
132
- return;
133
- }
134
- const parts = [];
135
- const longRunningToolIds = /* @__PURE__ */ new Set();
136
- const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
137
- for (const [functionCallId, toolConfirmation] of Object.entries(
138
- functionResponseEvent.actions.requestedToolConfirmations
139
- )) {
140
- const originalFunctionCall = (_b = functionCalls.find((call) => call.id === functionCallId)) != null ? _b : void 0;
141
- if (!originalFunctionCall) {
142
- continue;
143
- }
144
- const requestConfirmationFunctionCall = {
145
- name: REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
146
- args: {
147
- "originalFunctionCall": originalFunctionCall,
148
- "toolConfirmation": toolConfirmation
149
- },
150
- id: generateClientFunctionCallId()
151
- };
152
- longRunningToolIds.add(requestConfirmationFunctionCall.id);
153
- parts.push({ functionCall: requestConfirmationFunctionCall });
154
- }
155
- return (0, import_event.createEvent)({
156
- invocationId: invocationContext.invocationId,
157
- author: invocationContext.agent.name,
158
- branch: invocationContext.branch,
159
- content: {
160
- parts,
161
- role: functionResponseEvent.content.role
162
- },
163
- longRunningToolIds: Array.from(longRunningToolIds)
164
- });
165
- }
166
- async function callToolAsync(tool, args, toolContext) {
167
- import_logger.logger.debug(`callToolAsync ${tool.name}`);
168
- return await tool.runAsync({ args, toolContext });
169
- }
170
- async function handleFunctionCallsAsync({
171
- invocationContext,
172
- functionCallEvent,
173
- toolsDict,
174
- beforeToolCallbacks,
175
- afterToolCallbacks,
176
- filters,
177
- toolConfirmationDict
178
- }) {
179
- const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
180
- return await handleFunctionCallList({
181
- invocationContext,
182
- functionCalls,
183
- toolsDict,
184
- beforeToolCallbacks,
185
- afterToolCallbacks,
186
- filters,
187
- toolConfirmationDict
188
- });
189
- }
190
- async function handleFunctionCallList({
191
- invocationContext,
192
- functionCalls,
193
- toolsDict,
194
- beforeToolCallbacks,
195
- afterToolCallbacks,
196
- filters,
197
- toolConfirmationDict
198
- }) {
199
- var _a;
200
- const functionResponseEvents = [];
201
- const filteredFunctionCalls = functionCalls.filter((functionCall) => {
202
- return !filters || functionCall.id && filters.has(functionCall.id);
203
- });
204
- for (const functionCall of filteredFunctionCalls) {
205
- let toolConfirmation = void 0;
206
- if (toolConfirmationDict && functionCall.id) {
207
- toolConfirmation = toolConfirmationDict[functionCall.id];
208
- }
209
- const { tool, toolContext } = getToolAndContext(
210
- {
211
- invocationContext,
212
- functionCall,
213
- toolsDict,
214
- toolConfirmation
215
- }
216
- );
217
- import_logger.logger.debug(`execute_tool ${tool.name}`);
218
- const functionArgs = (_a = functionCall.args) != null ? _a : {};
219
- let functionResponse = null;
220
- let functionResponseError;
221
- functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
222
- tool,
223
- toolArgs: functionArgs,
224
- toolContext
225
- });
226
- if (functionResponse == null) {
227
- for (const callback of beforeToolCallbacks) {
228
- functionResponse = await callback({
229
- tool,
230
- args: functionArgs,
231
- context: toolContext
232
- });
233
- if (functionResponse) {
234
- break;
235
- }
236
- }
237
- }
238
- if (functionResponse == null) {
239
- try {
240
- functionResponse = await callToolAsync(
241
- tool,
242
- functionArgs,
243
- toolContext
244
- );
245
- } catch (e) {
246
- if (e instanceof Error) {
247
- const onToolErrorResponse = await invocationContext.pluginManager.runOnToolErrorCallback(
248
- {
249
- tool,
250
- toolArgs: functionArgs,
251
- toolContext,
252
- error: e
253
- }
254
- );
255
- if (onToolErrorResponse) {
256
- functionResponse = onToolErrorResponse;
257
- } else {
258
- functionResponseError = e.message;
259
- }
260
- } else {
261
- functionResponseError = e;
262
- }
263
- }
264
- }
265
- let alteredFunctionResponse = await invocationContext.pluginManager.runAfterToolCallback({
266
- tool,
267
- toolArgs: functionArgs,
268
- toolContext,
269
- result: functionResponse
270
- });
271
- if (alteredFunctionResponse == null) {
272
- for (const callback of afterToolCallbacks) {
273
- alteredFunctionResponse = await callback({
274
- tool,
275
- args: functionArgs,
276
- context: toolContext,
277
- response: functionResponse
278
- });
279
- if (alteredFunctionResponse) {
280
- break;
281
- }
282
- }
283
- }
284
- if (alteredFunctionResponse != null) {
285
- functionResponse = alteredFunctionResponse;
286
- }
287
- if (tool.isLongRunning && !functionResponse) {
288
- continue;
289
- }
290
- if (functionResponseError) {
291
- functionResponse = { error: functionResponseError };
292
- } else if (typeof functionResponse !== "object" || functionResponse == null) {
293
- functionResponse = { result: functionResponse };
294
- }
295
- const functionResponseEvent = (0, import_event.createEvent)({
296
- invocationId: invocationContext.invocationId,
297
- author: invocationContext.agent.name,
298
- content: (0, import_genai.createUserContent)({
299
- functionResponse: {
300
- id: toolContext.functionCallId,
301
- name: tool.name,
302
- response: functionResponse
303
- }
304
- }),
305
- actions: toolContext.actions,
306
- branch: invocationContext.branch
307
- });
308
- import_logger.logger.debug("traceToolCall", {
309
- tool: tool.name,
310
- args: functionArgs,
311
- functionResponseEvent: functionResponseEvent.id
312
- });
313
- functionResponseEvents.push(functionResponseEvent);
314
- }
315
- if (!functionResponseEvents.length) {
316
- return null;
317
- }
318
- const mergedEvent = mergeParallelFunctionResponseEvents(functionResponseEvents);
319
- if (functionResponseEvents.length > 1) {
320
- import_logger.logger.debug("execute_tool (merged)");
321
- import_logger.logger.debug("traceMergedToolCalls", {
322
- responseEventId: mergedEvent.id,
323
- functionResponseEvent: mergedEvent.id
324
- });
325
- }
326
- return mergedEvent;
327
- }
328
- function getToolAndContext({
329
- invocationContext,
330
- functionCall,
331
- toolsDict,
332
- toolConfirmation
333
- }) {
334
- if (!functionCall.name || !(functionCall.name in toolsDict)) {
335
- throw new Error(
336
- `Function ${functionCall.name} is not found in the toolsDict.`
337
- );
338
- }
339
- const toolContext = new import_tool_context.ToolContext({
340
- invocationContext,
341
- functionCallId: functionCall.id || void 0,
342
- toolConfirmation
343
- });
344
- const tool = toolsDict[functionCall.name];
345
- return { tool, toolContext };
346
- }
347
- function mergeParallelFunctionResponseEvents(functionResponseEvents) {
348
- if (!functionResponseEvents.length) {
349
- throw new Error("No function response events provided.");
350
- }
351
- if (functionResponseEvents.length === 1) {
352
- return functionResponseEvents[0];
353
- }
354
- const mergedParts = [];
355
- for (const event of functionResponseEvents) {
356
- if (event.content && event.content.parts) {
357
- mergedParts.push(...event.content.parts);
358
- }
359
- }
360
- const baseEvent = functionResponseEvents[0];
361
- const actionsList = functionResponseEvents.map((event) => event.actions || {});
362
- const mergedActions = (0, import_event_actions.mergeEventActions)(actionsList);
363
- return (0, import_event.createEvent)({
364
- author: baseEvent.author,
365
- branch: baseEvent.branch,
366
- content: { role: "user", parts: mergedParts },
367
- actions: mergedActions,
368
- timestamp: baseEvent.timestamp
369
- });
370
- }
371
- // Annotate the CommonJS export names for ESM import in node:
372
- 0 && (module.exports = {
373
- REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
374
- REQUEST_EUC_FUNCTION_CALL_NAME,
375
- functionsExportedForTestingOnly,
376
- generateAuthEvent,
377
- generateClientFunctionCallId,
378
- generateRequestConfirmationEvent,
379
- getLongRunningFunctionCalls,
380
- handleFunctionCallList,
381
- handleFunctionCallsAsync,
382
- mergeParallelFunctionResponseEvents,
383
- populateClientFunctionCallId,
384
- removeClientFunctionCallId
385
- });
@@ -1,110 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 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 instructions_exports = {};
26
- __export(instructions_exports, {
27
- injectSessionState: () => injectSessionState
28
- });
29
- module.exports = __toCommonJS(instructions_exports);
30
- var import_state = require("../sessions/state.js");
31
- /**
32
- * @license
33
- * Copyright 2025 Google LLC
34
- * SPDX-License-Identifier: Apache-2.0
35
- */
36
- async function injectSessionState(template, readonlyContext) {
37
- const invocationContext = readonlyContext.invocationContext;
38
- async function replaceMatchedKeyWithItsValue(match) {
39
- let key = match[0].replace(/^\{+/, "").replace(/\}+$/, "").trim();
40
- const isOptional = key.endsWith("?");
41
- if (isOptional) {
42
- key = key.slice(0, -1);
43
- }
44
- if (key.startsWith("artifact.")) {
45
- const fileName = key.substring("artifact.".length);
46
- if (invocationContext.artifactService === void 0) {
47
- throw new Error("Artifact service is not initialized.");
48
- }
49
- const artifact = await invocationContext.artifactService.loadArtifact({
50
- appName: invocationContext.session.appName,
51
- userId: invocationContext.session.userId,
52
- sessionId: invocationContext.session.id,
53
- filename: fileName
54
- });
55
- if (!artifact) {
56
- throw new Error(`Artifact ${fileName} not found.`);
57
- }
58
- return String(artifact);
59
- }
60
- if (!isValidStateName(key)) {
61
- return match[0];
62
- }
63
- if (key in invocationContext.session.state) {
64
- return String(invocationContext.session.state[key]);
65
- }
66
- if (isOptional) {
67
- return "";
68
- }
69
- throw new Error(`Context variable not found: \`${key}\`.`);
70
- }
71
- const pattern = /\{+[^{}]*}+/g;
72
- const result = [];
73
- let lastEnd = 0;
74
- const matches = template.matchAll(pattern);
75
- for (const match of matches) {
76
- result.push(template.slice(lastEnd, match.index));
77
- const replacement = await replaceMatchedKeyWithItsValue(match);
78
- result.push(replacement);
79
- lastEnd = match.index + match[0].length;
80
- }
81
- result.push(template.slice(lastEnd));
82
- return result.join("");
83
- }
84
- const isIdentifierPattern = /* @__PURE__ */ (() => {
85
- return /^[a-zA-Z_][a-zA-Z0-9_]*$/;
86
- })();
87
- function isIdentifier(s) {
88
- if (s === "" || s === void 0) {
89
- return false;
90
- }
91
- return isIdentifierPattern.test(s);
92
- }
93
- const VALID_PREFIXES = [import_state.State.APP_PREFIX, import_state.State.USER_PREFIX, import_state.State.TEMP_PREFIX];
94
- function isValidStateName(variableName) {
95
- const parts = variableName.split(":");
96
- if (parts.length === 0 || parts.length > 2) {
97
- return false;
98
- }
99
- if (parts.length === 1) {
100
- return isIdentifier(variableName);
101
- }
102
- if (VALID_PREFIXES.includes(parts[0] + ":")) {
103
- return isIdentifier(parts[1]);
104
- }
105
- return false;
106
- }
107
- // Annotate the CommonJS export names for ESM import in node:
108
- 0 && (module.exports = {
109
- injectSessionState
110
- });
@@ -1,107 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 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 invocation_context_exports = {};
26
- __export(invocation_context_exports, {
27
- InvocationContext: () => InvocationContext,
28
- newInvocationContextId: () => newInvocationContextId
29
- });
30
- module.exports = __toCommonJS(invocation_context_exports);
31
- var import_env_aware_utils = require("../utils/env_aware_utils.js");
32
- /**
33
- * @license
34
- * Copyright 2025 Google LLC
35
- * SPDX-License-Identifier: Apache-2.0
36
- */
37
- class InvocationCostManager {
38
- constructor() {
39
- this.numberOfLlmCalls = 0;
40
- }
41
- /**
42
- * Increments the number of llm calls and enforces the limit.
43
- *
44
- * @param runConfig the run config of the invocation.
45
- * @throws If number of llm calls made exceed the set threshold.
46
- */
47
- incrementAndEnforceLlmCallsLimit(runConfig) {
48
- this.numberOfLlmCalls++;
49
- if (runConfig && runConfig.maxLlmCalls > 0 && this.numberOfLlmCalls > runConfig.maxLlmCalls) {
50
- throw new Error(`Max number of llm calls limit of ${runConfig.maxLlmCalls} exceeded`);
51
- }
52
- }
53
- }
54
- class InvocationContext {
55
- /**
56
- * @param params The parameters for creating an invocation context.
57
- */
58
- constructor(params) {
59
- /**
60
- * A container to keep track of different kinds of costs incurred as a part of
61
- * this invocation.
62
- */
63
- this.invocationCostManager = new InvocationCostManager();
64
- this.artifactService = params.artifactService;
65
- this.sessionService = params.sessionService;
66
- this.memoryService = params.memoryService;
67
- this.invocationId = params.invocationId;
68
- this.branch = params.branch;
69
- this.agent = params.agent;
70
- this.userContent = params.userContent;
71
- this.session = params.session;
72
- this.endInvocation = params.endInvocation || false;
73
- this.transcriptionCache = params.transcriptionCache;
74
- this.runConfig = params.runConfig;
75
- this.liveRequestQueue = params.liveRequestQueue;
76
- this.activeStreamingTools = params.activeStreamingTools;
77
- this.pluginManager = params.pluginManager;
78
- }
79
- /**
80
- * The app name of the current session.
81
- */
82
- get appName() {
83
- return this.session.appName;
84
- }
85
- /**
86
- * The user ID of the current session.
87
- */
88
- get userId() {
89
- return this.session.userId;
90
- }
91
- /**
92
- * Tracks number of llm calls made.
93
- *
94
- * @throws If number of llm calls made exceed the set threshold.
95
- */
96
- incrementLlmCallCount() {
97
- this.invocationCostManager.incrementAndEnforceLlmCallsLimit(this.runConfig);
98
- }
99
- }
100
- function newInvocationContextId() {
101
- return `e-${(0, import_env_aware_utils.randomUUID)()}`;
102
- }
103
- // Annotate the CommonJS export names for ESM import in node:
104
- 0 && (module.exports = {
105
- InvocationContext,
106
- newInvocationContextId
107
- });