@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,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __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
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var nl_planning_processor_exports = {};
|
|
27
|
+
__export(nl_planning_processor_exports, {
|
|
28
|
+
NL_PLANNING_REQUEST_PROCESSOR: () => NL_PLANNING_REQUEST_PROCESSOR,
|
|
29
|
+
NL_PLANNING_RESPONSE_PROCESSOR: () => NL_PLANNING_RESPONSE_PROCESSOR,
|
|
30
|
+
NlPlanningRequestProcessor: () => NlPlanningRequestProcessor,
|
|
31
|
+
NlPlanningResponseProcessor: () => NlPlanningResponseProcessor
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(nl_planning_processor_exports);
|
|
34
|
+
var import_llm_request = require("../../models/llm_request.js");
|
|
35
|
+
var import_base_planner = require("../../planners/base_planner.js");
|
|
36
|
+
var import_built_in_planner = require("../../planners/built_in_planner.js");
|
|
37
|
+
var import_context = require("../context.js");
|
|
38
|
+
var import_llm_agent = require("../llm_agent.js");
|
|
39
|
+
var import_readonly_context = require("../readonly_context.js");
|
|
40
|
+
var import_base_llm_processor = require("./base_llm_processor.js");
|
|
41
|
+
/**
|
|
42
|
+
* @license
|
|
43
|
+
* Copyright 2026 Google LLC
|
|
44
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
45
|
+
*/
|
|
46
|
+
function getPlanner(invocationContext) {
|
|
47
|
+
const agent = invocationContext.agent;
|
|
48
|
+
if (!(0, import_llm_agent.isLlmAgent)(agent) || !(0, import_base_planner.isBasePlanner)(agent.planner)) {
|
|
49
|
+
return void 0;
|
|
50
|
+
}
|
|
51
|
+
return agent.planner;
|
|
52
|
+
}
|
|
53
|
+
__name(getPlanner, "getPlanner");
|
|
54
|
+
function removeThought(part) {
|
|
55
|
+
const { thought: _thought, ...rest } = part;
|
|
56
|
+
return rest;
|
|
57
|
+
}
|
|
58
|
+
__name(removeThought, "removeThought");
|
|
59
|
+
function removeThoughtFromContents(contents) {
|
|
60
|
+
return contents.map(
|
|
61
|
+
(content) => content.parts ? { ...content, parts: content.parts.map(removeThought) } : content
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
__name(removeThoughtFromContents, "removeThoughtFromContents");
|
|
65
|
+
const _NlPlanningRequestProcessor = class _NlPlanningRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
|
|
66
|
+
// eslint-disable-next-line require-yield -- this processor only mutates the request and has no event to emit
|
|
67
|
+
async *runAsync(invocationContext, llmRequest) {
|
|
68
|
+
const planner = getPlanner(invocationContext);
|
|
69
|
+
if (!planner) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if ((0, import_built_in_planner.isBuiltInPlanner)(planner)) {
|
|
73
|
+
planner.applyThinkingConfig(llmRequest);
|
|
74
|
+
}
|
|
75
|
+
const planningInstruction = planner.buildPlanningInstruction(
|
|
76
|
+
new import_readonly_context.ReadonlyContext(invocationContext),
|
|
77
|
+
llmRequest
|
|
78
|
+
);
|
|
79
|
+
if (planningInstruction) {
|
|
80
|
+
(0, import_llm_request.appendInstructions)(llmRequest, [planningInstruction]);
|
|
81
|
+
}
|
|
82
|
+
llmRequest.contents = removeThoughtFromContents(llmRequest.contents);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
__name(_NlPlanningRequestProcessor, "NlPlanningRequestProcessor");
|
|
86
|
+
let NlPlanningRequestProcessor = _NlPlanningRequestProcessor;
|
|
87
|
+
const _NlPlanningResponseProcessor = class _NlPlanningResponseProcessor extends import_base_llm_processor.BaseLlmResponseProcessor {
|
|
88
|
+
// eslint-disable-next-line require-yield -- this processor only rewrites the response and has no event to emit
|
|
89
|
+
async *runAsync(invocationContext, llmResponse) {
|
|
90
|
+
var _a, _b;
|
|
91
|
+
const planner = getPlanner(invocationContext);
|
|
92
|
+
if (!planner || !((_b = (_a = llmResponse.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.length)) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const processedParts = planner.processPlanningResponse(
|
|
96
|
+
new import_context.Context({ invocationContext }),
|
|
97
|
+
llmResponse.content.parts
|
|
98
|
+
);
|
|
99
|
+
if (processedParts !== void 0) {
|
|
100
|
+
llmResponse.content = { ...llmResponse.content, parts: processedParts };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
__name(_NlPlanningResponseProcessor, "NlPlanningResponseProcessor");
|
|
105
|
+
let NlPlanningResponseProcessor = _NlPlanningResponseProcessor;
|
|
106
|
+
const NL_PLANNING_REQUEST_PROCESSOR = new NlPlanningRequestProcessor();
|
|
107
|
+
const NL_PLANNING_RESPONSE_PROCESSOR = new NlPlanningResponseProcessor();
|
|
108
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
109
|
+
0 && (module.exports = {
|
|
110
|
+
NL_PLANNING_REQUEST_PROCESSOR,
|
|
111
|
+
NL_PLANNING_RESPONSE_PROCESSOR,
|
|
112
|
+
NlPlanningRequestProcessor,
|
|
113
|
+
NlPlanningResponseProcessor
|
|
114
|
+
});
|
|
@@ -73,7 +73,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
|
|
|
73
73
|
}
|
|
74
74
|
const approvals = collectApprovals(
|
|
75
75
|
events,
|
|
76
|
-
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
|
|
76
|
+
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
|
|
77
|
+
agent.name
|
|
77
78
|
);
|
|
78
79
|
if (approvals.size === 0) {
|
|
79
80
|
return;
|
|
@@ -134,7 +135,7 @@ function eventsInScope(invocationContext) {
|
|
|
134
135
|
);
|
|
135
136
|
}
|
|
136
137
|
__name(eventsInScope, "eventsInScope");
|
|
137
|
-
function collectApprovals(events, allowPlainText) {
|
|
138
|
+
function collectApprovals(events, allowPlainText, agentName) {
|
|
138
139
|
const approvals = /* @__PURE__ */ new Map();
|
|
139
140
|
const latestUserEvent = findLatestUserEvent(events);
|
|
140
141
|
if (!latestUserEvent) {
|
|
@@ -153,7 +154,7 @@ function collectApprovals(events, allowPlainText) {
|
|
|
153
154
|
);
|
|
154
155
|
}
|
|
155
156
|
if (approvals.size === 0 && allowPlainText) {
|
|
156
|
-
return mapPlainTextConfirmation(events);
|
|
157
|
+
return mapPlainTextConfirmation(events, agentName);
|
|
157
158
|
}
|
|
158
159
|
return approvals;
|
|
159
160
|
}
|
|
@@ -185,6 +186,9 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
185
186
|
functionCallId: functionCall.id
|
|
186
187
|
});
|
|
187
188
|
}
|
|
189
|
+
import_logger.logger.debug(
|
|
190
|
+
`Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
|
|
191
|
+
);
|
|
188
192
|
continue;
|
|
189
193
|
}
|
|
190
194
|
const pinned = pinnedCall(functionCall);
|
|
@@ -197,7 +201,7 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
197
201
|
functionCallId: functionCall.id
|
|
198
202
|
});
|
|
199
203
|
}
|
|
200
|
-
if (hasRespondedAfter(events, pinned.id, index)) {
|
|
204
|
+
if (hasRespondedAfter(events, pinned.id, index, agentName)) {
|
|
201
205
|
continue;
|
|
202
206
|
}
|
|
203
207
|
candidates.push({ pinned, confirmation });
|
|
@@ -257,16 +261,16 @@ function agentAuthoredCalls(events, agentName) {
|
|
|
257
261
|
}
|
|
258
262
|
__name(agentAuthoredCalls, "agentAuthoredCalls");
|
|
259
263
|
function dynamicallyRequestedCallIds(events, agentName) {
|
|
264
|
+
var _a;
|
|
260
265
|
const requested = /* @__PURE__ */ new Set();
|
|
261
266
|
for (const event of events) {
|
|
262
267
|
if (event.author !== agentName) {
|
|
263
268
|
continue;
|
|
264
269
|
}
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
+
for (const functionCallId of Object.keys(
|
|
271
|
+
(_a = event.actions.requestedToolConfirmations) != null ? _a : {}
|
|
272
|
+
)) {
|
|
273
|
+
requested.add(functionCallId);
|
|
270
274
|
}
|
|
271
275
|
}
|
|
272
276
|
return requested;
|
|
@@ -284,9 +288,9 @@ function pinnedCall(functionCall) {
|
|
|
284
288
|
return pinned;
|
|
285
289
|
}
|
|
286
290
|
__name(pinnedCall, "pinnedCall");
|
|
287
|
-
function hasRespondedAfter(events, pinnedCallId, gateIndex) {
|
|
291
|
+
function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
|
|
288
292
|
return events.slice(gateIndex + 1).some(
|
|
289
|
-
(event) => (0, import_event.getFunctionResponses)(event).some(
|
|
293
|
+
(event) => event.author === agentName && (0, import_event.getFunctionResponses)(event).some(
|
|
290
294
|
(functionResponse) => functionResponse.id === pinnedCallId
|
|
291
295
|
)
|
|
292
296
|
);
|
|
@@ -323,7 +327,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
|
|
|
323
327
|
"cancel",
|
|
324
328
|
"cancelled"
|
|
325
329
|
]);
|
|
326
|
-
function mapPlainTextConfirmation(events) {
|
|
330
|
+
function mapPlainTextConfirmation(events, agentName) {
|
|
327
331
|
var _a, _b;
|
|
328
332
|
const none = /* @__PURE__ */ new Map();
|
|
329
333
|
let turnIndex = -1;
|
|
@@ -361,6 +365,9 @@ function mapPlainTextConfirmation(events) {
|
|
|
361
365
|
if (event.author === "user") {
|
|
362
366
|
break;
|
|
363
367
|
}
|
|
368
|
+
if (event.author !== agentName) {
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
364
371
|
for (const fc of (0, import_event.getFunctionCalls)(event)) {
|
|
365
372
|
if (fc.name === import_functions.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
|
|
366
373
|
pendingId = fc.id;
|
|
@@ -30,7 +30,6 @@ __export(request_input_llm_request_processor_exports, {
|
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(request_input_llm_request_processor_exports);
|
|
32
32
|
var import_event = require("../../events/event.js");
|
|
33
|
-
var import_tool_confirmation = require("../../tools/tool_confirmation.js");
|
|
34
33
|
var import_async_queue = require("../../utils/async_queue.js");
|
|
35
34
|
var import_node_tool = require("../../workflow/nodes/node_tool.js");
|
|
36
35
|
var import_hitl_utils = require("../../workflow/utils/hitl_utils.js");
|
|
@@ -90,12 +89,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
90
89
|
if (Object.keys(pending).length === 0) {
|
|
91
90
|
return;
|
|
92
91
|
}
|
|
93
|
-
const
|
|
92
|
+
const resumeInputsDict = {};
|
|
94
93
|
for (const id of Object.keys(pending)) {
|
|
95
|
-
|
|
96
|
-
confirmed: true,
|
|
97
|
-
payload: resumeInputs
|
|
98
|
-
});
|
|
94
|
+
resumeInputsDict[id] = resumeInputs;
|
|
99
95
|
}
|
|
100
96
|
const eventQueue = new import_async_queue.AsyncQueue();
|
|
101
97
|
invocationContext.eventQueue = eventQueue;
|
|
@@ -108,7 +104,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
108
104
|
beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
|
|
109
105
|
afterToolCallbacks: agent.canonicalAfterToolCallbacks,
|
|
110
106
|
filters: new Set(Object.keys(pending)),
|
|
111
|
-
|
|
107
|
+
resumeInputsDict
|
|
112
108
|
});
|
|
113
109
|
} finally {
|
|
114
110
|
eventQueue.close();
|
|
@@ -78,6 +78,12 @@ const _ReadonlyContext = class _ReadonlyContext {
|
|
|
78
78
|
{}
|
|
79
79
|
);
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
83
|
+
*/
|
|
84
|
+
get a2aMetadata() {
|
|
85
|
+
return this.invocationContext.a2aMetadata;
|
|
86
|
+
}
|
|
81
87
|
};
|
|
82
88
|
__name(_ReadonlyContext, "ReadonlyContext");
|
|
83
89
|
let ReadonlyContext = _ReadonlyContext;
|
|
@@ -37,7 +37,7 @@ var import_failover_utils = require("../utils/failover_utils.js");
|
|
|
37
37
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
38
|
*/
|
|
39
39
|
var _a, _b;
|
|
40
|
-
const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
|
|
40
|
+
const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
|
|
41
41
|
function isRoutedAgent(obj) {
|
|
42
42
|
return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
|
|
43
43
|
}
|
|
@@ -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;
|
|
@@ -82,9 +82,7 @@ const _GcsArtifactService = class _GcsArtifactService {
|
|
|
82
82
|
version
|
|
83
83
|
})
|
|
84
84
|
);
|
|
85
|
-
const customMetadata =
|
|
86
|
-
...request.customMetadata
|
|
87
|
-
};
|
|
85
|
+
const customMetadata = stringifyMetadataValues(request.customMetadata);
|
|
88
86
|
if (request.artifact.inlineData) {
|
|
89
87
|
if (request.artifact.inlineData.displayName) {
|
|
90
88
|
customMetadata[GCS_DISPLAY_NAME_METADATA_KEY] = request.artifact.inlineData.displayName;
|
|
@@ -208,10 +206,9 @@ const _GcsArtifactService = class _GcsArtifactService {
|
|
|
208
206
|
const [files] = await bucket.getFiles({ prefix: searchPrefix });
|
|
209
207
|
const versions = [];
|
|
210
208
|
for (const file of files) {
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
versions.push(v);
|
|
209
|
+
const suffix = file.name.slice(searchPrefix.length);
|
|
210
|
+
if (/^\d+$/.test(suffix)) {
|
|
211
|
+
versions.push(Number(suffix));
|
|
215
212
|
}
|
|
216
213
|
}
|
|
217
214
|
return versions.sort((a, b) => a - b);
|
|
@@ -277,6 +274,15 @@ function getFileName({
|
|
|
277
274
|
return version !== void 0 ? `${prefix}/${version}` : prefix;
|
|
278
275
|
}
|
|
279
276
|
__name(getFileName, "getFileName");
|
|
277
|
+
function stringifyMetadataValues(customMetadata) {
|
|
278
|
+
return Object.fromEntries(
|
|
279
|
+
Object.entries(customMetadata != null ? customMetadata : {}).map(([key, value]) => [
|
|
280
|
+
key,
|
|
281
|
+
String(value)
|
|
282
|
+
])
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
__name(stringifyMetadataValues, "stringifyMetadataValues");
|
|
280
286
|
function extractArtifactKeys(files, fileNamePrefix, keyPrefix = "") {
|
|
281
287
|
const keys = /* @__PURE__ */ new Set();
|
|
282
288
|
for (const file of files) {
|
|
@@ -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
|
+
});
|
|
@@ -9,6 +9,7 @@ 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 });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -24,7 +25,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
25
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
26
|
var auth_credential_exports = {};
|
|
26
27
|
__export(auth_credential_exports, {
|
|
27
|
-
AuthCredentialTypes: () => AuthCredentialTypes
|
|
28
|
+
AuthCredentialTypes: () => AuthCredentialTypes,
|
|
29
|
+
isAuthCredential: () => isAuthCredential
|
|
28
30
|
});
|
|
29
31
|
module.exports = __toCommonJS(auth_credential_exports);
|
|
30
32
|
/**
|
|
@@ -40,7 +42,15 @@ var AuthCredentialTypes = /* @__PURE__ */ ((AuthCredentialTypes2) => {
|
|
|
40
42
|
AuthCredentialTypes2["SERVICE_ACCOUNT"] = "serviceAccount";
|
|
41
43
|
return AuthCredentialTypes2;
|
|
42
44
|
})(AuthCredentialTypes || {});
|
|
45
|
+
const AUTH_CREDENTIAL_TYPES = new Set(
|
|
46
|
+
Object.values(AuthCredentialTypes)
|
|
47
|
+
);
|
|
48
|
+
function isAuthCredential(value) {
|
|
49
|
+
return typeof value === "object" && value !== null && "authType" in value && AUTH_CREDENTIAL_TYPES.has(value.authType);
|
|
50
|
+
}
|
|
51
|
+
__name(isAuthCredential, "isAuthCredential");
|
|
43
52
|
// Annotate the CommonJS export names for ESM import in node:
|
|
44
53
|
0 && (module.exports = {
|
|
45
|
-
AuthCredentialTypes
|
|
54
|
+
AuthCredentialTypes,
|
|
55
|
+
isAuthCredential
|
|
46
56
|
});
|
|
@@ -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,12 +145,12 @@ 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
|
-
|
|
152
|
-
|
|
153
|
-
};
|
|
151
|
+
const output = lastPart.codeExecutionResult.output;
|
|
152
|
+
const text = output == null ? "" : executionResultDelimiters[0] + output + executionResultDelimiters[1];
|
|
153
|
+
content.parts[content.parts.length - 1] = { text };
|
|
154
154
|
content.role = "user";
|
|
155
155
|
}
|
|
156
156
|
}
|