@google/adk 1.4.0 → 1.5.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/a2a/agent_to_a2a.js +18 -2
- package/dist/cjs/a2a/event_converter_utils.js +8 -4
- package/dist/cjs/a2a/metadata_converter_utils.js +1 -1
- package/dist/cjs/agents/base_agent.js +39 -0
- package/dist/cjs/agents/functions.js +6 -21
- package/dist/cjs/agents/llm_agent.js +2 -1
- package/dist/cjs/agents/loop_agent.js +15 -3
- package/dist/cjs/agents/processors/content_processor_utils.js +2 -1
- package/dist/cjs/agents/routed_agent.js +31 -0
- package/dist/cjs/agents/run_config.js +3 -2
- package/dist/cjs/artifacts/in_memory_artifact_service.js +7 -0
- package/dist/cjs/common.js +29 -0
- package/dist/cjs/context/anchored_context_compactor.js +127 -0
- package/dist/cjs/context/compaction_utils.js +52 -0
- package/dist/cjs/context/token_based_context_compactor.js +11 -24
- package/dist/cjs/events/compacted_event.js +9 -3
- package/dist/cjs/events/event.js +28 -0
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +9 -1
- package/dist/cjs/plugins/global_instruction_plugin.js +97 -0
- package/dist/cjs/runner/runner.js +51 -12
- package/dist/cjs/tools/enterprise_web_search_tool.js +81 -0
- package/dist/cjs/tools/example_tool.js +68 -0
- package/dist/cjs/tools/load_web_page.js +250 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +140 -0
- package/dist/cjs/tools/mcp/mcp_toolset.js +63 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +13 -10
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +54 -4
- package/dist/cjs/tools/skill/skill_toolset.js +4 -2
- package/dist/cjs/utils/branch_trie.js +41 -0
- package/dist/cjs/utils/streaming_utils.js +5 -5
- package/dist/cjs/version.js +1 -1
- package/dist/esm/a2a/agent_to_a2a.js +18 -2
- package/dist/esm/a2a/event_converter_utils.js +8 -4
- package/dist/esm/a2a/metadata_converter_utils.js +1 -1
- package/dist/esm/agents/base_agent.js +39 -0
- package/dist/esm/agents/functions.js +7 -17
- package/dist/esm/agents/llm_agent.js +4 -3
- package/dist/esm/agents/loop_agent.js +15 -3
- package/dist/esm/agents/processors/content_processor_utils.js +2 -1
- package/dist/esm/agents/routed_agent.js +31 -0
- package/dist/esm/agents/run_config.js +3 -2
- package/dist/esm/artifacts/in_memory_artifact_service.js +7 -0
- package/dist/esm/common.js +25 -1
- package/dist/esm/context/anchored_context_compactor.js +99 -0
- package/dist/esm/context/compaction_utils.js +27 -0
- package/dist/esm/context/token_based_context_compactor.js +11 -24
- package/dist/esm/events/compacted_event.js +7 -2
- package/dist/esm/events/event.js +24 -0
- package/dist/esm/index.js +6 -1
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +9 -1
- package/dist/esm/plugins/global_instruction_plugin.js +69 -0
- package/dist/esm/runner/runner.js +51 -12
- package/dist/esm/tools/enterprise_web_search_tool.js +55 -0
- package/dist/esm/tools/example_tool.js +42 -0
- package/dist/esm/tools/load_web_page.js +221 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +114 -0
- package/dist/esm/tools/mcp/mcp_toolset.js +63 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +13 -10
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +53 -4
- package/dist/esm/tools/skill/skill_toolset.js +4 -2
- package/dist/esm/utils/branch_trie.js +13 -0
- package/dist/esm/utils/streaming_utils.js +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +38 -0
- package/dist/types/agents/base_agent.d.ts +29 -1
- package/dist/types/agents/functions.d.ts +1 -9
- package/dist/types/agents/llm_agent.d.ts +5 -1
- package/dist/types/agents/loop_agent.d.ts +2 -2
- package/dist/types/agents/routed_agent.d.ts +24 -1
- package/dist/types/agents/run_config.d.ts +1 -1
- package/dist/types/common.d.ts +9 -2
- package/dist/types/context/anchored_context_compactor.d.ts +35 -0
- package/dist/types/context/compaction_utils.d.ts +15 -0
- package/dist/types/events/compacted_event.d.ts +10 -0
- package/dist/types/events/event.d.ts +13 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/plugins/global_instruction_plugin.d.ts +38 -0
- package/dist/types/runner/runner.d.ts +1 -1
- package/dist/types/tools/enterprise_web_search_tool.d.ts +26 -0
- package/dist/types/tools/example_tool.d.ts +21 -0
- package/dist/types/tools/load_web_page.d.ts +33 -0
- package/dist/types/tools/mcp/load_mcp_resource_tool.d.ts +26 -0
- package/dist/types/tools/mcp/mcp_toolset.d.ts +27 -0
- package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +25 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +9 -0
- package/dist/types/utils/branch_trie.d.ts +14 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/a2a/agent_to_a2a.js +18 -2
- package/dist/web/a2a/event_converter_utils.js +8 -4
- package/dist/web/a2a/metadata_converter_utils.js +1 -1
- package/dist/web/agents/base_agent.js +39 -0
- package/dist/web/agents/functions.js +7 -17
- package/dist/web/agents/llm_agent.js +4 -3
- package/dist/web/agents/loop_agent.js +27 -3
- package/dist/web/agents/processors/content_processor_utils.js +2 -1
- package/dist/web/agents/routed_agent.js +31 -0
- package/dist/web/agents/run_config.js +8 -3
- package/dist/web/artifacts/in_memory_artifact_service.js +7 -0
- package/dist/web/common.js +25 -1
- package/dist/web/context/anchored_context_compactor.js +117 -0
- package/dist/web/context/compaction_utils.js +27 -0
- package/dist/web/context/token_based_context_compactor.js +11 -24
- package/dist/web/events/compacted_event.js +7 -2
- package/dist/web/events/event.js +24 -0
- package/dist/web/index.js +6 -1
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +9 -1
- package/dist/web/plugins/global_instruction_plugin.js +67 -0
- package/dist/web/runner/runner.js +48 -11
- package/dist/web/tools/enterprise_web_search_tool.js +55 -0
- package/dist/web/tools/example_tool.js +42 -0
- package/dist/web/tools/load_web_page.js +221 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +107 -0
- package/dist/web/tools/mcp/mcp_toolset.js +63 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +13 -10
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +51 -4
- package/dist/web/tools/skill/skill_toolset.js +4 -2
- package/dist/web/utils/branch_trie.js +13 -0
- package/dist/web/utils/streaming_utils.js +1 -1
- package/dist/web/version.js +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,15 @@ import { CodeExecutionLanguage } from "../../code_executors/code_execution_utils
|
|
|
21
21
|
import { experimental } from "../../utils/experimental.js";
|
|
22
22
|
import { materializeFiles } from "../../utils/file_utils.js";
|
|
23
23
|
import { BaseTool } from "../base_tool.js";
|
|
24
|
+
var RunSkillInlineScriptErrorCode = /* @__PURE__ */ ((RunSkillInlineScriptErrorCode2) => {
|
|
25
|
+
RunSkillInlineScriptErrorCode2["MISSING_SCRIPT_CONTENT"] = "MISSING_SCRIPT_CONTENT";
|
|
26
|
+
RunSkillInlineScriptErrorCode2["MISSING_LANGUAGE"] = "MISSING_LANGUAGE";
|
|
27
|
+
RunSkillInlineScriptErrorCode2["NO_CODE_EXECUTOR"] = "NO_CODE_EXECUTOR";
|
|
28
|
+
RunSkillInlineScriptErrorCode2["EXECUTION_ERROR"] = "EXECUTION_ERROR";
|
|
29
|
+
RunSkillInlineScriptErrorCode2["CONFIRMATION_REJECTED"] = "CONFIRMATION_REJECTED";
|
|
30
|
+
return RunSkillInlineScriptErrorCode2;
|
|
31
|
+
})(RunSkillInlineScriptErrorCode || {});
|
|
32
|
+
const REQUIRE_CONFIRMATION_MESSAGE = "This tool call needs external confirmation before completion.";
|
|
24
33
|
let RunSkillInlineScriptTool = class extends BaseTool {
|
|
25
34
|
constructor(toolset) {
|
|
26
35
|
super({
|
|
@@ -70,13 +79,13 @@ let RunSkillInlineScriptTool = class extends BaseTool {
|
|
|
70
79
|
if (!inlineScriptContent) {
|
|
71
80
|
return {
|
|
72
81
|
error: "Script content is required.",
|
|
73
|
-
errorCode: "MISSING_SCRIPT_CONTENT"
|
|
82
|
+
errorCode: "MISSING_SCRIPT_CONTENT" /* MISSING_SCRIPT_CONTENT */
|
|
74
83
|
};
|
|
75
84
|
}
|
|
76
85
|
if (!language) {
|
|
77
86
|
return {
|
|
78
87
|
error: "Language is required.",
|
|
79
|
-
errorCode: "MISSING_LANGUAGE"
|
|
88
|
+
errorCode: "MISSING_LANGUAGE" /* MISSING_LANGUAGE */
|
|
80
89
|
};
|
|
81
90
|
}
|
|
82
91
|
let codeExecutor = (_a = this.toolset) == null ? void 0 : _a.codeExecutor;
|
|
@@ -89,9 +98,17 @@ let RunSkillInlineScriptTool = class extends BaseTool {
|
|
|
89
98
|
if (!codeExecutor) {
|
|
90
99
|
return {
|
|
91
100
|
error: "No code executor configured.",
|
|
92
|
-
errorCode: "NO_CODE_EXECUTOR"
|
|
101
|
+
errorCode: "NO_CODE_EXECUTOR" /* NO_CODE_EXECUTOR */
|
|
93
102
|
};
|
|
94
103
|
}
|
|
104
|
+
const confirmationResult = this.enforceConfirmation(
|
|
105
|
+
toolContext,
|
|
106
|
+
inlineScriptContent,
|
|
107
|
+
language
|
|
108
|
+
);
|
|
109
|
+
if (confirmationResult) {
|
|
110
|
+
return confirmationResult;
|
|
111
|
+
}
|
|
95
112
|
try {
|
|
96
113
|
const result = await codeExecutor.executeCode({
|
|
97
114
|
invocationContext: toolContext.invocationContext,
|
|
@@ -107,14 +124,44 @@ let RunSkillInlineScriptTool = class extends BaseTool {
|
|
|
107
124
|
} catch (e) {
|
|
108
125
|
return {
|
|
109
126
|
error: "Failed to execute inline script: ".concat(e.message),
|
|
110
|
-
errorCode: "EXECUTION_ERROR"
|
|
127
|
+
errorCode: "EXECUTION_ERROR" /* EXECUTION_ERROR */
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Enforces a human-in-the-loop confirmation gate before executing an inline
|
|
133
|
+
* script, using the repo's standard tool-confirmation mechanism.
|
|
134
|
+
*
|
|
135
|
+
* - When no confirmation has been provided yet, a confirmation is requested
|
|
136
|
+
* (surfacing the language and script that would run) and an intermediate
|
|
137
|
+
* result is returned so the tool call pauses until the client responds.
|
|
138
|
+
* - When a confirmation exists but was not confirmed, a rejection error is
|
|
139
|
+
* returned and execution is refused.
|
|
140
|
+
* - When the confirmation is confirmed, `undefined` is returned to allow the
|
|
141
|
+
* caller to proceed with execution.
|
|
142
|
+
*/
|
|
143
|
+
enforceConfirmation(toolContext, scriptContent, language) {
|
|
144
|
+
const confirmation = toolContext.toolConfirmation;
|
|
145
|
+
if (!confirmation) {
|
|
146
|
+
toolContext.requestConfirmation({
|
|
147
|
+
hint: "Confirmation is required before executing an inline skill script. " + "The agent requested to run the following ".concat(language, " script in the ") + "code executor. Only approve if you trust its contents:\n\n" + scriptContent,
|
|
148
|
+
payload: { language, scriptContent }
|
|
149
|
+
});
|
|
150
|
+
return { partial: REQUIRE_CONFIRMATION_MESSAGE };
|
|
151
|
+
}
|
|
152
|
+
if (!confirmation.confirmed) {
|
|
153
|
+
return {
|
|
154
|
+
error: "Inline script execution was not confirmed and was rejected.",
|
|
155
|
+
errorCode: "CONFIRMATION_REJECTED" /* CONFIRMATION_REJECTED */
|
|
111
156
|
};
|
|
112
157
|
}
|
|
158
|
+
return void 0;
|
|
113
159
|
}
|
|
114
160
|
};
|
|
115
161
|
RunSkillInlineScriptTool = __decorateClass([
|
|
116
162
|
experimental
|
|
117
163
|
], RunSkillInlineScriptTool);
|
|
118
164
|
export {
|
|
165
|
+
RunSkillInlineScriptErrorCode,
|
|
119
166
|
RunSkillInlineScriptTool
|
|
120
167
|
};
|
|
@@ -41,9 +41,11 @@ let SkillToolset = class extends BaseToolset {
|
|
|
41
41
|
new ListSkillsTool(this),
|
|
42
42
|
new LoadSkillTool(this),
|
|
43
43
|
new LoadSkillResourceTool(this),
|
|
44
|
-
new RunSkillScriptTool(this)
|
|
45
|
-
new RunSkillInlineScriptTool(this)
|
|
44
|
+
new RunSkillScriptTool(this)
|
|
46
45
|
];
|
|
46
|
+
if (options.allowInlineScripts) {
|
|
47
|
+
this.tools.push(new RunSkillInlineScriptTool(this));
|
|
48
|
+
}
|
|
47
49
|
if (this.registry) {
|
|
48
50
|
this.tools.push(new SearchSkillsTool(this));
|
|
49
51
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
function isSegmentPrefix(currentBranch, targetBranch) {
|
|
9
|
+
return !targetBranch || targetBranch === currentBranch || !!currentBranch && currentBranch.startsWith("".concat(targetBranch, "."));
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
isSegmentPrefix
|
|
13
|
+
};
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
FinishReason
|
|
76
76
|
} from "@google/genai";
|
|
77
77
|
import { JSONPath } from "jsonpath-plus";
|
|
78
|
-
import { generateClientFunctionCallId } from "../
|
|
78
|
+
import { generateClientFunctionCallId } from "../events/event.js";
|
|
79
79
|
import { FeatureName, isFeatureEnabled } from "../features/feature_registry.js";
|
|
80
80
|
import { createLlmResponse } from "../models/llm_response.js";
|
|
81
81
|
const UNSAFE_PROPERTY_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
|
package/dist/web/version.js
CHANGED