@google/adk 0.1.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/LICENSE +202 -0
- package/README.md +9 -0
- package/dist/cjs/agents/active_streaming_tool.js +44 -0
- package/dist/cjs/agents/base_agent.js +245 -0
- package/dist/cjs/agents/base_llm_processor.js +44 -0
- package/dist/cjs/agents/callback_context.js +98 -0
- package/dist/cjs/agents/content_processor_utils.js +299 -0
- package/dist/cjs/agents/functions.js +394 -0
- package/dist/cjs/agents/instructions.js +110 -0
- package/dist/cjs/agents/invocation_context.js +109 -0
- package/dist/cjs/agents/live_request_queue.js +136 -0
- package/dist/cjs/agents/llm_agent.js +859 -0
- package/dist/cjs/agents/loop_agent.js +68 -0
- package/dist/cjs/agents/parallel_agent.js +78 -0
- package/dist/cjs/agents/readonly_context.js +68 -0
- package/dist/cjs/agents/run_config.js +74 -0
- package/dist/cjs/agents/sequential_agent.js +84 -0
- package/dist/cjs/agents/transcription_entry.js +27 -0
- package/dist/cjs/artifacts/base_artifact_service.js +27 -0
- package/dist/cjs/artifacts/in_memory_artifact_service.js +119 -0
- package/dist/cjs/auth/auth_credential.js +46 -0
- package/dist/cjs/auth/auth_handler.js +92 -0
- package/dist/cjs/auth/auth_schemes.js +62 -0
- package/dist/cjs/auth/auth_tool.js +27 -0
- package/dist/cjs/auth/credential_service/base_credential_service.js +27 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +63 -0
- package/dist/cjs/code_executors/base_code_executor.js +76 -0
- package/dist/cjs/code_executors/built_in_code_executor.js +58 -0
- package/dist/cjs/code_executors/code_execution_utils.js +142 -0
- package/dist/cjs/code_executors/code_executor_context.js +198 -0
- package/dist/cjs/common.js +161 -0
- package/dist/cjs/events/event.js +107 -0
- package/dist/cjs/events/event_actions.js +83 -0
- package/dist/cjs/examples/base_example_provider.js +40 -0
- package/dist/cjs/examples/example.js +27 -0
- package/dist/cjs/examples/example_util.js +107 -0
- package/dist/cjs/index.js +40 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/index_web.js +33 -0
- package/dist/cjs/memory/base_memory_service.js +27 -0
- package/dist/cjs/memory/in_memory_memory_service.js +97 -0
- package/dist/cjs/memory/memory_entry.js +27 -0
- package/dist/cjs/models/base_llm.js +77 -0
- package/dist/cjs/models/base_llm_connection.js +27 -0
- package/dist/cjs/models/gemini_llm_connection.js +132 -0
- package/dist/cjs/models/google_llm.js +321 -0
- package/dist/cjs/models/llm_request.js +82 -0
- package/dist/cjs/models/llm_response.js +71 -0
- package/dist/cjs/models/registry.js +121 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugins/base_plugin.js +236 -0
- package/dist/cjs/plugins/logging_plugin.js +222 -0
- package/dist/cjs/plugins/plugin_manager.js +239 -0
- package/dist/cjs/plugins/security_plugin.js +153 -0
- package/dist/cjs/runner/in_memory_runner.js +58 -0
- package/dist/cjs/runner/runner.js +276 -0
- package/dist/cjs/sessions/base_session_service.js +71 -0
- package/dist/cjs/sessions/in_memory_session_service.js +184 -0
- package/dist/cjs/sessions/session.js +48 -0
- package/dist/cjs/sessions/state.js +101 -0
- package/dist/cjs/tools/agent_tool.js +134 -0
- package/dist/cjs/tools/base_tool.js +107 -0
- package/dist/cjs/tools/base_toolset.js +76 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +71 -0
- package/dist/cjs/tools/function_tool.js +101 -0
- package/dist/cjs/tools/google_search_tool.js +76 -0
- package/dist/cjs/tools/long_running_tool.js +63 -0
- package/dist/cjs/tools/mcp/mcp_session_manager.js +65 -0
- package/dist/cjs/tools/mcp/mcp_tool.js +65 -0
- package/dist/cjs/tools/mcp/mcp_toolset.js +61 -0
- package/dist/cjs/tools/tool_confirmation.js +49 -0
- package/dist/cjs/tools/tool_context.js +129 -0
- package/dist/cjs/utils/deep_clone.js +44 -0
- package/dist/cjs/utils/env_aware_utils.js +83 -0
- package/dist/cjs/utils/gemini_schema_util.js +88 -0
- package/dist/cjs/utils/logger.js +121 -0
- package/dist/cjs/utils/model_name.js +64 -0
- package/dist/cjs/utils/simple_zod_to_json.js +191 -0
- package/dist/cjs/utils/variant_utils.js +55 -0
- package/dist/cjs/version.js +39 -0
- package/dist/esm/agents/active_streaming_tool.js +14 -0
- package/dist/esm/agents/base_agent.js +214 -0
- package/dist/esm/agents/base_llm_processor.js +13 -0
- package/dist/esm/agents/callback_context.js +68 -0
- package/dist/esm/agents/content_processor_utils.js +268 -0
- package/dist/esm/agents/functions.js +353 -0
- package/dist/esm/agents/instructions.js +80 -0
- package/dist/esm/agents/invocation_context.js +78 -0
- package/dist/esm/agents/live_request_queue.js +106 -0
- package/dist/esm/agents/llm_agent.js +828 -0
- package/dist/esm/agents/loop_agent.js +38 -0
- package/dist/esm/agents/parallel_agent.js +48 -0
- package/dist/esm/agents/readonly_context.js +38 -0
- package/dist/esm/agents/run_config.js +43 -0
- package/dist/esm/agents/sequential_agent.js +54 -0
- package/dist/esm/agents/transcription_entry.js +5 -0
- package/dist/esm/artifacts/base_artifact_service.js +5 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +89 -0
- package/dist/esm/auth/auth_credential.js +16 -0
- package/dist/esm/auth/auth_handler.js +62 -0
- package/dist/esm/auth/auth_schemes.js +31 -0
- package/dist/esm/auth/auth_tool.js +5 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +5 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +33 -0
- package/dist/esm/code_executors/base_code_executor.js +46 -0
- package/dist/esm/code_executors/built_in_code_executor.js +28 -0
- package/dist/esm/code_executors/code_execution_utils.js +108 -0
- package/dist/esm/code_executors/code_executor_context.js +168 -0
- package/dist/esm/common.js +85 -0
- package/dist/esm/events/event.js +72 -0
- package/dist/esm/events/event_actions.js +52 -0
- package/dist/esm/examples/base_example_provider.js +10 -0
- package/dist/esm/examples/example.js +5 -0
- package/dist/esm/examples/example_util.js +76 -0
- package/dist/esm/index.js +40 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/index_web.js +6 -0
- package/dist/esm/memory/base_memory_service.js +5 -0
- package/dist/esm/memory/in_memory_memory_service.js +67 -0
- package/dist/esm/memory/memory_entry.js +5 -0
- package/dist/esm/models/base_llm.js +47 -0
- package/dist/esm/models/base_llm_connection.js +5 -0
- package/dist/esm/models/gemini_llm_connection.js +102 -0
- package/dist/esm/models/google_llm.js +291 -0
- package/dist/esm/models/llm_request.js +50 -0
- package/dist/esm/models/llm_response.js +41 -0
- package/dist/esm/models/registry.js +91 -0
- package/dist/esm/plugins/base_plugin.js +206 -0
- package/dist/esm/plugins/logging_plugin.js +192 -0
- package/dist/esm/plugins/plugin_manager.js +209 -0
- package/dist/esm/plugins/security_plugin.js +119 -0
- package/dist/esm/runner/in_memory_runner.js +28 -0
- package/dist/esm/runner/runner.js +246 -0
- package/dist/esm/sessions/base_session_service.js +41 -0
- package/dist/esm/sessions/in_memory_session_service.js +154 -0
- package/dist/esm/sessions/session.js +18 -0
- package/dist/esm/sessions/state.js +71 -0
- package/dist/esm/tools/agent_tool.js +104 -0
- package/dist/esm/tools/base_tool.js +77 -0
- package/dist/esm/tools/base_toolset.js +46 -0
- package/dist/esm/tools/forwarding_artifact_service.js +41 -0
- package/dist/esm/tools/function_tool.js +71 -0
- package/dist/esm/tools/google_search_tool.js +46 -0
- package/dist/esm/tools/long_running_tool.js +33 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +35 -0
- package/dist/esm/tools/mcp/mcp_tool.js +35 -0
- package/dist/esm/tools/mcp/mcp_toolset.js +31 -0
- package/dist/esm/tools/tool_confirmation.js +19 -0
- package/dist/esm/tools/tool_context.js +99 -0
- package/dist/esm/utils/deep_clone.js +14 -0
- package/dist/esm/utils/env_aware_utils.js +49 -0
- package/dist/esm/utils/gemini_schema_util.js +58 -0
- package/dist/esm/utils/logger.js +89 -0
- package/dist/esm/utils/model_name.js +31 -0
- package/dist/esm/utils/simple_zod_to_json.js +160 -0
- package/dist/esm/utils/variant_utils.js +24 -0
- package/dist/esm/version.js +9 -0
- package/dist/types/agents/active_streaming_tool.d.ts +29 -0
- package/dist/types/agents/base_agent.d.ts +167 -0
- package/dist/types/agents/base_llm_processor.d.ts +27 -0
- package/dist/types/agents/callback_context.d.ts +42 -0
- package/dist/types/agents/content_processor_utils.d.ts +36 -0
- package/dist/types/agents/functions.d.ts +90 -0
- package/dist/types/agents/instructions.d.ts +32 -0
- package/dist/types/agents/invocation_context.d.ts +155 -0
- package/dist/types/agents/live_request_queue.d.ts +67 -0
- package/dist/types/agents/llm_agent.d.ts +333 -0
- package/dist/types/agents/loop_agent.d.ts +31 -0
- package/dist/types/agents/parallel_agent.d.ts +21 -0
- package/dist/types/agents/readonly_context.d.ts +31 -0
- package/dist/types/agents/run_config.d.ts +76 -0
- package/dist/types/agents/sequential_agent.d.ts +26 -0
- package/dist/types/agents/transcription_entry.d.ts +17 -0
- package/dist/types/artifacts/base_artifact_service.d.ts +127 -0
- package/dist/types/artifacts/in_memory_artifact_service.d.ts +18 -0
- package/dist/types/auth/auth_credential.d.ts +227 -0
- package/dist/types/auth/auth_handler.d.ts +27 -0
- package/dist/types/auth/auth_schemes.d.ts +36 -0
- package/dist/types/auth/auth_tool.d.ts +51 -0
- package/dist/types/auth/credential_service/base_credential_service.d.ts +27 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +19 -0
- package/dist/types/code_executors/base_code_executor.d.ts +60 -0
- package/dist/types/code_executors/built_in_code_executor.d.ts +13 -0
- package/dist/types/code_executors/code_execution_utils.d.ts +99 -0
- package/dist/types/code_executors/code_executor_context.d.ts +92 -0
- package/dist/types/common.d.ts +51 -0
- package/dist/types/events/event.d.ts +81 -0
- package/dist/types/events/event_actions.d.ts +74 -0
- package/dist/types/examples/base_example_provider.d.ts +20 -0
- package/dist/types/examples/example.d.ts +19 -0
- package/dist/types/examples/example_util.d.ts +13 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index_web.d.ts +6 -0
- package/dist/types/memory/base_memory_service.d.ts +47 -0
- package/dist/types/memory/in_memory_memory_service.d.ts +18 -0
- package/dist/types/memory/memory_entry.d.ts +24 -0
- package/dist/types/models/base_llm.d.ts +46 -0
- package/dist/types/models/base_llm_connection.d.ts +51 -0
- package/dist/types/models/gemini_llm_connection.d.ts +54 -0
- package/dist/types/models/google_llm.d.ts +88 -0
- package/dist/types/models/llm_request.d.ts +49 -0
- package/dist/types/models/llm_response.d.ts +79 -0
- package/dist/types/models/registry.d.ts +45 -0
- package/dist/types/plugins/base_plugin.d.ts +310 -0
- package/dist/types/plugins/logging_plugin.d.ts +104 -0
- package/dist/types/plugins/plugin_manager.d.ts +155 -0
- package/dist/types/plugins/security_plugin.d.ts +60 -0
- package/dist/types/runner/in_memory_runner.d.ts +15 -0
- package/dist/types/runner/runner.d.ts +80 -0
- package/dist/types/sessions/base_session_service.d.ts +129 -0
- package/dist/types/sessions/in_memory_session_service.d.ts +32 -0
- package/dist/types/sessions/session.d.ts +46 -0
- package/dist/types/sessions/state.d.ts +57 -0
- package/dist/types/tools/agent_tool.d.ts +37 -0
- package/dist/types/tools/base_tool.d.ts +84 -0
- package/dist/types/tools/base_toolset.d.ts +64 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +21 -0
- package/dist/types/tools/function_tool.d.ts +48 -0
- package/dist/types/tools/google_search_tool.d.ts +18 -0
- package/dist/types/tools/long_running_tool.d.ts +18 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +57 -0
- package/dist/types/tools/mcp/mcp_tool.d.ts +30 -0
- package/dist/types/tools/mcp/mcp_toolset.d.ts +39 -0
- package/dist/types/tools/tool_confirmation.d.ts +25 -0
- package/dist/types/tools/tool_context.d.ts +63 -0
- package/dist/types/utils/deep_clone.d.ts +1 -0
- package/dist/types/utils/env_aware_utils.d.ts +31 -0
- package/dist/types/utils/gemini_schema_util.d.ts +23 -0
- package/dist/types/utils/logger.d.ts +41 -0
- package/dist/types/utils/model_name.d.ts +34 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +12 -0
- package/dist/types/utils/variant_utils.d.ts +24 -0
- package/dist/types/version.d.ts +6 -0
- package/dist/web/agents/active_streaming_tool.js +14 -0
- package/dist/web/agents/base_agent.js +265 -0
- package/dist/web/agents/base_llm_processor.js +13 -0
- package/dist/web/agents/callback_context.js +68 -0
- package/dist/web/agents/content_processor_utils.js +268 -0
- package/dist/web/agents/functions.js +353 -0
- package/dist/web/agents/instructions.js +80 -0
- package/dist/web/agents/invocation_context.js +78 -0
- package/dist/web/agents/live_request_queue.js +124 -0
- package/dist/web/agents/llm_agent.js +973 -0
- package/dist/web/agents/loop_agent.js +71 -0
- package/dist/web/agents/parallel_agent.js +83 -0
- package/dist/web/agents/readonly_context.js +38 -0
- package/dist/web/agents/run_config.js +43 -0
- package/dist/web/agents/sequential_agent.js +99 -0
- package/dist/web/agents/transcription_entry.js +5 -0
- package/dist/web/artifacts/base_artifact_service.js +5 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +89 -0
- package/dist/web/auth/auth_credential.js +16 -0
- package/dist/web/auth/auth_handler.js +62 -0
- package/dist/web/auth/auth_schemes.js +31 -0
- package/dist/web/auth/auth_tool.js +5 -0
- package/dist/web/auth/credential_service/base_credential_service.js +5 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +33 -0
- package/dist/web/code_executors/base_code_executor.js +46 -0
- package/dist/web/code_executors/built_in_code_executor.js +28 -0
- package/dist/web/code_executors/code_execution_utils.js +105 -0
- package/dist/web/code_executors/code_executor_context.js +168 -0
- package/dist/web/common.js +85 -0
- package/dist/web/events/event.js +90 -0
- package/dist/web/events/event_actions.js +67 -0
- package/dist/web/examples/base_example_provider.js +10 -0
- package/dist/web/examples/example.js +5 -0
- package/dist/web/examples/example_util.js +75 -0
- package/dist/web/index.js +13 -0
- package/dist/web/index.js.map +7 -0
- package/dist/web/index_web.js +6 -0
- package/dist/web/memory/base_memory_service.js +5 -0
- package/dist/web/memory/in_memory_memory_service.js +67 -0
- package/dist/web/memory/memory_entry.js +5 -0
- package/dist/web/models/base_llm.js +47 -0
- package/dist/web/models/base_llm_connection.js +5 -0
- package/dist/web/models/gemini_llm_connection.js +120 -0
- package/dist/web/models/google_llm.js +332 -0
- package/dist/web/models/llm_request.js +50 -0
- package/dist/web/models/llm_response.js +41 -0
- package/dist/web/models/registry.js +91 -0
- package/dist/web/plugins/base_plugin.js +206 -0
- package/dist/web/plugins/logging_plugin.js +192 -0
- package/dist/web/plugins/plugin_manager.js +209 -0
- package/dist/web/plugins/security_plugin.js +119 -0
- package/dist/web/runner/in_memory_runner.js +28 -0
- package/dist/web/runner/runner.js +277 -0
- package/dist/web/sessions/base_session_service.js +41 -0
- package/dist/web/sessions/in_memory_session_service.js +154 -0
- package/dist/web/sessions/session.js +18 -0
- package/dist/web/sessions/state.js +87 -0
- package/dist/web/tools/agent_tool.js +118 -0
- package/dist/web/tools/base_tool.js +77 -0
- package/dist/web/tools/base_toolset.js +46 -0
- package/dist/web/tools/forwarding_artifact_service.js +41 -0
- package/dist/web/tools/function_tool.js +71 -0
- package/dist/web/tools/google_search_tool.js +46 -0
- package/dist/web/tools/long_running_tool.js +50 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +35 -0
- package/dist/web/tools/mcp/mcp_tool.js +35 -0
- package/dist/web/tools/mcp/mcp_toolset.js +31 -0
- package/dist/web/tools/tool_confirmation.js +19 -0
- package/dist/web/tools/tool_context.js +99 -0
- package/dist/web/utils/deep_clone.js +14 -0
- package/dist/web/utils/env_aware_utils.js +49 -0
- package/dist/web/utils/gemini_schema_util.js +58 -0
- package/dist/web/utils/logger.js +89 -0
- package/dist/web/utils/model_name.js +31 -0
- package/dist/web/utils/simple_zod_to_json.js +174 -0
- package/dist/web/utils/variant_utils.js +24 -0
- package/dist/web/version.js +9 -0
- package/package.json +61 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var loop_agent_exports = {};
|
|
26
|
+
__export(loop_agent_exports, {
|
|
27
|
+
LoopAgent: () => LoopAgent
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(loop_agent_exports);
|
|
30
|
+
var import_base_agent = require("./base_agent.js");
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2025 Google LLC
|
|
34
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
+
*/
|
|
36
|
+
class LoopAgent extends import_base_agent.BaseAgent {
|
|
37
|
+
constructor(config) {
|
|
38
|
+
var _a;
|
|
39
|
+
super(config);
|
|
40
|
+
this.maxIterations = (_a = config.maxIterations) != null ? _a : Number.MAX_SAFE_INTEGER;
|
|
41
|
+
}
|
|
42
|
+
async *runAsyncImpl(context) {
|
|
43
|
+
let iteration = 0;
|
|
44
|
+
while (iteration < this.maxIterations) {
|
|
45
|
+
for (const subAgent of this.subAgents) {
|
|
46
|
+
let shouldExit = false;
|
|
47
|
+
for await (const event of subAgent.runAsync(context)) {
|
|
48
|
+
yield event;
|
|
49
|
+
if (event.actions.escalate) {
|
|
50
|
+
shouldExit = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (shouldExit) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
iteration++;
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
async *runLiveImpl(context) {
|
|
62
|
+
throw new Error("This is not supported yet for LoopAgent.");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
LoopAgent
|
|
68
|
+
});
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var parallel_agent_exports = {};
|
|
26
|
+
__export(parallel_agent_exports, {
|
|
27
|
+
ParallelAgent: () => ParallelAgent
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(parallel_agent_exports);
|
|
30
|
+
var import_base_agent = require("./base_agent.js");
|
|
31
|
+
var import_invocation_context = require("./invocation_context.js");
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2025 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
36
|
+
*/
|
|
37
|
+
class ParallelAgent extends import_base_agent.BaseAgent {
|
|
38
|
+
async *runAsyncImpl(context) {
|
|
39
|
+
const agentRuns = this.subAgents.map(
|
|
40
|
+
(subAgent) => subAgent.runAsync(
|
|
41
|
+
createBranchCtxForSubAgent(this, subAgent, context)
|
|
42
|
+
)
|
|
43
|
+
);
|
|
44
|
+
for await (const event of mergeAgentRuns(agentRuns)) {
|
|
45
|
+
yield event;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async *runLiveImpl(context) {
|
|
49
|
+
throw new Error("This is not supported yet for ParallelAgent.");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function createBranchCtxForSubAgent(agent, subAgent, originalContext) {
|
|
53
|
+
const invocationContext = new import_invocation_context.InvocationContext(originalContext);
|
|
54
|
+
const branchSuffix = `${agent.name}.${subAgent.name}`;
|
|
55
|
+
invocationContext.branch = invocationContext.branch ? `${invocationContext.branch}.${branchSuffix}` : branchSuffix;
|
|
56
|
+
return invocationContext;
|
|
57
|
+
}
|
|
58
|
+
async function* mergeAgentRuns(agentRuns) {
|
|
59
|
+
const pendingPromises = /* @__PURE__ */ new Map();
|
|
60
|
+
for (const [index, generator] of agentRuns.entries()) {
|
|
61
|
+
const promise = generator.next().then((result) => ({ result, index }));
|
|
62
|
+
pendingPromises.set(index, promise);
|
|
63
|
+
}
|
|
64
|
+
while (pendingPromises.size > 0) {
|
|
65
|
+
const { result, index } = await Promise.race(pendingPromises.values());
|
|
66
|
+
if (result.done) {
|
|
67
|
+
pendingPromises.delete(index);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
yield result.value;
|
|
71
|
+
const nextPromise = agentRuns[index].next().then((result2) => ({ result: result2, index }));
|
|
72
|
+
pendingPromises.set(index, nextPromise);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
76
|
+
0 && (module.exports = {
|
|
77
|
+
ParallelAgent
|
|
78
|
+
});
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var readonly_context_exports = {};
|
|
26
|
+
__export(readonly_context_exports, {
|
|
27
|
+
ReadonlyContext: () => ReadonlyContext
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(readonly_context_exports);
|
|
30
|
+
var import_state = require("../sessions/state.js");
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2025 Google LLC
|
|
34
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
+
*/
|
|
36
|
+
class ReadonlyContext {
|
|
37
|
+
constructor(invocationContext) {
|
|
38
|
+
this.invocationContext = invocationContext;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The user content that started this invocation.
|
|
42
|
+
*/
|
|
43
|
+
get userContent() {
|
|
44
|
+
return this.invocationContext.userContent;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The current invocation id.
|
|
48
|
+
*/
|
|
49
|
+
get invocationId() {
|
|
50
|
+
return this.invocationContext.invocationId;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The current agent name.
|
|
54
|
+
*/
|
|
55
|
+
get agentName() {
|
|
56
|
+
return this.invocationContext.agent.name;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The state of the current session.
|
|
60
|
+
*/
|
|
61
|
+
get state() {
|
|
62
|
+
return new import_state.State(this.invocationContext.session.state, {});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
ReadonlyContext
|
|
68
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var run_config_exports = {};
|
|
26
|
+
__export(run_config_exports, {
|
|
27
|
+
RunConfig: () => RunConfig,
|
|
28
|
+
StreamingMode: () => StreamingMode
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(run_config_exports);
|
|
31
|
+
var import_logger = require("../utils/logger.js");
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2025 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
36
|
+
*/
|
|
37
|
+
var StreamingMode = /* @__PURE__ */ ((StreamingMode2) => {
|
|
38
|
+
StreamingMode2["NONE"] = "none";
|
|
39
|
+
StreamingMode2["SSE"] = "sse";
|
|
40
|
+
StreamingMode2["BIDI"] = "bidi";
|
|
41
|
+
return StreamingMode2;
|
|
42
|
+
})(StreamingMode || {});
|
|
43
|
+
class RunConfig {
|
|
44
|
+
constructor(params = {}) {
|
|
45
|
+
this.speechConfig = params.speechConfig;
|
|
46
|
+
this.responseModalities = params.responseModalities;
|
|
47
|
+
this.saveInputBlobsAsArtifacts = params.saveInputBlobsAsArtifacts || false;
|
|
48
|
+
this.supportCfc = params.supportCfc || false;
|
|
49
|
+
this.streamingMode = params.streamingMode || "none" /* NONE */;
|
|
50
|
+
this.outputAudioTranscription = params.outputAudioTranscription;
|
|
51
|
+
this.inputAudioTranscription = params.inputAudioTranscription;
|
|
52
|
+
this.enableAffectiveDialog = params.enableAffectiveDialog || false;
|
|
53
|
+
this.realtimeInputConfig = params.realtimeInputConfig;
|
|
54
|
+
this.maxLlmCalls = validateMaxLlmCalls(params.maxLlmCalls || 500);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function validateMaxLlmCalls(value) {
|
|
58
|
+
if (value > Number.MAX_SAFE_INTEGER) {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`maxLlmCalls should be less than ${Number.MAX_SAFE_INTEGER}.`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
if (value <= 0) {
|
|
64
|
+
import_logger.logger.warn(
|
|
65
|
+
"maxLlmCalls is less than or equal to 0. This will result in no enforcement on total number of llm calls that will be made for a run. This may not be ideal, as this could result in a never ending communication between the model and the agent in certain cases."
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
+
0 && (module.exports = {
|
|
72
|
+
RunConfig,
|
|
73
|
+
StreamingMode
|
|
74
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var sequential_agent_exports = {};
|
|
26
|
+
__export(sequential_agent_exports, {
|
|
27
|
+
SequentialAgent: () => SequentialAgent
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(sequential_agent_exports);
|
|
30
|
+
var import_function_tool = require("../tools/function_tool.js");
|
|
31
|
+
var import_base_agent = require("./base_agent.js");
|
|
32
|
+
var import_llm_agent = require("./llm_agent.js");
|
|
33
|
+
var import_readonly_context = require("./readonly_context.js");
|
|
34
|
+
/**
|
|
35
|
+
* @license
|
|
36
|
+
* Copyright 2025 Google LLC
|
|
37
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
38
|
+
*/
|
|
39
|
+
const TASK_COMPLETED_TOOL_NAME = "task_completed";
|
|
40
|
+
class SequentialAgent extends import_base_agent.BaseAgent {
|
|
41
|
+
async *runAsyncImpl(context) {
|
|
42
|
+
for (const subAgent of this.subAgents) {
|
|
43
|
+
for await (const event of subAgent.runAsync(context)) {
|
|
44
|
+
yield event;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Implementation for live SequentialAgent.
|
|
50
|
+
*
|
|
51
|
+
* Compared to the non-live case, live agents process a continuous stream of
|
|
52
|
+
* audio or video, so there is no way to tell if it's finished and should pass
|
|
53
|
+
* to the next agent or not. So we introduce a task_completed() function so
|
|
54
|
+
* the model can call this function to signal that it's finished the task and
|
|
55
|
+
* we can move on to the next agent.
|
|
56
|
+
*
|
|
57
|
+
* @param context: The invocation context of the agent.
|
|
58
|
+
*/
|
|
59
|
+
async *runLiveImpl(context) {
|
|
60
|
+
for (const subAgent of this.subAgents) {
|
|
61
|
+
if (subAgent instanceof import_llm_agent.LlmAgent) {
|
|
62
|
+
const agentTools = await subAgent.canonicalTools(new import_readonly_context.ReadonlyContext(context));
|
|
63
|
+
const taskCompletedToolAlreadyAdded = agentTools.some((tool) => tool.name === TASK_COMPLETED_TOOL_NAME);
|
|
64
|
+
if (!taskCompletedToolAlreadyAdded) {
|
|
65
|
+
subAgent.tools.push(new import_function_tool.FunctionTool({
|
|
66
|
+
name: TASK_COMPLETED_TOOL_NAME,
|
|
67
|
+
description: `Signals that the model has successfully completed the user's question or task.`,
|
|
68
|
+
execute: () => "Task completion signaled."
|
|
69
|
+
}));
|
|
70
|
+
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
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
for (const subAgent of this.subAgents) {
|
|
75
|
+
for await (const event of subAgent.runLive(context)) {
|
|
76
|
+
yield event;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
82
|
+
0 && (module.exports = {
|
|
83
|
+
SequentialAgent
|
|
84
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var transcription_entry_exports = {};
|
|
22
|
+
module.exports = __toCommonJS(transcription_entry_exports);
|
|
23
|
+
/**
|
|
24
|
+
* @license
|
|
25
|
+
* Copyright 2025 Google LLC
|
|
26
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
27
|
+
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var base_artifact_service_exports = {};
|
|
22
|
+
module.exports = __toCommonJS(base_artifact_service_exports);
|
|
23
|
+
/**
|
|
24
|
+
* @license
|
|
25
|
+
* Copyright 2025 Google LLC
|
|
26
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
27
|
+
*/
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var in_memory_artifact_service_exports = {};
|
|
26
|
+
__export(in_memory_artifact_service_exports, {
|
|
27
|
+
InMemoryArtifactService: () => InMemoryArtifactService
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(in_memory_artifact_service_exports);
|
|
30
|
+
/**
|
|
31
|
+
* @license
|
|
32
|
+
* Copyright 2025 Google LLC
|
|
33
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
34
|
+
*/
|
|
35
|
+
class InMemoryArtifactService {
|
|
36
|
+
constructor() {
|
|
37
|
+
this.artifacts = {};
|
|
38
|
+
}
|
|
39
|
+
saveArtifact({
|
|
40
|
+
appName,
|
|
41
|
+
userId,
|
|
42
|
+
sessionId,
|
|
43
|
+
filename,
|
|
44
|
+
artifact
|
|
45
|
+
}) {
|
|
46
|
+
const path = artifactPath(appName, userId, sessionId, filename);
|
|
47
|
+
if (!this.artifacts[path]) {
|
|
48
|
+
this.artifacts[path] = [];
|
|
49
|
+
}
|
|
50
|
+
const version = this.artifacts[path].length;
|
|
51
|
+
this.artifacts[path].push(artifact);
|
|
52
|
+
return Promise.resolve(version);
|
|
53
|
+
}
|
|
54
|
+
loadArtifact({
|
|
55
|
+
appName,
|
|
56
|
+
userId,
|
|
57
|
+
sessionId,
|
|
58
|
+
filename,
|
|
59
|
+
version
|
|
60
|
+
}) {
|
|
61
|
+
const path = artifactPath(appName, userId, sessionId, filename);
|
|
62
|
+
const versions = this.artifacts[path];
|
|
63
|
+
if (!versions) {
|
|
64
|
+
return Promise.resolve(void 0);
|
|
65
|
+
}
|
|
66
|
+
if (version === void 0) {
|
|
67
|
+
version = versions.length - 1;
|
|
68
|
+
}
|
|
69
|
+
return Promise.resolve(versions[version]);
|
|
70
|
+
}
|
|
71
|
+
listArtifactKeys({ appName, userId, sessionId }) {
|
|
72
|
+
const sessionPrefix = `${appName}/${userId}/${sessionId}/`;
|
|
73
|
+
const usernamespacePrefix = `${appName}/${userId}/user/`;
|
|
74
|
+
const filenames = [];
|
|
75
|
+
for (const path in this.artifacts) {
|
|
76
|
+
if (path.startsWith(sessionPrefix)) {
|
|
77
|
+
const filename = path.replace(sessionPrefix, "");
|
|
78
|
+
filenames.push(filename);
|
|
79
|
+
} else if (path.startsWith(usernamespacePrefix)) {
|
|
80
|
+
const filename = path.replace(usernamespacePrefix, "");
|
|
81
|
+
filenames.push(filename);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return Promise.resolve(filenames.sort());
|
|
85
|
+
}
|
|
86
|
+
deleteArtifact({ appName, userId, sessionId, filename }) {
|
|
87
|
+
const path = artifactPath(appName, userId, sessionId, filename);
|
|
88
|
+
if (!this.artifacts[path]) {
|
|
89
|
+
return Promise.resolve();
|
|
90
|
+
}
|
|
91
|
+
delete this.artifacts[path];
|
|
92
|
+
return Promise.resolve();
|
|
93
|
+
}
|
|
94
|
+
listVersions({ appName, userId, sessionId, filename }) {
|
|
95
|
+
const path = artifactPath(appName, userId, sessionId, filename);
|
|
96
|
+
const artifacts = this.artifacts[path];
|
|
97
|
+
if (!artifacts) {
|
|
98
|
+
return Promise.resolve([]);
|
|
99
|
+
}
|
|
100
|
+
let versions = [];
|
|
101
|
+
for (let i = 0; i < artifacts.length; i++) {
|
|
102
|
+
versions.push(i);
|
|
103
|
+
}
|
|
104
|
+
return Promise.resolve(versions);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function artifactPath(appName, userId, sessionId, filename) {
|
|
108
|
+
if (fileHasUserNamespace(filename)) {
|
|
109
|
+
return `${appName}/${userId}/user/${filename}`;
|
|
110
|
+
}
|
|
111
|
+
return `${appName}/${userId}/${sessionId}/${filename}`;
|
|
112
|
+
}
|
|
113
|
+
function fileHasUserNamespace(filename) {
|
|
114
|
+
return filename.startsWith("user:");
|
|
115
|
+
}
|
|
116
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
117
|
+
0 && (module.exports = {
|
|
118
|
+
InMemoryArtifactService
|
|
119
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var auth_credential_exports = {};
|
|
26
|
+
__export(auth_credential_exports, {
|
|
27
|
+
AuthCredentialTypes: () => AuthCredentialTypes
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(auth_credential_exports);
|
|
30
|
+
/**
|
|
31
|
+
* @license
|
|
32
|
+
* Copyright 2025 Google LLC
|
|
33
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
34
|
+
*/
|
|
35
|
+
var AuthCredentialTypes = /* @__PURE__ */ ((AuthCredentialTypes2) => {
|
|
36
|
+
AuthCredentialTypes2["API_KEY"] = "apiKey";
|
|
37
|
+
AuthCredentialTypes2["HTTP"] = "http";
|
|
38
|
+
AuthCredentialTypes2["OAUTH2"] = "oauth2";
|
|
39
|
+
AuthCredentialTypes2["OPEN_ID_CONNECT"] = "openIdConnect";
|
|
40
|
+
AuthCredentialTypes2["SERVICE_ACCOUNT"] = "serviceAccount";
|
|
41
|
+
return AuthCredentialTypes2;
|
|
42
|
+
})(AuthCredentialTypes || {});
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
AuthCredentialTypes
|
|
46
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var auth_handler_exports = {};
|
|
26
|
+
__export(auth_handler_exports, {
|
|
27
|
+
AuthHandler: () => AuthHandler
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(auth_handler_exports);
|
|
30
|
+
/**
|
|
31
|
+
* @license
|
|
32
|
+
* Copyright 2025 Google LLC
|
|
33
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
34
|
+
*/
|
|
35
|
+
class AuthHandler {
|
|
36
|
+
constructor(authConfig) {
|
|
37
|
+
this.authConfig = authConfig;
|
|
38
|
+
}
|
|
39
|
+
getAuthResponse(state) {
|
|
40
|
+
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
41
|
+
return state.get(credentialKey);
|
|
42
|
+
}
|
|
43
|
+
generateAuthRequest() {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
const authSchemeType = this.authConfig.authScheme.type;
|
|
46
|
+
if (!["oauth2", "openIdConnect"].includes(authSchemeType)) {
|
|
47
|
+
return this.authConfig;
|
|
48
|
+
}
|
|
49
|
+
if ((_b = (_a = this.authConfig.exchangedAuthCredential) == null ? void 0 : _a.oauth2) == null ? void 0 : _b.authUri) {
|
|
50
|
+
return this.authConfig;
|
|
51
|
+
}
|
|
52
|
+
if (!this.authConfig.rawAuthCredential) {
|
|
53
|
+
throw new Error(`Auth Scheme ${authSchemeType} requires authCredential.`);
|
|
54
|
+
}
|
|
55
|
+
if (!this.authConfig.rawAuthCredential.oauth2) {
|
|
56
|
+
throw new Error(
|
|
57
|
+
`Auth Scheme ${authSchemeType} requires oauth2 in authCredential.`
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
if (this.authConfig.rawAuthCredential.oauth2.authUri) {
|
|
61
|
+
return {
|
|
62
|
+
credentialKey: this.authConfig.credentialKey,
|
|
63
|
+
authScheme: this.authConfig.authScheme,
|
|
64
|
+
rawAuthCredential: this.authConfig.rawAuthCredential,
|
|
65
|
+
exchangedAuthCredential: this.authConfig.rawAuthCredential
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (!this.authConfig.rawAuthCredential.oauth2.clientId || !this.authConfig.rawAuthCredential.oauth2.clientSecret) {
|
|
69
|
+
throw new Error(`Auth Scheme ${authSchemeType} requires both clientId and clientSecret in authCredential.oauth2.`);
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
credentialKey: this.authConfig.credentialKey,
|
|
73
|
+
authScheme: this.authConfig.authScheme,
|
|
74
|
+
rawAuthCredential: this.authConfig.rawAuthCredential,
|
|
75
|
+
exchangedAuthCredential: this.generateAuthUri()
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Generates an response containing the auth uri for user to sign in.
|
|
80
|
+
*
|
|
81
|
+
* @return An AuthCredential object containing the auth URI and state.
|
|
82
|
+
* @throws Error: If the authorization endpoint is not configured in the
|
|
83
|
+
* auth scheme.
|
|
84
|
+
*/
|
|
85
|
+
generateAuthUri() {
|
|
86
|
+
return this.authConfig.rawAuthCredential;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
90
|
+
0 && (module.exports = {
|
|
91
|
+
AuthHandler
|
|
92
|
+
});
|