@google/adk 2.0.0 → 2.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/dist/cjs/a2a/a2a_event.js +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +58 -6
- package/dist/cjs/a2a/agent_executor.js +10 -3
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +6 -5
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +2 -2
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/cjs/common.js +74 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -0
- package/dist/cjs/events/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +1 -1
- package/dist/cjs/models/base_llm.js +1 -1
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- package/dist/cjs/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +0 -6
- package/dist/cjs/utils/logger.js +15 -50
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +63 -6
- package/dist/esm/a2a/agent_executor.js +10 -3
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +6 -5
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +5 -5
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +2 -2
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/esm/common.js +73 -38
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -0
- package/dist/esm/events/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/index.js +37 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +1 -1
- package/dist/esm/models/base_llm.js +1 -1
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- package/dist/esm/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +0 -6
- package/dist/esm/utils/logger.js +14 -40
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- package/dist/types/a2a/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +9 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +13 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +22 -20
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event_actions.d.ts +13 -0
- package/dist/types/index.d.ts +22 -1
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +12 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
- package/dist/types/runner/runner.d.ts +7 -8
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/tools/base_tool.d.ts +11 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
- package/dist/types/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/logger.d.ts +23 -1
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +17 -14
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/base_auth_provider.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/crypto_shim.js +0 -18
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/version.js +0 -11
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -49,7 +49,7 @@ var import_readonly_context = require("./readonly_context.js");
|
|
|
49
49
|
*/
|
|
50
50
|
var _a, _b;
|
|
51
51
|
const TASK_COMPLETED_TOOL_NAME = "task_completed";
|
|
52
|
-
const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = Symbol.for(
|
|
52
|
+
const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
53
53
|
"google.adk.sequentialAgent"
|
|
54
54
|
);
|
|
55
55
|
function isSequentialAgent(obj) {
|
package/dist/cjs/apps/app.js
CHANGED
|
@@ -49,7 +49,7 @@ function validateAppName(name) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
__name(validateAppName, "validateAppName");
|
|
52
|
-
const APP_SIGNATURE_SYMBOL = Symbol.for("google.adk.app");
|
|
52
|
+
const APP_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.app");
|
|
53
53
|
function isApp(obj) {
|
|
54
54
|
return typeof obj === "object" && obj !== null && APP_SIGNATURE_SYMBOL in obj && obj[APP_SIGNATURE_SYMBOL] === true;
|
|
55
55
|
}
|
|
@@ -514,10 +514,9 @@ async function* iterateArtifactDirs(dir) {
|
|
|
514
514
|
);
|
|
515
515
|
if (hasVersions) {
|
|
516
516
|
yield dir;
|
|
517
|
-
return;
|
|
518
517
|
}
|
|
519
518
|
for (const entry of entries) {
|
|
520
|
-
if (entry.isDirectory()) {
|
|
519
|
+
if (entry.isDirectory() && entry.name !== "versions") {
|
|
521
520
|
const subdir = path.join(dir, entry.name);
|
|
522
521
|
for await (const foundDir of iterateArtifactDirs(subdir)) {
|
|
523
522
|
yield foundDir;
|
|
@@ -33,12 +33,21 @@ module.exports = __toCommonJS(scoped_artifact_service_exports);
|
|
|
33
33
|
* Copyright 2026 Google LLC
|
|
34
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
35
|
*/
|
|
36
|
+
var _a;
|
|
37
|
+
const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
38
|
+
"google.adk.sessionArtifactService"
|
|
39
|
+
);
|
|
40
|
+
_a = SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL;
|
|
36
41
|
const _ScopedArtifactService = class _ScopedArtifactService {
|
|
37
42
|
constructor(delegate, appName, userId, sessionId) {
|
|
38
43
|
this.delegate = delegate;
|
|
39
44
|
this.appName = appName;
|
|
40
45
|
this.userId = userId;
|
|
41
46
|
this.sessionId = sessionId;
|
|
47
|
+
/**
|
|
48
|
+
* Brands this class as a session-scoped artifact service.
|
|
49
|
+
*/
|
|
50
|
+
this[_a] = true;
|
|
42
51
|
}
|
|
43
52
|
async saveArtifact(request) {
|
|
44
53
|
return this.delegate.saveArtifact({
|
|
@@ -9,6 +9,11 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
12
17
|
var __copyProps = (to, from, except, desc) => {
|
|
13
18
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
19
|
for (let key of __getOwnPropNames(from))
|
|
@@ -19,9 +24,23 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
19
24
|
};
|
|
20
25
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
26
|
var session_artifact_service_exports = {};
|
|
27
|
+
__export(session_artifact_service_exports, {
|
|
28
|
+
isSessionArtifactService: () => isSessionArtifactService
|
|
29
|
+
});
|
|
22
30
|
module.exports = __toCommonJS(session_artifact_service_exports);
|
|
23
31
|
/**
|
|
24
32
|
* @license
|
|
25
33
|
* Copyright 2026 Google LLC
|
|
26
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
27
35
|
*/
|
|
36
|
+
const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
37
|
+
"google.adk.sessionArtifactService"
|
|
38
|
+
);
|
|
39
|
+
function isSessionArtifactService(service) {
|
|
40
|
+
return typeof service === "object" && service !== null && SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL in service && service[SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] === true;
|
|
41
|
+
}
|
|
42
|
+
__name(isSessionArtifactService, "isSessionArtifactService");
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
isSessionArtifactService
|
|
46
|
+
});
|
|
@@ -30,11 +30,13 @@ __export(auth_handler_exports, {
|
|
|
30
30
|
module.exports = __toCommonJS(auth_handler_exports);
|
|
31
31
|
var import_env_aware_utils = require("../utils/env_aware_utils.js");
|
|
32
32
|
var import_oauth2_credential_exchanger = require("./oauth2/oauth2_credential_exchanger.js");
|
|
33
|
+
var import_oauth2_utils = require("./oauth2/oauth2_utils.js");
|
|
33
34
|
/**
|
|
34
35
|
* @license
|
|
35
36
|
* Copyright 2025 Google LLC
|
|
36
37
|
* SPDX-License-Identifier: Apache-2.0
|
|
37
38
|
*/
|
|
39
|
+
const S256_CODE_CHALLENGE_METHOD = "S256";
|
|
38
40
|
const _AuthHandler = class _AuthHandler {
|
|
39
41
|
constructor(authConfig) {
|
|
40
42
|
this.authConfig = authConfig;
|
|
@@ -43,7 +45,16 @@ const _AuthHandler = class _AuthHandler {
|
|
|
43
45
|
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
44
46
|
return state.get(credentialKey);
|
|
45
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Stores the exchanged credential in the session state.
|
|
50
|
+
*
|
|
51
|
+
* @param state The session state to store the credential in.
|
|
52
|
+
* @throws Error: If the auth config has no credentialKey.
|
|
53
|
+
*/
|
|
46
54
|
async parseAndStoreAuthResponse(state) {
|
|
55
|
+
if (!this.authConfig.credentialKey) {
|
|
56
|
+
throw new Error("credentialKey is empty.");
|
|
57
|
+
}
|
|
47
58
|
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
48
59
|
const authSchemeType = this.authConfig.authScheme.type;
|
|
49
60
|
if (!["oauth2", "openIdConnect"].includes(authSchemeType)) {
|
|
@@ -99,9 +110,14 @@ const _AuthHandler = class _AuthHandler {
|
|
|
99
110
|
/**
|
|
100
111
|
* Generates an response containing the auth uri for user to sign in.
|
|
101
112
|
*
|
|
113
|
+
* When the credential requests PKCE, the URI also carries the S256 code
|
|
114
|
+
* challenge derived from the credential's code verifier, and the returned
|
|
115
|
+
* credential carries the verifier the later token exchange must send.
|
|
116
|
+
*
|
|
102
117
|
* @return An AuthCredential object containing the auth URI and state.
|
|
103
118
|
* @throws Error: If the authorization endpoint is not configured in the
|
|
104
|
-
* auth scheme
|
|
119
|
+
* auth scheme, or the credential requests a code challenge method other
|
|
120
|
+
* than 'S256'.
|
|
105
121
|
*/
|
|
106
122
|
generateAuthUri() {
|
|
107
123
|
const authScheme = this.authConfig.authScheme;
|
|
@@ -109,6 +125,13 @@ const _AuthHandler = class _AuthHandler {
|
|
|
109
125
|
if (!authCredential || !authCredential.oauth2) {
|
|
110
126
|
return authCredential;
|
|
111
127
|
}
|
|
128
|
+
const oauth2 = authCredential.oauth2;
|
|
129
|
+
const codeChallengeMethod = oauth2.codeChallengeMethod;
|
|
130
|
+
if (codeChallengeMethod && codeChallengeMethod !== S256_CODE_CHALLENGE_METHOD) {
|
|
131
|
+
throw new Error(
|
|
132
|
+
`Unsupported codeChallengeMethod: ${codeChallengeMethod}. Only '${S256_CODE_CHALLENGE_METHOD}' is supported.`
|
|
133
|
+
);
|
|
134
|
+
}
|
|
112
135
|
let authorizationEndpoint = "";
|
|
113
136
|
let scopes = [];
|
|
114
137
|
if ("authorizationEndpoint" in authScheme) {
|
|
@@ -133,22 +156,35 @@ const _AuthHandler = class _AuthHandler {
|
|
|
133
156
|
}
|
|
134
157
|
const state = (0, import_env_aware_utils.randomUUID)();
|
|
135
158
|
const url = new URL(authorizationEndpoint);
|
|
136
|
-
url.searchParams.set("client_id",
|
|
137
|
-
url.searchParams.set(
|
|
138
|
-
"redirect_uri",
|
|
139
|
-
authCredential.oauth2.redirectUri || ""
|
|
140
|
-
);
|
|
159
|
+
url.searchParams.set("client_id", oauth2.clientId || "");
|
|
160
|
+
url.searchParams.set("redirect_uri", oauth2.redirectUri || "");
|
|
141
161
|
url.searchParams.set("response_type", "code");
|
|
142
162
|
url.searchParams.set("scope", scopes.join(" "));
|
|
143
163
|
url.searchParams.set("state", state);
|
|
144
164
|
url.searchParams.set("access_type", "offline");
|
|
145
165
|
url.searchParams.set("prompt", "consent");
|
|
166
|
+
if (oauth2.audience) {
|
|
167
|
+
url.searchParams.set("audience", oauth2.audience);
|
|
168
|
+
}
|
|
169
|
+
if (oauth2.nonce) {
|
|
170
|
+
url.searchParams.set("nonce", oauth2.nonce);
|
|
171
|
+
}
|
|
172
|
+
let codeVerifier = oauth2.codeVerifier;
|
|
173
|
+
if (codeChallengeMethod) {
|
|
174
|
+
codeVerifier != null ? codeVerifier : codeVerifier = (0, import_oauth2_utils.generateCodeVerifier)();
|
|
175
|
+
url.searchParams.set(
|
|
176
|
+
"code_challenge",
|
|
177
|
+
(0, import_oauth2_utils.createS256CodeChallenge)(codeVerifier)
|
|
178
|
+
);
|
|
179
|
+
url.searchParams.set("code_challenge_method", codeChallengeMethod);
|
|
180
|
+
}
|
|
146
181
|
const exchangedAuthCredential = {
|
|
147
182
|
...authCredential,
|
|
148
183
|
oauth2: {
|
|
149
|
-
...
|
|
184
|
+
...oauth2,
|
|
150
185
|
authUri: url.toString(),
|
|
151
|
-
state
|
|
186
|
+
state,
|
|
187
|
+
codeVerifier
|
|
152
188
|
}
|
|
153
189
|
};
|
|
154
190
|
return exchangedAuthCredential;
|
|
@@ -41,7 +41,7 @@ const _OAuth2CredentialRefresher = class _OAuth2CredentialRefresher {
|
|
|
41
41
|
*
|
|
42
42
|
* @param authCredential The OAuth2 credential to check.
|
|
43
43
|
* @param authScheme The OAuth2 authentication scheme (optional).
|
|
44
|
-
* @returns True if the credential needs to be refreshed,
|
|
44
|
+
* @returns True if the credential needs to be refreshed, false otherwise.
|
|
45
45
|
*/
|
|
46
46
|
async isRefreshNeeded(authCredential) {
|
|
47
47
|
if (!authCredential.oauth2) {
|
|
@@ -26,19 +26,32 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
26
26
|
var oauth2_utils_exports = {};
|
|
27
27
|
__export(oauth2_utils_exports, {
|
|
28
28
|
createOAuth2TokenRequestBody: () => createOAuth2TokenRequestBody,
|
|
29
|
+
createS256CodeChallenge: () => createS256CodeChallenge,
|
|
29
30
|
fetchOAuth2Tokens: () => fetchOAuth2Tokens,
|
|
31
|
+
generateCodeVerifier: () => generateCodeVerifier,
|
|
30
32
|
getTokenEndpoint: () => getTokenEndpoint,
|
|
31
33
|
isTokenExpired: () => isTokenExpired,
|
|
32
34
|
parseAuthorizationCode: () => parseAuthorizationCode
|
|
33
35
|
});
|
|
34
36
|
module.exports = __toCommonJS(oauth2_utils_exports);
|
|
37
|
+
var import_node_crypto = require("node:crypto");
|
|
35
38
|
var import_logger = require("../../utils/logger.js");
|
|
39
|
+
var import_redact_uri = require("../../utils/redact_uri.js");
|
|
36
40
|
var import_oauth2_discovery = require("./oauth2_discovery.js");
|
|
37
41
|
/**
|
|
38
42
|
* @license
|
|
39
43
|
* Copyright 2026 Google LLC
|
|
40
44
|
* SPDX-License-Identifier: Apache-2.0
|
|
41
45
|
*/
|
|
46
|
+
const CODE_VERIFIER_BYTES = 36;
|
|
47
|
+
function generateCodeVerifier() {
|
|
48
|
+
return (0, import_node_crypto.randomBytes)(CODE_VERIFIER_BYTES).toString("base64url");
|
|
49
|
+
}
|
|
50
|
+
__name(generateCodeVerifier, "generateCodeVerifier");
|
|
51
|
+
function createS256CodeChallenge(codeVerifier) {
|
|
52
|
+
return (0, import_node_crypto.createHash)("sha256").update(codeVerifier).digest("base64url");
|
|
53
|
+
}
|
|
54
|
+
__name(createS256CodeChallenge, "createS256CodeChallenge");
|
|
42
55
|
function getTokenEndpoint(authScheme) {
|
|
43
56
|
if (authScheme.type === "openIdConnect" && authScheme.tokenEndpoint) {
|
|
44
57
|
return authScheme.tokenEndpoint;
|
|
@@ -93,8 +106,8 @@ function parseAuthorizationCode(uri) {
|
|
|
93
106
|
try {
|
|
94
107
|
const url = new URL(uri);
|
|
95
108
|
return url.searchParams.get("code") || void 0;
|
|
96
|
-
} catch
|
|
97
|
-
import_logger.logger.warn(`Failed to parse authorization URI ${uri}
|
|
109
|
+
} catch {
|
|
110
|
+
import_logger.logger.warn(`Failed to parse authorization URI ${(0, import_redact_uri.redactUriPassword)(uri)}`);
|
|
98
111
|
return void 0;
|
|
99
112
|
}
|
|
100
113
|
}
|
|
@@ -129,7 +142,9 @@ __name(isTokenExpired, "isTokenExpired");
|
|
|
129
142
|
// Annotate the CommonJS export names for ESM import in node:
|
|
130
143
|
0 && (module.exports = {
|
|
131
144
|
createOAuth2TokenRequestBody,
|
|
145
|
+
createS256CodeChallenge,
|
|
132
146
|
fetchOAuth2Tokens,
|
|
147
|
+
generateCodeVerifier,
|
|
133
148
|
getTokenEndpoint,
|
|
134
149
|
isTokenExpired,
|
|
135
150
|
parseAuthorizationCode
|
|
@@ -35,7 +35,7 @@ module.exports = __toCommonJS(base_code_executor_exports);
|
|
|
35
35
|
* SPDX-License-Identifier: Apache-2.0
|
|
36
36
|
*/
|
|
37
37
|
var _a;
|
|
38
|
-
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
38
|
+
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
39
39
|
"google.adk.baseCodeExecutor"
|
|
40
40
|
);
|
|
41
41
|
function isBaseCodeExecutor(obj) {
|
|
@@ -37,7 +37,7 @@ var import_base_code_executor = require("./base_code_executor.js");
|
|
|
37
37
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
38
|
*/
|
|
39
39
|
var _a, _b;
|
|
40
|
-
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
40
|
+
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
41
41
|
"google.adk.builtInCodeExecutor"
|
|
42
42
|
);
|
|
43
43
|
function isBuiltInCodeExecutor(obj) {
|
|
@@ -70,7 +70,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
|
|
|
70
70
|
const part = content.parts[i];
|
|
71
71
|
if (part.executableCode && (i === content.parts.length - 1 || !content.parts[i + 1].codeExecutionResult)) {
|
|
72
72
|
content.parts = content.parts.slice(0, i + 1);
|
|
73
|
-
return part.executableCode.code;
|
|
73
|
+
return part.executableCode.code || "";
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
const textParts = content.parts.filter((part) => part.text);
|
|
@@ -145,7 +145,7 @@ function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultD
|
|
|
145
145
|
const lastPart = content.parts[content.parts.length - 1];
|
|
146
146
|
if (lastPart.executableCode) {
|
|
147
147
|
content.parts[content.parts.length - 1] = {
|
|
148
|
-
text: codeBlockDelimiter[0] + lastPart.executableCode.code + codeBlockDelimiter[1]
|
|
148
|
+
text: codeBlockDelimiter[0] + (lastPart.executableCode.code || "") + codeBlockDelimiter[1]
|
|
149
149
|
};
|
|
150
150
|
} else if (content.parts.length == 1 && lastPart.codeExecutionResult) {
|
|
151
151
|
content.parts[content.parts.length - 1] = {
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __create = Object.create;
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
var __export = (target, all) => {
|
|
16
|
+
for (var name in all)
|
|
17
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
+
for (let key of __getOwnPropNames(from))
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
35
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
37
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
38
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
39
|
+
if (decorator = decorators[i])
|
|
40
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
41
|
+
if (kind && result) __defProp(target, key, result);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
var container_code_executor_exports = {};
|
|
45
|
+
__export(container_code_executor_exports, {
|
|
46
|
+
ContainerCodeExecutor: () => ContainerCodeExecutor
|
|
47
|
+
});
|
|
48
|
+
module.exports = __toCommonJS(container_code_executor_exports);
|
|
49
|
+
var path = __toESM(require("node:path"), 1);
|
|
50
|
+
var import_experimental = require("../utils/experimental.js");
|
|
51
|
+
var import_logger = require("../utils/logger.js");
|
|
52
|
+
var import_base_code_executor = require("./base_code_executor.js");
|
|
53
|
+
var import_code_execution_utils = require("./code_execution_utils.js");
|
|
54
|
+
var import_docker_container = require("./docker_container.js");
|
|
55
|
+
/**
|
|
56
|
+
* @license
|
|
57
|
+
* Copyright 2026 Google LLC
|
|
58
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
59
|
+
*/
|
|
60
|
+
const DEFAULT_IMAGE_TAG = "adk-code-executor:latest";
|
|
61
|
+
const DEFAULT_TIMEOUT_SECONDS = 300;
|
|
62
|
+
const TIMEOUT_COMMAND = ["timeout", "-s", "KILL"];
|
|
63
|
+
const LANGUAGE_RUNTIME_COMMAND_MAP = {
|
|
64
|
+
[import_code_execution_utils.CodeExecutionLanguage.PYTHON]: ["python3", "-c"],
|
|
65
|
+
[import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT]: ["node", "-e"],
|
|
66
|
+
[import_code_execution_utils.CodeExecutionLanguage.TYPESCRIPT]: ["tsx", "--eval"],
|
|
67
|
+
[import_code_execution_utils.CodeExecutionLanguage.SHELL]: ["sh", "-c"]
|
|
68
|
+
};
|
|
69
|
+
let ContainerCodeExecutor = class extends import_base_code_executor.BaseCodeExecutor {
|
|
70
|
+
constructor(options = {}) {
|
|
71
|
+
var _a, _b, _c;
|
|
72
|
+
super();
|
|
73
|
+
if (!options.image && !options.dockerPath) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
"Either image or dockerPath must be set for ContainerCodeExecutor."
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
this.timeoutSeconds = (_a = options.timeoutSeconds) != null ? _a : DEFAULT_TIMEOUT_SECONDS;
|
|
79
|
+
if (this.timeoutSeconds <= 0) {
|
|
80
|
+
throw new Error(
|
|
81
|
+
"timeoutSeconds must be greater than 0 for ContainerCodeExecutor."
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
this.dockerPath = options.dockerPath ? path.resolve(options.dockerPath) : void 0;
|
|
85
|
+
this.containerOptions = {
|
|
86
|
+
image: (_b = options.image) != null ? _b : DEFAULT_IMAGE_TAG,
|
|
87
|
+
networkEnabled: (_c = options.networkEnabled) != null ? _c : false,
|
|
88
|
+
baseUrl: options.baseUrl,
|
|
89
|
+
docker: options.docker
|
|
90
|
+
};
|
|
91
|
+
defineFrozenFalse(this, "stateful");
|
|
92
|
+
defineFrozenFalse(this, "optimizeDataFile");
|
|
93
|
+
}
|
|
94
|
+
async executeCode(params) {
|
|
95
|
+
const { code, language } = params.codeExecutionInput;
|
|
96
|
+
const command = LANGUAGE_RUNTIME_COMMAND_MAP[language];
|
|
97
|
+
if (!command) {
|
|
98
|
+
throw new Error(
|
|
99
|
+
`Unsupported language for ContainerCodeExecutor: ${language}. Supported: ${Object.keys(LANGUAGE_RUNTIME_COMMAND_MAP).join(", ")}.`
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
await this.ensureContainer();
|
|
103
|
+
const { stdout, stderr, exitCode } = await this.container.execute(
|
|
104
|
+
[...TIMEOUT_COMMAND, String(this.timeoutSeconds), ...command, code],
|
|
105
|
+
this.timeoutSeconds
|
|
106
|
+
);
|
|
107
|
+
import_logger.logger.debug(`Executed ${language} code:
|
|
108
|
+
\`\`\`
|
|
109
|
+
${code}
|
|
110
|
+
\`\`\``);
|
|
111
|
+
return {
|
|
112
|
+
stdout,
|
|
113
|
+
stderr: this.describeExit(stderr, exitCode),
|
|
114
|
+
outputFiles: []
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Turns a non-zero exit into stderr the model can see. An empty stderr maps
|
|
119
|
+
* to `OUTCOME_OK` downstream, so a program that exits non-zero without
|
|
120
|
+
* writing stderr would otherwise look successful (matching
|
|
121
|
+
* `UnsafeLocalCodeExecutor`).
|
|
122
|
+
*/
|
|
123
|
+
describeExit(stderr, exitCode) {
|
|
124
|
+
if (exitCode === import_docker_container.TIMEOUT_EXIT_CODE) {
|
|
125
|
+
const message = `Code execution timed out after ${this.timeoutSeconds} seconds.`;
|
|
126
|
+
return stderr ? `${stderr}
|
|
127
|
+
${message}` : message;
|
|
128
|
+
}
|
|
129
|
+
if (exitCode !== 0 && exitCode !== null && !stderr) {
|
|
130
|
+
return `Exit code ${exitCode}`;
|
|
131
|
+
}
|
|
132
|
+
return stderr;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Stops and removes the container. Safe to call when no container has been
|
|
136
|
+
* started; provided for deterministic teardown in tests and app shutdown.
|
|
137
|
+
*/
|
|
138
|
+
async close() {
|
|
139
|
+
const container = this.container;
|
|
140
|
+
this.container = void 0;
|
|
141
|
+
this.initPromise = void 0;
|
|
142
|
+
await (container == null ? void 0 : container.stop());
|
|
143
|
+
}
|
|
144
|
+
/** Lazily builds/starts the container exactly once. */
|
|
145
|
+
ensureContainer() {
|
|
146
|
+
if (!this.initPromise) {
|
|
147
|
+
this.initPromise = this.initContainer().catch((error) => {
|
|
148
|
+
this.initPromise = void 0;
|
|
149
|
+
throw error;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return this.initPromise;
|
|
153
|
+
}
|
|
154
|
+
async initContainer() {
|
|
155
|
+
const container = new import_docker_container.DockerContainer(this.containerOptions);
|
|
156
|
+
if (this.dockerPath) {
|
|
157
|
+
await container.build(this.dockerPath);
|
|
158
|
+
}
|
|
159
|
+
await container.start();
|
|
160
|
+
this.container = container;
|
|
161
|
+
const { exitCode } = await container.execute(
|
|
162
|
+
["which", "python3"],
|
|
163
|
+
this.timeoutSeconds
|
|
164
|
+
);
|
|
165
|
+
if (exitCode !== 0) {
|
|
166
|
+
throw new Error("python3 is not installed in the container.");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
__name(ContainerCodeExecutor, "ContainerCodeExecutor");
|
|
171
|
+
ContainerCodeExecutor = __decorateClass([
|
|
172
|
+
import_experimental.experimental
|
|
173
|
+
], ContainerCodeExecutor);
|
|
174
|
+
function defineFrozenFalse(target, key) {
|
|
175
|
+
Object.defineProperty(target, key, {
|
|
176
|
+
value: false,
|
|
177
|
+
writable: false,
|
|
178
|
+
enumerable: true,
|
|
179
|
+
configurable: false
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
__name(defineFrozenFalse, "defineFrozenFalse");
|
|
183
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
184
|
+
0 && (module.exports = {
|
|
185
|
+
ContainerCodeExecutor
|
|
186
|
+
});
|