@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.
- package/dist/cjs/index.js +11 -11
- package/dist/cjs/index.js.map +3 -3
- package/dist/esm/index.js +11 -11
- package/dist/esm/index.js.map +3 -3
- package/dist/types/agents/llm_agent.d.ts +4 -0
- package/dist/web/index.js +1 -1
- package/dist/web/index.js.map +3 -3
- package/package.json +1 -1
- package/dist/cjs/agents/active_streaming_tool.js +0 -44
- package/dist/cjs/agents/base_agent.js +0 -245
- package/dist/cjs/agents/base_llm_processor.js +0 -44
- package/dist/cjs/agents/callback_context.js +0 -98
- package/dist/cjs/agents/content_processor_utils.js +0 -346
- package/dist/cjs/agents/functions.js +0 -385
- package/dist/cjs/agents/instructions.js +0 -110
- package/dist/cjs/agents/invocation_context.js +0 -107
- package/dist/cjs/agents/live_request_queue.js +0 -136
- package/dist/cjs/agents/llm_agent.js +0 -1212
- package/dist/cjs/agents/loop_agent.js +0 -68
- package/dist/cjs/agents/parallel_agent.js +0 -78
- package/dist/cjs/agents/readonly_context.js +0 -68
- package/dist/cjs/agents/run_config.js +0 -70
- package/dist/cjs/agents/sequential_agent.js +0 -84
- package/dist/cjs/agents/transcription_entry.js +0 -27
- package/dist/cjs/artifacts/base_artifact_service.js +0 -27
- package/dist/cjs/artifacts/gcs_artifact_service.js +0 -140
- package/dist/cjs/artifacts/in_memory_artifact_service.js +0 -119
- package/dist/cjs/auth/auth_credential.js +0 -46
- package/dist/cjs/auth/auth_handler.js +0 -92
- package/dist/cjs/auth/auth_schemes.js +0 -62
- package/dist/cjs/auth/auth_tool.js +0 -27
- package/dist/cjs/auth/credential_service/base_credential_service.js +0 -27
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +0 -63
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +0 -40
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +0 -59
- package/dist/cjs/code_executors/base_code_executor.js +0 -76
- package/dist/cjs/code_executors/built_in_code_executor.js +0 -58
- package/dist/cjs/code_executors/code_execution_utils.js +0 -142
- package/dist/cjs/code_executors/code_executor_context.js +0 -198
- package/dist/cjs/common.js +0 -181
- package/dist/cjs/events/event.js +0 -119
- package/dist/cjs/events/event_actions.js +0 -83
- package/dist/cjs/examples/base_example_provider.js +0 -40
- package/dist/cjs/examples/example.js +0 -27
- package/dist/cjs/examples/example_util.js +0 -107
- package/dist/cjs/index_web.js +0 -33
- package/dist/cjs/memory/base_memory_service.js +0 -27
- package/dist/cjs/memory/in_memory_memory_service.js +0 -97
- package/dist/cjs/memory/memory_entry.js +0 -27
- package/dist/cjs/models/base_llm.js +0 -95
- package/dist/cjs/models/base_llm_connection.js +0 -27
- package/dist/cjs/models/gemini_llm_connection.js +0 -132
- package/dist/cjs/models/google_llm.js +0 -559
- package/dist/cjs/models/llm_request.js +0 -82
- package/dist/cjs/models/llm_response.js +0 -71
- package/dist/cjs/models/registry.js +0 -121
- package/dist/cjs/plugins/base_plugin.js +0 -236
- package/dist/cjs/plugins/logging_plugin.js +0 -222
- package/dist/cjs/plugins/plugin_manager.js +0 -239
- package/dist/cjs/plugins/security_plugin.js +0 -153
- package/dist/cjs/runner/in_memory_runner.js +0 -58
- package/dist/cjs/runner/runner.js +0 -277
- package/dist/cjs/sessions/base_session_service.js +0 -71
- package/dist/cjs/sessions/in_memory_session_service.js +0 -184
- package/dist/cjs/sessions/session.js +0 -48
- package/dist/cjs/sessions/state.js +0 -101
- package/dist/cjs/telemetry/google_cloud.js +0 -85
- package/dist/cjs/telemetry/setup.js +0 -97
- package/dist/cjs/telemetry/tracing.js +0 -231
- package/dist/cjs/tools/agent_tool.js +0 -134
- package/dist/cjs/tools/base_tool.js +0 -107
- package/dist/cjs/tools/base_toolset.js +0 -76
- package/dist/cjs/tools/forwarding_artifact_service.js +0 -71
- package/dist/cjs/tools/function_tool.js +0 -101
- package/dist/cjs/tools/google_search_tool.js +0 -76
- package/dist/cjs/tools/long_running_tool.js +0 -63
- package/dist/cjs/tools/mcp/mcp_session_manager.js +0 -65
- package/dist/cjs/tools/mcp/mcp_tool.js +0 -65
- package/dist/cjs/tools/mcp/mcp_toolset.js +0 -61
- package/dist/cjs/tools/tool_confirmation.js +0 -49
- package/dist/cjs/tools/tool_context.js +0 -129
- package/dist/cjs/utils/client_labels.js +0 -56
- package/dist/cjs/utils/deep_clone.js +0 -44
- package/dist/cjs/utils/env_aware_utils.js +0 -83
- package/dist/cjs/utils/gemini_schema_util.js +0 -88
- package/dist/cjs/utils/logger.js +0 -121
- package/dist/cjs/utils/model_name.js +0 -76
- package/dist/cjs/utils/simple_zod_to_json.js +0 -191
- package/dist/cjs/utils/variant_utils.js +0 -55
- package/dist/cjs/version.js +0 -39
- package/dist/esm/agents/active_streaming_tool.js +0 -14
- package/dist/esm/agents/base_agent.js +0 -214
- package/dist/esm/agents/base_llm_processor.js +0 -13
- package/dist/esm/agents/callback_context.js +0 -68
- package/dist/esm/agents/content_processor_utils.js +0 -315
- package/dist/esm/agents/functions.js +0 -344
- package/dist/esm/agents/instructions.js +0 -80
- package/dist/esm/agents/invocation_context.js +0 -76
- package/dist/esm/agents/live_request_queue.js +0 -106
- package/dist/esm/agents/llm_agent.js +0 -1180
- package/dist/esm/agents/loop_agent.js +0 -38
- package/dist/esm/agents/parallel_agent.js +0 -48
- package/dist/esm/agents/readonly_context.js +0 -38
- package/dist/esm/agents/run_config.js +0 -39
- package/dist/esm/agents/sequential_agent.js +0 -54
- package/dist/esm/agents/transcription_entry.js +0 -5
- package/dist/esm/artifacts/base_artifact_service.js +0 -5
- package/dist/esm/artifacts/gcs_artifact_service.js +0 -110
- package/dist/esm/artifacts/in_memory_artifact_service.js +0 -89
- package/dist/esm/auth/auth_credential.js +0 -16
- package/dist/esm/auth/auth_handler.js +0 -62
- package/dist/esm/auth/auth_schemes.js +0 -31
- package/dist/esm/auth/auth_tool.js +0 -5
- package/dist/esm/auth/credential_service/base_credential_service.js +0 -5
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +0 -33
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +0 -10
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +0 -29
- package/dist/esm/code_executors/base_code_executor.js +0 -46
- package/dist/esm/code_executors/built_in_code_executor.js +0 -28
- package/dist/esm/code_executors/code_execution_utils.js +0 -108
- package/dist/esm/code_executors/code_executor_context.js +0 -168
- package/dist/esm/common.js +0 -98
- package/dist/esm/events/event.js +0 -83
- package/dist/esm/events/event_actions.js +0 -52
- package/dist/esm/examples/base_example_provider.js +0 -10
- package/dist/esm/examples/example.js +0 -5
- package/dist/esm/examples/example_util.js +0 -76
- package/dist/esm/index_web.js +0 -6
- package/dist/esm/memory/base_memory_service.js +0 -5
- package/dist/esm/memory/in_memory_memory_service.js +0 -67
- package/dist/esm/memory/memory_entry.js +0 -5
- package/dist/esm/models/base_llm.js +0 -64
- package/dist/esm/models/base_llm_connection.js +0 -5
- package/dist/esm/models/gemini_llm_connection.js +0 -102
- package/dist/esm/models/google_llm.js +0 -533
- package/dist/esm/models/llm_request.js +0 -50
- package/dist/esm/models/llm_response.js +0 -41
- package/dist/esm/models/registry.js +0 -91
- package/dist/esm/plugins/base_plugin.js +0 -206
- package/dist/esm/plugins/logging_plugin.js +0 -192
- package/dist/esm/plugins/plugin_manager.js +0 -209
- package/dist/esm/plugins/security_plugin.js +0 -119
- package/dist/esm/runner/in_memory_runner.js +0 -28
- package/dist/esm/runner/runner.js +0 -247
- package/dist/esm/sessions/base_session_service.js +0 -41
- package/dist/esm/sessions/in_memory_session_service.js +0 -154
- package/dist/esm/sessions/session.js +0 -18
- package/dist/esm/sessions/state.js +0 -71
- package/dist/esm/telemetry/google_cloud.js +0 -54
- package/dist/esm/telemetry/setup.js +0 -67
- package/dist/esm/telemetry/tracing.js +0 -195
- package/dist/esm/tools/agent_tool.js +0 -104
- package/dist/esm/tools/base_tool.js +0 -77
- package/dist/esm/tools/base_toolset.js +0 -46
- package/dist/esm/tools/forwarding_artifact_service.js +0 -41
- package/dist/esm/tools/function_tool.js +0 -71
- package/dist/esm/tools/google_search_tool.js +0 -46
- package/dist/esm/tools/long_running_tool.js +0 -33
- package/dist/esm/tools/mcp/mcp_session_manager.js +0 -35
- package/dist/esm/tools/mcp/mcp_tool.js +0 -35
- package/dist/esm/tools/mcp/mcp_toolset.js +0 -31
- package/dist/esm/tools/tool_confirmation.js +0 -19
- package/dist/esm/tools/tool_context.js +0 -99
- package/dist/esm/utils/client_labels.js +0 -26
- package/dist/esm/utils/deep_clone.js +0 -14
- package/dist/esm/utils/env_aware_utils.js +0 -49
- package/dist/esm/utils/gemini_schema_util.js +0 -58
- package/dist/esm/utils/logger.js +0 -89
- package/dist/esm/utils/model_name.js +0 -41
- package/dist/esm/utils/simple_zod_to_json.js +0 -160
- package/dist/esm/utils/variant_utils.js +0 -24
- package/dist/esm/version.js +0 -9
- package/dist/web/agents/active_streaming_tool.js +0 -14
- package/dist/web/agents/base_agent.js +0 -265
- package/dist/web/agents/base_llm_processor.js +0 -13
- package/dist/web/agents/callback_context.js +0 -68
- package/dist/web/agents/content_processor_utils.js +0 -315
- package/dist/web/agents/functions.js +0 -344
- package/dist/web/agents/instructions.js +0 -80
- package/dist/web/agents/invocation_context.js +0 -76
- package/dist/web/agents/live_request_queue.js +0 -124
- package/dist/web/agents/llm_agent.js +0 -1310
- package/dist/web/agents/loop_agent.js +0 -71
- package/dist/web/agents/parallel_agent.js +0 -83
- package/dist/web/agents/readonly_context.js +0 -38
- package/dist/web/agents/run_config.js +0 -54
- package/dist/web/agents/sequential_agent.js +0 -99
- package/dist/web/agents/transcription_entry.js +0 -5
- package/dist/web/artifacts/base_artifact_service.js +0 -5
- package/dist/web/artifacts/gcs_artifact_service.js +0 -126
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -16
- package/dist/web/auth/auth_handler.js +0 -62
- package/dist/web/auth/auth_schemes.js +0 -31
- package/dist/web/auth/auth_tool.js +0 -5
- package/dist/web/auth/credential_service/base_credential_service.js +0 -5
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -33
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -10
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -29
- package/dist/web/code_executors/base_code_executor.js +0 -46
- package/dist/web/code_executors/built_in_code_executor.js +0 -28
- package/dist/web/code_executors/code_execution_utils.js +0 -105
- package/dist/web/code_executors/code_executor_context.js +0 -168
- package/dist/web/common.js +0 -98
- package/dist/web/events/event.js +0 -101
- package/dist/web/events/event_actions.js +0 -67
- package/dist/web/examples/base_example_provider.js +0 -10
- package/dist/web/examples/example.js +0 -5
- package/dist/web/examples/example_util.js +0 -75
- package/dist/web/index_web.js +0 -6
- package/dist/web/memory/base_memory_service.js +0 -5
- package/dist/web/memory/in_memory_memory_service.js +0 -67
- package/dist/web/memory/memory_entry.js +0 -5
- package/dist/web/models/base_llm.js +0 -64
- package/dist/web/models/base_llm_connection.js +0 -5
- package/dist/web/models/gemini_llm_connection.js +0 -120
- package/dist/web/models/google_llm.js +0 -574
- package/dist/web/models/llm_request.js +0 -50
- package/dist/web/models/llm_response.js +0 -41
- package/dist/web/models/registry.js +0 -91
- package/dist/web/plugins/base_plugin.js +0 -206
- package/dist/web/plugins/logging_plugin.js +0 -192
- package/dist/web/plugins/plugin_manager.js +0 -209
- package/dist/web/plugins/security_plugin.js +0 -119
- package/dist/web/runner/in_memory_runner.js +0 -28
- package/dist/web/runner/runner.js +0 -278
- package/dist/web/sessions/base_session_service.js +0 -41
- package/dist/web/sessions/in_memory_session_service.js +0 -154
- package/dist/web/sessions/session.js +0 -18
- package/dist/web/sessions/state.js +0 -87
- package/dist/web/telemetry/google_cloud.js +0 -54
- package/dist/web/telemetry/setup.js +0 -67
- package/dist/web/telemetry/tracing.js +0 -210
- package/dist/web/tools/agent_tool.js +0 -118
- package/dist/web/tools/base_tool.js +0 -77
- package/dist/web/tools/base_toolset.js +0 -46
- package/dist/web/tools/forwarding_artifact_service.js +0 -41
- package/dist/web/tools/function_tool.js +0 -71
- package/dist/web/tools/google_search_tool.js +0 -46
- package/dist/web/tools/long_running_tool.js +0 -50
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -35
- package/dist/web/tools/mcp/mcp_tool.js +0 -35
- package/dist/web/tools/mcp/mcp_toolset.js +0 -31
- package/dist/web/tools/tool_confirmation.js +0 -19
- package/dist/web/tools/tool_context.js +0 -99
- package/dist/web/utils/client_labels.js +0 -26
- package/dist/web/utils/deep_clone.js +0 -14
- package/dist/web/utils/env_aware_utils.js +0 -49
- package/dist/web/utils/gemini_schema_util.js +0 -58
- package/dist/web/utils/logger.js +0 -89
- package/dist/web/utils/model_name.js +0 -41
- package/dist/web/utils/simple_zod_to_json.js +0 -174
- package/dist/web/utils/variant_utils.js +0 -24
- 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,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
|
-
};
|
package/dist/esm/utils/logger.js
DELETED
|
@@ -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
|
-
};
|