@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
|
@@ -17,15 +17,37 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
17
17
|
* SPDX-License-Identifier: Apache-2.0
|
|
18
18
|
*/
|
|
19
19
|
import { experimental } from "../../utils/experimental.js";
|
|
20
|
+
import { openApiSchemaToGeminiSchema } from "../../utils/gemini_schema_util.js";
|
|
20
21
|
import { BaseTool } from "../base_tool.js";
|
|
21
22
|
import { applyCredential } from "./auth/auth_helpers.js";
|
|
22
23
|
import {
|
|
23
24
|
OperationParser
|
|
24
25
|
} from "./openapi_spec_parser/operation_parser.js";
|
|
25
26
|
import { ToolAuthHandler } from "./openapi_spec_parser/tool_auth_handler.js";
|
|
27
|
+
const MAX_TOOL_NAME_LENGTH = 60;
|
|
28
|
+
const SECURITY_SCHEME_TYPES = [
|
|
29
|
+
"apiKey",
|
|
30
|
+
"http",
|
|
31
|
+
"oauth2",
|
|
32
|
+
"openIdConnect"
|
|
33
|
+
];
|
|
34
|
+
function readSchemeType(value) {
|
|
35
|
+
return typeof value === "object" && value !== null && "type" in value ? value.type : void 0;
|
|
36
|
+
}
|
|
37
|
+
__name(readSchemeType, "readSchemeType");
|
|
38
|
+
function isSecurityScheme(value) {
|
|
39
|
+
const type = readSchemeType(value);
|
|
40
|
+
return typeof type === "string" && SECURITY_SCHEME_TYPES.includes(type);
|
|
41
|
+
}
|
|
42
|
+
__name(isSecurityScheme, "isSecurityScheme");
|
|
43
|
+
function serializeCookieHeader(cookies) {
|
|
44
|
+
return Object.entries(cookies).map(([name, value]) => `${name}=${encodeURIComponent(value)}`).join("; ");
|
|
45
|
+
}
|
|
46
|
+
__name(serializeCookieHeader, "serializeCookieHeader");
|
|
26
47
|
let RestApiTool = class extends BaseTool {
|
|
27
48
|
constructor(name, description, endpoint, operation, authScheme, authCredential, options = {}) {
|
|
28
|
-
|
|
49
|
+
var _a;
|
|
50
|
+
super({ name: name.slice(0, MAX_TOOL_NAME_LENGTH), description });
|
|
29
51
|
this.endpoint = endpoint;
|
|
30
52
|
this.operation = operation;
|
|
31
53
|
this.authScheme = authScheme;
|
|
@@ -34,7 +56,7 @@ let RestApiTool = class extends BaseTool {
|
|
|
34
56
|
this.authCredential = authCredential;
|
|
35
57
|
this.headerProvider = options.headerProvider;
|
|
36
58
|
this.credentialKey = options.credentialKey;
|
|
37
|
-
this.operationParser = new OperationParser(operation, options);
|
|
59
|
+
this.operationParser = (_a = options.operationParser) != null ? _a : new OperationParser(operation, options);
|
|
38
60
|
}
|
|
39
61
|
configureAuthScheme(authScheme) {
|
|
40
62
|
this.authScheme = authScheme;
|
|
@@ -46,14 +68,16 @@ let RestApiTool = class extends BaseTool {
|
|
|
46
68
|
this.credentialKey = credentialKey;
|
|
47
69
|
}
|
|
48
70
|
_getDeclaration() {
|
|
49
|
-
const schema = this.operationParser.getJsonSchema();
|
|
50
71
|
return {
|
|
51
72
|
name: this.name,
|
|
52
73
|
description: this.description,
|
|
53
|
-
parameters:
|
|
74
|
+
parameters: openApiSchemaToGeminiSchema(
|
|
75
|
+
this.operationParser.getJsonSchema()
|
|
76
|
+
)
|
|
54
77
|
};
|
|
55
78
|
}
|
|
56
79
|
async runAsync(request) {
|
|
80
|
+
var _a;
|
|
57
81
|
const context = request.toolContext;
|
|
58
82
|
const args = request.args;
|
|
59
83
|
const authHandler = ToolAuthHandler.fromToolContext(
|
|
@@ -75,7 +99,8 @@ let RestApiTool = class extends BaseTool {
|
|
|
75
99
|
url: initialUrl,
|
|
76
100
|
headers,
|
|
77
101
|
body: parsedBody,
|
|
78
|
-
bodyData
|
|
102
|
+
bodyData,
|
|
103
|
+
cookies
|
|
79
104
|
} = prepareRequestParams(
|
|
80
105
|
this.endpoint,
|
|
81
106
|
this.operationParser.getParameters(),
|
|
@@ -91,30 +116,36 @@ let RestApiTool = class extends BaseTool {
|
|
|
91
116
|
initialUrl,
|
|
92
117
|
headers,
|
|
93
118
|
credential,
|
|
94
|
-
this.authScheme
|
|
119
|
+
(_a = authResult.authScheme) != null ? _a : this.authScheme
|
|
95
120
|
);
|
|
96
121
|
if (this.headerProvider) {
|
|
97
122
|
const providerHeaders = this.headerProvider(context);
|
|
98
123
|
Object.assign(headers, providerHeaders);
|
|
99
124
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
125
|
+
const hasCookieHeader = Object.keys(headers).some(
|
|
126
|
+
(header) => header.toLowerCase() === "cookie"
|
|
127
|
+
);
|
|
128
|
+
if (Object.keys(cookies).length > 0 && !hasCookieHeader) {
|
|
129
|
+
headers["Cookie"] = serializeCookieHeader(cookies);
|
|
130
|
+
}
|
|
131
|
+
const response = await globalThis.fetch(url, {
|
|
132
|
+
method,
|
|
133
|
+
headers,
|
|
134
|
+
// eslint-disable-next-line no-undef
|
|
135
|
+
body
|
|
136
|
+
});
|
|
137
|
+
if (response.status >= 400) {
|
|
138
|
+
const errorDetails = await response.text();
|
|
114
139
|
return {
|
|
115
|
-
error: `
|
|
140
|
+
error: `Tool ${this.name} execution failed. Analyze this execution error and your inputs. Retry with adjustments if applicable. But make sure don't retry more than 3 times. Execution Error: ${errorDetails}`
|
|
116
141
|
};
|
|
117
142
|
}
|
|
143
|
+
const text = await response.text();
|
|
144
|
+
try {
|
|
145
|
+
return JSON.parse(text);
|
|
146
|
+
} catch {
|
|
147
|
+
return { text };
|
|
148
|
+
}
|
|
118
149
|
}
|
|
119
150
|
};
|
|
120
151
|
__name(RestApiTool, "RestApiTool");
|
|
@@ -148,6 +179,7 @@ __name(encodePathParamValue, "encodePathParamValue");
|
|
|
148
179
|
function prepareRequestParams(endpoint, parameters, args) {
|
|
149
180
|
const headers = {};
|
|
150
181
|
const queryParams = new URLSearchParams();
|
|
182
|
+
const cookies = {};
|
|
151
183
|
let body = void 0;
|
|
152
184
|
const paramsMap = new Map(parameters.map((p) => [p.name, p]));
|
|
153
185
|
const pathParams = {};
|
|
@@ -163,9 +195,13 @@ function prepareRequestParams(endpoint, parameters, args) {
|
|
|
163
195
|
String(argValue)
|
|
164
196
|
);
|
|
165
197
|
} else if (location === "query") {
|
|
166
|
-
|
|
198
|
+
if (argValue !== void 0 && argValue !== null && argValue !== "") {
|
|
199
|
+
queryParams.append(originalName, String(argValue));
|
|
200
|
+
}
|
|
167
201
|
} else if (location === "header") {
|
|
168
202
|
headers[originalName] = String(argValue);
|
|
203
|
+
} else if (location === "cookie") {
|
|
204
|
+
cookies[originalName] = String(argValue);
|
|
169
205
|
} else if (location === "body") {
|
|
170
206
|
if (originalName === "body" || originalName === "array" || originalName === "") {
|
|
171
207
|
body = argValue;
|
|
@@ -178,7 +214,8 @@ function prepareRequestParams(endpoint, parameters, args) {
|
|
|
178
214
|
/\{([^{}]+)\}/g,
|
|
179
215
|
(placeholder, name) => Object.hasOwn(pathParams, name) ? pathParams[name] : placeholder
|
|
180
216
|
);
|
|
181
|
-
|
|
217
|
+
const baseUrl = endpoint.baseUrl.endsWith("/") ? endpoint.baseUrl.slice(0, -1) : endpoint.baseUrl;
|
|
218
|
+
let url = `${baseUrl}${resolvedPath}`;
|
|
182
219
|
const urlParts = url.split("?");
|
|
183
220
|
if (urlParts.length > 1) {
|
|
184
221
|
const pathQueryParams = new URLSearchParams(urlParts[1]);
|
|
@@ -191,34 +228,39 @@ function prepareRequestParams(endpoint, parameters, args) {
|
|
|
191
228
|
if (queryString) {
|
|
192
229
|
url += `?${queryString}`;
|
|
193
230
|
}
|
|
194
|
-
return { url, headers, body, bodyData };
|
|
231
|
+
return { url, headers, body, bodyData, cookies };
|
|
195
232
|
}
|
|
196
233
|
__name(prepareRequestParams, "prepareRequestParams");
|
|
234
|
+
function isRawBody(value) {
|
|
235
|
+
return typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer || value instanceof Blob;
|
|
236
|
+
}
|
|
237
|
+
__name(isRawBody, "isRawBody");
|
|
197
238
|
function prepareRequestBody(requestBody, body, bodyData, headers) {
|
|
198
239
|
const finalData = body !== void 0 ? body : Object.keys(bodyData).length > 0 ? bodyData : void 0;
|
|
199
240
|
if (requestBody && "content" in requestBody) {
|
|
200
241
|
const content = requestBody.content;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
242
|
+
const mimeType = Object.keys(content)[0];
|
|
243
|
+
if (mimeType && finalData !== void 0) {
|
|
244
|
+
if (mimeType === "application/json" || mimeType.endsWith("+json")) {
|
|
245
|
+
headers["Content-Type"] = mimeType;
|
|
246
|
+
return typeof finalData === "string" ? finalData : JSON.stringify(finalData);
|
|
247
|
+
} else if (mimeType === "application/x-www-form-urlencoded") {
|
|
248
|
+
return new URLSearchParams(finalData);
|
|
249
|
+
} else if (mimeType === "multipart/form-data") {
|
|
250
|
+
const formData = new FormData();
|
|
251
|
+
if (typeof finalData === "object" && finalData !== null) {
|
|
252
|
+
for (const [key, value] of Object.entries(finalData)) {
|
|
253
|
+
formData.append(key, String(value));
|
|
214
254
|
}
|
|
215
|
-
return formData;
|
|
216
|
-
} else if (mimeType === "text/plain") {
|
|
217
|
-
headers["Content-Type"] = mimeType;
|
|
218
|
-
return String(finalData);
|
|
219
255
|
}
|
|
256
|
+
return formData;
|
|
257
|
+
} else if (mimeType === "application/octet-stream") {
|
|
258
|
+
headers["Content-Type"] = mimeType;
|
|
259
|
+
return isRawBody(finalData) ? finalData : String(finalData);
|
|
260
|
+
} else if (mimeType === "text/plain") {
|
|
261
|
+
headers["Content-Type"] = mimeType;
|
|
262
|
+
return String(finalData);
|
|
220
263
|
}
|
|
221
|
-
break;
|
|
222
264
|
}
|
|
223
265
|
} else if (finalData !== void 0) {
|
|
224
266
|
headers["Content-Type"] = "application/json";
|
|
@@ -228,20 +270,37 @@ function prepareRequestBody(requestBody, body, bodyData, headers) {
|
|
|
228
270
|
}
|
|
229
271
|
__name(prepareRequestBody, "prepareRequestBody");
|
|
230
272
|
function createRestApiTool(parsed, options = {}) {
|
|
273
|
+
var _a, _b;
|
|
274
|
+
const operationParser = parsed.parameters ? OperationParser.load(
|
|
275
|
+
parsed.operation,
|
|
276
|
+
parsed.parameters,
|
|
277
|
+
parsed.returnValue
|
|
278
|
+
) : new OperationParser(parsed.operation, options);
|
|
231
279
|
return new RestApiTool(
|
|
232
|
-
parsed.name,
|
|
233
|
-
parsed.description,
|
|
280
|
+
(_a = parsed.name) != null ? _a : operationParser.getFunctionName(),
|
|
281
|
+
(_b = parsed.description) != null ? _b : operationParser.getDescription(),
|
|
234
282
|
parsed.endpoint,
|
|
235
283
|
parsed.operation,
|
|
236
284
|
parsed.authScheme,
|
|
237
|
-
|
|
238
|
-
options
|
|
285
|
+
parsed.authCredential,
|
|
286
|
+
{ ...options, operationParser }
|
|
239
287
|
);
|
|
240
288
|
}
|
|
241
289
|
__name(createRestApiTool, "createRestApiTool");
|
|
290
|
+
function createRestApiToolFromJson(parsedOperationJson) {
|
|
291
|
+
const parsed = JSON.parse(parsedOperationJson);
|
|
292
|
+
if (parsed.authScheme && !isSecurityScheme(parsed.authScheme)) {
|
|
293
|
+
throw new Error(
|
|
294
|
+
`Unsupported security scheme type: ${JSON.stringify(readSchemeType(parsed.authScheme))}. Expected one of: ${SECURITY_SCHEME_TYPES.join(", ")}.`
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
return createRestApiTool(parsed);
|
|
298
|
+
}
|
|
299
|
+
__name(createRestApiToolFromJson, "createRestApiToolFromJson");
|
|
242
300
|
export {
|
|
243
301
|
RestApiTool,
|
|
244
302
|
createRestApiTool,
|
|
303
|
+
createRestApiToolFromJson,
|
|
245
304
|
prepareRequestBody,
|
|
246
305
|
prepareRequestParams
|
|
247
306
|
};
|
|
@@ -16,7 +16,7 @@ const _PreloadMemoryTool = class _PreloadMemoryTool extends BaseTool {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
super({
|
|
18
18
|
// Name and description are not used because this tool only
|
|
19
|
-
// changes
|
|
19
|
+
// changes the LlmRequest.
|
|
20
20
|
name: "preload_memory",
|
|
21
21
|
description: "preload_memory"
|
|
22
22
|
});
|
|
@@ -0,0 +1,33 @@
|
|
|
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 { Type } from "@google/genai";
|
|
11
|
+
import { BaseTool } from "../base_tool.js";
|
|
12
|
+
const _BaseRetrievalTool = class _BaseRetrievalTool extends BaseTool {
|
|
13
|
+
_getDeclaration() {
|
|
14
|
+
return {
|
|
15
|
+
name: this.name,
|
|
16
|
+
description: this.description,
|
|
17
|
+
parameters: {
|
|
18
|
+
type: Type.OBJECT,
|
|
19
|
+
properties: {
|
|
20
|
+
query: {
|
|
21
|
+
type: Type.STRING,
|
|
22
|
+
description: "The query to retrieve."
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
__name(_BaseRetrievalTool, "BaseRetrievalTool");
|
|
30
|
+
let BaseRetrievalTool = _BaseRetrievalTool;
|
|
31
|
+
export {
|
|
32
|
+
BaseRetrievalTool
|
|
33
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
26
|
+
/**
|
|
27
|
+
* @license
|
|
28
|
+
* Copyright 2026 Google LLC
|
|
29
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
30
|
+
*/
|
|
31
|
+
import { logger } from "../../utils/logger.js";
|
|
32
|
+
import {
|
|
33
|
+
LlamaIndexRetrieval
|
|
34
|
+
} from "./llama_index_retrieval.js";
|
|
35
|
+
const LLAMA_INDEX_MODULE = "llamaindex";
|
|
36
|
+
const DIRECTORY_READER_MODULE = "@llamaindex/readers/directory";
|
|
37
|
+
async function importOptional(specifier) {
|
|
38
|
+
try {
|
|
39
|
+
return await Promise.resolve().then(() => __toESM(require(specifier)));
|
|
40
|
+
} catch (cause) {
|
|
41
|
+
throw new Error(
|
|
42
|
+
`FilesRetrieval needs the optional package '${specifier}', which is not installed. Install '${LLAMA_INDEX_MODULE}' and '@llamaindex/readers', or build the retriever yourself and pass it to LlamaIndexRetrieval.`,
|
|
43
|
+
{ cause }
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
__name(importOptional, "importOptional");
|
|
48
|
+
const _FilesRetrieval = class _FilesRetrieval extends LlamaIndexRetrieval {
|
|
49
|
+
constructor(params) {
|
|
50
|
+
super({
|
|
51
|
+
name: params.name,
|
|
52
|
+
description: params.description,
|
|
53
|
+
retriever: params.retriever
|
|
54
|
+
});
|
|
55
|
+
this.inputDir = params.inputDir;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Indexes every file under `inputDir` and returns a tool that retrieves
|
|
59
|
+
* from it.
|
|
60
|
+
*
|
|
61
|
+
* Requires the optional `llamaindex` and `@llamaindex/readers` packages,
|
|
62
|
+
* and a configured LlamaIndex embedding model.
|
|
63
|
+
*/
|
|
64
|
+
static async create(params) {
|
|
65
|
+
logger.info(`Loading data from ${params.inputDir}`);
|
|
66
|
+
const { SimpleDirectoryReader } = await importOptional(
|
|
67
|
+
DIRECTORY_READER_MODULE
|
|
68
|
+
);
|
|
69
|
+
const { VectorStoreIndex } = await importOptional(LLAMA_INDEX_MODULE);
|
|
70
|
+
const documents = await new SimpleDirectoryReader().loadData({
|
|
71
|
+
directoryPath: params.inputDir
|
|
72
|
+
});
|
|
73
|
+
const index = await VectorStoreIndex.fromDocuments(documents);
|
|
74
|
+
return new _FilesRetrieval({ ...params, retriever: index.asRetriever() });
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
__name(_FilesRetrieval, "FilesRetrieval");
|
|
78
|
+
let FilesRetrieval = _FilesRetrieval;
|
|
79
|
+
export {
|
|
80
|
+
FilesRetrieval
|
|
81
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { BaseRetrievalTool } from "./base_retrieval_tool.js";
|
|
11
|
+
const _LlamaIndexRetrieval = class _LlamaIndexRetrieval extends BaseRetrievalTool {
|
|
12
|
+
constructor(params) {
|
|
13
|
+
super({ name: params.name, description: params.description });
|
|
14
|
+
this.retriever = params.retriever;
|
|
15
|
+
}
|
|
16
|
+
async runAsync({ args }) {
|
|
17
|
+
var _a;
|
|
18
|
+
const nodes = await this.retriever.retrieve(String((_a = args["query"]) != null ? _a : ""));
|
|
19
|
+
const top = nodes[0];
|
|
20
|
+
if (!top) {
|
|
21
|
+
throw new Error(`${this.name} retrieved no results for the query.`);
|
|
22
|
+
}
|
|
23
|
+
return top.node.text;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
__name(_LlamaIndexRetrieval, "LlamaIndexRetrieval");
|
|
27
|
+
let LlamaIndexRetrieval = _LlamaIndexRetrieval;
|
|
28
|
+
export {
|
|
29
|
+
LlamaIndexRetrieval
|
|
30
|
+
};
|
|
@@ -74,7 +74,9 @@ let SkillToolset = class extends BaseToolset {
|
|
|
74
74
|
return [...this.tools, ...dynamicTools];
|
|
75
75
|
}
|
|
76
76
|
async close() {
|
|
77
|
+
var _a, _b;
|
|
77
78
|
this.fetchedSkillCache.clear();
|
|
79
|
+
await ((_b = (_a = this.registry) == null ? void 0 : _a.close) == null ? void 0 : _b.call(_a));
|
|
78
80
|
}
|
|
79
81
|
getSkill(name) {
|
|
80
82
|
return this.skills[name];
|
|
@@ -5,3 +5,11 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
5
5
|
* Copyright 2026 Google LLC
|
|
6
6
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
7
|
*/
|
|
8
|
+
import {
|
|
9
|
+
Context,
|
|
10
|
+
Context as Context2
|
|
11
|
+
} from "../agents/context.js";
|
|
12
|
+
export {
|
|
13
|
+
Context as CallbackContext,
|
|
14
|
+
Context2 as ToolContext
|
|
15
|
+
};
|
|
@@ -8,15 +8,12 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
8
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
*/
|
|
10
10
|
import { isGemini2OrAbove, isGeminiModel } from "../utils/model_name.js";
|
|
11
|
-
import {
|
|
12
|
-
const _UrlContextTool = class _UrlContextTool extends
|
|
11
|
+
import { BuiltInTool } from "./built_in_tool.js";
|
|
12
|
+
const _UrlContextTool = class _UrlContextTool extends BuiltInTool {
|
|
13
13
|
constructor() {
|
|
14
14
|
super({ name: "url_context", description: "URL Context Tool" });
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
return Promise.resolve();
|
|
18
|
-
}
|
|
19
|
-
async processLlmRequest({
|
|
16
|
+
async applyBuiltInConfig({
|
|
20
17
|
llmRequest
|
|
21
18
|
}) {
|
|
22
19
|
if (!llmRequest.model) {
|
|
@@ -7,15 +7,14 @@ 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 {
|
|
10
|
+
import { logger } from "../utils/logger.js";
|
|
11
11
|
import {
|
|
12
12
|
isGemini1Model,
|
|
13
13
|
isGeminiModel,
|
|
14
14
|
isGeminiModelIdCheckDisabled
|
|
15
15
|
} from "../utils/model_name.js";
|
|
16
|
-
import {
|
|
17
|
-
const
|
|
18
|
-
const _VertexAiSearchTool = class _VertexAiSearchTool extends BaseTool {
|
|
16
|
+
import { BuiltInTool } from "./built_in_tool.js";
|
|
17
|
+
const _VertexAiSearchTool = class _VertexAiSearchTool extends BuiltInTool {
|
|
19
18
|
constructor(params) {
|
|
20
19
|
super({ name: "vertex_ai_search", description: "vertex_ai_search" });
|
|
21
20
|
const {
|
|
@@ -43,9 +42,6 @@ const _VertexAiSearchTool = class _VertexAiSearchTool extends BaseTool {
|
|
|
43
42
|
this.maxResults = maxResults;
|
|
44
43
|
this.bypassMultiToolsLimit = bypassMultiToolsLimit;
|
|
45
44
|
}
|
|
46
|
-
runAsync() {
|
|
47
|
-
return Promise.resolve();
|
|
48
|
-
}
|
|
49
45
|
/**
|
|
50
46
|
* Builds the VertexAISearch configuration.
|
|
51
47
|
*
|
|
@@ -62,7 +58,7 @@ const _VertexAiSearchTool = class _VertexAiSearchTool extends BaseTool {
|
|
|
62
58
|
maxResults: this.maxResults
|
|
63
59
|
};
|
|
64
60
|
}
|
|
65
|
-
async
|
|
61
|
+
async applyBuiltInConfig({
|
|
66
62
|
toolContext,
|
|
67
63
|
llmRequest
|
|
68
64
|
}) {
|
|
@@ -7,8 +7,8 @@ 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 {
|
|
11
|
-
const _VertexRagRetrievalTool = class _VertexRagRetrievalTool extends
|
|
10
|
+
import { BuiltInTool } from "./built_in_tool.js";
|
|
11
|
+
const _VertexRagRetrievalTool = class _VertexRagRetrievalTool extends BuiltInTool {
|
|
12
12
|
constructor(config) {
|
|
13
13
|
super({
|
|
14
14
|
name: "vertex_rag_retrieval",
|
|
@@ -16,14 +16,7 @@ const _VertexRagRetrievalTool = class _VertexRagRetrievalTool extends BaseTool {
|
|
|
16
16
|
});
|
|
17
17
|
this.vertexRagStore = config;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
* This tool is executed server-side by the Vertex AI RAG Engine.
|
|
21
|
-
* Local execution is not required.
|
|
22
|
-
*/
|
|
23
|
-
runAsync() {
|
|
24
|
-
return Promise.resolve();
|
|
25
|
-
}
|
|
26
|
-
async processLlmRequest({
|
|
19
|
+
async applyBuiltInConfig({
|
|
27
20
|
llmRequest
|
|
28
21
|
}) {
|
|
29
22
|
llmRequest.config = llmRequest.config || {};
|
|
@@ -0,0 +1,131 @@
|
|
|
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 { Type } from "@google/genai";
|
|
11
|
+
import { toGeminiSchema } from "../../utils/gemini_schema_util.js";
|
|
12
|
+
import { logger } from "../../utils/logger.js";
|
|
13
|
+
import { BaseTool } from "../base_tool.js";
|
|
14
|
+
import {
|
|
15
|
+
getModelContext
|
|
16
|
+
} from "./webmcp_types.js";
|
|
17
|
+
const argEncodingByContext = /* @__PURE__ */ new WeakMap();
|
|
18
|
+
function isArgParseFailure(value) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
let text = "";
|
|
21
|
+
if (typeof value === "string") {
|
|
22
|
+
text = value;
|
|
23
|
+
} else if (value && typeof value === "object") {
|
|
24
|
+
const candidate = value;
|
|
25
|
+
text = String((_b = (_a = candidate.error) != null ? _a : candidate.message) != null ? _b : "");
|
|
26
|
+
}
|
|
27
|
+
return /failed to parse input arguments|could not parse .*arguments/i.test(
|
|
28
|
+
text
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
__name(isArgParseFailure, "isArgParseFailure");
|
|
32
|
+
const _WebMCPTool = class _WebMCPTool extends BaseTool {
|
|
33
|
+
constructor(params) {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
super({
|
|
36
|
+
name: (_a = params.name) != null ? _a : params.tool.name,
|
|
37
|
+
description: (_b = params.tool.description) != null ? _b : ""
|
|
38
|
+
});
|
|
39
|
+
this.webmcpTool = params.tool;
|
|
40
|
+
this.doc = params.document;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The tool's JSON Schema as an object.
|
|
44
|
+
*
|
|
45
|
+
* `inputSchema` is specified as an object, but a browser handing back a JSON
|
|
46
|
+
* string would otherwise convert to a parameterless declaration, leaving the
|
|
47
|
+
* model no argument names to fill in — it then calls the tool with `{}`.
|
|
48
|
+
*/
|
|
49
|
+
resolveInputSchema() {
|
|
50
|
+
const raw = this.webmcpTool.inputSchema;
|
|
51
|
+
if (raw == null) return void 0;
|
|
52
|
+
if (typeof raw === "string") {
|
|
53
|
+
try {
|
|
54
|
+
const parsed = JSON.parse(raw);
|
|
55
|
+
return typeof parsed === "object" && parsed !== null ? parsed : void 0;
|
|
56
|
+
} catch {
|
|
57
|
+
logger.warn(
|
|
58
|
+
`WebMCP tool '${this.webmcpTool.name}' has an inputSchema string that is not valid JSON; exposing it with no parameters.`
|
|
59
|
+
);
|
|
60
|
+
return void 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (typeof raw === "object") return raw;
|
|
64
|
+
return void 0;
|
|
65
|
+
}
|
|
66
|
+
_getDeclaration() {
|
|
67
|
+
var _a;
|
|
68
|
+
const schema = this.resolveInputSchema();
|
|
69
|
+
const parameters = schema ? (_a = toGeminiSchema(schema)) != null ? _a : { type: Type.OBJECT, properties: {} } : { type: Type.OBJECT, properties: {} };
|
|
70
|
+
if (schema && !parameters.properties) {
|
|
71
|
+
logger.warn(
|
|
72
|
+
`WebMCP tool '${this.webmcpTool.name}' declared an inputSchema that produced no parameters; the model will be unable to pass arguments.`
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
name: this.name,
|
|
77
|
+
description: this.description,
|
|
78
|
+
parameters
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async checkRequireConfirmation() {
|
|
82
|
+
var _a;
|
|
83
|
+
return !!((_a = this.webmcpTool.annotations) == null ? void 0 : _a.consequentialHint);
|
|
84
|
+
}
|
|
85
|
+
async runAsync(request) {
|
|
86
|
+
var _a, _b;
|
|
87
|
+
const modelContext = getModelContext(this.doc);
|
|
88
|
+
if (!modelContext) {
|
|
89
|
+
throw new Error(
|
|
90
|
+
"document.modelContext is unavailable, so WebMCP tools cannot be executed. WebMCP requires a browser with the API enabled."
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
const args = (_a = request.args) != null ? _a : {};
|
|
94
|
+
const signal = (_b = request.toolContext) == null ? void 0 : _b.abortSignal;
|
|
95
|
+
const options = signal ? { signal } : void 0;
|
|
96
|
+
const invoke = /* @__PURE__ */ __name((encoding) => modelContext.executeTool(
|
|
97
|
+
this.webmcpTool,
|
|
98
|
+
encoding === "json-string" ? JSON.stringify(args) : args,
|
|
99
|
+
options
|
|
100
|
+
), "invoke");
|
|
101
|
+
const known = argEncodingByContext.get(modelContext);
|
|
102
|
+
if (known) {
|
|
103
|
+
return await invoke(known);
|
|
104
|
+
}
|
|
105
|
+
let firstResult;
|
|
106
|
+
try {
|
|
107
|
+
firstResult = await invoke("object");
|
|
108
|
+
if (!isArgParseFailure(firstResult)) {
|
|
109
|
+
argEncodingByContext.set(modelContext, "object");
|
|
110
|
+
return firstResult;
|
|
111
|
+
}
|
|
112
|
+
} catch (err) {
|
|
113
|
+
if (!isArgParseFailure(err)) throw err;
|
|
114
|
+
firstResult = err;
|
|
115
|
+
}
|
|
116
|
+
const retried = await invoke("json-string");
|
|
117
|
+
if (isArgParseFailure(retried)) {
|
|
118
|
+
return firstResult;
|
|
119
|
+
}
|
|
120
|
+
argEncodingByContext.set(modelContext, "json-string");
|
|
121
|
+
logger.debug(
|
|
122
|
+
"This browser expects JSON-string WebMCP tool arguments; using that encoding."
|
|
123
|
+
);
|
|
124
|
+
return retried;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
__name(_WebMCPTool, "WebMCPTool");
|
|
128
|
+
let WebMCPTool = _WebMCPTool;
|
|
129
|
+
export {
|
|
130
|
+
WebMCPTool
|
|
131
|
+
};
|