@google/adk 0.2.4 → 0.3.0
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/agents/base_agent.js +52 -24
- package/dist/cjs/agents/callback_context.js +4 -1
- package/dist/cjs/agents/content_processor_utils.js +15 -7
- package/dist/cjs/agents/functions.js +79 -29
- package/dist/cjs/agents/invocation_context.js +3 -1
- package/dist/cjs/agents/llm_agent.js +188 -108
- package/dist/cjs/agents/loop_agent.js +18 -6
- package/dist/cjs/agents/parallel_agent.js +20 -7
- package/dist/cjs/agents/readonly_context.js +4 -1
- package/dist/cjs/agents/sequential_agent.js +34 -12
- package/dist/cjs/artifacts/gcs_artifact_service.js +28 -20
- package/dist/cjs/artifacts/in_memory_artifact_service.js +18 -4
- package/dist/cjs/auth/auth_handler.js +3 -1
- package/dist/cjs/code_executors/base_code_executor.js +14 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +21 -5
- package/dist/cjs/code_executors/code_executor_context.js +5 -5
- package/dist/cjs/common.js +45 -0
- package/dist/cjs/events/event.js +1 -3
- package/dist/cjs/examples/base_example_provider.js +18 -2
- package/dist/cjs/examples/example_util.js +1 -1
- package/dist/cjs/index.js +19 -19
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/memory/in_memory_memory_service.js +3 -1
- package/dist/cjs/models/base_llm.js +8 -4
- package/dist/cjs/models/gemini_llm_connection.js +1 -0
- package/dist/cjs/models/google_llm.js +3 -3
- package/dist/cjs/plugins/base_plugin.js +71 -49
- package/dist/cjs/plugins/logging_plugin.js +50 -13
- package/dist/cjs/plugins/plugin_manager.js +56 -24
- package/dist/cjs/plugins/security_plugin.js +5 -2
- package/dist/cjs/runner/runner.js +126 -101
- package/dist/cjs/sessions/in_memory_session_service.js +38 -14
- package/dist/cjs/telemetry/google_cloud.js +7 -9
- package/dist/cjs/telemetry/setup.js +15 -7
- package/dist/cjs/telemetry/tracing.js +37 -15
- package/dist/cjs/tools/agent_tool.js +26 -13
- package/dist/cjs/tools/base_tool.js +19 -7
- package/dist/cjs/tools/forwarding_artifact_service.js +1 -1
- package/dist/cjs/tools/function_tool.js +15 -7
- package/dist/cjs/tools/google_search_tool.js +8 -4
- package/dist/cjs/tools/mcp/mcp_session_manager.js +16 -10
- package/dist/cjs/tools/mcp/mcp_tool.js +1 -3
- package/dist/cjs/tools/mcp/mcp_toolset.js +1 -1
- package/dist/cjs/tools/tool_context.js +4 -9
- package/dist/cjs/utils/env_aware_utils.js +1 -1
- package/dist/cjs/utils/gemini_schema_util.js +10 -4
- package/dist/cjs/utils/logger.js +47 -3
- package/dist/cjs/utils/simple_zod_to_json.js +100 -141
- package/dist/cjs/utils/variant_utils.js +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/agents/base_agent.js +57 -25
- package/dist/esm/agents/callback_context.js +4 -1
- package/dist/esm/agents/content_processor_utils.js +25 -9
- package/dist/esm/agents/functions.js +83 -29
- package/dist/esm/agents/invocation_context.js +3 -1
- package/dist/esm/agents/llm_agent.js +228 -116
- package/dist/esm/agents/loop_agent.js +16 -5
- package/dist/esm/agents/parallel_agent.js +18 -6
- package/dist/esm/agents/readonly_context.js +4 -1
- package/dist/esm/agents/sequential_agent.js +33 -12
- package/dist/esm/artifacts/gcs_artifact_service.js +28 -20
- package/dist/esm/artifacts/in_memory_artifact_service.js +18 -4
- package/dist/esm/auth/auth_handler.js +3 -1
- package/dist/esm/code_executors/base_code_executor.js +12 -1
- package/dist/esm/code_executors/built_in_code_executor.js +19 -4
- package/dist/esm/code_executors/code_executor_context.js +5 -5
- package/dist/esm/common.js +56 -11
- package/dist/esm/events/event.js +1 -3
- package/dist/esm/examples/base_example_provider.js +16 -1
- package/dist/esm/examples/example_util.js +4 -2
- package/dist/esm/index.js +19 -19
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/memory/in_memory_memory_service.js +3 -1
- package/dist/esm/models/base_llm.js +8 -4
- package/dist/esm/models/gemini_llm_connection.js +1 -0
- package/dist/esm/models/google_llm.js +8 -4
- package/dist/esm/plugins/base_plugin.js +71 -49
- package/dist/esm/plugins/logging_plugin.js +55 -14
- package/dist/esm/plugins/plugin_manager.js +56 -24
- package/dist/esm/plugins/security_plugin.js +5 -2
- package/dist/esm/runner/runner.js +139 -105
- package/dist/esm/sessions/in_memory_session_service.js +41 -15
- package/dist/esm/telemetry/google_cloud.js +7 -9
- package/dist/esm/telemetry/setup.js +23 -9
- package/dist/esm/telemetry/tracing.js +37 -15
- package/dist/esm/tools/agent_tool.js +25 -13
- package/dist/esm/tools/base_tool.js +17 -6
- package/dist/esm/tools/forwarding_artifact_service.js +1 -1
- package/dist/esm/tools/function_tool.js +13 -8
- package/dist/esm/tools/google_search_tool.js +6 -3
- package/dist/esm/tools/long_running_tool.js +3 -1
- package/dist/esm/tools/mcp/mcp_session_manager.js +22 -12
- package/dist/esm/tools/mcp/mcp_tool.js +1 -3
- package/dist/esm/tools/mcp/mcp_toolset.js +1 -1
- package/dist/esm/tools/tool_context.js +4 -9
- package/dist/esm/utils/env_aware_utils.js +1 -1
- package/dist/esm/utils/gemini_schema_util.js +10 -4
- package/dist/esm/utils/logger.js +43 -2
- package/dist/esm/utils/simple_zod_to_json.js +102 -141
- package/dist/esm/utils/variant_utils.js +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/agents/base_agent.d.ts +16 -4
- package/dist/types/agents/callback_context.d.ts +1 -1
- package/dist/types/agents/invocation_context.d.ts +4 -2
- package/dist/types/agents/llm_agent.d.ts +43 -31
- package/dist/types/agents/loop_agent.d.ts +17 -1
- package/dist/types/agents/parallel_agent.d.ts +17 -1
- package/dist/types/agents/sequential_agent.d.ts +17 -1
- package/dist/types/artifacts/in_memory_artifact_service.d.ts +3 -3
- package/dist/types/auth/auth_schemes.d.ts +5 -2
- package/dist/types/code_executors/base_code_executor.d.ts +14 -0
- package/dist/types/code_executors/built_in_code_executor.d.ts +20 -1
- package/dist/types/code_executors/code_executor_context.d.ts +2 -4
- package/dist/types/common.d.ts +40 -15
- package/dist/types/examples/base_example_provider.d.ts +16 -0
- package/dist/types/index.d.ts +3 -3
- package/dist/types/models/base_llm_connection.d.ts +1 -1
- package/dist/types/models/llm_response.d.ts +1 -1
- package/dist/types/plugins/base_plugin.d.ts +50 -40
- package/dist/types/plugins/logging_plugin.d.ts +12 -12
- package/dist/types/plugins/plugin_manager.d.ts +12 -12
- package/dist/types/plugins/security_plugin.d.ts +1 -1
- package/dist/types/runner/runner.d.ts +18 -10
- package/dist/types/sessions/in_memory_session_service.d.ts +5 -5
- package/dist/types/telemetry/setup.d.ts +1 -1
- package/dist/types/telemetry/tracing.d.ts +7 -6
- package/dist/types/tools/agent_tool.d.ts +15 -1
- package/dist/types/tools/base_tool.d.ts +15 -1
- package/dist/types/tools/base_toolset.d.ts +2 -1
- package/dist/types/tools/forwarding_artifact_service.d.ts +2 -2
- package/dist/types/tools/function_tool.d.ts +18 -4
- package/dist/types/tools/google_search_tool.d.ts +5 -6
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +10 -3
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -2
- package/dist/types/tools/tool_context.d.ts +1 -1
- package/dist/types/utils/gemini_schema_util.d.ts +4 -12
- package/dist/types/utils/logger.d.ts +11 -10
- package/dist/types/utils/simple_zod_to_json.d.ts +5 -4
- package/dist/types/version.d.ts +1 -1
- package/dist/web/agents/base_agent.js +103 -36
- package/dist/web/agents/callback_context.js +4 -1
- package/dist/web/agents/content_processor_utils.js +25 -9
- package/dist/web/agents/functions.js +83 -29
- package/dist/web/agents/invocation_context.js +3 -1
- package/dist/web/agents/llm_agent.js +282 -137
- package/dist/web/agents/loop_agent.js +16 -5
- package/dist/web/agents/parallel_agent.js +18 -6
- package/dist/web/agents/readonly_context.js +4 -1
- package/dist/web/agents/sequential_agent.js +33 -12
- package/dist/web/artifacts/gcs_artifact_service.js +25 -17
- package/dist/web/artifacts/in_memory_artifact_service.js +18 -4
- package/dist/web/auth/auth_handler.js +3 -1
- package/dist/web/code_executors/base_code_executor.js +12 -1
- package/dist/web/code_executors/built_in_code_executor.js +19 -4
- package/dist/web/code_executors/code_executor_context.js +5 -5
- package/dist/web/common.js +56 -11
- package/dist/web/events/event.js +1 -3
- package/dist/web/examples/base_example_provider.js +16 -1
- package/dist/web/examples/example_util.js +4 -2
- package/dist/web/index.js +1 -1
- package/dist/web/index.js.map +4 -4
- package/dist/web/memory/in_memory_memory_service.js +3 -1
- package/dist/web/models/base_llm.js +8 -4
- package/dist/web/models/gemini_llm_connection.js +1 -0
- package/dist/web/models/google_llm.js +8 -4
- package/dist/web/plugins/base_plugin.js +71 -49
- package/dist/web/plugins/logging_plugin.js +55 -14
- package/dist/web/plugins/plugin_manager.js +56 -24
- package/dist/web/plugins/security_plugin.js +5 -2
- package/dist/web/runner/runner.js +186 -119
- package/dist/web/sessions/in_memory_session_service.js +41 -15
- package/dist/web/telemetry/google_cloud.js +7 -9
- package/dist/web/telemetry/setup.js +23 -9
- package/dist/web/telemetry/tracing.js +37 -15
- package/dist/web/tools/agent_tool.js +25 -13
- package/dist/web/tools/base_tool.js +17 -6
- package/dist/web/tools/forwarding_artifact_service.js +1 -1
- package/dist/web/tools/function_tool.js +13 -8
- package/dist/web/tools/google_search_tool.js +6 -3
- package/dist/web/tools/long_running_tool.js +3 -1
- package/dist/web/tools/mcp/mcp_session_manager.js +22 -12
- package/dist/web/tools/mcp/mcp_tool.js +1 -3
- package/dist/web/tools/mcp/mcp_toolset.js +1 -1
- package/dist/web/tools/tool_context.js +4 -9
- package/dist/web/utils/env_aware_utils.js +1 -1
- package/dist/web/utils/gemini_schema_util.js +10 -4
- package/dist/web/utils/logger.js +43 -2
- package/dist/web/utils/simple_zod_to_json.js +102 -155
- package/dist/web/utils/variant_utils.js +1 -1
- package/dist/web/version.js +1 -1
- package/package.json +5 -3
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var loop_agent_exports = {};
|
|
26
26
|
__export(loop_agent_exports, {
|
|
27
|
-
LoopAgent: () => LoopAgent
|
|
27
|
+
LoopAgent: () => LoopAgent,
|
|
28
|
+
isLoopAgent: () => isLoopAgent
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(loop_agent_exports);
|
|
30
31
|
var import_base_agent = require("./base_agent.js");
|
|
@@ -33,11 +34,20 @@ var import_base_agent = require("./base_agent.js");
|
|
|
33
34
|
* Copyright 2025 Google LLC
|
|
34
35
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
36
|
*/
|
|
36
|
-
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const LOOP_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.loopAgent");
|
|
39
|
+
function isLoopAgent(obj) {
|
|
40
|
+
return typeof obj === "object" && obj !== null && LOOP_AGENT_SIGNATURE_SYMBOL in obj && obj[LOOP_AGENT_SIGNATURE_SYMBOL] === true;
|
|
41
|
+
}
|
|
42
|
+
class LoopAgent extends (_b = import_base_agent.BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
37
43
|
constructor(config) {
|
|
38
|
-
var
|
|
44
|
+
var _a2;
|
|
39
45
|
super(config);
|
|
40
|
-
|
|
46
|
+
/**
|
|
47
|
+
* A unique symbol to identify ADK loop agent class.
|
|
48
|
+
*/
|
|
49
|
+
this[_a] = true;
|
|
50
|
+
this.maxIterations = (_a2 = config.maxIterations) != null ? _a2 : Number.MAX_SAFE_INTEGER;
|
|
41
51
|
}
|
|
42
52
|
async *runAsyncImpl(context) {
|
|
43
53
|
let iteration = 0;
|
|
@@ -58,11 +68,13 @@ class LoopAgent extends import_base_agent.BaseAgent {
|
|
|
58
68
|
}
|
|
59
69
|
return;
|
|
60
70
|
}
|
|
61
|
-
|
|
71
|
+
// eslint-disable-next-line require-yield
|
|
72
|
+
async *runLiveImpl(_context) {
|
|
62
73
|
throw new Error("This is not supported yet for LoopAgent.");
|
|
63
74
|
}
|
|
64
75
|
}
|
|
65
76
|
// Annotate the CommonJS export names for ESM import in node:
|
|
66
77
|
0 && (module.exports = {
|
|
67
|
-
LoopAgent
|
|
78
|
+
LoopAgent,
|
|
79
|
+
isLoopAgent
|
|
68
80
|
});
|
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var parallel_agent_exports = {};
|
|
26
26
|
__export(parallel_agent_exports, {
|
|
27
|
-
ParallelAgent: () => ParallelAgent
|
|
27
|
+
ParallelAgent: () => ParallelAgent,
|
|
28
|
+
isParallelAgent: () => isParallelAgent
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(parallel_agent_exports);
|
|
30
31
|
var import_base_agent = require("./base_agent.js");
|
|
@@ -34,18 +35,29 @@ var import_invocation_context = require("./invocation_context.js");
|
|
|
34
35
|
* Copyright 2025 Google LLC
|
|
35
36
|
* SPDX-License-Identifier: Apache-2.0
|
|
36
37
|
*/
|
|
37
|
-
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const PARALLEL_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.parallelAgent");
|
|
40
|
+
function isParallelAgent(obj) {
|
|
41
|
+
return typeof obj === "object" && obj !== null && PARALLEL_AGENT_SIGNATURE_SYMBOL in obj && obj[PARALLEL_AGENT_SIGNATURE_SYMBOL] === true;
|
|
42
|
+
}
|
|
43
|
+
class ParallelAgent extends (_b = import_base_agent.BaseAgent, _a = PARALLEL_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(...arguments);
|
|
46
|
+
/**
|
|
47
|
+
* A unique symbol to identify ADK parallel agent class.
|
|
48
|
+
*/
|
|
49
|
+
this[_a] = true;
|
|
50
|
+
}
|
|
38
51
|
async *runAsyncImpl(context) {
|
|
39
52
|
const agentRuns = this.subAgents.map(
|
|
40
|
-
(subAgent) => subAgent.runAsync(
|
|
41
|
-
createBranchCtxForSubAgent(this, subAgent, context)
|
|
42
|
-
)
|
|
53
|
+
(subAgent) => subAgent.runAsync(createBranchCtxForSubAgent(this, subAgent, context))
|
|
43
54
|
);
|
|
44
55
|
for await (const event of mergeAgentRuns(agentRuns)) {
|
|
45
56
|
yield event;
|
|
46
57
|
}
|
|
47
58
|
}
|
|
48
|
-
|
|
59
|
+
// eslint-disable-next-line require-yield
|
|
60
|
+
async *runLiveImpl(_context) {
|
|
49
61
|
throw new Error("This is not supported yet for ParallelAgent.");
|
|
50
62
|
}
|
|
51
63
|
}
|
|
@@ -74,5 +86,6 @@ async function* mergeAgentRuns(agentRuns) {
|
|
|
74
86
|
}
|
|
75
87
|
// Annotate the CommonJS export names for ESM import in node:
|
|
76
88
|
0 && (module.exports = {
|
|
77
|
-
ParallelAgent
|
|
89
|
+
ParallelAgent,
|
|
90
|
+
isParallelAgent
|
|
78
91
|
});
|
|
@@ -59,7 +59,10 @@ class ReadonlyContext {
|
|
|
59
59
|
* The state of the current session.
|
|
60
60
|
*/
|
|
61
61
|
get state() {
|
|
62
|
-
return new import_state.State(
|
|
62
|
+
return new import_state.State(
|
|
63
|
+
this.invocationContext.session.state,
|
|
64
|
+
{}
|
|
65
|
+
);
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var sequential_agent_exports = {};
|
|
26
26
|
__export(sequential_agent_exports, {
|
|
27
|
-
SequentialAgent: () => SequentialAgent
|
|
27
|
+
SequentialAgent: () => SequentialAgent,
|
|
28
|
+
isSequentialAgent: () => isSequentialAgent
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(sequential_agent_exports);
|
|
30
31
|
var import_function_tool = require("../tools/function_tool.js");
|
|
@@ -36,8 +37,22 @@ var import_readonly_context = require("./readonly_context.js");
|
|
|
36
37
|
* Copyright 2025 Google LLC
|
|
37
38
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
39
|
*/
|
|
40
|
+
var _a, _b;
|
|
39
41
|
const TASK_COMPLETED_TOOL_NAME = "task_completed";
|
|
40
|
-
|
|
42
|
+
const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = Symbol.for(
|
|
43
|
+
"google.adk.sequentialAgent"
|
|
44
|
+
);
|
|
45
|
+
function isSequentialAgent(obj) {
|
|
46
|
+
return typeof obj === "object" && obj !== null && SEQUENTIAL_AGENT_SIGNATURE_SYMBOL in obj && obj[SEQUENTIAL_AGENT_SIGNATURE_SYMBOL] === true;
|
|
47
|
+
}
|
|
48
|
+
class SequentialAgent extends (_b = import_base_agent.BaseAgent, _a = SEQUENTIAL_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
49
|
+
constructor() {
|
|
50
|
+
super(...arguments);
|
|
51
|
+
/**
|
|
52
|
+
* A unique symbol to identify ADK sequential agent class.
|
|
53
|
+
*/
|
|
54
|
+
this[_a] = true;
|
|
55
|
+
}
|
|
41
56
|
async *runAsyncImpl(context) {
|
|
42
57
|
for (const subAgent of this.subAgents) {
|
|
43
58
|
for await (const event of subAgent.runAsync(context)) {
|
|
@@ -54,19 +69,25 @@ class SequentialAgent extends import_base_agent.BaseAgent {
|
|
|
54
69
|
* the model can call this function to signal that it's finished the task and
|
|
55
70
|
* we can move on to the next agent.
|
|
56
71
|
*
|
|
57
|
-
* @param context
|
|
72
|
+
* @param context The invocation context of the agent.
|
|
58
73
|
*/
|
|
59
74
|
async *runLiveImpl(context) {
|
|
60
75
|
for (const subAgent of this.subAgents) {
|
|
61
|
-
if (
|
|
62
|
-
const agentTools = await subAgent.canonicalTools(
|
|
63
|
-
|
|
76
|
+
if ((0, import_llm_agent.isLlmAgent)(subAgent)) {
|
|
77
|
+
const agentTools = await subAgent.canonicalTools(
|
|
78
|
+
new import_readonly_context.ReadonlyContext(context)
|
|
79
|
+
);
|
|
80
|
+
const taskCompletedToolAlreadyAdded = agentTools.some(
|
|
81
|
+
(tool) => tool.name === TASK_COMPLETED_TOOL_NAME
|
|
82
|
+
);
|
|
64
83
|
if (!taskCompletedToolAlreadyAdded) {
|
|
65
|
-
subAgent.tools.push(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
84
|
+
subAgent.tools.push(
|
|
85
|
+
new import_function_tool.FunctionTool({
|
|
86
|
+
name: TASK_COMPLETED_TOOL_NAME,
|
|
87
|
+
description: `Signals that the model has successfully completed the user's question or task.`,
|
|
88
|
+
execute: () => "Task completion signaled."
|
|
89
|
+
})
|
|
90
|
+
);
|
|
70
91
|
subAgent.instruction += `If you finished the user's request according to its description, call the ${TASK_COMPLETED_TOOL_NAME} function to exit so the next agents can take over. When calling this function, do not generate any text other than the function call.`;
|
|
71
92
|
}
|
|
72
93
|
}
|
|
@@ -80,5 +101,6 @@ class SequentialAgent extends import_base_agent.BaseAgent {
|
|
|
80
101
|
}
|
|
81
102
|
// Annotate the CommonJS export names for ESM import in node:
|
|
82
103
|
0 && (module.exports = {
|
|
83
|
-
SequentialAgent
|
|
104
|
+
SequentialAgent,
|
|
105
|
+
isSequentialAgent
|
|
84
106
|
});
|
|
@@ -41,10 +41,12 @@ class GcsArtifactService {
|
|
|
41
41
|
async saveArtifact(request) {
|
|
42
42
|
const versions = await this.listVersions(request);
|
|
43
43
|
const version = versions.length > 0 ? Math.max(...versions) + 1 : 0;
|
|
44
|
-
const file = this.bucket.file(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
const file = this.bucket.file(
|
|
45
|
+
getFileName({
|
|
46
|
+
...request,
|
|
47
|
+
version
|
|
48
|
+
})
|
|
49
|
+
);
|
|
48
50
|
if (request.artifact.inlineData) {
|
|
49
51
|
await file.save(JSON.stringify(request.artifact.inlineData.data), {
|
|
50
52
|
contentType: request.artifact.inlineData.mimeType
|
|
@@ -68,11 +70,16 @@ class GcsArtifactService {
|
|
|
68
70
|
}
|
|
69
71
|
version = Math.max(...versions);
|
|
70
72
|
}
|
|
71
|
-
const file = this.bucket.file(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
const file = this.bucket.file(
|
|
74
|
+
getFileName({
|
|
75
|
+
...request,
|
|
76
|
+
version
|
|
77
|
+
})
|
|
78
|
+
);
|
|
79
|
+
const [[metadata], [rawDataBuffer]] = await Promise.all([
|
|
80
|
+
file.getMetadata(),
|
|
81
|
+
file.download()
|
|
82
|
+
]);
|
|
76
83
|
if (metadata.contentType === "text/plain") {
|
|
77
84
|
return (0, import_genai.createPartFromText)(rawDataBuffer.toString("utf-8"));
|
|
78
85
|
}
|
|
@@ -85,10 +92,7 @@ class GcsArtifactService {
|
|
|
85
92
|
const fileNames = [];
|
|
86
93
|
const sessionPrefix = `${request.appName}/${request.userId}/${request.sessionId}/`;
|
|
87
94
|
const usernamePrefix = `${request.appName}/${request.userId}/user/`;
|
|
88
|
-
const [
|
|
89
|
-
[sessionFiles],
|
|
90
|
-
[userSessionFiles]
|
|
91
|
-
] = await Promise.all([
|
|
95
|
+
const [[sessionFiles], [userSessionFiles]] = await Promise.all([
|
|
92
96
|
this.bucket.getFiles({ prefix: sessionPrefix }),
|
|
93
97
|
this.bucket.getFiles({ prefix: usernamePrefix })
|
|
94
98
|
]);
|
|
@@ -102,13 +106,17 @@ class GcsArtifactService {
|
|
|
102
106
|
}
|
|
103
107
|
async deleteArtifact(request) {
|
|
104
108
|
const versions = await this.listVersions(request);
|
|
105
|
-
await Promise.all(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
await Promise.all(
|
|
110
|
+
versions.map((version) => {
|
|
111
|
+
const file = this.bucket.file(
|
|
112
|
+
getFileName({
|
|
113
|
+
...request,
|
|
114
|
+
version
|
|
115
|
+
})
|
|
116
|
+
);
|
|
117
|
+
return file.delete();
|
|
118
|
+
})
|
|
119
|
+
);
|
|
112
120
|
return;
|
|
113
121
|
}
|
|
114
122
|
async listVersions(request) {
|
|
@@ -68,7 +68,11 @@ class InMemoryArtifactService {
|
|
|
68
68
|
}
|
|
69
69
|
return Promise.resolve(versions[version]);
|
|
70
70
|
}
|
|
71
|
-
listArtifactKeys({
|
|
71
|
+
listArtifactKeys({
|
|
72
|
+
appName,
|
|
73
|
+
userId,
|
|
74
|
+
sessionId
|
|
75
|
+
}) {
|
|
72
76
|
const sessionPrefix = `${appName}/${userId}/${sessionId}/`;
|
|
73
77
|
const usernamespacePrefix = `${appName}/${userId}/user/`;
|
|
74
78
|
const filenames = [];
|
|
@@ -83,7 +87,12 @@ class InMemoryArtifactService {
|
|
|
83
87
|
}
|
|
84
88
|
return Promise.resolve(filenames.sort());
|
|
85
89
|
}
|
|
86
|
-
deleteArtifact({
|
|
90
|
+
deleteArtifact({
|
|
91
|
+
appName,
|
|
92
|
+
userId,
|
|
93
|
+
sessionId,
|
|
94
|
+
filename
|
|
95
|
+
}) {
|
|
87
96
|
const path = artifactPath(appName, userId, sessionId, filename);
|
|
88
97
|
if (!this.artifacts[path]) {
|
|
89
98
|
return Promise.resolve();
|
|
@@ -91,13 +100,18 @@ class InMemoryArtifactService {
|
|
|
91
100
|
delete this.artifacts[path];
|
|
92
101
|
return Promise.resolve();
|
|
93
102
|
}
|
|
94
|
-
listVersions({
|
|
103
|
+
listVersions({
|
|
104
|
+
appName,
|
|
105
|
+
userId,
|
|
106
|
+
sessionId,
|
|
107
|
+
filename
|
|
108
|
+
}) {
|
|
95
109
|
const path = artifactPath(appName, userId, sessionId, filename);
|
|
96
110
|
const artifacts = this.artifacts[path];
|
|
97
111
|
if (!artifacts) {
|
|
98
112
|
return Promise.resolve([]);
|
|
99
113
|
}
|
|
100
|
-
|
|
114
|
+
const versions = [];
|
|
101
115
|
for (let i = 0; i < artifacts.length; i++) {
|
|
102
116
|
versions.push(i);
|
|
103
117
|
}
|
|
@@ -66,7 +66,9 @@ class AuthHandler {
|
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
if (!this.authConfig.rawAuthCredential.oauth2.clientId || !this.authConfig.rawAuthCredential.oauth2.clientSecret) {
|
|
69
|
-
throw new Error(
|
|
69
|
+
throw new Error(
|
|
70
|
+
`Auth Scheme ${authSchemeType} requires both clientId and clientSecret in authCredential.oauth2.`
|
|
71
|
+
);
|
|
70
72
|
}
|
|
71
73
|
return {
|
|
72
74
|
credentialKey: this.authConfig.credentialKey,
|
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var base_code_executor_exports = {};
|
|
26
26
|
__export(base_code_executor_exports, {
|
|
27
|
-
BaseCodeExecutor: () => BaseCodeExecutor
|
|
27
|
+
BaseCodeExecutor: () => BaseCodeExecutor,
|
|
28
|
+
isBaseCodeExecutor: () => isBaseCodeExecutor
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(base_code_executor_exports);
|
|
30
31
|
/**
|
|
@@ -32,8 +33,18 @@ module.exports = __toCommonJS(base_code_executor_exports);
|
|
|
32
33
|
* Copyright 2025 Google LLC
|
|
33
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
34
35
|
*/
|
|
36
|
+
var _a;
|
|
37
|
+
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
38
|
+
"google.adk.baseCodeExecutor"
|
|
39
|
+
);
|
|
40
|
+
function isBaseCodeExecutor(obj) {
|
|
41
|
+
return typeof obj === "object" && obj !== null && BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL in obj && obj[BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL] === true;
|
|
42
|
+
}
|
|
43
|
+
_a = BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL;
|
|
35
44
|
class BaseCodeExecutor {
|
|
36
45
|
constructor() {
|
|
46
|
+
/** A unique symbol to identify BaseCodeExecutor class. */
|
|
47
|
+
this[_a] = true;
|
|
37
48
|
/**
|
|
38
49
|
* If true, extract and process data files from the model request
|
|
39
50
|
* and attach them to the code executor.
|
|
@@ -72,5 +83,6 @@ class BaseCodeExecutor {
|
|
|
72
83
|
}
|
|
73
84
|
// Annotate the CommonJS export names for ESM import in node:
|
|
74
85
|
0 && (module.exports = {
|
|
75
|
-
BaseCodeExecutor
|
|
86
|
+
BaseCodeExecutor,
|
|
87
|
+
isBaseCodeExecutor
|
|
76
88
|
});
|
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var built_in_code_executor_exports = {};
|
|
26
26
|
__export(built_in_code_executor_exports, {
|
|
27
|
-
BuiltInCodeExecutor: () => BuiltInCodeExecutor
|
|
27
|
+
BuiltInCodeExecutor: () => BuiltInCodeExecutor,
|
|
28
|
+
isBuiltInCodeExecutor: () => isBuiltInCodeExecutor
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(built_in_code_executor_exports);
|
|
30
31
|
var import_model_name = require("../utils/model_name.js");
|
|
@@ -34,8 +35,20 @@ var import_base_code_executor = require("./base_code_executor.js");
|
|
|
34
35
|
* Copyright 2025 Google LLC
|
|
35
36
|
* SPDX-License-Identifier: Apache-2.0
|
|
36
37
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
40
|
+
"google.adk.builtInCodeExecutor"
|
|
41
|
+
);
|
|
42
|
+
function isBuiltInCodeExecutor(obj) {
|
|
43
|
+
return typeof obj === "object" && obj !== null && BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL in obj && obj[BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL] === true;
|
|
44
|
+
}
|
|
45
|
+
class BuiltInCodeExecutor extends (_b = import_base_code_executor.BaseCodeExecutor, _a = BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL, _b) {
|
|
46
|
+
constructor() {
|
|
47
|
+
super(...arguments);
|
|
48
|
+
/** A unique symbol to identify BuiltInCodeExecutor class. */
|
|
49
|
+
this[_a] = true;
|
|
50
|
+
}
|
|
51
|
+
executeCode(_params) {
|
|
39
52
|
return Promise.resolve({
|
|
40
53
|
stdout: "",
|
|
41
54
|
stderr: "",
|
|
@@ -49,10 +62,13 @@ class BuiltInCodeExecutor extends import_base_code_executor.BaseCodeExecutor {
|
|
|
49
62
|
llmRequest.config.tools.push({ codeExecution: {} });
|
|
50
63
|
return;
|
|
51
64
|
}
|
|
52
|
-
throw new Error(
|
|
65
|
+
throw new Error(
|
|
66
|
+
`Gemini code execution tool is not supported for model ${llmRequest.model}`
|
|
67
|
+
);
|
|
53
68
|
}
|
|
54
69
|
}
|
|
55
70
|
// Annotate the CommonJS export names for ESM import in node:
|
|
56
71
|
0 && (module.exports = {
|
|
57
|
-
BuiltInCodeExecutor
|
|
72
|
+
BuiltInCodeExecutor,
|
|
73
|
+
isBuiltInCodeExecutor
|
|
58
74
|
});
|
|
@@ -171,7 +171,9 @@ class CodeExecutorContext {
|
|
|
171
171
|
if (!(CODE_EXECUTION_RESULTS_KEY in this.sessionState)) {
|
|
172
172
|
this.sessionState.set(CODE_EXECUTION_RESULTS_KEY, {});
|
|
173
173
|
}
|
|
174
|
-
const codeExecutionResults = this.sessionState.get(
|
|
174
|
+
const codeExecutionResults = this.sessionState.get(
|
|
175
|
+
CODE_EXECUTION_RESULTS_KEY
|
|
176
|
+
);
|
|
175
177
|
if (!(invocationId in codeExecutionResults)) {
|
|
176
178
|
codeExecutionResults[invocationId] = [];
|
|
177
179
|
}
|
|
@@ -183,12 +185,10 @@ class CodeExecutorContext {
|
|
|
183
185
|
});
|
|
184
186
|
}
|
|
185
187
|
/**
|
|
186
|
-
* Gets the code
|
|
187
|
-
* @param invocationId The session state to get the code executor context
|
|
188
|
-
* from.
|
|
188
|
+
* Gets the code execution context from the session state.
|
|
189
189
|
* @return The code execution context for the given invocation ID.
|
|
190
190
|
*/
|
|
191
|
-
getCodeExecutionContext(
|
|
191
|
+
getCodeExecutionContext() {
|
|
192
192
|
return this.sessionState.get(CONTEXT_KEY) || {};
|
|
193
193
|
}
|
|
194
194
|
}
|
package/dist/cjs/common.js
CHANGED
|
@@ -25,9 +25,15 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
25
25
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
26
|
var common_exports = {};
|
|
27
27
|
__export(common_exports, {
|
|
28
|
+
ActiveStreamingTool: () => import_active_streaming_tool.ActiveStreamingTool,
|
|
28
29
|
AgentTool: () => import_agent_tool.AgentTool,
|
|
30
|
+
AuthCredentialTypes: () => import_auth_credential.AuthCredentialTypes,
|
|
29
31
|
BaseAgent: () => import_base_agent.BaseAgent,
|
|
32
|
+
BaseCodeExecutor: () => import_base_code_executor.BaseCodeExecutor,
|
|
33
|
+
BaseExampleProvider: () => import_base_example_provider.BaseExampleProvider,
|
|
30
34
|
BaseLlm: () => import_base_llm.BaseLlm,
|
|
35
|
+
BaseLlmRequestProcessor: () => import_base_llm_processor.BaseLlmRequestProcessor,
|
|
36
|
+
BaseLlmResponseProcessor: () => import_base_llm_processor.BaseLlmResponseProcessor,
|
|
31
37
|
BasePlugin: () => import_base_plugin.BasePlugin,
|
|
32
38
|
BaseTool: () => import_base_tool.BaseTool,
|
|
33
39
|
BaseToolset: () => import_base_toolset.BaseToolset,
|
|
@@ -36,6 +42,8 @@ __export(common_exports, {
|
|
|
36
42
|
FunctionTool: () => import_function_tool.FunctionTool,
|
|
37
43
|
GOOGLE_SEARCH: () => import_google_search_tool.GOOGLE_SEARCH,
|
|
38
44
|
Gemini: () => import_google_llm.Gemini,
|
|
45
|
+
GoogleLLMVariant: () => import_variant_utils.GoogleLLMVariant,
|
|
46
|
+
GoogleSearchTool: () => import_google_search_tool.GoogleSearchTool,
|
|
39
47
|
InMemoryArtifactService: () => import_in_memory_artifact_service.InMemoryArtifactService,
|
|
40
48
|
InMemoryMemoryService: () => import_in_memory_memory_service.InMemoryMemoryService,
|
|
41
49
|
InMemoryPolicyEngine: () => import_security_plugin.InMemoryPolicyEngine,
|
|
@@ -53,6 +61,7 @@ __export(common_exports, {
|
|
|
53
61
|
PluginManager: () => import_plugin_manager.PluginManager,
|
|
54
62
|
PolicyOutcome: () => import_security_plugin.PolicyOutcome,
|
|
55
63
|
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_security_plugin.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
64
|
+
ReadonlyContext: () => import_readonly_context.ReadonlyContext,
|
|
56
65
|
Runner: () => import_runner.Runner,
|
|
57
66
|
SecurityPlugin: () => import_security_plugin.SecurityPlugin,
|
|
58
67
|
SequentialAgent: () => import_sequential_agent.SequentialAgent,
|
|
@@ -67,18 +76,30 @@ __export(common_exports, {
|
|
|
67
76
|
getAskUserConfirmationFunctionCalls: () => import_security_plugin.getAskUserConfirmationFunctionCalls,
|
|
68
77
|
getFunctionCalls: () => import_event.getFunctionCalls,
|
|
69
78
|
getFunctionResponses: () => import_event.getFunctionResponses,
|
|
79
|
+
getLogger: () => import_logger.getLogger,
|
|
70
80
|
hasTrailingCodeExecutionResult: () => import_event.hasTrailingCodeExecutionResult,
|
|
81
|
+
isAgentTool: () => import_agent_tool.isAgentTool,
|
|
71
82
|
isBaseAgent: () => import_base_agent.isBaseAgent,
|
|
83
|
+
isBaseExampleProvider: () => import_base_example_provider.isBaseExampleProvider,
|
|
72
84
|
isBaseLlm: () => import_base_llm.isBaseLlm,
|
|
85
|
+
isBaseTool: () => import_base_tool.isBaseTool,
|
|
73
86
|
isFinalResponse: () => import_event.isFinalResponse,
|
|
87
|
+
isFunctionTool: () => import_function_tool.isFunctionTool,
|
|
74
88
|
isGemini2OrAbove: () => import_model_name.isGemini2OrAbove,
|
|
89
|
+
isLlmAgent: () => import_llm_agent.isLlmAgent,
|
|
90
|
+
isLoopAgent: () => import_loop_agent.isLoopAgent,
|
|
91
|
+
isParallelAgent: () => import_parallel_agent.isParallelAgent,
|
|
92
|
+
isSequentialAgent: () => import_sequential_agent.isSequentialAgent,
|
|
75
93
|
setLogLevel: () => import_logger.setLogLevel,
|
|
94
|
+
setLogger: () => import_logger.setLogger,
|
|
76
95
|
stringifyContent: () => import_event.stringifyContent,
|
|
77
96
|
version: () => import_version.version,
|
|
78
97
|
zodObjectToSchema: () => import_simple_zod_to_json.zodObjectToSchema
|
|
79
98
|
});
|
|
80
99
|
module.exports = __toCommonJS(common_exports);
|
|
100
|
+
var import_active_streaming_tool = require("./agents/active_streaming_tool.js");
|
|
81
101
|
var import_base_agent = require("./agents/base_agent.js");
|
|
102
|
+
var import_base_llm_processor = require("./agents/base_llm_processor.js");
|
|
82
103
|
var import_callback_context = require("./agents/callback_context.js");
|
|
83
104
|
var import_functions = require("./agents/functions.js");
|
|
84
105
|
var import_invocation_context = require("./agents/invocation_context.js");
|
|
@@ -86,12 +107,16 @@ var import_live_request_queue = require("./agents/live_request_queue.js");
|
|
|
86
107
|
var import_llm_agent = require("./agents/llm_agent.js");
|
|
87
108
|
var import_loop_agent = require("./agents/loop_agent.js");
|
|
88
109
|
var import_parallel_agent = require("./agents/parallel_agent.js");
|
|
110
|
+
var import_readonly_context = require("./agents/readonly_context.js");
|
|
89
111
|
var import_run_config = require("./agents/run_config.js");
|
|
90
112
|
var import_sequential_agent = require("./agents/sequential_agent.js");
|
|
91
113
|
var import_in_memory_artifact_service = require("./artifacts/in_memory_artifact_service.js");
|
|
114
|
+
var import_auth_credential = require("./auth/auth_credential.js");
|
|
115
|
+
var import_base_code_executor = require("./code_executors/base_code_executor.js");
|
|
92
116
|
var import_built_in_code_executor = require("./code_executors/built_in_code_executor.js");
|
|
93
117
|
var import_event = require("./events/event.js");
|
|
94
118
|
var import_event_actions = require("./events/event_actions.js");
|
|
119
|
+
var import_base_example_provider = require("./examples/base_example_provider.js");
|
|
95
120
|
var import_in_memory_memory_service = require("./memory/in_memory_memory_service.js");
|
|
96
121
|
var import_base_llm = require("./models/base_llm.js");
|
|
97
122
|
var import_google_llm = require("./models/google_llm.js");
|
|
@@ -116,6 +141,7 @@ var import_tool_context = require("./tools/tool_context.js");
|
|
|
116
141
|
var import_logger = require("./utils/logger.js");
|
|
117
142
|
var import_model_name = require("./utils/model_name.js");
|
|
118
143
|
var import_simple_zod_to_json = require("./utils/simple_zod_to_json.js");
|
|
144
|
+
var import_variant_utils = require("./utils/variant_utils.js");
|
|
119
145
|
var import_version = require("./version.js");
|
|
120
146
|
__reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
|
|
121
147
|
__reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
|
|
@@ -128,9 +154,15 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
|
|
|
128
154
|
*/
|
|
129
155
|
// Annotate the CommonJS export names for ESM import in node:
|
|
130
156
|
0 && (module.exports = {
|
|
157
|
+
ActiveStreamingTool,
|
|
131
158
|
AgentTool,
|
|
159
|
+
AuthCredentialTypes,
|
|
132
160
|
BaseAgent,
|
|
161
|
+
BaseCodeExecutor,
|
|
162
|
+
BaseExampleProvider,
|
|
133
163
|
BaseLlm,
|
|
164
|
+
BaseLlmRequestProcessor,
|
|
165
|
+
BaseLlmResponseProcessor,
|
|
134
166
|
BasePlugin,
|
|
135
167
|
BaseTool,
|
|
136
168
|
BaseToolset,
|
|
@@ -139,6 +171,8 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
|
|
|
139
171
|
FunctionTool,
|
|
140
172
|
GOOGLE_SEARCH,
|
|
141
173
|
Gemini,
|
|
174
|
+
GoogleLLMVariant,
|
|
175
|
+
GoogleSearchTool,
|
|
142
176
|
InMemoryArtifactService,
|
|
143
177
|
InMemoryMemoryService,
|
|
144
178
|
InMemoryPolicyEngine,
|
|
@@ -156,6 +190,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
|
|
|
156
190
|
PluginManager,
|
|
157
191
|
PolicyOutcome,
|
|
158
192
|
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
193
|
+
ReadonlyContext,
|
|
159
194
|
Runner,
|
|
160
195
|
SecurityPlugin,
|
|
161
196
|
SequentialAgent,
|
|
@@ -170,12 +205,22 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
|
|
|
170
205
|
getAskUserConfirmationFunctionCalls,
|
|
171
206
|
getFunctionCalls,
|
|
172
207
|
getFunctionResponses,
|
|
208
|
+
getLogger,
|
|
173
209
|
hasTrailingCodeExecutionResult,
|
|
210
|
+
isAgentTool,
|
|
174
211
|
isBaseAgent,
|
|
212
|
+
isBaseExampleProvider,
|
|
175
213
|
isBaseLlm,
|
|
214
|
+
isBaseTool,
|
|
176
215
|
isFinalResponse,
|
|
216
|
+
isFunctionTool,
|
|
177
217
|
isGemini2OrAbove,
|
|
218
|
+
isLlmAgent,
|
|
219
|
+
isLoopAgent,
|
|
220
|
+
isParallelAgent,
|
|
221
|
+
isSequentialAgent,
|
|
178
222
|
setLogLevel,
|
|
223
|
+
setLogger,
|
|
179
224
|
stringifyContent,
|
|
180
225
|
version,
|
|
181
226
|
zodObjectToSchema,
|
package/dist/cjs/events/event.js
CHANGED
|
@@ -101,9 +101,7 @@ const ASCII_LETTERS_AND_NUMBERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS
|
|
|
101
101
|
function createNewEventId() {
|
|
102
102
|
let id = "";
|
|
103
103
|
for (let i = 0; i < 8; i++) {
|
|
104
|
-
id += ASCII_LETTERS_AND_NUMBERS[Math.floor(
|
|
105
|
-
Math.random() * ASCII_LETTERS_AND_NUMBERS.length
|
|
106
|
-
)];
|
|
104
|
+
id += ASCII_LETTERS_AND_NUMBERS[Math.floor(Math.random() * ASCII_LETTERS_AND_NUMBERS.length)];
|
|
107
105
|
}
|
|
108
106
|
return id;
|
|
109
107
|
}
|
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var base_example_provider_exports = {};
|
|
26
26
|
__export(base_example_provider_exports, {
|
|
27
|
-
BaseExampleProvider: () => BaseExampleProvider
|
|
27
|
+
BaseExampleProvider: () => BaseExampleProvider,
|
|
28
|
+
isBaseExampleProvider: () => isBaseExampleProvider
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(base_example_provider_exports);
|
|
30
31
|
/**
|
|
@@ -32,9 +33,24 @@ module.exports = __toCommonJS(base_example_provider_exports);
|
|
|
32
33
|
* Copyright 2025 Google LLC
|
|
33
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
34
35
|
*/
|
|
36
|
+
var _a;
|
|
37
|
+
const BASE_EXAMPLE_PROVIDER_SIGNATURE_SYMBOL = Symbol.for(
|
|
38
|
+
"google.adk.baseExampleProvider"
|
|
39
|
+
);
|
|
40
|
+
function isBaseExampleProvider(obj) {
|
|
41
|
+
return typeof obj === "object" && obj !== null && BASE_EXAMPLE_PROVIDER_SIGNATURE_SYMBOL in obj && obj[BASE_EXAMPLE_PROVIDER_SIGNATURE_SYMBOL] === true;
|
|
42
|
+
}
|
|
43
|
+
_a = BASE_EXAMPLE_PROVIDER_SIGNATURE_SYMBOL;
|
|
35
44
|
class BaseExampleProvider {
|
|
45
|
+
constructor() {
|
|
46
|
+
/**
|
|
47
|
+
* A unique symbol to identify ADK example provider classes.
|
|
48
|
+
*/
|
|
49
|
+
this[_a] = true;
|
|
50
|
+
}
|
|
36
51
|
}
|
|
37
52
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
53
|
0 && (module.exports = {
|
|
39
|
-
BaseExampleProvider
|
|
54
|
+
BaseExampleProvider,
|
|
55
|
+
isBaseExampleProvider
|
|
40
56
|
});
|
|
@@ -95,7 +95,7 @@ function buildExampleSi(examples, query, model) {
|
|
|
95
95
|
if (Array.isArray(examples)) {
|
|
96
96
|
return convertExamplesToText(examples, model);
|
|
97
97
|
}
|
|
98
|
-
if (
|
|
98
|
+
if ((0, import_base_example_provider.isBaseExampleProvider)(examples)) {
|
|
99
99
|
return convertExamplesToText(examples.getExamples(query), model);
|
|
100
100
|
}
|
|
101
101
|
throw new Error("Invalid example configuration");
|