@google/adk 2.0.0 → 2.2.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 +66 -6
- package/dist/cjs/a2a/agent_executor.js +18 -6
- 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 +21 -6
- 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 +15 -7
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
- 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/gcs_artifact_service.js +13 -7
- 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_credential.js +12 -2
- 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 +5 -5
- 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 +119 -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/examples/example.js +92 -0
- package/dist/cjs/examples/example_util.js +28 -4
- package/dist/cjs/examples/index.js +39 -0
- package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
- package/dist/cjs/index.js +93 -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 +19 -7
- 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 +2 -7
- package/dist/cjs/models/chrome_prompt_llm.js +318 -0
- package/dist/cjs/models/chrome_prompt_utils.js +281 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -4
- 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/planners/base_planner.js +56 -0
- package/dist/cjs/planners/built_in_planner.js +85 -0
- package/dist/cjs/planners/plan_re_act_planner.js +172 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +46 -61
- 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/example_tool.js +1 -1
- 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/mcp/mcp_session_manager.js +14 -8
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
- package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
- 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/skill/skill_toolset.js +2 -0
- package/dist/cjs/tools/tool_context.js +41 -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/tools/webmcp/index.js +37 -0
- package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
- package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
- package/dist/cjs/utils/case_utils.js +52 -2
- package/dist/cjs/utils/client_labels.js +67 -0
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +103 -9
- package/dist/cjs/utils/hash_utils.js +73 -0
- package/dist/cjs/utils/live_connection_utils.js +10 -9
- 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/model_name.js +17 -2
- 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/simple_zod_to_json.js +5 -0
- 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 +71 -6
- package/dist/esm/a2a/agent_executor.js +18 -6
- 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 +24 -6
- 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 +15 -7
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
- 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/gcs_artifact_service.js +13 -7
- 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_credential.js +11 -1
- 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 +5 -5
- 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 +111 -40
- 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/examples/example.js +85 -0
- package/dist/esm/examples/example_util.js +25 -3
- package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
- package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
- package/dist/esm/index.js +87 -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 +19 -7
- 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 +3 -8
- package/dist/esm/models/chrome_prompt_llm.js +302 -0
- package/dist/esm/models/chrome_prompt_utils.js +241 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -5
- 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/planners/base_planner.js +28 -0
- package/dist/esm/planners/built_in_planner.js +57 -0
- package/dist/esm/planners/plan_re_act_planner.js +145 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +46 -61
- 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/example_tool.js +1 -1
- 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/mcp/mcp_session_manager.js +14 -8
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
- package/dist/esm/tools/openapi_tool/common/common.js +112 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
- 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/skill/skill_toolset.js +2 -0
- package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -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/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
- package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
- package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
- package/dist/esm/utils/case_utils.js +49 -1
- package/dist/esm/utils/client_labels.js +65 -0
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +102 -9
- package/dist/esm/utils/hash_utils.js +45 -0
- package/dist/esm/utils/live_connection_utils.js +11 -10
- 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/model_name.js +15 -2
- 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/esm/utils/simple_zod_to_json.js +5 -0
- 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 +20 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
- 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 +22 -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 +37 -23
- 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/examples/base_example_provider.d.ts +2 -2
- package/dist/types/examples/example.d.ts +75 -0
- package/dist/types/examples/example_util.d.ts +13 -2
- package/dist/types/examples/index.d.ts +18 -0
- package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
- package/dist/types/index.d.ts +31 -1
- package/dist/types/memory/memory_entry.d.ts +15 -0
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -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 +97 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/planners/base_planner.d.ts +50 -0
- package/dist/types/planners/built_in_planner.d.ts +53 -0
- package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -62
- 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/skills/skill_registry.d.ts +8 -0
- 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 +115 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
- package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
- 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/tool_context.d.ts +19 -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/tools/webmcp/index.d.ts +12 -0
- package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
- package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
- package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
- package/dist/types/utils/case_utils.d.ts +36 -0
- package/dist/types/utils/client_labels.d.ts +33 -0
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +18 -7
- package/dist/types/utils/hash_utils.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +33 -3
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/model_name.d.ts +30 -2
- 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 +337 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +24 -15
- 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/credential_response_binding.js +0 -91
- 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/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/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/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
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright 2026 Google LLC
|
|
8
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
*/
|
|
10
|
+
import { appendInstructions } from "../../models/llm_request.js";
|
|
11
|
+
import { isBasePlanner } from "../../planners/base_planner.js";
|
|
12
|
+
import { isBuiltInPlanner } from "../../planners/built_in_planner.js";
|
|
13
|
+
import { Context } from "../context.js";
|
|
14
|
+
import { isLlmAgent } from "../llm_agent.js";
|
|
15
|
+
import { ReadonlyContext } from "../readonly_context.js";
|
|
16
|
+
import {
|
|
17
|
+
BaseLlmRequestProcessor,
|
|
18
|
+
BaseLlmResponseProcessor
|
|
19
|
+
} from "./base_llm_processor.js";
|
|
20
|
+
function getPlanner(invocationContext) {
|
|
21
|
+
const agent = invocationContext.agent;
|
|
22
|
+
if (!isLlmAgent(agent) || !isBasePlanner(agent.planner)) {
|
|
23
|
+
return void 0;
|
|
24
|
+
}
|
|
25
|
+
return agent.planner;
|
|
26
|
+
}
|
|
27
|
+
__name(getPlanner, "getPlanner");
|
|
28
|
+
function removeThought(part) {
|
|
29
|
+
const { thought: _thought, ...rest } = part;
|
|
30
|
+
return rest;
|
|
31
|
+
}
|
|
32
|
+
__name(removeThought, "removeThought");
|
|
33
|
+
function removeThoughtFromContents(contents) {
|
|
34
|
+
return contents.map(
|
|
35
|
+
(content) => content.parts ? { ...content, parts: content.parts.map(removeThought) } : content
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
__name(removeThoughtFromContents, "removeThoughtFromContents");
|
|
39
|
+
const _NlPlanningRequestProcessor = class _NlPlanningRequestProcessor extends BaseLlmRequestProcessor {
|
|
40
|
+
// eslint-disable-next-line require-yield -- this processor only mutates the request and has no event to emit
|
|
41
|
+
async *runAsync(invocationContext, llmRequest) {
|
|
42
|
+
const planner = getPlanner(invocationContext);
|
|
43
|
+
if (!planner) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (isBuiltInPlanner(planner)) {
|
|
47
|
+
planner.applyThinkingConfig(llmRequest);
|
|
48
|
+
}
|
|
49
|
+
const planningInstruction = planner.buildPlanningInstruction(
|
|
50
|
+
new ReadonlyContext(invocationContext),
|
|
51
|
+
llmRequest
|
|
52
|
+
);
|
|
53
|
+
if (planningInstruction) {
|
|
54
|
+
appendInstructions(llmRequest, [planningInstruction]);
|
|
55
|
+
}
|
|
56
|
+
llmRequest.contents = removeThoughtFromContents(llmRequest.contents);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
__name(_NlPlanningRequestProcessor, "NlPlanningRequestProcessor");
|
|
60
|
+
let NlPlanningRequestProcessor = _NlPlanningRequestProcessor;
|
|
61
|
+
const _NlPlanningResponseProcessor = class _NlPlanningResponseProcessor extends BaseLlmResponseProcessor {
|
|
62
|
+
// eslint-disable-next-line require-yield -- this processor only rewrites the response and has no event to emit
|
|
63
|
+
async *runAsync(invocationContext, llmResponse) {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
const planner = getPlanner(invocationContext);
|
|
66
|
+
if (!planner || !((_b = (_a = llmResponse.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.length)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const processedParts = planner.processPlanningResponse(
|
|
70
|
+
new Context({ invocationContext }),
|
|
71
|
+
llmResponse.content.parts
|
|
72
|
+
);
|
|
73
|
+
if (processedParts !== void 0) {
|
|
74
|
+
llmResponse.content = { ...llmResponse.content, parts: processedParts };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
__name(_NlPlanningResponseProcessor, "NlPlanningResponseProcessor");
|
|
79
|
+
let NlPlanningResponseProcessor = _NlPlanningResponseProcessor;
|
|
80
|
+
const NL_PLANNING_REQUEST_PROCESSOR = new NlPlanningRequestProcessor();
|
|
81
|
+
const NL_PLANNING_RESPONSE_PROCESSOR = new NlPlanningResponseProcessor();
|
|
82
|
+
export {
|
|
83
|
+
NL_PLANNING_REQUEST_PROCESSOR,
|
|
84
|
+
NL_PLANNING_RESPONSE_PROCESSOR,
|
|
85
|
+
NlPlanningRequestProcessor,
|
|
86
|
+
NlPlanningResponseProcessor
|
|
87
|
+
};
|
|
@@ -55,7 +55,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
|
|
|
55
55
|
}
|
|
56
56
|
const approvals = collectApprovals(
|
|
57
57
|
events,
|
|
58
|
-
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
|
|
58
|
+
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
|
|
59
|
+
agent.name
|
|
59
60
|
);
|
|
60
61
|
if (approvals.size === 0) {
|
|
61
62
|
return;
|
|
@@ -116,7 +117,7 @@ function eventsInScope(invocationContext) {
|
|
|
116
117
|
);
|
|
117
118
|
}
|
|
118
119
|
__name(eventsInScope, "eventsInScope");
|
|
119
|
-
function collectApprovals(events, allowPlainText) {
|
|
120
|
+
function collectApprovals(events, allowPlainText, agentName) {
|
|
120
121
|
const approvals = /* @__PURE__ */ new Map();
|
|
121
122
|
const latestUserEvent = findLatestUserEvent(events);
|
|
122
123
|
if (!latestUserEvent) {
|
|
@@ -135,7 +136,7 @@ function collectApprovals(events, allowPlainText) {
|
|
|
135
136
|
);
|
|
136
137
|
}
|
|
137
138
|
if (approvals.size === 0 && allowPlainText) {
|
|
138
|
-
return mapPlainTextConfirmation(events);
|
|
139
|
+
return mapPlainTextConfirmation(events, agentName);
|
|
139
140
|
}
|
|
140
141
|
return approvals;
|
|
141
142
|
}
|
|
@@ -167,6 +168,9 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
167
168
|
functionCallId: functionCall.id
|
|
168
169
|
});
|
|
169
170
|
}
|
|
171
|
+
logger.debug(
|
|
172
|
+
`Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
|
|
173
|
+
);
|
|
170
174
|
continue;
|
|
171
175
|
}
|
|
172
176
|
const pinned = pinnedCall(functionCall);
|
|
@@ -179,7 +183,7 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
179
183
|
functionCallId: functionCall.id
|
|
180
184
|
});
|
|
181
185
|
}
|
|
182
|
-
if (hasRespondedAfter(events, pinned.id, index)) {
|
|
186
|
+
if (hasRespondedAfter(events, pinned.id, index, agentName)) {
|
|
183
187
|
continue;
|
|
184
188
|
}
|
|
185
189
|
candidates.push({ pinned, confirmation });
|
|
@@ -239,16 +243,16 @@ function agentAuthoredCalls(events, agentName) {
|
|
|
239
243
|
}
|
|
240
244
|
__name(agentAuthoredCalls, "agentAuthoredCalls");
|
|
241
245
|
function dynamicallyRequestedCallIds(events, agentName) {
|
|
246
|
+
var _a;
|
|
242
247
|
const requested = /* @__PURE__ */ new Set();
|
|
243
248
|
for (const event of events) {
|
|
244
249
|
if (event.author !== agentName) {
|
|
245
250
|
continue;
|
|
246
251
|
}
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
+
for (const functionCallId of Object.keys(
|
|
253
|
+
(_a = event.actions.requestedToolConfirmations) != null ? _a : {}
|
|
254
|
+
)) {
|
|
255
|
+
requested.add(functionCallId);
|
|
252
256
|
}
|
|
253
257
|
}
|
|
254
258
|
return requested;
|
|
@@ -266,9 +270,9 @@ function pinnedCall(functionCall) {
|
|
|
266
270
|
return pinned;
|
|
267
271
|
}
|
|
268
272
|
__name(pinnedCall, "pinnedCall");
|
|
269
|
-
function hasRespondedAfter(events, pinnedCallId, gateIndex) {
|
|
273
|
+
function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
|
|
270
274
|
return events.slice(gateIndex + 1).some(
|
|
271
|
-
(event) => getFunctionResponses(event).some(
|
|
275
|
+
(event) => event.author === agentName && getFunctionResponses(event).some(
|
|
272
276
|
(functionResponse) => functionResponse.id === pinnedCallId
|
|
273
277
|
)
|
|
274
278
|
);
|
|
@@ -305,7 +309,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
|
|
|
305
309
|
"cancel",
|
|
306
310
|
"cancelled"
|
|
307
311
|
]);
|
|
308
|
-
function mapPlainTextConfirmation(events) {
|
|
312
|
+
function mapPlainTextConfirmation(events, agentName) {
|
|
309
313
|
var _a, _b;
|
|
310
314
|
const none = /* @__PURE__ */ new Map();
|
|
311
315
|
let turnIndex = -1;
|
|
@@ -343,6 +347,9 @@ function mapPlainTextConfirmation(events) {
|
|
|
343
347
|
if (event.author === "user") {
|
|
344
348
|
break;
|
|
345
349
|
}
|
|
350
|
+
if (event.author !== agentName) {
|
|
351
|
+
continue;
|
|
352
|
+
}
|
|
346
353
|
for (const fc of getFunctionCalls(event)) {
|
|
347
354
|
if (fc.name === REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
|
|
348
355
|
pendingId = fc.id;
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
getFunctionCalls,
|
|
12
12
|
getFunctionResponses
|
|
13
13
|
} from "../../events/event.js";
|
|
14
|
-
import { ToolConfirmation } from "../../tools/tool_confirmation.js";
|
|
15
14
|
import { AsyncQueue } from "../../utils/async_queue.js";
|
|
16
15
|
import { isNodeTool } from "../../workflow/nodes/node_tool.js";
|
|
17
16
|
import {
|
|
@@ -70,12 +69,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
70
69
|
if (Object.keys(pending).length === 0) {
|
|
71
70
|
return;
|
|
72
71
|
}
|
|
73
|
-
const
|
|
72
|
+
const resumeInputsDict = {};
|
|
74
73
|
for (const id of Object.keys(pending)) {
|
|
75
|
-
|
|
76
|
-
confirmed: true,
|
|
77
|
-
payload: resumeInputs
|
|
78
|
-
});
|
|
74
|
+
resumeInputsDict[id] = resumeInputs;
|
|
79
75
|
}
|
|
80
76
|
const eventQueue = new AsyncQueue();
|
|
81
77
|
invocationContext.eventQueue = eventQueue;
|
|
@@ -88,7 +84,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
88
84
|
beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
|
|
89
85
|
afterToolCallbacks: agent.canonicalAfterToolCallbacks,
|
|
90
86
|
filters: new Set(Object.keys(pending)),
|
|
91
|
-
|
|
87
|
+
resumeInputsDict
|
|
92
88
|
});
|
|
93
89
|
} finally {
|
|
94
90
|
eventQueue.close();
|
|
@@ -52,6 +52,12 @@ const _ReadonlyContext = class _ReadonlyContext {
|
|
|
52
52
|
{}
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
57
|
+
*/
|
|
58
|
+
get a2aMetadata() {
|
|
59
|
+
return this.invocationContext.a2aMetadata;
|
|
60
|
+
}
|
|
55
61
|
};
|
|
56
62
|
__name(_ReadonlyContext, "ReadonlyContext");
|
|
57
63
|
let ReadonlyContext = _ReadonlyContext;
|
|
@@ -10,7 +10,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
10
10
|
var _a, _b;
|
|
11
11
|
import { BaseAgent } from "./base_agent.js";
|
|
12
12
|
import { runWithRouting } from "../utils/failover_utils.js";
|
|
13
|
-
const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
|
|
13
|
+
const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
|
|
14
14
|
function isRoutedAgent(obj) {
|
|
15
15
|
return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
|
|
16
16
|
}
|
|
@@ -23,7 +23,7 @@ import { BaseAgent } from "./base_agent.js";
|
|
|
23
23
|
import { isLlmAgent } from "./llm_agent.js";
|
|
24
24
|
import { ReadonlyContext } from "./readonly_context.js";
|
|
25
25
|
const TASK_COMPLETED_TOOL_NAME = "task_completed";
|
|
26
|
-
const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = Symbol.for(
|
|
26
|
+
const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
27
27
|
"google.adk.sequentialAgent"
|
|
28
28
|
);
|
|
29
29
|
function isSequentialAgent(obj) {
|
package/dist/esm/apps/app.js
CHANGED
|
@@ -23,7 +23,7 @@ function validateAppName(name) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
__name(validateAppName, "validateAppName");
|
|
26
|
-
const APP_SIGNATURE_SYMBOL = Symbol.for("google.adk.app");
|
|
26
|
+
const APP_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.app");
|
|
27
27
|
function isApp(obj) {
|
|
28
28
|
return typeof obj === "object" && obj !== null && APP_SIGNATURE_SYMBOL in obj && obj[APP_SIGNATURE_SYMBOL] === true;
|
|
29
29
|
}
|
|
@@ -474,10 +474,9 @@ async function* iterateArtifactDirs(dir) {
|
|
|
474
474
|
);
|
|
475
475
|
if (hasVersions) {
|
|
476
476
|
yield dir;
|
|
477
|
-
return;
|
|
478
477
|
}
|
|
479
478
|
for (const entry of entries) {
|
|
480
|
-
if (entry.isDirectory()) {
|
|
479
|
+
if (entry.isDirectory() && entry.name !== "versions") {
|
|
481
480
|
const subdir = path.join(dir, entry.name);
|
|
482
481
|
for await (const foundDir of iterateArtifactDirs(subdir)) {
|
|
483
482
|
yield foundDir;
|
|
@@ -67,9 +67,7 @@ const _GcsArtifactService = class _GcsArtifactService {
|
|
|
67
67
|
version
|
|
68
68
|
})
|
|
69
69
|
);
|
|
70
|
-
const customMetadata =
|
|
71
|
-
...request.customMetadata
|
|
72
|
-
};
|
|
70
|
+
const customMetadata = stringifyMetadataValues(request.customMetadata);
|
|
73
71
|
if (request.artifact.inlineData) {
|
|
74
72
|
if (request.artifact.inlineData.displayName) {
|
|
75
73
|
customMetadata[GCS_DISPLAY_NAME_METADATA_KEY] = request.artifact.inlineData.displayName;
|
|
@@ -193,10 +191,9 @@ const _GcsArtifactService = class _GcsArtifactService {
|
|
|
193
191
|
const [files] = await bucket.getFiles({ prefix: searchPrefix });
|
|
194
192
|
const versions = [];
|
|
195
193
|
for (const file of files) {
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
versions.push(v);
|
|
194
|
+
const suffix = file.name.slice(searchPrefix.length);
|
|
195
|
+
if (/^\d+$/.test(suffix)) {
|
|
196
|
+
versions.push(Number(suffix));
|
|
200
197
|
}
|
|
201
198
|
}
|
|
202
199
|
return versions.sort((a, b) => a - b);
|
|
@@ -262,6 +259,15 @@ function getFileName({
|
|
|
262
259
|
return version !== void 0 ? `${prefix}/${version}` : prefix;
|
|
263
260
|
}
|
|
264
261
|
__name(getFileName, "getFileName");
|
|
262
|
+
function stringifyMetadataValues(customMetadata) {
|
|
263
|
+
return Object.fromEntries(
|
|
264
|
+
Object.entries(customMetadata != null ? customMetadata : {}).map(([key, value]) => [
|
|
265
|
+
key,
|
|
266
|
+
String(value)
|
|
267
|
+
])
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
__name(stringifyMetadataValues, "stringifyMetadataValues");
|
|
265
271
|
function extractArtifactKeys(files, fileNamePrefix, keyPrefix = "") {
|
|
266
272
|
const keys = /* @__PURE__ */ new Set();
|
|
267
273
|
for (const file of files) {
|
|
@@ -7,12 +7,21 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
7
7
|
* Copyright 2026 Google LLC
|
|
8
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
*/
|
|
10
|
+
var _a;
|
|
11
|
+
const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
12
|
+
"google.adk.sessionArtifactService"
|
|
13
|
+
);
|
|
14
|
+
_a = SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL;
|
|
10
15
|
const _ScopedArtifactService = class _ScopedArtifactService {
|
|
11
16
|
constructor(delegate, appName, userId, sessionId) {
|
|
12
17
|
this.delegate = delegate;
|
|
13
18
|
this.appName = appName;
|
|
14
19
|
this.userId = userId;
|
|
15
20
|
this.sessionId = sessionId;
|
|
21
|
+
/**
|
|
22
|
+
* Brands this class as a session-scoped artifact service.
|
|
23
|
+
*/
|
|
24
|
+
this[_a] = true;
|
|
16
25
|
}
|
|
17
26
|
async saveArtifact(request) {
|
|
18
27
|
return this.delegate.saveArtifact({
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
10
|
+
const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
11
|
+
"google.adk.sessionArtifactService"
|
|
12
|
+
);
|
|
13
|
+
function isSessionArtifactService(service) {
|
|
14
|
+
return typeof service === "object" && service !== null && SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL in service && service[SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] === true;
|
|
15
|
+
}
|
|
16
|
+
__name(isSessionArtifactService, "isSessionArtifactService");
|
|
17
|
+
export {
|
|
18
|
+
isSessionArtifactService
|
|
19
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -13,6 +15,14 @@ var AuthCredentialTypes = /* @__PURE__ */ ((AuthCredentialTypes2) => {
|
|
|
13
15
|
AuthCredentialTypes2["SERVICE_ACCOUNT"] = "serviceAccount";
|
|
14
16
|
return AuthCredentialTypes2;
|
|
15
17
|
})(AuthCredentialTypes || {});
|
|
18
|
+
const AUTH_CREDENTIAL_TYPES = new Set(
|
|
19
|
+
Object.values(AuthCredentialTypes)
|
|
20
|
+
);
|
|
21
|
+
function isAuthCredential(value) {
|
|
22
|
+
return typeof value === "object" && value !== null && "authType" in value && AUTH_CREDENTIAL_TYPES.has(value.authType);
|
|
23
|
+
}
|
|
24
|
+
__name(isAuthCredential, "isAuthCredential");
|
|
16
25
|
export {
|
|
17
|
-
AuthCredentialTypes
|
|
26
|
+
AuthCredentialTypes,
|
|
27
|
+
isAuthCredential
|
|
18
28
|
};
|
|
@@ -9,6 +9,11 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
9
9
|
*/
|
|
10
10
|
import { randomUUID } from "../utils/env_aware_utils.js";
|
|
11
11
|
import { OAuth2CredentialExchanger } from "./oauth2/oauth2_credential_exchanger.js";
|
|
12
|
+
import {
|
|
13
|
+
createS256CodeChallenge,
|
|
14
|
+
generateCodeVerifier
|
|
15
|
+
} from "./oauth2/oauth2_utils.js";
|
|
16
|
+
const S256_CODE_CHALLENGE_METHOD = "S256";
|
|
12
17
|
const _AuthHandler = class _AuthHandler {
|
|
13
18
|
constructor(authConfig) {
|
|
14
19
|
this.authConfig = authConfig;
|
|
@@ -17,7 +22,16 @@ const _AuthHandler = class _AuthHandler {
|
|
|
17
22
|
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
18
23
|
return state.get(credentialKey);
|
|
19
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Stores the exchanged credential in the session state.
|
|
27
|
+
*
|
|
28
|
+
* @param state The session state to store the credential in.
|
|
29
|
+
* @throws Error: If the auth config has no credentialKey.
|
|
30
|
+
*/
|
|
20
31
|
async parseAndStoreAuthResponse(state) {
|
|
32
|
+
if (!this.authConfig.credentialKey) {
|
|
33
|
+
throw new Error("credentialKey is empty.");
|
|
34
|
+
}
|
|
21
35
|
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
22
36
|
const authSchemeType = this.authConfig.authScheme.type;
|
|
23
37
|
if (!["oauth2", "openIdConnect"].includes(authSchemeType)) {
|
|
@@ -73,9 +87,14 @@ const _AuthHandler = class _AuthHandler {
|
|
|
73
87
|
/**
|
|
74
88
|
* Generates an response containing the auth uri for user to sign in.
|
|
75
89
|
*
|
|
90
|
+
* When the credential requests PKCE, the URI also carries the S256 code
|
|
91
|
+
* challenge derived from the credential's code verifier, and the returned
|
|
92
|
+
* credential carries the verifier the later token exchange must send.
|
|
93
|
+
*
|
|
76
94
|
* @return An AuthCredential object containing the auth URI and state.
|
|
77
95
|
* @throws Error: If the authorization endpoint is not configured in the
|
|
78
|
-
* auth scheme
|
|
96
|
+
* auth scheme, or the credential requests a code challenge method other
|
|
97
|
+
* than 'S256'.
|
|
79
98
|
*/
|
|
80
99
|
generateAuthUri() {
|
|
81
100
|
const authScheme = this.authConfig.authScheme;
|
|
@@ -83,6 +102,13 @@ const _AuthHandler = class _AuthHandler {
|
|
|
83
102
|
if (!authCredential || !authCredential.oauth2) {
|
|
84
103
|
return authCredential;
|
|
85
104
|
}
|
|
105
|
+
const oauth2 = authCredential.oauth2;
|
|
106
|
+
const codeChallengeMethod = oauth2.codeChallengeMethod;
|
|
107
|
+
if (codeChallengeMethod && codeChallengeMethod !== S256_CODE_CHALLENGE_METHOD) {
|
|
108
|
+
throw new Error(
|
|
109
|
+
`Unsupported codeChallengeMethod: ${codeChallengeMethod}. Only '${S256_CODE_CHALLENGE_METHOD}' is supported.`
|
|
110
|
+
);
|
|
111
|
+
}
|
|
86
112
|
let authorizationEndpoint = "";
|
|
87
113
|
let scopes = [];
|
|
88
114
|
if ("authorizationEndpoint" in authScheme) {
|
|
@@ -107,22 +133,35 @@ const _AuthHandler = class _AuthHandler {
|
|
|
107
133
|
}
|
|
108
134
|
const state = randomUUID();
|
|
109
135
|
const url = new URL(authorizationEndpoint);
|
|
110
|
-
url.searchParams.set("client_id",
|
|
111
|
-
url.searchParams.set(
|
|
112
|
-
"redirect_uri",
|
|
113
|
-
authCredential.oauth2.redirectUri || ""
|
|
114
|
-
);
|
|
136
|
+
url.searchParams.set("client_id", oauth2.clientId || "");
|
|
137
|
+
url.searchParams.set("redirect_uri", oauth2.redirectUri || "");
|
|
115
138
|
url.searchParams.set("response_type", "code");
|
|
116
139
|
url.searchParams.set("scope", scopes.join(" "));
|
|
117
140
|
url.searchParams.set("state", state);
|
|
118
141
|
url.searchParams.set("access_type", "offline");
|
|
119
142
|
url.searchParams.set("prompt", "consent");
|
|
143
|
+
if (oauth2.audience) {
|
|
144
|
+
url.searchParams.set("audience", oauth2.audience);
|
|
145
|
+
}
|
|
146
|
+
if (oauth2.nonce) {
|
|
147
|
+
url.searchParams.set("nonce", oauth2.nonce);
|
|
148
|
+
}
|
|
149
|
+
let codeVerifier = oauth2.codeVerifier;
|
|
150
|
+
if (codeChallengeMethod) {
|
|
151
|
+
codeVerifier != null ? codeVerifier : codeVerifier = generateCodeVerifier();
|
|
152
|
+
url.searchParams.set(
|
|
153
|
+
"code_challenge",
|
|
154
|
+
createS256CodeChallenge(codeVerifier)
|
|
155
|
+
);
|
|
156
|
+
url.searchParams.set("code_challenge_method", codeChallengeMethod);
|
|
157
|
+
}
|
|
120
158
|
const exchangedAuthCredential = {
|
|
121
159
|
...authCredential,
|
|
122
160
|
oauth2: {
|
|
123
|
-
...
|
|
161
|
+
...oauth2,
|
|
124
162
|
authUri: url.toString(),
|
|
125
|
-
state
|
|
163
|
+
state,
|
|
164
|
+
codeVerifier
|
|
126
165
|
}
|
|
127
166
|
};
|
|
128
167
|
return exchangedAuthCredential;
|
|
@@ -19,7 +19,7 @@ const _OAuth2CredentialRefresher = class _OAuth2CredentialRefresher {
|
|
|
19
19
|
*
|
|
20
20
|
* @param authCredential The OAuth2 credential to check.
|
|
21
21
|
* @param authScheme The OAuth2 authentication scheme (optional).
|
|
22
|
-
* @returns True if the credential needs to be refreshed,
|
|
22
|
+
* @returns True if the credential needs to be refreshed, false otherwise.
|
|
23
23
|
*/
|
|
24
24
|
async isRefreshNeeded(authCredential) {
|
|
25
25
|
if (!authCredential.oauth2) {
|
|
@@ -7,8 +7,19 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
7
7
|
* Copyright 2026 Google LLC
|
|
8
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
*/
|
|
10
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
10
11
|
import { logger } from "../../utils/logger.js";
|
|
12
|
+
import { redactUriPassword } from "../../utils/redact_uri.js";
|
|
11
13
|
import { validateDiscoveryUrl } from "./oauth2_discovery.js";
|
|
14
|
+
const CODE_VERIFIER_BYTES = 36;
|
|
15
|
+
function generateCodeVerifier() {
|
|
16
|
+
return randomBytes(CODE_VERIFIER_BYTES).toString("base64url");
|
|
17
|
+
}
|
|
18
|
+
__name(generateCodeVerifier, "generateCodeVerifier");
|
|
19
|
+
function createS256CodeChallenge(codeVerifier) {
|
|
20
|
+
return createHash("sha256").update(codeVerifier).digest("base64url");
|
|
21
|
+
}
|
|
22
|
+
__name(createS256CodeChallenge, "createS256CodeChallenge");
|
|
12
23
|
function getTokenEndpoint(authScheme) {
|
|
13
24
|
if (authScheme.type === "openIdConnect" && authScheme.tokenEndpoint) {
|
|
14
25
|
return authScheme.tokenEndpoint;
|
|
@@ -63,8 +74,8 @@ function parseAuthorizationCode(uri) {
|
|
|
63
74
|
try {
|
|
64
75
|
const url = new URL(uri);
|
|
65
76
|
return url.searchParams.get("code") || void 0;
|
|
66
|
-
} catch
|
|
67
|
-
logger.warn(`Failed to parse authorization URI ${uri}
|
|
77
|
+
} catch {
|
|
78
|
+
logger.warn(`Failed to parse authorization URI ${redactUriPassword(uri)}`);
|
|
68
79
|
return void 0;
|
|
69
80
|
}
|
|
70
81
|
}
|
|
@@ -98,7 +109,9 @@ function isTokenExpired(token, leeway = 60) {
|
|
|
98
109
|
__name(isTokenExpired, "isTokenExpired");
|
|
99
110
|
export {
|
|
100
111
|
createOAuth2TokenRequestBody,
|
|
112
|
+
createS256CodeChallenge,
|
|
101
113
|
fetchOAuth2Tokens,
|
|
114
|
+
generateCodeVerifier,
|
|
102
115
|
getTokenEndpoint,
|
|
103
116
|
isTokenExpired,
|
|
104
117
|
parseAuthorizationCode
|
|
@@ -8,7 +8,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
8
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
*/
|
|
10
10
|
var _a;
|
|
11
|
-
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
11
|
+
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
12
12
|
"google.adk.baseCodeExecutor"
|
|
13
13
|
);
|
|
14
14
|
function isBaseCodeExecutor(obj) {
|
|
@@ -10,7 +10,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
10
10
|
var _a, _b;
|
|
11
11
|
import { isGemini2OrAbove } from "../utils/model_name.js";
|
|
12
12
|
import { BaseCodeExecutor } from "./base_code_executor.js";
|
|
13
|
-
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
13
|
+
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
14
14
|
"google.adk.builtInCodeExecutor"
|
|
15
15
|
);
|
|
16
16
|
function isBuiltInCodeExecutor(obj) {
|
|
@@ -38,7 +38,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
|
|
|
38
38
|
const part = content.parts[i];
|
|
39
39
|
if (part.executableCode && (i === content.parts.length - 1 || !content.parts[i + 1].codeExecutionResult)) {
|
|
40
40
|
content.parts = content.parts.slice(0, i + 1);
|
|
41
|
-
return part.executableCode.code;
|
|
41
|
+
return part.executableCode.code || "";
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
const textParts = content.parts.filter((part) => part.text);
|
|
@@ -113,12 +113,12 @@ function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultD
|
|
|
113
113
|
const lastPart = content.parts[content.parts.length - 1];
|
|
114
114
|
if (lastPart.executableCode) {
|
|
115
115
|
content.parts[content.parts.length - 1] = {
|
|
116
|
-
text: codeBlockDelimiter[0] + lastPart.executableCode.code + codeBlockDelimiter[1]
|
|
116
|
+
text: codeBlockDelimiter[0] + (lastPart.executableCode.code || "") + codeBlockDelimiter[1]
|
|
117
117
|
};
|
|
118
118
|
} else if (content.parts.length == 1 && lastPart.codeExecutionResult) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
};
|
|
119
|
+
const output = lastPart.codeExecutionResult.output;
|
|
120
|
+
const text = output == null ? "" : executionResultDelimiters[0] + output + executionResultDelimiters[1];
|
|
121
|
+
content.parts[content.parts.length - 1] = { text };
|
|
122
122
|
content.role = "user";
|
|
123
123
|
}
|
|
124
124
|
}
|