@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,5 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
@@ -1,5 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
@@ -1,33 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class InMemoryCredentialService {
7
- constructor() {
8
- this.credentials = {};
9
- }
10
- loadCredential(authConfig, toolContext) {
11
- const credentialBucket = this.getBucketForCurrentContext(toolContext);
12
- return Promise.resolve(credentialBucket[authConfig.credentialKey]);
13
- }
14
- async saveCredential(authConfig, toolContext) {
15
- const credentialBucket = this.getBucketForCurrentContext(toolContext);
16
- if (authConfig.exchangedAuthCredential) {
17
- credentialBucket[authConfig.credentialKey] = authConfig.exchangedAuthCredential;
18
- }
19
- }
20
- getBucketForCurrentContext(toolContext) {
21
- const { appName, userId } = toolContext.invocationContext.session;
22
- if (!this.credentials[appName]) {
23
- this.credentials[appName] = {};
24
- }
25
- if (!this.credentials[appName][userId]) {
26
- this.credentials[appName][userId] = {};
27
- }
28
- return this.credentials[appName][userId];
29
- }
30
- }
31
- export {
32
- InMemoryCredentialService
33
- };
@@ -1,10 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class CredentialExchangeError extends Error {
7
- }
8
- export {
9
- CredentialExchangeError
10
- };
@@ -1,29 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class CredentialExchangerRegistry {
7
- constructor() {
8
- this.exchangers = {};
9
- }
10
- /**
11
- * Register an exchanger instance for a credential type.
12
- * @param credentialType - The credential type to register for.
13
- * @param exchangerInstance - The exchanger instance to register.
14
- */
15
- register(credentialType, exchangerInstance) {
16
- this.exchangers[credentialType] = exchangerInstance;
17
- }
18
- /**
19
- * Get the exchanger instance for a credential type.
20
- * @param credentialType - The credential type to get exchanger for.
21
- * @returns The exchanger instance if registered, undefined otherwise.
22
- */
23
- getExchanger(credentialType) {
24
- return this.exchangers[credentialType];
25
- }
26
- }
27
- export {
28
- CredentialExchangerRegistry
29
- };
@@ -1,46 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class BaseCodeExecutor {
7
- constructor() {
8
- /**
9
- * If true, extract and process data files from the model request
10
- * and attach them to the code executor.
11
- *
12
- * Supported data file MimeTypes are [text/csv].
13
- * Default to false.
14
- */
15
- this.optimizeDataFile = false;
16
- /**
17
- * Whether the code executor is stateful. Default to false.
18
- */
19
- this.stateful = false;
20
- /**
21
- * The number of attempts to retry on consecutive code execution errors.
22
- * Default to 2.
23
- */
24
- this.errorRetryAttempts = 2;
25
- /**
26
- * The list of the enclosing delimiters to identify the code blocks.
27
- * For example, the delimiter('```python\\n', '\\n```') can be used to
28
- * identify code blocks with the following format::
29
- *
30
- * ```python
31
- * print("hello")
32
- * ```
33
- */
34
- this.codeBlockDelimiters = [
35
- ["```tool_code\n", "\n```"],
36
- ["```python\n", "\n```"]
37
- ];
38
- /**
39
- * The delimiters to format the code execution result.
40
- */
41
- this.executionResultDelimiters = ["```tool_output\n", "\n```"];
42
- }
43
- }
44
- export {
45
- BaseCodeExecutor
46
- };
@@ -1,28 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { isGemini2Model } from "../utils/model_name.js";
7
- import { BaseCodeExecutor } from "./base_code_executor.js";
8
- class BuiltInCodeExecutor extends BaseCodeExecutor {
9
- executeCode(params) {
10
- return Promise.resolve({
11
- stdout: "",
12
- stderr: "",
13
- outputFiles: []
14
- });
15
- }
16
- processLlmRequest(llmRequest) {
17
- if (llmRequest.model && isGemini2Model(llmRequest.model)) {
18
- llmRequest.config = llmRequest.config || {};
19
- llmRequest.config.tools = llmRequest.config.tools || [];
20
- llmRequest.config.tools.push({ codeExecution: {} });
21
- return;
22
- }
23
- throw new Error("Gemini code execution tool is not supported for model ".concat(llmRequest.model));
24
- }
25
- }
26
- export {
27
- BuiltInCodeExecutor
28
- };
@@ -1,105 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Language, Outcome } from "@google/genai";
7
- import { deepClone } from "../utils/deep_clone.js";
8
- import { base64Encode, isBase64Encoded } from "../utils/env_aware_utils.js";
9
- function getEncodedFileContent(data) {
10
- return isBase64Encoded(data) ? data : base64Encode(data);
11
- }
12
- function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
13
- var _a;
14
- if (!((_a = content.parts) == null ? void 0 : _a.length)) {
15
- return "";
16
- }
17
- for (let i = 0; i < content.parts.length; i++) {
18
- const part = content.parts[i];
19
- if (part.executableCode && (i === content.parts.length - 1 || !content.parts[i + 1].codeExecutionResult)) {
20
- content.parts = content.parts.slice(0, i + 1);
21
- return part.executableCode.code;
22
- }
23
- }
24
- const textParts = content.parts.filter((part) => part.text);
25
- if (!textParts.length) {
26
- return "";
27
- }
28
- const firstTextPart = deepClone(textParts[0]);
29
- const responseText = textParts.map((part) => part.text).join("\n");
30
- const leadingDelimiterPattern = codeBlockDelimiters.map((d) => d[0]).join("|");
31
- const trailingDelimiterPattern = codeBlockDelimiters.map((d) => d[1]).join("|");
32
- const match = new RegExp(
33
- "?<prefix>.*?)(".concat(leadingDelimiterPattern, ")(?<codeStr>.*?)(").concat(trailingDelimiterPattern, ")(?<suffix>.*?)$"),
34
- "s"
35
- ).exec(responseText);
36
- const { prefix, codeStr } = (match == null ? void 0 : match.groups) || {};
37
- if (!codeStr) {
38
- return "";
39
- }
40
- content.parts = [];
41
- if (prefix) {
42
- firstTextPart.text = prefix;
43
- content.parts.push(firstTextPart);
44
- }
45
- content.parts.push(buildExecutableCodePart(codeStr));
46
- return codeStr;
47
- }
48
- function buildExecutableCodePart(code) {
49
- return {
50
- text: code,
51
- executableCode: {
52
- code,
53
- language: Language.PYTHON
54
- }
55
- };
56
- }
57
- function buildCodeExecutionResultPart(codeExecutionResult) {
58
- if (codeExecutionResult.stderr) {
59
- return {
60
- text: codeExecutionResult.stderr,
61
- codeExecutionResult: {
62
- outcome: Outcome.OUTCOME_FAILED
63
- }
64
- };
65
- }
66
- const finalResult = [];
67
- if (codeExecutionResult.stdout || !codeExecutionResult.outputFiles) {
68
- finalResult.push("Code execution result:\n".concat(codeExecutionResult.stdout, "\n"));
69
- }
70
- if (codeExecutionResult.outputFiles) {
71
- finalResult.push(
72
- "Saved artifacts:\n" + codeExecutionResult.outputFiles.map((f) => f.name).join(", ")
73
- );
74
- }
75
- return {
76
- text: finalResult.join("\n\n"),
77
- codeExecutionResult: {
78
- outcome: Outcome.OUTCOME_OK
79
- }
80
- };
81
- }
82
- function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultDelimiters) {
83
- var _a;
84
- if (!((_a = content.parts) == null ? void 0 : _a.length)) {
85
- return;
86
- }
87
- const lastPart = content.parts[content.parts.length - 1];
88
- if (lastPart.executableCode) {
89
- content.parts[content.parts.length - 1] = {
90
- text: codeBlockDelimiter[0] + lastPart.executableCode.code + codeBlockDelimiter[1]
91
- };
92
- } else if (content.parts.length == 1 && lastPart.codeExecutionResult) {
93
- content.parts[content.parts.length - 1] = {
94
- text: executionResultDelimiters[0] + lastPart.codeExecutionResult.output + executionResultDelimiters[1]
95
- };
96
- content.role = "user";
97
- }
98
- }
99
- export {
100
- buildCodeExecutionResultPart,
101
- buildExecutableCodePart,
102
- convertCodeExecutionParts,
103
- extractCodeAndTruncateContent,
104
- getEncodedFileContent
105
- };
@@ -1,168 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { deepClone } from "../utils/deep_clone.js";
7
- const CONTEXT_KEY = "_code_execution_context";
8
- const SESSION_ID_KEY = "execution_session_id";
9
- const PROCESSED_FILE_NAMES_KEY = "processed_input_files";
10
- const INPUT_FILE_KEY = "_code_executor_input_files";
11
- const ERROR_COUNT_KEY = "_code_executor_error_counts";
12
- const CODE_EXECUTION_RESULTS_KEY = "_code_execution_results";
13
- class CodeExecutorContext {
14
- constructor(sessionState) {
15
- this.sessionState = sessionState;
16
- var _a;
17
- this.context = (_a = sessionState.get(CONTEXT_KEY)) != null ? _a : {};
18
- this.sessionState = sessionState;
19
- }
20
- /**
21
- * Gets the state delta to update in the persistent session state.
22
- * @return The state delta to update in the persistent session state.
23
- */
24
- getStateDelta() {
25
- return {
26
- [CONTEXT_KEY]: deepClone(this.context)
27
- };
28
- }
29
- /**
30
- * Gets the execution ID for the code executor.
31
- * @return The execution ID for the code executor.
32
- */
33
- getExecutionId() {
34
- if (!(SESSION_ID_KEY in this.context)) {
35
- return void 0;
36
- }
37
- return this.context[SESSION_ID_KEY];
38
- }
39
- /**
40
- * Sets the execution ID for the code executor.
41
- * @param executionId The execution ID to set.
42
- */
43
- setExecutionId(executionId) {
44
- this.context[SESSION_ID_KEY] = executionId;
45
- }
46
- /**
47
- * Gets the processed file names from the session state.
48
- * @return A list of processed file names in the code executor context.
49
- */
50
- getProcessedFileNames() {
51
- if (!(PROCESSED_FILE_NAMES_KEY in this.context)) {
52
- return [];
53
- }
54
- return this.context[PROCESSED_FILE_NAMES_KEY];
55
- }
56
- /**
57
- * Adds the processed file names to the session state.
58
- * @param fileNames The file names to add to the session state.
59
- */
60
- addProcessedFileNames(fileNames) {
61
- if (!(PROCESSED_FILE_NAMES_KEY in this.context)) {
62
- this.context[PROCESSED_FILE_NAMES_KEY] = [];
63
- }
64
- this.context[PROCESSED_FILE_NAMES_KEY].push(...fileNames);
65
- }
66
- /**
67
- * Gets the input files from the session state.
68
- * @return A list of input files in the code executor context.
69
- */
70
- getInputFiles() {
71
- if (!(INPUT_FILE_KEY in this.sessionState)) {
72
- return [];
73
- }
74
- return this.sessionState.get(INPUT_FILE_KEY);
75
- }
76
- /**
77
- * Adds the input files to the session state.
78
- * @param inputFiles The input files to add to the session state.
79
- */
80
- addInputFiles(inputFiles) {
81
- if (!(INPUT_FILE_KEY in this.sessionState)) {
82
- this.sessionState.set(INPUT_FILE_KEY, []);
83
- }
84
- this.sessionState.get(INPUT_FILE_KEY).push(...inputFiles);
85
- }
86
- clearInputFiles() {
87
- if (INPUT_FILE_KEY in this.sessionState) {
88
- this.sessionState.set(INPUT_FILE_KEY, []);
89
- }
90
- if (PROCESSED_FILE_NAMES_KEY in this.context) {
91
- this.context[PROCESSED_FILE_NAMES_KEY] = [];
92
- }
93
- }
94
- /**
95
- * Gets the error count from the session state.
96
- * @param invocationId The invocation ID to get the error count for.
97
- * @return The error count for the given invocation ID.
98
- */
99
- getErrorCount(invocationId) {
100
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
101
- return 0;
102
- }
103
- return this.sessionState.get(ERROR_COUNT_KEY)[invocationId] || 0;
104
- }
105
- /**
106
- * Increments the error count from the session state.
107
- * @param invocationId The invocation ID to increment the error count for.
108
- */
109
- incrementErrorCount(invocationId) {
110
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
111
- this.sessionState.set(ERROR_COUNT_KEY, {});
112
- }
113
- this.sessionState.get(ERROR_COUNT_KEY)[invocationId] = this.getErrorCount(invocationId) + 1;
114
- }
115
- /**
116
- * Resets the error count from the session state.
117
- * @param invocationId The invocation ID to reset the error count for.
118
- */
119
- resetErrorCount(invocationId) {
120
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
121
- return;
122
- }
123
- const errorCounts = this.sessionState.get(ERROR_COUNT_KEY);
124
- if (invocationId in errorCounts) {
125
- delete errorCounts[invocationId];
126
- }
127
- }
128
- /**
129
- * Updates the code execution result.
130
- * @param invocationId The invocation ID to update the code execution result
131
- * for.
132
- * @param code The code to execute.
133
- * @param resultStdout The standard output of the code execution.
134
- * @param resultStderr The standard error of the code execution.
135
- */
136
- updateCodeExecutionResult({
137
- invocationId,
138
- code,
139
- resultStdout,
140
- resultStderr
141
- }) {
142
- if (!(CODE_EXECUTION_RESULTS_KEY in this.sessionState)) {
143
- this.sessionState.set(CODE_EXECUTION_RESULTS_KEY, {});
144
- }
145
- const codeExecutionResults = this.sessionState.get(CODE_EXECUTION_RESULTS_KEY);
146
- if (!(invocationId in codeExecutionResults)) {
147
- codeExecutionResults[invocationId] = [];
148
- }
149
- codeExecutionResults[invocationId].push({
150
- code,
151
- resultStdout,
152
- resultStderr,
153
- timestamp: Date.now()
154
- });
155
- }
156
- /**
157
- * Gets the code executor context from the session state.
158
- * @param invocationId The session state to get the code executor context
159
- * from.
160
- * @return The code execution context for the given invocation ID.
161
- */
162
- getCodeExecutionContext(invocationId) {
163
- return this.sessionState.get(CONTEXT_KEY) || {};
164
- }
165
- }
166
- export {
167
- CodeExecutorContext
168
- };
@@ -1,98 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { BaseAgent } from "./agents/base_agent.js";
7
- import { CallbackContext } from "./agents/callback_context.js";
8
- import { functionsExportedForTestingOnly } from "./agents/functions.js";
9
- import { InvocationContext } from "./agents/invocation_context.js";
10
- import { LiveRequestQueue } from "./agents/live_request_queue.js";
11
- import { LlmAgent } from "./agents/llm_agent.js";
12
- import { LoopAgent } from "./agents/loop_agent.js";
13
- import { ParallelAgent } from "./agents/parallel_agent.js";
14
- import { StreamingMode } from "./agents/run_config.js";
15
- import { SequentialAgent } from "./agents/sequential_agent.js";
16
- import { InMemoryArtifactService } from "./artifacts/in_memory_artifact_service.js";
17
- import { BuiltInCodeExecutor } from "./code_executors/built_in_code_executor.js";
18
- import { createEvent, getFunctionCalls, getFunctionResponses, hasTrailingCodeExecutionResult, isFinalResponse, stringifyContent } from "./events/event.js";
19
- import { createEventActions } from "./events/event_actions.js";
20
- import { InMemoryMemoryService } from "./memory/in_memory_memory_service.js";
21
- import { BaseLlm, isBaseLlm } from "./models/base_llm.js";
22
- import { Gemini } from "./models/google_llm.js";
23
- import { LLMRegistry } from "./models/registry.js";
24
- import { BasePlugin } from "./plugins/base_plugin.js";
25
- import { LoggingPlugin } from "./plugins/logging_plugin.js";
26
- import { PluginManager } from "./plugins/plugin_manager.js";
27
- import { getAskUserConfirmationFunctionCalls, InMemoryPolicyEngine, PolicyOutcome, REQUEST_CONFIRMATION_FUNCTION_CALL_NAME, SecurityPlugin } from "./plugins/security_plugin.js";
28
- import { InMemoryRunner } from "./runner/in_memory_runner.js";
29
- import { Runner } from "./runner/runner.js";
30
- import { InMemorySessionService } from "./sessions/in_memory_session_service.js";
31
- import { createSession } from "./sessions/session.js";
32
- import { State } from "./sessions/state.js";
33
- import { AgentTool } from "./tools/agent_tool.js";
34
- import { BaseTool } from "./tools/base_tool.js";
35
- import { BaseToolset } from "./tools/base_toolset.js";
36
- import { FunctionTool } from "./tools/function_tool.js";
37
- import { GOOGLE_SEARCH } from "./tools/google_search_tool.js";
38
- import { LongRunningFunctionTool } from "./tools/long_running_tool.js";
39
- import { ToolConfirmation } from "./tools/tool_confirmation.js";
40
- import { ToolContext } from "./tools/tool_context.js";
41
- import { LogLevel, setLogLevel } from "./utils/logger.js";
42
- import { zodObjectToSchema } from "./utils/simple_zod_to_json.js";
43
- import { version } from "./version.js";
44
- export * from "./artifacts/base_artifact_service.js";
45
- export * from "./memory/base_memory_service.js";
46
- export * from "./sessions/base_session_service.js";
47
- export * from "./tools/base_tool.js";
48
- export {
49
- AgentTool,
50
- BaseAgent,
51
- BaseLlm,
52
- BasePlugin,
53
- BaseTool,
54
- BaseToolset,
55
- BuiltInCodeExecutor,
56
- CallbackContext,
57
- FunctionTool,
58
- GOOGLE_SEARCH,
59
- Gemini,
60
- InMemoryArtifactService,
61
- InMemoryMemoryService,
62
- InMemoryPolicyEngine,
63
- InMemoryRunner,
64
- InMemorySessionService,
65
- InvocationContext,
66
- LLMRegistry,
67
- LiveRequestQueue,
68
- LlmAgent,
69
- LogLevel,
70
- LoggingPlugin,
71
- LongRunningFunctionTool,
72
- LoopAgent,
73
- ParallelAgent,
74
- PluginManager,
75
- PolicyOutcome,
76
- REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
77
- Runner,
78
- SecurityPlugin,
79
- SequentialAgent,
80
- State,
81
- StreamingMode,
82
- ToolConfirmation,
83
- ToolContext,
84
- createEvent,
85
- createEventActions,
86
- createSession,
87
- functionsExportedForTestingOnly,
88
- getAskUserConfirmationFunctionCalls,
89
- getFunctionCalls,
90
- getFunctionResponses,
91
- hasTrailingCodeExecutionResult,
92
- isBaseLlm,
93
- isFinalResponse,
94
- setLogLevel,
95
- stringifyContent,
96
- version,
97
- zodObjectToSchema
98
- };
@@ -1,101 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- /**
21
- * @license
22
- * Copyright 2025 Google LLC
23
- * SPDX-License-Identifier: Apache-2.0
24
- */
25
- import { createEventActions } from "./event_actions.js";
26
- function createEvent(params = {}) {
27
- return __spreadProps(__spreadValues({}, params), {
28
- id: params.id || createNewEventId(),
29
- invocationId: params.invocationId || "",
30
- author: params.author,
31
- actions: params.actions || createEventActions(),
32
- longRunningToolIds: params.longRunningToolIds || [],
33
- branch: params.branch,
34
- timestamp: params.timestamp || Date.now()
35
- });
36
- }
37
- function isFinalResponse(event) {
38
- if (event.actions.skipSummarization || event.longRunningToolIds && event.longRunningToolIds.length > 0) {
39
- return true;
40
- }
41
- return getFunctionCalls(event).length === 0 && getFunctionResponses(event).length === 0 && !event.partial && !hasTrailingCodeExecutionResult(event);
42
- }
43
- function getFunctionCalls(event) {
44
- const funcCalls = [];
45
- if (event.content && event.content.parts) {
46
- for (const part of event.content.parts) {
47
- if (part.functionCall) {
48
- funcCalls.push(part.functionCall);
49
- }
50
- }
51
- }
52
- return funcCalls;
53
- }
54
- function getFunctionResponses(event) {
55
- const funcResponses = [];
56
- if (event.content && event.content.parts) {
57
- for (const part of event.content.parts) {
58
- if (part.functionResponse) {
59
- funcResponses.push(part.functionResponse);
60
- }
61
- }
62
- }
63
- return funcResponses;
64
- }
65
- function hasTrailingCodeExecutionResult(event) {
66
- var _a;
67
- if (event.content && ((_a = event.content.parts) == null ? void 0 : _a.length)) {
68
- const lastPart = event.content.parts[event.content.parts.length - 1];
69
- return lastPart.codeExecutionResult !== void 0;
70
- }
71
- return false;
72
- }
73
- function stringifyContent(event) {
74
- var _a;
75
- if (!((_a = event.content) == null ? void 0 : _a.parts)) {
76
- return "";
77
- }
78
- return event.content.parts.map((part) => {
79
- var _a2;
80
- return (_a2 = part.text) != null ? _a2 : "";
81
- }).join("");
82
- }
83
- const ASCII_LETTERS_AND_NUMBERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
84
- function createNewEventId() {
85
- let id = "";
86
- for (let i = 0; i < 8; i++) {
87
- id += ASCII_LETTERS_AND_NUMBERS[Math.floor(
88
- Math.random() * ASCII_LETTERS_AND_NUMBERS.length
89
- )];
90
- }
91
- return id;
92
- }
93
- export {
94
- createEvent,
95
- createNewEventId,
96
- getFunctionCalls,
97
- getFunctionResponses,
98
- hasTrailingCodeExecutionResult,
99
- isFinalResponse,
100
- stringifyContent
101
- };