@paean-ai/adk 0.2.14 → 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 +1 -1
  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,46 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { isGemini1Model, isGeminiModel } from "../utils/model_name.js";
7
- import { BaseTool } from "./base_tool.js";
8
- class GoogleSearchTool extends BaseTool {
9
- constructor() {
10
- super({ name: "google_search", description: "Google Search Tool" });
11
- }
12
- runAsync(request) {
13
- return Promise.resolve();
14
- }
15
- async processLlmRequest({ toolContext, llmRequest }) {
16
- if (!llmRequest.model) {
17
- return;
18
- }
19
- llmRequest.config = llmRequest.config || {};
20
- llmRequest.config.tools = llmRequest.config.tools || [];
21
- if (isGemini1Model(llmRequest.model)) {
22
- if (llmRequest.config.tools.length > 0) {
23
- throw new Error(
24
- "Google search tool can not be used with other tools in Gemini 1.x."
25
- );
26
- }
27
- llmRequest.config.tools.push({
28
- googleSearchRetrieval: {}
29
- });
30
- return;
31
- }
32
- if (isGeminiModel(llmRequest.model)) {
33
- llmRequest.config.tools.push({
34
- googleSearch: {}
35
- });
36
- return;
37
- }
38
- throw new Error(
39
- `Google search tool is not supported for model ${llmRequest.model}`
40
- );
41
- }
42
- }
43
- const GOOGLE_SEARCH = new GoogleSearchTool();
44
- export {
45
- GOOGLE_SEARCH
46
- };
@@ -1,33 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { FunctionTool } from "./function_tool.js";
7
- const LONG_RUNNING_INSTRUCTION = `
8
-
9
- NOTE: This is a long-running operation. Do not call this tool again if it has already returned some intermediate or pending status.`;
10
- class LongRunningFunctionTool extends FunctionTool {
11
- /**
12
- * The constructor acts as the user-friendly factory.
13
- * @param options The configuration for the tool.
14
- */
15
- constructor(options) {
16
- super({ ...options, isLongRunning: true });
17
- }
18
- /**
19
- * Provide a schema for the function.
20
- */
21
- _getDeclaration() {
22
- const declaration = super._getDeclaration();
23
- if (declaration.description) {
24
- declaration.description += LONG_RUNNING_INSTRUCTION;
25
- } else {
26
- declaration.description = LONG_RUNNING_INSTRUCTION.trimStart();
27
- }
28
- return declaration;
29
- }
30
- }
31
- export {
32
- LongRunningFunctionTool
33
- };
@@ -1,35 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Client } from "@modelcontextprotocol/sdk/client/index.js";
7
- import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
8
- import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
9
- class MCPSessionManager {
10
- constructor(connectionParams) {
11
- this.connectionParams = connectionParams;
12
- }
13
- async createSession() {
14
- const client = new Client({ name: "MCPClient", version: "1.0.0" });
15
- switch (this.connectionParams.type) {
16
- case "StdioConnectionParams":
17
- await client.connect(
18
- new StdioClientTransport(this.connectionParams.serverParams)
19
- );
20
- break;
21
- case "StreamableHTTPConnectionParams":
22
- await client.connect(new StreamableHTTPClientTransport(
23
- new URL(this.connectionParams.url)
24
- ));
25
- break;
26
- default:
27
- const _exhaustiveCheck = this.connectionParams;
28
- break;
29
- }
30
- return client;
31
- }
32
- }
33
- export {
34
- MCPSessionManager
35
- };
@@ -1,35 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { toGeminiSchema } from "../../utils/gemini_schema_util.js";
7
- import { BaseTool } from "../base_tool.js";
8
- class MCPTool extends BaseTool {
9
- constructor(mcpTool, mcpSessionManager) {
10
- super({ name: mcpTool.name, description: mcpTool.description || "" });
11
- this.mcpTool = mcpTool;
12
- this.mcpSessionManager = mcpSessionManager;
13
- }
14
- _getDeclaration() {
15
- let declaration;
16
- declaration = {
17
- name: this.mcpTool.name,
18
- description: this.mcpTool.description,
19
- parameters: toGeminiSchema(this.mcpTool.inputSchema),
20
- // TODO: need revisit, refer to this
21
- // https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result
22
- response: toGeminiSchema(this.mcpTool.outputSchema)
23
- };
24
- return declaration;
25
- }
26
- async runAsync(request) {
27
- const session = await this.mcpSessionManager.createSession();
28
- const callRequest = {};
29
- callRequest.params = { name: this.mcpTool.name, arguments: request.args };
30
- return await session.callTool(callRequest.params);
31
- }
32
- }
33
- export {
34
- MCPTool
35
- };
@@ -1,31 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { logger } from "../../utils/logger.js";
7
- import { BaseToolset } from "../base_toolset.js";
8
- import { MCPSessionManager } from "./mcp_session_manager.js";
9
- import { MCPTool } from "./mcp_tool.js";
10
- class MCPToolset extends BaseToolset {
11
- constructor(connectionParams, toolFilter = []) {
12
- super(toolFilter);
13
- this.mcpSessionManager = new MCPSessionManager(connectionParams);
14
- }
15
- async getTools(context) {
16
- const session = await this.mcpSessionManager.createSession();
17
- const listResult = await session.listTools();
18
- logger.debug(`number of tools: ${listResult.tools.length}`);
19
- for (const tool of listResult.tools) {
20
- logger.debug(`tool: ${tool.name}`);
21
- }
22
- return listResult.tools.map(
23
- (tool) => new MCPTool(tool, this.mcpSessionManager)
24
- );
25
- }
26
- async close() {
27
- }
28
- }
29
- export {
30
- MCPToolset
31
- };
@@ -1,19 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class ToolConfirmation {
7
- constructor({
8
- hint,
9
- confirmed,
10
- payload
11
- }) {
12
- this.hint = hint != null ? hint : "";
13
- this.confirmed = confirmed;
14
- this.payload = payload;
15
- }
16
- }
17
- export {
18
- ToolConfirmation
19
- };
@@ -1,99 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { CallbackContext } from "../agents/callback_context.js";
7
- import { AuthHandler } from "../auth/auth_handler.js";
8
- import { ToolConfirmation } from "../tools/tool_confirmation.js";
9
- class ToolContext extends CallbackContext {
10
- /**
11
- * @param params.invocationContext The invocation context of the tool.
12
- * @param params.eventActions The event actions of the current tool call.
13
- * @param params.functionCallId The function call id of the current tool call.
14
- * This id was returned in the function call event from LLM to identify a
15
- * function call. If LLM didn't return this id, ADK will assign one to it.
16
- * This id is used to map function call response to the original function
17
- * call.
18
- * @param params.toolConfirmation The tool confirmation of the current tool
19
- * call.
20
- */
21
- constructor({
22
- invocationContext,
23
- eventActions,
24
- functionCallId,
25
- toolConfirmation
26
- }) {
27
- super({ invocationContext, eventActions });
28
- this.functionCallId = functionCallId;
29
- this.toolConfirmation = toolConfirmation;
30
- }
31
- get actions() {
32
- return this.eventActions;
33
- }
34
- requestCredential(authConfig) {
35
- if (!this.functionCallId) {
36
- throw new Error("functionCallId is not set.");
37
- }
38
- const authHandler = new AuthHandler(authConfig);
39
- this.eventActions.requestedAuthConfigs[this.functionCallId] = authHandler.generateAuthRequest();
40
- }
41
- /**
42
- * Gets the auth credential for the given auth config.
43
- *
44
- * @param authConfig The auth config to get the auth credential for.
45
- * @return The auth credential for the given auth config.
46
- */
47
- getAuthResponse(authConfig) {
48
- const authHandler = new AuthHandler(authConfig);
49
- return authHandler.getAuthResponse(this.state);
50
- }
51
- /**
52
- * Lists the filenames of the artifacts attached to the current session.
53
- *
54
- * @return A promise that resolves to a list of artifact filenames.
55
- */
56
- listArtifacts() {
57
- if (!this.invocationContext.artifactService) {
58
- throw new Error("Artifact service is not initialized.");
59
- }
60
- return this.invocationContext.artifactService.listArtifactKeys({
61
- appName: this.invocationContext.session.appName,
62
- userId: this.invocationContext.session.userId,
63
- sessionId: this.invocationContext.session.id
64
- });
65
- }
66
- /**
67
- * Searches the memory of the current user.
68
- *
69
- * @param query The query to search memory for.
70
- * @return A promise that resolves to SearchMemoryResponse containing the
71
- * matching memories.
72
- */
73
- searchMemory(query) {
74
- if (!this.invocationContext.memoryService) {
75
- throw new Error("Memory service is not initialized.");
76
- }
77
- return this.invocationContext.memoryService.searchMemory({
78
- appName: this.invocationContext.session.appName,
79
- userId: this.invocationContext.session.userId,
80
- query
81
- });
82
- }
83
- /**
84
- * Requests confirmation for the current tool call.
85
- */
86
- requestConfirmation({ hint, payload }) {
87
- if (!this.functionCallId) {
88
- throw new Error("functionCallId is not set.");
89
- }
90
- this.eventActions.requestedToolConfirmations[this.functionCallId] = new ToolConfirmation({
91
- hint,
92
- confirmed: false,
93
- payload
94
- });
95
- }
96
- }
97
- export {
98
- ToolContext
99
- };
@@ -1,26 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { version } from "../version.js";
7
- import { isBrowser } from "./env_aware_utils.js";
8
- const ADK_LABEL = "google-adk";
9
- const LANGUAGE_LABEL = "gl-typescript";
10
- const AGENT_ENGINE_TELEMETRY_TAG = "remote_reasoning_engine";
11
- const AGENT_ENGINE_TELEMETRY_ENV_VARIABLE_NAME = "GOOGLE_CLOUD_AGENT_ENGINE_ID";
12
- function _getDefaultLabels() {
13
- let frameworkLabel = `${ADK_LABEL}/${version}`;
14
- if (!isBrowser() && process.env[AGENT_ENGINE_TELEMETRY_ENV_VARIABLE_NAME]) {
15
- frameworkLabel = `${frameworkLabel}+${AGENT_ENGINE_TELEMETRY_TAG}`;
16
- }
17
- const languageLabel = `${LANGUAGE_LABEL}/${isBrowser() ? window.navigator.userAgent : process.version}`;
18
- return [frameworkLabel, languageLabel];
19
- }
20
- function getClientLabels() {
21
- const labels = _getDefaultLabels();
22
- return labels;
23
- }
24
- export {
25
- getClientLabels
26
- };
@@ -1,14 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- function deepClone(obj) {
7
- if (obj === void 0) {
8
- return void 0;
9
- }
10
- return JSON.parse(JSON.stringify(obj));
11
- }
12
- export {
13
- deepClone
14
- };
@@ -1,49 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- function isBrowser() {
7
- return typeof window !== "undefined";
8
- }
9
- const UUID_MASK = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
10
- function randomUUID() {
11
- let uuid = "";
12
- for (let i = 0; i < UUID_MASK.length; i++) {
13
- const randomValue = Math.random() * 16 | 0;
14
- if (UUID_MASK[i] === "x") {
15
- uuid += randomValue.toString(16);
16
- } else if (UUID_MASK[i] === "y") {
17
- uuid += (randomValue & 3 | 8).toString(16);
18
- } else {
19
- uuid += UUID_MASK[i];
20
- }
21
- }
22
- return uuid;
23
- }
24
- function base64Encode(data) {
25
- if (isBrowser()) {
26
- return window.btoa(data);
27
- }
28
- return Buffer.from(data).toString("base64");
29
- }
30
- function base64Decode(data) {
31
- if (isBrowser()) {
32
- return window.atob(data);
33
- }
34
- return Buffer.from(data, "base64").toString();
35
- }
36
- function isBase64Encoded(data) {
37
- try {
38
- return base64Encode(base64Decode(data)) === data;
39
- } catch (e) {
40
- return false;
41
- }
42
- }
43
- export {
44
- base64Decode,
45
- base64Encode,
46
- isBase64Encoded,
47
- isBrowser,
48
- randomUUID
49
- };
@@ -1,58 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Type } from "@google/genai";
7
- import { z } from "zod";
8
- const MCPToolSchema = z.object({
9
- type: z.literal("object"),
10
- properties: z.record(z.unknown()).optional(),
11
- required: z.string().array().optional()
12
- });
13
- function toGeminiType(mcpType) {
14
- switch (mcpType.toLowerCase()) {
15
- case "text":
16
- case "string":
17
- return Type.STRING;
18
- case "number":
19
- return Type.NUMBER;
20
- case "boolean":
21
- return Type.BOOLEAN;
22
- case "integer":
23
- return Type.INTEGER;
24
- case "array":
25
- return Type.ARRAY;
26
- case "object":
27
- return Type.OBJECT;
28
- default:
29
- return Type.TYPE_UNSPECIFIED;
30
- }
31
- }
32
- function toGeminiSchema(mcpSchema) {
33
- if (!mcpSchema) {
34
- return void 0;
35
- }
36
- function recursiveConvert(mcp) {
37
- const geminiType = toGeminiType(mcp.type);
38
- const geminiSchema = { type: geminiType, description: mcp.description };
39
- if (geminiType === Type.OBJECT) {
40
- geminiSchema.properties = {};
41
- if (mcp.properties) {
42
- for (const name in mcp.properties) {
43
- geminiSchema.properties[name] = recursiveConvert(mcp.properties[name]);
44
- }
45
- }
46
- geminiSchema.required = mcp.required;
47
- } else if (geminiType === Type.ARRAY) {
48
- if (mcp.items) {
49
- geminiSchema.items = recursiveConvert(mcp.items);
50
- }
51
- }
52
- return geminiSchema;
53
- }
54
- return recursiveConvert(mcpSchema);
55
- }
56
- export {
57
- toGeminiSchema
58
- };
@@ -1,89 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
7
- LogLevel2[LogLevel2["DEBUG"] = 0] = "DEBUG";
8
- LogLevel2[LogLevel2["INFO"] = 1] = "INFO";
9
- LogLevel2[LogLevel2["WARN"] = 2] = "WARN";
10
- LogLevel2[LogLevel2["ERROR"] = 3] = "ERROR";
11
- return LogLevel2;
12
- })(LogLevel || {});
13
- let logLevel = 1 /* INFO */;
14
- function setLogLevel(level) {
15
- logLevel = level;
16
- }
17
- class SimpleLogger {
18
- log(level, ...args) {
19
- if (level < logLevel) {
20
- return;
21
- }
22
- switch (level) {
23
- case 0 /* DEBUG */:
24
- this.debug(...args);
25
- break;
26
- case 1 /* INFO */:
27
- this.info(...args);
28
- break;
29
- case 2 /* WARN */:
30
- this.warn(...args);
31
- break;
32
- case 3 /* ERROR */:
33
- this.error(...args);
34
- break;
35
- default:
36
- throw new Error(`Unsupported log level: ${level}`);
37
- }
38
- }
39
- debug(...args) {
40
- if (logLevel > 0 /* DEBUG */) {
41
- return;
42
- }
43
- console.debug(getColoredPrefix(0 /* DEBUG */), ...args);
44
- }
45
- info(...args) {
46
- if (logLevel > 1 /* INFO */) {
47
- return;
48
- }
49
- console.info(getColoredPrefix(1 /* INFO */), ...args);
50
- }
51
- warn(...args) {
52
- if (logLevel > 2 /* WARN */) {
53
- return;
54
- }
55
- console.warn(getColoredPrefix(2 /* WARN */), ...args);
56
- }
57
- error(...args) {
58
- if (logLevel > 3 /* ERROR */) {
59
- return;
60
- }
61
- console.error(getColoredPrefix(3 /* ERROR */), ...args);
62
- }
63
- }
64
- const LOG_LEVEL_STR = {
65
- [0 /* DEBUG */]: "DEBUG",
66
- [1 /* INFO */]: "INFO",
67
- [2 /* WARN */]: "WARN",
68
- [3 /* ERROR */]: "ERROR"
69
- };
70
- const CONSOLE_COLOR_MAP = {
71
- [0 /* DEBUG */]: "\x1B[34m",
72
- // Blue
73
- [1 /* INFO */]: "\x1B[32m",
74
- // Green
75
- [2 /* WARN */]: "\x1B[33m",
76
- // Yellow
77
- [3 /* ERROR */]: "\x1B[31m"
78
- // Red
79
- };
80
- const RESET_COLOR = "\x1B[0m";
81
- function getColoredPrefix(level) {
82
- return `${CONSOLE_COLOR_MAP[level]}[ADK ${LOG_LEVEL_STR[level]}]:${RESET_COLOR}`;
83
- }
84
- const logger = new SimpleLogger();
85
- export {
86
- LogLevel,
87
- logger,
88
- setLogLevel
89
- };
@@ -1,41 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- const MODEL_NAME_PATTERN = "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/(.+)$";
7
- function extractModelName(modelString) {
8
- const match = modelString.match(MODEL_NAME_PATTERN);
9
- if (match) {
10
- return match[1];
11
- }
12
- return modelString;
13
- }
14
- function isGeminiModel(modelString) {
15
- const modelName = extractModelName(modelString);
16
- return modelName.startsWith("gemini-");
17
- }
18
- function isGemini1Model(modelString) {
19
- const modelName = extractModelName(modelString);
20
- return modelName.startsWith("gemini-1");
21
- }
22
- function isGemini2Model(modelString) {
23
- const modelName = extractModelName(modelString);
24
- return modelName.startsWith("gemini-2");
25
- }
26
- function isGemini3Model(modelString) {
27
- const modelName = extractModelName(modelString);
28
- return modelName.startsWith("gemini-3");
29
- }
30
- function isGemini3PreviewModel(modelString) {
31
- const modelName = extractModelName(modelString);
32
- return modelName.startsWith("gemini-3") && modelName.includes("preview");
33
- }
34
- export {
35
- extractModelName,
36
- isGemini1Model,
37
- isGemini2Model,
38
- isGemini3Model,
39
- isGemini3PreviewModel,
40
- isGeminiModel
41
- };