@paean-ai/adk 0.2.17 → 0.2.18

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 (253) 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/web/index.js +1 -1
  6. package/dist/web/index.js.map +3 -3
  7. package/package.json +2 -2
  8. package/dist/cjs/agents/active_streaming_tool.js +0 -44
  9. package/dist/cjs/agents/base_agent.js +0 -245
  10. package/dist/cjs/agents/base_llm_processor.js +0 -44
  11. package/dist/cjs/agents/callback_context.js +0 -98
  12. package/dist/cjs/agents/content_processor_utils.js +0 -346
  13. package/dist/cjs/agents/functions.js +0 -424
  14. package/dist/cjs/agents/instructions.js +0 -110
  15. package/dist/cjs/agents/invocation_context.js +0 -107
  16. package/dist/cjs/agents/live_request_queue.js +0 -136
  17. package/dist/cjs/agents/llm_agent.js +0 -1247
  18. package/dist/cjs/agents/loop_agent.js +0 -68
  19. package/dist/cjs/agents/parallel_agent.js +0 -78
  20. package/dist/cjs/agents/readonly_context.js +0 -68
  21. package/dist/cjs/agents/run_config.js +0 -70
  22. package/dist/cjs/agents/sequential_agent.js +0 -84
  23. package/dist/cjs/agents/transcription_entry.js +0 -27
  24. package/dist/cjs/artifacts/base_artifact_service.js +0 -27
  25. package/dist/cjs/artifacts/gcs_artifact_service.js +0 -140
  26. package/dist/cjs/artifacts/in_memory_artifact_service.js +0 -119
  27. package/dist/cjs/auth/auth_credential.js +0 -46
  28. package/dist/cjs/auth/auth_handler.js +0 -92
  29. package/dist/cjs/auth/auth_schemes.js +0 -62
  30. package/dist/cjs/auth/auth_tool.js +0 -27
  31. package/dist/cjs/auth/credential_service/base_credential_service.js +0 -27
  32. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +0 -63
  33. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +0 -40
  34. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +0 -59
  35. package/dist/cjs/code_executors/base_code_executor.js +0 -76
  36. package/dist/cjs/code_executors/built_in_code_executor.js +0 -58
  37. package/dist/cjs/code_executors/code_execution_utils.js +0 -142
  38. package/dist/cjs/code_executors/code_executor_context.js +0 -198
  39. package/dist/cjs/common.js +0 -181
  40. package/dist/cjs/events/event.js +0 -119
  41. package/dist/cjs/events/event_actions.js +0 -83
  42. package/dist/cjs/examples/base_example_provider.js +0 -40
  43. package/dist/cjs/examples/example.js +0 -27
  44. package/dist/cjs/examples/example_util.js +0 -107
  45. package/dist/cjs/index_web.js +0 -33
  46. package/dist/cjs/memory/base_memory_service.js +0 -27
  47. package/dist/cjs/memory/in_memory_memory_service.js +0 -97
  48. package/dist/cjs/memory/memory_entry.js +0 -27
  49. package/dist/cjs/models/base_llm.js +0 -95
  50. package/dist/cjs/models/base_llm_connection.js +0 -27
  51. package/dist/cjs/models/gemini_llm_connection.js +0 -132
  52. package/dist/cjs/models/google_llm.js +0 -559
  53. package/dist/cjs/models/llm_request.js +0 -82
  54. package/dist/cjs/models/llm_response.js +0 -71
  55. package/dist/cjs/models/registry.js +0 -121
  56. package/dist/cjs/plugins/base_plugin.js +0 -236
  57. package/dist/cjs/plugins/logging_plugin.js +0 -222
  58. package/dist/cjs/plugins/plugin_manager.js +0 -239
  59. package/dist/cjs/plugins/security_plugin.js +0 -153
  60. package/dist/cjs/runner/in_memory_runner.js +0 -58
  61. package/dist/cjs/runner/runner.js +0 -277
  62. package/dist/cjs/sessions/base_session_service.js +0 -71
  63. package/dist/cjs/sessions/in_memory_session_service.js +0 -184
  64. package/dist/cjs/sessions/session.js +0 -48
  65. package/dist/cjs/sessions/state.js +0 -101
  66. package/dist/cjs/telemetry/google_cloud.js +0 -85
  67. package/dist/cjs/telemetry/setup.js +0 -97
  68. package/dist/cjs/telemetry/tracing.js +0 -231
  69. package/dist/cjs/tools/agent_tool.js +0 -134
  70. package/dist/cjs/tools/base_tool.js +0 -107
  71. package/dist/cjs/tools/base_toolset.js +0 -76
  72. package/dist/cjs/tools/forwarding_artifact_service.js +0 -71
  73. package/dist/cjs/tools/function_tool.js +0 -101
  74. package/dist/cjs/tools/google_search_tool.js +0 -77
  75. package/dist/cjs/tools/long_running_tool.js +0 -63
  76. package/dist/cjs/tools/mcp/mcp_session_manager.js +0 -65
  77. package/dist/cjs/tools/mcp/mcp_tool.js +0 -65
  78. package/dist/cjs/tools/mcp/mcp_toolset.js +0 -61
  79. package/dist/cjs/tools/tool_confirmation.js +0 -49
  80. package/dist/cjs/tools/tool_context.js +0 -129
  81. package/dist/cjs/utils/client_labels.js +0 -56
  82. package/dist/cjs/utils/deep_clone.js +0 -44
  83. package/dist/cjs/utils/env_aware_utils.js +0 -83
  84. package/dist/cjs/utils/gemini_schema_util.js +0 -88
  85. package/dist/cjs/utils/logger.js +0 -121
  86. package/dist/cjs/utils/model_name.js +0 -76
  87. package/dist/cjs/utils/simple_zod_to_json.js +0 -191
  88. package/dist/cjs/utils/variant_utils.js +0 -55
  89. package/dist/cjs/version.js +0 -39
  90. package/dist/esm/agents/active_streaming_tool.js +0 -14
  91. package/dist/esm/agents/base_agent.js +0 -214
  92. package/dist/esm/agents/base_llm_processor.js +0 -13
  93. package/dist/esm/agents/callback_context.js +0 -68
  94. package/dist/esm/agents/content_processor_utils.js +0 -315
  95. package/dist/esm/agents/functions.js +0 -383
  96. package/dist/esm/agents/instructions.js +0 -80
  97. package/dist/esm/agents/invocation_context.js +0 -76
  98. package/dist/esm/agents/live_request_queue.js +0 -106
  99. package/dist/esm/agents/llm_agent.js +0 -1215
  100. package/dist/esm/agents/loop_agent.js +0 -38
  101. package/dist/esm/agents/parallel_agent.js +0 -48
  102. package/dist/esm/agents/readonly_context.js +0 -38
  103. package/dist/esm/agents/run_config.js +0 -39
  104. package/dist/esm/agents/sequential_agent.js +0 -54
  105. package/dist/esm/agents/transcription_entry.js +0 -5
  106. package/dist/esm/artifacts/base_artifact_service.js +0 -5
  107. package/dist/esm/artifacts/gcs_artifact_service.js +0 -110
  108. package/dist/esm/artifacts/in_memory_artifact_service.js +0 -89
  109. package/dist/esm/auth/auth_credential.js +0 -16
  110. package/dist/esm/auth/auth_handler.js +0 -62
  111. package/dist/esm/auth/auth_schemes.js +0 -31
  112. package/dist/esm/auth/auth_tool.js +0 -5
  113. package/dist/esm/auth/credential_service/base_credential_service.js +0 -5
  114. package/dist/esm/auth/credential_service/in_memory_credential_service.js +0 -33
  115. package/dist/esm/auth/exchanger/base_credential_exchanger.js +0 -10
  116. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +0 -29
  117. package/dist/esm/code_executors/base_code_executor.js +0 -46
  118. package/dist/esm/code_executors/built_in_code_executor.js +0 -28
  119. package/dist/esm/code_executors/code_execution_utils.js +0 -108
  120. package/dist/esm/code_executors/code_executor_context.js +0 -168
  121. package/dist/esm/common.js +0 -98
  122. package/dist/esm/events/event.js +0 -83
  123. package/dist/esm/events/event_actions.js +0 -52
  124. package/dist/esm/examples/base_example_provider.js +0 -10
  125. package/dist/esm/examples/example.js +0 -5
  126. package/dist/esm/examples/example_util.js +0 -76
  127. package/dist/esm/index_web.js +0 -6
  128. package/dist/esm/memory/base_memory_service.js +0 -5
  129. package/dist/esm/memory/in_memory_memory_service.js +0 -67
  130. package/dist/esm/memory/memory_entry.js +0 -5
  131. package/dist/esm/models/base_llm.js +0 -64
  132. package/dist/esm/models/base_llm_connection.js +0 -5
  133. package/dist/esm/models/gemini_llm_connection.js +0 -102
  134. package/dist/esm/models/google_llm.js +0 -533
  135. package/dist/esm/models/llm_request.js +0 -50
  136. package/dist/esm/models/llm_response.js +0 -41
  137. package/dist/esm/models/registry.js +0 -91
  138. package/dist/esm/plugins/base_plugin.js +0 -206
  139. package/dist/esm/plugins/logging_plugin.js +0 -192
  140. package/dist/esm/plugins/plugin_manager.js +0 -209
  141. package/dist/esm/plugins/security_plugin.js +0 -119
  142. package/dist/esm/runner/in_memory_runner.js +0 -28
  143. package/dist/esm/runner/runner.js +0 -247
  144. package/dist/esm/sessions/base_session_service.js +0 -41
  145. package/dist/esm/sessions/in_memory_session_service.js +0 -154
  146. package/dist/esm/sessions/session.js +0 -18
  147. package/dist/esm/sessions/state.js +0 -71
  148. package/dist/esm/telemetry/google_cloud.js +0 -54
  149. package/dist/esm/telemetry/setup.js +0 -67
  150. package/dist/esm/telemetry/tracing.js +0 -195
  151. package/dist/esm/tools/agent_tool.js +0 -104
  152. package/dist/esm/tools/base_tool.js +0 -77
  153. package/dist/esm/tools/base_toolset.js +0 -46
  154. package/dist/esm/tools/forwarding_artifact_service.js +0 -41
  155. package/dist/esm/tools/function_tool.js +0 -71
  156. package/dist/esm/tools/google_search_tool.js +0 -47
  157. package/dist/esm/tools/long_running_tool.js +0 -33
  158. package/dist/esm/tools/mcp/mcp_session_manager.js +0 -35
  159. package/dist/esm/tools/mcp/mcp_tool.js +0 -35
  160. package/dist/esm/tools/mcp/mcp_toolset.js +0 -31
  161. package/dist/esm/tools/tool_confirmation.js +0 -19
  162. package/dist/esm/tools/tool_context.js +0 -99
  163. package/dist/esm/utils/client_labels.js +0 -26
  164. package/dist/esm/utils/deep_clone.js +0 -14
  165. package/dist/esm/utils/env_aware_utils.js +0 -49
  166. package/dist/esm/utils/gemini_schema_util.js +0 -58
  167. package/dist/esm/utils/logger.js +0 -89
  168. package/dist/esm/utils/model_name.js +0 -41
  169. package/dist/esm/utils/simple_zod_to_json.js +0 -160
  170. package/dist/esm/utils/variant_utils.js +0 -24
  171. package/dist/esm/version.js +0 -9
  172. package/dist/web/agents/active_streaming_tool.js +0 -14
  173. package/dist/web/agents/base_agent.js +0 -265
  174. package/dist/web/agents/base_llm_processor.js +0 -13
  175. package/dist/web/agents/callback_context.js +0 -68
  176. package/dist/web/agents/content_processor_utils.js +0 -315
  177. package/dist/web/agents/functions.js +0 -383
  178. package/dist/web/agents/instructions.js +0 -80
  179. package/dist/web/agents/invocation_context.js +0 -76
  180. package/dist/web/agents/live_request_queue.js +0 -124
  181. package/dist/web/agents/llm_agent.js +0 -1345
  182. package/dist/web/agents/loop_agent.js +0 -71
  183. package/dist/web/agents/parallel_agent.js +0 -83
  184. package/dist/web/agents/readonly_context.js +0 -38
  185. package/dist/web/agents/run_config.js +0 -54
  186. package/dist/web/agents/sequential_agent.js +0 -99
  187. package/dist/web/agents/transcription_entry.js +0 -5
  188. package/dist/web/artifacts/base_artifact_service.js +0 -5
  189. package/dist/web/artifacts/gcs_artifact_service.js +0 -126
  190. package/dist/web/artifacts/in_memory_artifact_service.js +0 -89
  191. package/dist/web/auth/auth_credential.js +0 -16
  192. package/dist/web/auth/auth_handler.js +0 -62
  193. package/dist/web/auth/auth_schemes.js +0 -31
  194. package/dist/web/auth/auth_tool.js +0 -5
  195. package/dist/web/auth/credential_service/base_credential_service.js +0 -5
  196. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -33
  197. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -10
  198. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -29
  199. package/dist/web/code_executors/base_code_executor.js +0 -46
  200. package/dist/web/code_executors/built_in_code_executor.js +0 -28
  201. package/dist/web/code_executors/code_execution_utils.js +0 -105
  202. package/dist/web/code_executors/code_executor_context.js +0 -168
  203. package/dist/web/common.js +0 -98
  204. package/dist/web/events/event.js +0 -101
  205. package/dist/web/events/event_actions.js +0 -67
  206. package/dist/web/examples/base_example_provider.js +0 -10
  207. package/dist/web/examples/example.js +0 -5
  208. package/dist/web/examples/example_util.js +0 -75
  209. package/dist/web/index_web.js +0 -6
  210. package/dist/web/memory/base_memory_service.js +0 -5
  211. package/dist/web/memory/in_memory_memory_service.js +0 -67
  212. package/dist/web/memory/memory_entry.js +0 -5
  213. package/dist/web/models/base_llm.js +0 -64
  214. package/dist/web/models/base_llm_connection.js +0 -5
  215. package/dist/web/models/gemini_llm_connection.js +0 -120
  216. package/dist/web/models/google_llm.js +0 -574
  217. package/dist/web/models/llm_request.js +0 -50
  218. package/dist/web/models/llm_response.js +0 -41
  219. package/dist/web/models/registry.js +0 -91
  220. package/dist/web/plugins/base_plugin.js +0 -206
  221. package/dist/web/plugins/logging_plugin.js +0 -192
  222. package/dist/web/plugins/plugin_manager.js +0 -209
  223. package/dist/web/plugins/security_plugin.js +0 -119
  224. package/dist/web/runner/in_memory_runner.js +0 -28
  225. package/dist/web/runner/runner.js +0 -278
  226. package/dist/web/sessions/base_session_service.js +0 -41
  227. package/dist/web/sessions/in_memory_session_service.js +0 -154
  228. package/dist/web/sessions/session.js +0 -18
  229. package/dist/web/sessions/state.js +0 -87
  230. package/dist/web/telemetry/google_cloud.js +0 -54
  231. package/dist/web/telemetry/setup.js +0 -67
  232. package/dist/web/telemetry/tracing.js +0 -210
  233. package/dist/web/tools/agent_tool.js +0 -118
  234. package/dist/web/tools/base_tool.js +0 -77
  235. package/dist/web/tools/base_toolset.js +0 -46
  236. package/dist/web/tools/forwarding_artifact_service.js +0 -41
  237. package/dist/web/tools/function_tool.js +0 -71
  238. package/dist/web/tools/google_search_tool.js +0 -47
  239. package/dist/web/tools/long_running_tool.js +0 -50
  240. package/dist/web/tools/mcp/mcp_session_manager.js +0 -35
  241. package/dist/web/tools/mcp/mcp_tool.js +0 -35
  242. package/dist/web/tools/mcp/mcp_toolset.js +0 -31
  243. package/dist/web/tools/tool_confirmation.js +0 -19
  244. package/dist/web/tools/tool_context.js +0 -99
  245. package/dist/web/utils/client_labels.js +0 -26
  246. package/dist/web/utils/deep_clone.js +0 -14
  247. package/dist/web/utils/env_aware_utils.js +0 -49
  248. package/dist/web/utils/gemini_schema_util.js +0 -58
  249. package/dist/web/utils/logger.js +0 -89
  250. package/dist/web/utils/model_name.js +0 -41
  251. package/dist/web/utils/simple_zod_to_json.js +0 -174
  252. package/dist/web/utils/variant_utils.js +0 -24
  253. package/dist/web/version.js +0 -9
@@ -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 ${llmRequest.model}`);
24
- }
25
- }
26
- export {
27
- BuiltInCodeExecutor
28
- };
@@ -1,108 +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>.*?)(${leadingDelimiterPattern})(?<codeStr>.*?)(${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:
69
- ${codeExecutionResult.stdout}
70
- `);
71
- }
72
- if (codeExecutionResult.outputFiles) {
73
- finalResult.push(
74
- `Saved artifacts:
75
- ` + codeExecutionResult.outputFiles.map((f) => f.name).join(", ")
76
- );
77
- }
78
- return {
79
- text: finalResult.join("\n\n"),
80
- codeExecutionResult: {
81
- outcome: Outcome.OUTCOME_OK
82
- }
83
- };
84
- }
85
- function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultDelimiters) {
86
- var _a;
87
- if (!((_a = content.parts) == null ? void 0 : _a.length)) {
88
- return;
89
- }
90
- const lastPart = content.parts[content.parts.length - 1];
91
- if (lastPart.executableCode) {
92
- content.parts[content.parts.length - 1] = {
93
- text: codeBlockDelimiter[0] + lastPart.executableCode.code + codeBlockDelimiter[1]
94
- };
95
- } else if (content.parts.length == 1 && lastPart.codeExecutionResult) {
96
- content.parts[content.parts.length - 1] = {
97
- text: executionResultDelimiters[0] + lastPart.codeExecutionResult.output + executionResultDelimiters[1]
98
- };
99
- content.role = "user";
100
- }
101
- }
102
- export {
103
- buildCodeExecutionResultPart,
104
- buildExecutableCodePart,
105
- convertCodeExecutionParts,
106
- extractCodeAndTruncateContent,
107
- getEncodedFileContent
108
- };
@@ -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,83 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { createEventActions } from "./event_actions.js";
7
- function createEvent(params = {}) {
8
- return {
9
- ...params,
10
- id: params.id || createNewEventId(),
11
- invocationId: params.invocationId || "",
12
- author: params.author,
13
- actions: params.actions || createEventActions(),
14
- longRunningToolIds: params.longRunningToolIds || [],
15
- branch: params.branch,
16
- timestamp: params.timestamp || Date.now()
17
- };
18
- }
19
- function isFinalResponse(event) {
20
- if (event.actions.skipSummarization || event.longRunningToolIds && event.longRunningToolIds.length > 0) {
21
- return true;
22
- }
23
- return getFunctionCalls(event).length === 0 && getFunctionResponses(event).length === 0 && !event.partial && !hasTrailingCodeExecutionResult(event);
24
- }
25
- function getFunctionCalls(event) {
26
- const funcCalls = [];
27
- if (event.content && event.content.parts) {
28
- for (const part of event.content.parts) {
29
- if (part.functionCall) {
30
- funcCalls.push(part.functionCall);
31
- }
32
- }
33
- }
34
- return funcCalls;
35
- }
36
- function getFunctionResponses(event) {
37
- const funcResponses = [];
38
- if (event.content && event.content.parts) {
39
- for (const part of event.content.parts) {
40
- if (part.functionResponse) {
41
- funcResponses.push(part.functionResponse);
42
- }
43
- }
44
- }
45
- return funcResponses;
46
- }
47
- function hasTrailingCodeExecutionResult(event) {
48
- var _a;
49
- if (event.content && ((_a = event.content.parts) == null ? void 0 : _a.length)) {
50
- const lastPart = event.content.parts[event.content.parts.length - 1];
51
- return lastPart.codeExecutionResult !== void 0;
52
- }
53
- return false;
54
- }
55
- function stringifyContent(event) {
56
- var _a;
57
- if (!((_a = event.content) == null ? void 0 : _a.parts)) {
58
- return "";
59
- }
60
- return event.content.parts.map((part) => {
61
- var _a2;
62
- return (_a2 = part.text) != null ? _a2 : "";
63
- }).join("");
64
- }
65
- const ASCII_LETTERS_AND_NUMBERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
66
- function createNewEventId() {
67
- let id = "";
68
- for (let i = 0; i < 8; i++) {
69
- id += ASCII_LETTERS_AND_NUMBERS[Math.floor(
70
- Math.random() * ASCII_LETTERS_AND_NUMBERS.length
71
- )];
72
- }
73
- return id;
74
- }
75
- export {
76
- createEvent,
77
- createNewEventId,
78
- getFunctionCalls,
79
- getFunctionResponses,
80
- hasTrailingCodeExecutionResult,
81
- isFinalResponse,
82
- stringifyContent
83
- };
@@ -1,52 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- function createEventActions(state = {}) {
7
- return {
8
- stateDelta: {},
9
- artifactDelta: {},
10
- requestedAuthConfigs: {},
11
- requestedToolConfirmations: {},
12
- ...state
13
- };
14
- }
15
- function mergeEventActions(sources, target) {
16
- const result = createEventActions();
17
- if (target) {
18
- Object.assign(result, target);
19
- }
20
- for (const source of sources) {
21
- if (!source) continue;
22
- if (source.stateDelta) {
23
- Object.assign(result.stateDelta, source.stateDelta);
24
- }
25
- if (source.artifactDelta) {
26
- Object.assign(result.artifactDelta, source.artifactDelta);
27
- }
28
- if (source.requestedAuthConfigs) {
29
- Object.assign(result.requestedAuthConfigs, source.requestedAuthConfigs);
30
- }
31
- if (source.requestedToolConfirmations) {
32
- Object.assign(
33
- result.requestedToolConfirmations,
34
- source.requestedToolConfirmations
35
- );
36
- }
37
- if (source.skipSummarization !== void 0) {
38
- result.skipSummarization = source.skipSummarization;
39
- }
40
- if (source.transferToAgent !== void 0) {
41
- result.transferToAgent = source.transferToAgent;
42
- }
43
- if (source.escalate !== void 0) {
44
- result.escalate = source.escalate;
45
- }
46
- }
47
- return result;
48
- }
49
- export {
50
- createEventActions,
51
- mergeEventActions
52
- };
@@ -1,10 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class BaseExampleProvider {
7
- }
8
- export {
9
- BaseExampleProvider
10
- };
@@ -1,5 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
@@ -1,76 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { BaseExampleProvider } from "./base_example_provider.js";
7
- const EXAMPLES_INTRO = "<EXAMPLES>\nBegin few-shot\nThe following are examples of user queries and model responses using the available tools.\n\n";
8
- const EXAMPLES_END = "End few-shot\n<EXAMPLES>";
9
- const EXAMPLE_START = "EXAMPLE {}:\nBegin example\n";
10
- const EXAMPLE_END = "End example\n\n";
11
- const USER_PREFIX = "[user]\n";
12
- const MODEL_PREFIX = "[model]\n";
13
- const FUNCTION_PREFIX = "```\n";
14
- const FUNCTION_CALL_PREFIX = "```tool_code\n";
15
- const FUNCTION_CALL_SUFFIX = "\n```\n";
16
- const FUNCTION_RESPONSE_PREFIX = "```tool_outputs\n";
17
- const FUNCTION_RESPONSE_SUFFIX = "\n```\n";
18
- function convertExamplesToText(examples, model) {
19
- var _a;
20
- let examplesStr = "";
21
- for (const [exampleNum, example] of examples.entries()) {
22
- let output = `${EXAMPLE_START.replace("{}", String(exampleNum + 1))}${USER_PREFIX}`;
23
- if ((_a = example.input) == null ? void 0 : _a.parts) {
24
- output += example.input.parts.filter((part) => part.text).map((part) => part.text).join("\n") + "\n";
25
- }
26
- const gemini2 = !model || model.includes("gemini-2");
27
- let previousRole;
28
- for (const content of example.output) {
29
- const role = content.role === "model" ? MODEL_PREFIX : USER_PREFIX;
30
- if (role !== previousRole) {
31
- output += role;
32
- }
33
- previousRole = role;
34
- for (const part of content.parts || []) {
35
- if (part.functionCall) {
36
- const prefix = gemini2 ? FUNCTION_PREFIX : FUNCTION_CALL_PREFIX;
37
- const functionCall = part.functionCall;
38
- const args = [];
39
- if (functionCall.args) {
40
- for (const [k, v] of Object.entries(functionCall.args)) {
41
- if (typeof v === "string") {
42
- args.push(`${k}='${v}'`);
43
- } else {
44
- args.push(`${k}=${v}`);
45
- }
46
- }
47
- }
48
- const functionCallString = `${functionCall.name}(${args.join(", ")})`;
49
- output += `${prefix}${functionCallString}${FUNCTION_CALL_SUFFIX}`;
50
- } else if (part.functionResponse) {
51
- const prefix = gemini2 ? FUNCTION_PREFIX : FUNCTION_RESPONSE_PREFIX;
52
- output += `${prefix}${JSON.stringify(part.functionResponse)}${FUNCTION_RESPONSE_SUFFIX}`;
53
- } else if (part.text) {
54
- output += `${part.text}
55
- `;
56
- }
57
- }
58
- }
59
- output += EXAMPLE_END;
60
- examplesStr += output;
61
- }
62
- return `${EXAMPLES_INTRO}${examplesStr}${EXAMPLES_END}`;
63
- }
64
- function buildExampleSi(examples, query, model) {
65
- if (Array.isArray(examples)) {
66
- return convertExamplesToText(examples, model);
67
- }
68
- if (examples instanceof BaseExampleProvider) {
69
- return convertExamplesToText(examples.getExamples(query), model);
70
- }
71
- throw new Error("Invalid example configuration");
72
- }
73
- export {
74
- buildExampleSi,
75
- convertExamplesToText
76
- };
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export * from "./common.js";
@@ -1,5 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */