@google/adk 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +58 -6
- package/dist/cjs/a2a/agent_executor.js +10 -3
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +6 -5
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +2 -2
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/cjs/common.js +74 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -0
- package/dist/cjs/events/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +1 -1
- package/dist/cjs/models/base_llm.js +1 -1
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- package/dist/cjs/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +0 -6
- package/dist/cjs/utils/logger.js +15 -50
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +63 -6
- package/dist/esm/a2a/agent_executor.js +10 -3
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +6 -5
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +5 -5
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +2 -2
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/esm/common.js +73 -38
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -0
- package/dist/esm/events/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/index.js +37 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +1 -1
- package/dist/esm/models/base_llm.js +1 -1
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- package/dist/esm/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +0 -6
- package/dist/esm/utils/logger.js +14 -40
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- package/dist/types/a2a/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +9 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +13 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +22 -20
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event_actions.d.ts +13 -0
- package/dist/types/index.d.ts +22 -1
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +12 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
- package/dist/types/runner/runner.d.ts +7 -8
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/tools/base_tool.d.ts +11 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
- package/dist/types/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/logger.d.ts +23 -1
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +17 -14
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/base_auth_provider.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/crypto_shim.js +0 -18
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/version.js +0 -11
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -1,159 +0,0 @@
|
|
|
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 { appendInstructions } from "../models/llm_request.js";
|
|
12
|
-
import { getLogger } from "../utils/logger.js";
|
|
13
|
-
import {
|
|
14
|
-
BaseTool
|
|
15
|
-
} from "./base_tool.js";
|
|
16
|
-
const logger = getLogger();
|
|
17
|
-
const GEMINI_SUPPORTED_INLINE_MIME_PREFIXES = ["image/", "audio/", "video/"];
|
|
18
|
-
const GEMINI_SUPPORTED_INLINE_MIME_TYPES = /* @__PURE__ */ new Set(["application/pdf"]);
|
|
19
|
-
const TEXT_LIKE_MIME_TYPES = /* @__PURE__ */ new Set([
|
|
20
|
-
"application/csv",
|
|
21
|
-
"application/json",
|
|
22
|
-
"application/xml"
|
|
23
|
-
]);
|
|
24
|
-
function normalizeMimeType(mimeType) {
|
|
25
|
-
if (!mimeType) {
|
|
26
|
-
return void 0;
|
|
27
|
-
}
|
|
28
|
-
return mimeType.split(";")[0].trim();
|
|
29
|
-
}
|
|
30
|
-
__name(normalizeMimeType, "normalizeMimeType");
|
|
31
|
-
function isInlineMimeTypeSupported(mimeType) {
|
|
32
|
-
const normalized = normalizeMimeType(mimeType);
|
|
33
|
-
if (!normalized) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
return GEMINI_SUPPORTED_INLINE_MIME_PREFIXES.some(
|
|
37
|
-
(prefix) => normalized.startsWith(prefix)
|
|
38
|
-
) || GEMINI_SUPPORTED_INLINE_MIME_TYPES.has(normalized);
|
|
39
|
-
}
|
|
40
|
-
__name(isInlineMimeTypeSupported, "isInlineMimeTypeSupported");
|
|
41
|
-
function asSafePartForLlm(artifact, artifactName) {
|
|
42
|
-
const inlineData = artifact.inlineData;
|
|
43
|
-
if (!inlineData) {
|
|
44
|
-
return artifact;
|
|
45
|
-
}
|
|
46
|
-
if (isInlineMimeTypeSupported(inlineData.mimeType)) {
|
|
47
|
-
return artifact;
|
|
48
|
-
}
|
|
49
|
-
const mimeType = normalizeMimeType(inlineData.mimeType) || "application/octet-stream";
|
|
50
|
-
const data = inlineData.data;
|
|
51
|
-
if (!data) {
|
|
52
|
-
return {
|
|
53
|
-
text: "[Artifact: ".concat(artifactName, ", type: ").concat(mimeType, ". No inline data was provided.]")
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
const isTextLike = mimeType.startsWith("text/") || TEXT_LIKE_MIME_TYPES.has(mimeType);
|
|
57
|
-
const decodedBuffer = Buffer.from(data, "base64");
|
|
58
|
-
if (isTextLike) {
|
|
59
|
-
try {
|
|
60
|
-
const decoded = decodedBuffer.toString("utf8");
|
|
61
|
-
return { text: decoded };
|
|
62
|
-
} catch (e) {
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const sizeKb = decodedBuffer.length / 1024;
|
|
66
|
-
return {
|
|
67
|
-
text: "[Binary artifact: ".concat(artifactName, ", type: ").concat(mimeType, ", size: ").concat(sizeKb.toFixed(1), " KB. Content cannot be displayed inline.]")
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
__name(asSafePartForLlm, "asSafePartForLlm");
|
|
71
|
-
const _LoadArtifactsTool = class _LoadArtifactsTool extends BaseTool {
|
|
72
|
-
constructor() {
|
|
73
|
-
super({
|
|
74
|
-
name: "load_artifacts",
|
|
75
|
-
description: "Loads artifacts into the session for this request.\n\nNOTE: Call when you need access to artifacts (for example, uploads saved by the web UI)."
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
_getDeclaration() {
|
|
79
|
-
return {
|
|
80
|
-
name: this.name,
|
|
81
|
-
description: this.description,
|
|
82
|
-
parameters: {
|
|
83
|
-
type: Type.OBJECT,
|
|
84
|
-
properties: {
|
|
85
|
-
artifact_names: {
|
|
86
|
-
type: Type.ARRAY,
|
|
87
|
-
items: {
|
|
88
|
-
type: Type.STRING
|
|
89
|
-
},
|
|
90
|
-
description: "The names of the artifacts to load."
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
async runAsync({ args }) {
|
|
97
|
-
const artifactNames = args["artifact_names"] || [];
|
|
98
|
-
return {
|
|
99
|
-
artifact_names: artifactNames,
|
|
100
|
-
status: "artifact contents temporarily inserted and removed. to access these artifacts, call load_artifacts tool again."
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
async processLlmRequest(request) {
|
|
104
|
-
await super.processLlmRequest(request);
|
|
105
|
-
await this.appendArtifactsToLlmRequest(
|
|
106
|
-
request.toolContext,
|
|
107
|
-
request.llmRequest
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
async appendArtifactsToLlmRequest(toolContext, llmRequest) {
|
|
111
|
-
if (!toolContext.invocationContext.artifactService) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const artifactNames = await toolContext.listArtifacts();
|
|
115
|
-
if (!artifactNames || artifactNames.length === 0) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
appendInstructions(llmRequest, [
|
|
119
|
-
"You have a list of artifacts:\n ".concat(JSON.stringify(
|
|
120
|
-
artifactNames
|
|
121
|
-
), "\n\n When the user asks questions about any of the artifacts, you should call the\n `load_artifacts` function to load the artifact. Always call load_artifacts\n before answering questions related to the artifacts, regardless of whether the\n artifacts have been loaded before. Do not depend on prior answers about the\n artifacts.")
|
|
122
|
-
]);
|
|
123
|
-
const contents = llmRequest.contents;
|
|
124
|
-
if (contents && contents.length > 0) {
|
|
125
|
-
const lastContent = contents[contents.length - 1];
|
|
126
|
-
if (lastContent.role === "user" && lastContent.parts && lastContent.parts.length > 0) {
|
|
127
|
-
const functionResponsePart = lastContent.parts[0];
|
|
128
|
-
const functionResponse = functionResponsePart.functionResponse;
|
|
129
|
-
if (functionResponse && functionResponse.name === "load_artifacts") {
|
|
130
|
-
const response = functionResponse.response || {};
|
|
131
|
-
const namesToLoad = response["artifact_names"] || [];
|
|
132
|
-
for (const artifactName of namesToLoad) {
|
|
133
|
-
let artifact = await toolContext.loadArtifact(artifactName);
|
|
134
|
-
if (!artifact && !artifactName.startsWith("user:")) {
|
|
135
|
-
const prefixedName = "user:".concat(artifactName);
|
|
136
|
-
artifact = await toolContext.loadArtifact(prefixedName);
|
|
137
|
-
}
|
|
138
|
-
if (!artifact) {
|
|
139
|
-
logger.warn('Artifact "'.concat(artifactName, '" not found, skipping'));
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
142
|
-
const artifactPart = asSafePartForLlm(artifact, artifactName);
|
|
143
|
-
llmRequest.contents.push({
|
|
144
|
-
role: "user",
|
|
145
|
-
parts: [{ text: "Artifact ".concat(artifactName, " is:") }, artifactPart]
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
__name(_LoadArtifactsTool, "LoadArtifactsTool");
|
|
154
|
-
let LoadArtifactsTool = _LoadArtifactsTool;
|
|
155
|
-
const LOAD_ARTIFACTS = new LoadArtifactsTool();
|
|
156
|
-
export {
|
|
157
|
-
LOAD_ARTIFACTS,
|
|
158
|
-
LoadArtifactsTool
|
|
159
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
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 { appendInstructions } from "../models/llm_request.js";
|
|
12
|
-
import {
|
|
13
|
-
BaseTool
|
|
14
|
-
} from "./base_tool.js";
|
|
15
|
-
const _LoadMemoryTool = class _LoadMemoryTool extends BaseTool {
|
|
16
|
-
constructor() {
|
|
17
|
-
super({
|
|
18
|
-
name: "load_memory",
|
|
19
|
-
description: "Loads the memory for the current user.\n\nNOTE: Currently this tool only uses text part from the memory."
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
_getDeclaration() {
|
|
23
|
-
return {
|
|
24
|
-
name: this.name,
|
|
25
|
-
description: this.description,
|
|
26
|
-
parameters: {
|
|
27
|
-
type: Type.OBJECT,
|
|
28
|
-
properties: {
|
|
29
|
-
query: {
|
|
30
|
-
type: Type.STRING,
|
|
31
|
-
description: "The query to load the memory for."
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
required: ["query"]
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
async runAsync({
|
|
39
|
-
args,
|
|
40
|
-
toolContext
|
|
41
|
-
}) {
|
|
42
|
-
try {
|
|
43
|
-
const query = args["query"];
|
|
44
|
-
if (!toolContext.invocationContext.memoryService) {
|
|
45
|
-
throw new Error("Memory service is not initialized.");
|
|
46
|
-
}
|
|
47
|
-
const searchMemoryResponse = await toolContext.searchMemory(query);
|
|
48
|
-
return {
|
|
49
|
-
memories: searchMemoryResponse.memories.map((m) => {
|
|
50
|
-
var _a, _b;
|
|
51
|
-
return {
|
|
52
|
-
// Join all text parts by a space, or empty string if no text parts
|
|
53
|
-
content: (_b = (_a = m.content.parts) == null ? void 0 : _a.map((p) => {
|
|
54
|
-
var _a2;
|
|
55
|
-
return (_a2 = p.text) != null ? _a2 : "";
|
|
56
|
-
}).join(" ")) != null ? _b : "",
|
|
57
|
-
author: m.author,
|
|
58
|
-
timestamp: m.timestamp
|
|
59
|
-
};
|
|
60
|
-
})
|
|
61
|
-
};
|
|
62
|
-
} catch (e) {
|
|
63
|
-
console.error("ERROR in LoadMemoryTool runAsync:", e);
|
|
64
|
-
throw e;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async processLlmRequest(request) {
|
|
68
|
-
await super.processLlmRequest(request);
|
|
69
|
-
if (!request.toolContext.invocationContext.memoryService) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
appendInstructions(request.llmRequest, [
|
|
73
|
-
"You have memory. You can use it to answer questions. If any questions need\nyou to look up the memory, you should call load_memory function with a query."
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
__name(_LoadMemoryTool, "LoadMemoryTool");
|
|
78
|
-
let LoadMemoryTool = _LoadMemoryTool;
|
|
79
|
-
const LOAD_MEMORY = new LoadMemoryTool();
|
|
80
|
-
export {
|
|
81
|
-
LOAD_MEMORY,
|
|
82
|
-
LoadMemoryTool
|
|
83
|
-
};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __defProps = Object.defineProperties;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __spreadValues = (a, b) => {
|
|
11
|
-
for (var prop in b || (b = {}))
|
|
12
|
-
if (__hasOwnProp.call(b, prop))
|
|
13
|
-
__defNormalProp(a, prop, b[prop]);
|
|
14
|
-
if (__getOwnPropSymbols)
|
|
15
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
-
if (__propIsEnum.call(b, prop))
|
|
17
|
-
__defNormalProp(a, prop, b[prop]);
|
|
18
|
-
}
|
|
19
|
-
return a;
|
|
20
|
-
};
|
|
21
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
23
|
-
/**
|
|
24
|
-
* @license
|
|
25
|
-
* Copyright 2025 Google LLC
|
|
26
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
27
|
-
*/
|
|
28
|
-
import {
|
|
29
|
-
FunctionTool
|
|
30
|
-
} from "./function_tool.js";
|
|
31
|
-
const LONG_RUNNING_INSTRUCTION = "\n\nNOTE: This is a long-running operation. Do not call this tool again if it has already returned some intermediate or pending status.";
|
|
32
|
-
const _LongRunningFunctionTool = class _LongRunningFunctionTool extends FunctionTool {
|
|
33
|
-
/**
|
|
34
|
-
* The constructor acts as the user-friendly factory.
|
|
35
|
-
* @param options The configuration for the tool.
|
|
36
|
-
*/
|
|
37
|
-
constructor(options) {
|
|
38
|
-
super(__spreadProps(__spreadValues({}, options), { isLongRunning: true }));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Returns the function declaration with an appended instruction warning the
|
|
42
|
-
* model not to re-invoke the tool while it is still running.
|
|
43
|
-
*/
|
|
44
|
-
_getDeclaration() {
|
|
45
|
-
const declaration = super._getDeclaration();
|
|
46
|
-
if (declaration.description) {
|
|
47
|
-
declaration.description += LONG_RUNNING_INSTRUCTION;
|
|
48
|
-
} else {
|
|
49
|
-
declaration.description = LONG_RUNNING_INSTRUCTION.trimStart();
|
|
50
|
-
}
|
|
51
|
-
return declaration;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
__name(_LongRunningFunctionTool, "LongRunningFunctionTool");
|
|
55
|
-
let LongRunningFunctionTool = _LongRunningFunctionTool;
|
|
56
|
-
export {
|
|
57
|
-
LongRunningFunctionTool
|
|
58
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
/**
|
|
4
|
-
* @license
|
|
5
|
-
* Copyright 2026 Google LLC
|
|
6
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
*/
|
|
8
|
-
export * from "./load_mcp_resource_tool.js";
|
|
9
|
-
export * from "./mcp_session_manager.js";
|
|
10
|
-
export * from "./mcp_tool.js";
|
|
11
|
-
export * from "./mcp_toolset.js";
|
|
@@ -1,111 +0,0 @@
|
|
|
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 { appendInstructions } from "../../models/llm_request.js";
|
|
12
|
-
import { logger } from "../../utils/logger.js";
|
|
13
|
-
import {
|
|
14
|
-
BaseTool
|
|
15
|
-
} from "../base_tool.js";
|
|
16
|
-
const _LoadMcpResourceTool = class _LoadMcpResourceTool extends BaseTool {
|
|
17
|
-
constructor(mcpToolset) {
|
|
18
|
-
super({
|
|
19
|
-
name: "load_mcp_resource",
|
|
20
|
-
description: "Loads resources from the MCP server.\n\nNOTE: Call when you need access to resources."
|
|
21
|
-
});
|
|
22
|
-
this.mcpToolset = mcpToolset;
|
|
23
|
-
}
|
|
24
|
-
_getDeclaration() {
|
|
25
|
-
return {
|
|
26
|
-
name: this.name,
|
|
27
|
-
description: this.description,
|
|
28
|
-
parameters: {
|
|
29
|
-
type: Type.OBJECT,
|
|
30
|
-
properties: {
|
|
31
|
-
resource_names: {
|
|
32
|
-
type: Type.ARRAY,
|
|
33
|
-
items: {
|
|
34
|
-
type: Type.STRING
|
|
35
|
-
},
|
|
36
|
-
description: "The names of the MCP resources to load."
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
async runAsync({ args }) {
|
|
43
|
-
const resourceNames = args["resource_names"] || [];
|
|
44
|
-
return {
|
|
45
|
-
resource_names: resourceNames,
|
|
46
|
-
status: "resource contents temporarily inserted and removed. to access these resources, call load_mcp_resource tool again."
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
async processLlmRequest(request) {
|
|
50
|
-
await super.processLlmRequest(request);
|
|
51
|
-
await this.appendResourcesToLlmRequest(request.llmRequest);
|
|
52
|
-
}
|
|
53
|
-
async appendResourcesToLlmRequest(llmRequest) {
|
|
54
|
-
var _a, _b;
|
|
55
|
-
try {
|
|
56
|
-
const availableResourceNames = await this.mcpToolset.listResources();
|
|
57
|
-
if (availableResourceNames.length > 0) {
|
|
58
|
-
appendInstructions(llmRequest, [
|
|
59
|
-
"You have a list of MCP resources:\n".concat(JSON.stringify(
|
|
60
|
-
availableResourceNames
|
|
61
|
-
), "\n\nWhen the user asks questions about any of the resources, you should call the\n`load_mcp_resource` function to load the resource. Always call load_mcp_resource\nbefore answering questions related to the resources.")
|
|
62
|
-
]);
|
|
63
|
-
}
|
|
64
|
-
} catch (e) {
|
|
65
|
-
logger.warn("Failed to list MCP resources: ".concat(e));
|
|
66
|
-
}
|
|
67
|
-
const lastContent = llmRequest.contents.at(-1);
|
|
68
|
-
const functionResponse = (_b = (_a = lastContent == null ? void 0 : lastContent.parts) == null ? void 0 : _a[0]) == null ? void 0 : _b.functionResponse;
|
|
69
|
-
if (!functionResponse || functionResponse.name !== this.name) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const response = functionResponse.response || {};
|
|
73
|
-
const requestedResourceNames = response["resource_names"] || [];
|
|
74
|
-
for (const resourceName of requestedResourceNames) {
|
|
75
|
-
try {
|
|
76
|
-
const resourceContents = await this.mcpToolset.readResource(resourceName);
|
|
77
|
-
for (const content of resourceContents) {
|
|
78
|
-
llmRequest.contents.push({
|
|
79
|
-
role: "user",
|
|
80
|
-
parts: [
|
|
81
|
-
{ text: "Resource ".concat(resourceName, " is:") },
|
|
82
|
-
this.mcpContentToPart(content, resourceName)
|
|
83
|
-
]
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
} catch (e) {
|
|
87
|
-
logger.warn("Failed to read MCP resource '".concat(resourceName, "': ").concat(e));
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
mcpContentToPart(content, resourceName) {
|
|
92
|
-
var _a;
|
|
93
|
-
if ("text" in content) {
|
|
94
|
-
return { text: content.text };
|
|
95
|
-
}
|
|
96
|
-
if ("blob" in content) {
|
|
97
|
-
return {
|
|
98
|
-
inlineData: {
|
|
99
|
-
data: content.blob,
|
|
100
|
-
mimeType: (_a = content.mimeType) != null ? _a : "application/octet-stream"
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
return { text: "[Unknown content type for ".concat(resourceName, "]") };
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
__name(_LoadMcpResourceTool, "LoadMcpResourceTool");
|
|
108
|
-
let LoadMcpResourceTool = _LoadMcpResourceTool;
|
|
109
|
-
export {
|
|
110
|
-
LoadMcpResourceTool
|
|
111
|
-
};
|
|
@@ -1,114 +0,0 @@
|
|
|
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 2025 Google LLC
|
|
29
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
30
|
-
*/
|
|
31
|
-
import { formatError } from "../../utils/error_utils.js";
|
|
32
|
-
import { logger } from "../../utils/logger.js";
|
|
33
|
-
import { loadOptionalPeer } from "../../utils/optional_peer.js";
|
|
34
|
-
const MCP_SDK = {
|
|
35
|
-
packageName: "@modelcontextprotocol/sdk",
|
|
36
|
-
feature: "MCPSessionManager (and the MCP tools built on it)"
|
|
37
|
-
};
|
|
38
|
-
function logTransportError(err) {
|
|
39
|
-
logger.error("MCP transport error: " + formatError(err));
|
|
40
|
-
}
|
|
41
|
-
__name(logTransportError, "logTransportError");
|
|
42
|
-
const _MCPSessionManager = class _MCPSessionManager {
|
|
43
|
-
constructor(connectionParams) {
|
|
44
|
-
this.activeSessions = /* @__PURE__ */ new Set();
|
|
45
|
-
this.connectionParams = connectionParams;
|
|
46
|
-
}
|
|
47
|
-
async createSession() {
|
|
48
|
-
var _a;
|
|
49
|
-
const { Client } = await loadOptionalPeer(
|
|
50
|
-
MCP_SDK,
|
|
51
|
-
() => Promise.resolve().then(() => __toESM(require("@modelcontextprotocol/sdk/client/index.js"), 1))
|
|
52
|
-
);
|
|
53
|
-
const client = new Client({ name: "MCPClient", version: "1.0.0" });
|
|
54
|
-
try {
|
|
55
|
-
switch (this.connectionParams.type) {
|
|
56
|
-
case "StdioConnectionParams": {
|
|
57
|
-
const { StdioClientTransport } = await loadOptionalPeer(
|
|
58
|
-
MCP_SDK,
|
|
59
|
-
() => Promise.resolve().then(() => __toESM(require("@modelcontextprotocol/sdk/client/stdio.js"), 1))
|
|
60
|
-
);
|
|
61
|
-
const transport = new StdioClientTransport(
|
|
62
|
-
this.connectionParams.serverParams
|
|
63
|
-
);
|
|
64
|
-
transport.onerror = logTransportError;
|
|
65
|
-
await client.connect(transport);
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
case "StreamableHTTPConnectionParams": {
|
|
69
|
-
const options = (_a = this.connectionParams.transportOptions) != null ? _a : {};
|
|
70
|
-
if (!options.requestInit && this.connectionParams.header !== void 0) {
|
|
71
|
-
options.requestInit = {
|
|
72
|
-
headers: this.connectionParams.header
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
const { StreamableHTTPClientTransport } = await loadOptionalPeer(
|
|
76
|
-
MCP_SDK,
|
|
77
|
-
() => Promise.resolve().then(() => __toESM(require("@modelcontextprotocol/sdk/client/streamableHttp.js"), 1))
|
|
78
|
-
);
|
|
79
|
-
const transport = new StreamableHTTPClientTransport(
|
|
80
|
-
new URL(this.connectionParams.url),
|
|
81
|
-
options
|
|
82
|
-
);
|
|
83
|
-
transport.onerror = logTransportError;
|
|
84
|
-
await client.connect(transport);
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
default: {
|
|
88
|
-
const _exhaustiveCheck = this.connectionParams;
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
} catch (err) {
|
|
93
|
-
throw new Error("Failed to create MCP session: " + formatError(err), {
|
|
94
|
-
cause: err
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
this.activeSessions.add(client);
|
|
98
|
-
return client;
|
|
99
|
-
}
|
|
100
|
-
async closeSession(client) {
|
|
101
|
-
if (this.activeSessions.has(client)) {
|
|
102
|
-
this.activeSessions.delete(client);
|
|
103
|
-
await client.close();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
getActiveSessions() {
|
|
107
|
-
return Array.from(this.activeSessions);
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
__name(_MCPSessionManager, "MCPSessionManager");
|
|
111
|
-
let MCPSessionManager = _MCPSessionManager;
|
|
112
|
-
export {
|
|
113
|
-
MCPSessionManager
|
|
114
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
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 2025 Google LLC
|
|
8
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { toGeminiSchema } from "../../utils/gemini_schema_util.js";
|
|
11
|
-
import { BaseTool } from "../base_tool.js";
|
|
12
|
-
const _MCPTool = class _MCPTool extends BaseTool {
|
|
13
|
-
constructor(mcpTool, mcpSessionManager, originalName) {
|
|
14
|
-
super({ name: mcpTool.name, description: mcpTool.description || "" });
|
|
15
|
-
this.mcpTool = mcpTool;
|
|
16
|
-
this.mcpSessionManager = mcpSessionManager;
|
|
17
|
-
this.originalName = originalName || mcpTool.name;
|
|
18
|
-
}
|
|
19
|
-
_getDeclaration() {
|
|
20
|
-
return {
|
|
21
|
-
name: this.mcpTool.name,
|
|
22
|
-
description: this.mcpTool.description,
|
|
23
|
-
parameters: toGeminiSchema(this.mcpTool.inputSchema),
|
|
24
|
-
// TODO: need revisit, refer to this
|
|
25
|
-
// https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result
|
|
26
|
-
response: toGeminiSchema(this.mcpTool.outputSchema)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
async runAsync(request) {
|
|
30
|
-
const session = await this.mcpSessionManager.createSession();
|
|
31
|
-
try {
|
|
32
|
-
const callRequest = {};
|
|
33
|
-
callRequest.params = { name: this.originalName, arguments: request.args };
|
|
34
|
-
const result = await session.callTool(callRequest.params, void 0, {
|
|
35
|
-
signal: request.toolContext.abortSignal
|
|
36
|
-
});
|
|
37
|
-
return result;
|
|
38
|
-
} finally {
|
|
39
|
-
await this.mcpSessionManager.closeSession(session);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
__name(_MCPTool, "MCPTool");
|
|
44
|
-
let MCPTool = _MCPTool;
|
|
45
|
-
export {
|
|
46
|
-
MCPTool
|
|
47
|
-
};
|