@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,304 +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
|
-
var __objRest = (source, exclude) => {
|
|
24
|
-
var target = {};
|
|
25
|
-
for (var prop in source)
|
|
26
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
27
|
-
target[prop] = source[prop];
|
|
28
|
-
if (source != null && __getOwnPropSymbols)
|
|
29
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
30
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
31
|
-
target[prop] = source[prop];
|
|
32
|
-
}
|
|
33
|
-
return target;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* @license
|
|
37
|
-
* Copyright 2025 Google LLC
|
|
38
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
39
|
-
*/
|
|
40
|
-
import { context, trace } from "@opentelemetry/api";
|
|
41
|
-
import { version } from "../version.js";
|
|
42
|
-
const GEN_AI_AGENT_DESCRIPTION = "gen_ai.agent.description";
|
|
43
|
-
const GEN_AI_AGENT_NAME = "gen_ai.agent.name";
|
|
44
|
-
const GEN_AI_CONVERSATION_ID = "gen_ai.conversation.id";
|
|
45
|
-
const GEN_AI_OPERATION_NAME = "gen_ai.operation.name";
|
|
46
|
-
const GEN_AI_TOOL_CALL_ID = "gen_ai.tool.call.id";
|
|
47
|
-
const GEN_AI_TOOL_DESCRIPTION = "gen_ai.tool.description";
|
|
48
|
-
const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
|
|
49
|
-
const GEN_AI_TOOL_TYPE = "gen_ai.tool.type";
|
|
50
|
-
const ADK_WORKFLOW_NAME = "adk.workflow.name";
|
|
51
|
-
const ADK_NODE_PATH = "adk.node.path";
|
|
52
|
-
const ADK_NODE_RUN_ID = "adk.node.run_id";
|
|
53
|
-
const ADK_NODE_ATTEMPT = "adk.node.attempt";
|
|
54
|
-
const ADK_NODE_STATUS = "adk.node.status";
|
|
55
|
-
const ADK_NODE_INTERRUPT_COUNT = "adk.node.interrupt_count";
|
|
56
|
-
const tracer = trace.getTracer("gcp.vertex.agent", version);
|
|
57
|
-
function safeJsonSerialize(obj) {
|
|
58
|
-
try {
|
|
59
|
-
return JSON.stringify(obj);
|
|
60
|
-
} catch (_e) {
|
|
61
|
-
return "<not serializable>";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
__name(safeJsonSerialize, "safeJsonSerialize");
|
|
65
|
-
function traceAgentInvocation({
|
|
66
|
-
agent,
|
|
67
|
-
invocationContext
|
|
68
|
-
}) {
|
|
69
|
-
const span = trace.getActiveSpan();
|
|
70
|
-
if (!span) return;
|
|
71
|
-
span.setAttributes({
|
|
72
|
-
[GEN_AI_OPERATION_NAME]: "invoke_agent",
|
|
73
|
-
// Conditionally Required
|
|
74
|
-
[GEN_AI_AGENT_DESCRIPTION]: agent.description,
|
|
75
|
-
[GEN_AI_AGENT_NAME]: agent.name,
|
|
76
|
-
[GEN_AI_CONVERSATION_ID]: invocationContext.session.id
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
__name(traceAgentInvocation, "traceAgentInvocation");
|
|
80
|
-
function traceWorkflowInvocation({
|
|
81
|
-
workflowName,
|
|
82
|
-
nodePath,
|
|
83
|
-
sessionId
|
|
84
|
-
}) {
|
|
85
|
-
const span = trace.getActiveSpan();
|
|
86
|
-
if (!span) return;
|
|
87
|
-
span.setAttributes({
|
|
88
|
-
[GEN_AI_OPERATION_NAME]: "invoke_workflow",
|
|
89
|
-
[GEN_AI_CONVERSATION_ID]: sessionId,
|
|
90
|
-
[ADK_WORKFLOW_NAME]: workflowName,
|
|
91
|
-
[ADK_NODE_PATH]: nodePath
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
__name(traceWorkflowInvocation, "traceWorkflowInvocation");
|
|
95
|
-
function traceNodeExecution({
|
|
96
|
-
nodePath,
|
|
97
|
-
runId,
|
|
98
|
-
attempt,
|
|
99
|
-
status,
|
|
100
|
-
interruptCount
|
|
101
|
-
}) {
|
|
102
|
-
const span = trace.getActiveSpan();
|
|
103
|
-
if (!span) return;
|
|
104
|
-
span.setAttributes({
|
|
105
|
-
[GEN_AI_OPERATION_NAME]: "execute_node",
|
|
106
|
-
[ADK_NODE_PATH]: nodePath,
|
|
107
|
-
[ADK_NODE_RUN_ID]: runId,
|
|
108
|
-
[ADK_NODE_ATTEMPT]: attempt,
|
|
109
|
-
[ADK_NODE_STATUS]: status,
|
|
110
|
-
[ADK_NODE_INTERRUPT_COUNT]: interruptCount
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
__name(traceNodeExecution, "traceNodeExecution");
|
|
114
|
-
function traceToolCall({
|
|
115
|
-
tool,
|
|
116
|
-
args,
|
|
117
|
-
functionResponseEvent
|
|
118
|
-
}) {
|
|
119
|
-
var _a, _b;
|
|
120
|
-
const span = trace.getActiveSpan();
|
|
121
|
-
if (!span) return;
|
|
122
|
-
span.setAttributes({
|
|
123
|
-
[GEN_AI_OPERATION_NAME]: "execute_tool",
|
|
124
|
-
[GEN_AI_TOOL_DESCRIPTION]: tool.description || "",
|
|
125
|
-
[GEN_AI_TOOL_NAME]: tool.name,
|
|
126
|
-
// e.g. FunctionTool
|
|
127
|
-
[GEN_AI_TOOL_TYPE]: tool.constructor.name,
|
|
128
|
-
// Setting empty llm request and response (as UI expect these) while not
|
|
129
|
-
// applicable for tool_response.
|
|
130
|
-
"gcp.vertex.agent.llm_request": "{}",
|
|
131
|
-
"gcp.vertex.agent.llm_response": "{}",
|
|
132
|
-
"gcp.vertex.agent.tool_call_args": shouldAddRequestResponseToSpans() ? safeJsonSerialize(args) : "{}"
|
|
133
|
-
});
|
|
134
|
-
let toolCallId = "<not specified>";
|
|
135
|
-
let toolResponse = "<not specified>";
|
|
136
|
-
if ((_a = functionResponseEvent.content) == null ? void 0 : _a.parts) {
|
|
137
|
-
const responseParts = functionResponseEvent.content.parts;
|
|
138
|
-
const functionResponse = (_b = responseParts[0]) == null ? void 0 : _b.functionResponse;
|
|
139
|
-
if (functionResponse == null ? void 0 : functionResponse.id) {
|
|
140
|
-
toolCallId = functionResponse.id;
|
|
141
|
-
}
|
|
142
|
-
if (functionResponse == null ? void 0 : functionResponse.response) {
|
|
143
|
-
toolResponse = functionResponse.response;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (typeof toolResponse !== "object" || toolResponse === null) {
|
|
147
|
-
toolResponse = { result: toolResponse };
|
|
148
|
-
}
|
|
149
|
-
span.setAttributes({
|
|
150
|
-
[GEN_AI_TOOL_CALL_ID]: toolCallId,
|
|
151
|
-
"gcp.vertex.agent.event_id": functionResponseEvent.id,
|
|
152
|
-
"gcp.vertex.agent.tool_response": shouldAddRequestResponseToSpans() ? safeJsonSerialize(toolResponse) : "{}"
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
__name(traceToolCall, "traceToolCall");
|
|
156
|
-
function traceMergedToolCalls({
|
|
157
|
-
responseEventId,
|
|
158
|
-
functionResponseEvent
|
|
159
|
-
}) {
|
|
160
|
-
const span = trace.getActiveSpan();
|
|
161
|
-
if (!span) return;
|
|
162
|
-
span.setAttributes({
|
|
163
|
-
[GEN_AI_OPERATION_NAME]: "execute_tool",
|
|
164
|
-
[GEN_AI_TOOL_NAME]: "(merged tools)",
|
|
165
|
-
[GEN_AI_TOOL_DESCRIPTION]: "(merged tools)",
|
|
166
|
-
[GEN_AI_TOOL_CALL_ID]: responseEventId,
|
|
167
|
-
"gcp.vertex.agent.tool_call_args": "N/A",
|
|
168
|
-
"gcp.vertex.agent.event_id": responseEventId,
|
|
169
|
-
// Setting empty llm request and response (as UI expect these) while not
|
|
170
|
-
// applicable for tool_response.
|
|
171
|
-
"gcp.vertex.agent.llm_request": "{}",
|
|
172
|
-
"gcp.vertex.agent.llm_response": "{}"
|
|
173
|
-
});
|
|
174
|
-
span.setAttribute(
|
|
175
|
-
"gcp.vertex.agent.tool_response",
|
|
176
|
-
shouldAddRequestResponseToSpans() ? safeJsonSerialize(functionResponseEvent) : "{}"
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
__name(traceMergedToolCalls, "traceMergedToolCalls");
|
|
180
|
-
function traceCallLlm({
|
|
181
|
-
invocationContext,
|
|
182
|
-
eventId,
|
|
183
|
-
llmRequest,
|
|
184
|
-
llmResponse
|
|
185
|
-
}) {
|
|
186
|
-
var _a, _b, _c, _d;
|
|
187
|
-
const span = trace.getActiveSpan();
|
|
188
|
-
if (!span) return;
|
|
189
|
-
span.setAttributes(__spreadProps(__spreadValues({
|
|
190
|
-
"gen_ai.system": "gcp.vertex.agent",
|
|
191
|
-
"gen_ai.request.model": llmRequest.model
|
|
192
|
-
}, ((_a = invocationContext.agent) == null ? void 0 : _a.name) ? { [GEN_AI_AGENT_NAME]: invocationContext.agent.name } : {}), {
|
|
193
|
-
"gcp.vertex.agent.invocation_id": invocationContext.invocationId,
|
|
194
|
-
"gcp.vertex.agent.session_id": invocationContext.session.id,
|
|
195
|
-
"gcp.vertex.agent.event_id": eventId,
|
|
196
|
-
// Consider removing once GenAI SDK provides a way to record this info.
|
|
197
|
-
"gcp.vertex.agent.llm_request": shouldAddRequestResponseToSpans() ? safeJsonSerialize(buildLlmRequestForTrace(llmRequest)) : "{}"
|
|
198
|
-
}));
|
|
199
|
-
if ((_b = llmRequest.config) == null ? void 0 : _b.topP) {
|
|
200
|
-
span.setAttribute("gen_ai.request.top_p", llmRequest.config.topP);
|
|
201
|
-
}
|
|
202
|
-
if (((_c = llmRequest.config) == null ? void 0 : _c.maxOutputTokens) !== void 0) {
|
|
203
|
-
span.setAttribute(
|
|
204
|
-
"gen_ai.request.max_tokens",
|
|
205
|
-
llmRequest.config.maxOutputTokens
|
|
206
|
-
);
|
|
207
|
-
}
|
|
208
|
-
span.setAttribute(
|
|
209
|
-
"gcp.vertex.agent.llm_response",
|
|
210
|
-
shouldAddRequestResponseToSpans() ? safeJsonSerialize(llmResponse) : "{}"
|
|
211
|
-
);
|
|
212
|
-
if (llmResponse.usageMetadata) {
|
|
213
|
-
span.setAttribute(
|
|
214
|
-
"gen_ai.usage.input_tokens",
|
|
215
|
-
llmResponse.usageMetadata.promptTokenCount || 0
|
|
216
|
-
);
|
|
217
|
-
}
|
|
218
|
-
if ((_d = llmResponse.usageMetadata) == null ? void 0 : _d.candidatesTokenCount) {
|
|
219
|
-
span.setAttribute(
|
|
220
|
-
"gen_ai.usage.output_tokens",
|
|
221
|
-
llmResponse.usageMetadata.candidatesTokenCount
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
if (llmResponse.finishReason) {
|
|
225
|
-
const finishReasonValue = typeof llmResponse.finishReason === "string" ? llmResponse.finishReason.toLowerCase() : String(llmResponse.finishReason).toLowerCase();
|
|
226
|
-
span.setAttribute("gen_ai.response.finish_reasons", [finishReasonValue]);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
__name(traceCallLlm, "traceCallLlm");
|
|
230
|
-
function traceSendData({
|
|
231
|
-
invocationContext,
|
|
232
|
-
eventId,
|
|
233
|
-
data
|
|
234
|
-
}) {
|
|
235
|
-
const span = trace.getActiveSpan();
|
|
236
|
-
if (!span) return;
|
|
237
|
-
span.setAttributes({
|
|
238
|
-
"gcp.vertex.agent.invocation_id": invocationContext.invocationId,
|
|
239
|
-
"gcp.vertex.agent.event_id": eventId
|
|
240
|
-
});
|
|
241
|
-
span.setAttribute(
|
|
242
|
-
"gcp.vertex.agent.data",
|
|
243
|
-
shouldAddRequestResponseToSpans() ? safeJsonSerialize(data) : "{}"
|
|
244
|
-
);
|
|
245
|
-
}
|
|
246
|
-
__name(traceSendData, "traceSendData");
|
|
247
|
-
function buildLlmRequestForTrace(llmRequest) {
|
|
248
|
-
const result = {
|
|
249
|
-
model: llmRequest.model,
|
|
250
|
-
contents: []
|
|
251
|
-
};
|
|
252
|
-
if (llmRequest.config) {
|
|
253
|
-
const _a = llmRequest.config, { responseSchema } = _a, cleanConfig = __objRest(_a, ["responseSchema"]);
|
|
254
|
-
result.config = cleanConfig;
|
|
255
|
-
}
|
|
256
|
-
result.contents = llmRequest.contents.map((content) => {
|
|
257
|
-
var _a2;
|
|
258
|
-
return {
|
|
259
|
-
role: content.role,
|
|
260
|
-
parts: ((_a2 = content.parts) == null ? void 0 : _a2.filter((part) => !part.inlineData)) || []
|
|
261
|
-
};
|
|
262
|
-
});
|
|
263
|
-
return result;
|
|
264
|
-
}
|
|
265
|
-
__name(buildLlmRequestForTrace, "buildLlmRequestForTrace");
|
|
266
|
-
function bindOtelContextToAsyncGenerator(ctx, generator) {
|
|
267
|
-
return {
|
|
268
|
-
// Bind the next() method to execute within the provided context
|
|
269
|
-
next: context.bind(ctx, generator.next.bind(generator)),
|
|
270
|
-
// Bind the return() method to execute within the provided context
|
|
271
|
-
return: context.bind(ctx, generator.return.bind(generator)),
|
|
272
|
-
// Bind the throw() method to execute within the provided context
|
|
273
|
-
throw: context.bind(ctx, generator.throw.bind(generator)),
|
|
274
|
-
// Ensure the async iterator symbol also returns a context-bound generator
|
|
275
|
-
[Symbol.asyncIterator]() {
|
|
276
|
-
return bindOtelContextToAsyncGenerator(
|
|
277
|
-
ctx,
|
|
278
|
-
generator[Symbol.asyncIterator]()
|
|
279
|
-
);
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
__name(bindOtelContextToAsyncGenerator, "bindOtelContextToAsyncGenerator");
|
|
284
|
-
function runAsyncGeneratorWithOtelContext(otelContext, generatorFnContext, generatorFn) {
|
|
285
|
-
const generator = generatorFn.call(generatorFnContext);
|
|
286
|
-
return bindOtelContextToAsyncGenerator(otelContext, generator);
|
|
287
|
-
}
|
|
288
|
-
__name(runAsyncGeneratorWithOtelContext, "runAsyncGeneratorWithOtelContext");
|
|
289
|
-
function shouldAddRequestResponseToSpans() {
|
|
290
|
-
const envValue = process.env.ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS || "true";
|
|
291
|
-
return envValue === "true" || envValue === "1";
|
|
292
|
-
}
|
|
293
|
-
__name(shouldAddRequestResponseToSpans, "shouldAddRequestResponseToSpans");
|
|
294
|
-
export {
|
|
295
|
-
runAsyncGeneratorWithOtelContext,
|
|
296
|
-
traceAgentInvocation,
|
|
297
|
-
traceCallLlm,
|
|
298
|
-
traceMergedToolCalls,
|
|
299
|
-
traceNodeExecution,
|
|
300
|
-
traceSendData,
|
|
301
|
-
traceToolCall,
|
|
302
|
-
traceWorkflowInvocation,
|
|
303
|
-
tracer
|
|
304
|
-
};
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
7
|
-
/**
|
|
8
|
-
* @license
|
|
9
|
-
* Copyright 2025 Google LLC
|
|
10
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
11
|
-
*/
|
|
12
|
-
var _a, _b;
|
|
13
|
-
import { Type } from "@google/genai";
|
|
14
|
-
import { isLlmAgent } from "../agents/llm_agent.js";
|
|
15
|
-
import { InMemoryMemoryService } from "../memory/in_memory_memory_service.js";
|
|
16
|
-
import { Runner } from "../runner/runner.js";
|
|
17
|
-
import { InMemorySessionService } from "../sessions/in_memory_session_service.js";
|
|
18
|
-
import { GoogleLLMVariant } from "../utils/variant_utils.js";
|
|
19
|
-
import { State } from "../sessions/state.js";
|
|
20
|
-
import { BaseTool } from "./base_tool.js";
|
|
21
|
-
import { ForwardingArtifactService } from "./forwarding_artifact_service.js";
|
|
22
|
-
const AGENT_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.agentTool");
|
|
23
|
-
function isAgentTool(obj) {
|
|
24
|
-
return typeof obj === "object" && obj !== null && AGENT_TOOL_SIGNATURE_SYMBOL in obj && obj[AGENT_TOOL_SIGNATURE_SYMBOL] === true;
|
|
25
|
-
}
|
|
26
|
-
__name(isAgentTool, "isAgentTool");
|
|
27
|
-
const _AgentTool = class _AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
28
|
-
constructor(config) {
|
|
29
|
-
super({
|
|
30
|
-
name: config.agent.name,
|
|
31
|
-
description: config.agent.description || ""
|
|
32
|
-
});
|
|
33
|
-
/** A unique symbol to identify ADK agent tool class. */
|
|
34
|
-
this[_a] = true;
|
|
35
|
-
this.agent = config.agent;
|
|
36
|
-
this.skipSummarization = config.skipSummarization || false;
|
|
37
|
-
}
|
|
38
|
-
_getDeclaration() {
|
|
39
|
-
let declaration;
|
|
40
|
-
if (isLlmAgent(this.agent) && this.agent.inputSchema) {
|
|
41
|
-
declaration = {
|
|
42
|
-
name: this.name,
|
|
43
|
-
description: this.description,
|
|
44
|
-
// TODO(b/425992518): We should not use the agent's input schema as is.
|
|
45
|
-
// It should be validated and possibly transformed. Consider similar
|
|
46
|
-
// logic to one we have in Python ADK.
|
|
47
|
-
parameters: this.agent.inputSchema
|
|
48
|
-
};
|
|
49
|
-
} else {
|
|
50
|
-
declaration = {
|
|
51
|
-
name: this.name,
|
|
52
|
-
description: this.description,
|
|
53
|
-
parameters: {
|
|
54
|
-
type: Type.OBJECT,
|
|
55
|
-
properties: {
|
|
56
|
-
"request": {
|
|
57
|
-
type: Type.STRING
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
required: ["request"]
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
if (this.apiVariant !== GoogleLLMVariant.GEMINI_API) {
|
|
65
|
-
const hasOutputSchema = isLlmAgent(this.agent) && this.agent.outputSchema;
|
|
66
|
-
declaration.response = hasOutputSchema ? { type: Type.OBJECT } : { type: Type.STRING };
|
|
67
|
-
}
|
|
68
|
-
return declaration;
|
|
69
|
-
}
|
|
70
|
-
async runAsync({
|
|
71
|
-
args,
|
|
72
|
-
toolContext
|
|
73
|
-
}) {
|
|
74
|
-
var _a2, _b2, _c, _d, _e, _f;
|
|
75
|
-
const hasInputSchema = isLlmAgent(this.agent) && this.agent.inputSchema;
|
|
76
|
-
const content = {
|
|
77
|
-
role: "user",
|
|
78
|
-
parts: [
|
|
79
|
-
{
|
|
80
|
-
// TODO(b/425992518): Should be validated. Consider similar
|
|
81
|
-
// logic to one we have in Python ADK.
|
|
82
|
-
text: hasInputSchema ? JSON.stringify(args) : args["request"]
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
};
|
|
86
|
-
const runner = new Runner({
|
|
87
|
-
appName: this.agent.name,
|
|
88
|
-
agent: this.agent,
|
|
89
|
-
artifactService: new ForwardingArtifactService(toolContext),
|
|
90
|
-
sessionService: (_a2 = toolContext.invocationContext.sessionService) != null ? _a2 : new InMemorySessionService(),
|
|
91
|
-
memoryService: (_b2 = toolContext.invocationContext.memoryService) != null ? _b2 : new InMemoryMemoryService(),
|
|
92
|
-
credentialService: toolContext.invocationContext.credentialService
|
|
93
|
-
});
|
|
94
|
-
const session = await runner.sessionService.getOrCreateSession({
|
|
95
|
-
appName: this.agent.name,
|
|
96
|
-
userId: toolContext.invocationContext.userId,
|
|
97
|
-
sessionId: toolContext.invocationContext.session.id,
|
|
98
|
-
state: toolContext.state.toRecord()
|
|
99
|
-
});
|
|
100
|
-
if ((_c = toolContext.abortSignal) == null ? void 0 : _c.aborted) {
|
|
101
|
-
return "";
|
|
102
|
-
}
|
|
103
|
-
let lastEvent;
|
|
104
|
-
try {
|
|
105
|
-
for (var iter = __forAwait(runner.runAsync({
|
|
106
|
-
userId: session.userId,
|
|
107
|
-
sessionId: session.id,
|
|
108
|
-
newMessage: content,
|
|
109
|
-
abortSignal: toolContext.abortSignal
|
|
110
|
-
})), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
|
|
111
|
-
const event = temp.value;
|
|
112
|
-
if ((_d = toolContext.abortSignal) == null ? void 0 : _d.aborted) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (event.actions.stateDelta) {
|
|
116
|
-
const filteredDelta = Object.fromEntries(
|
|
117
|
-
Object.entries(event.actions.stateDelta).filter(
|
|
118
|
-
([key]) => !key.startsWith(State.TEMP_PREFIX)
|
|
119
|
-
)
|
|
120
|
-
);
|
|
121
|
-
if (Object.keys(filteredDelta).length > 0) {
|
|
122
|
-
toolContext.state.update(filteredDelta);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
lastEvent = event;
|
|
126
|
-
}
|
|
127
|
-
} catch (temp) {
|
|
128
|
-
error = [temp];
|
|
129
|
-
} finally {
|
|
130
|
-
try {
|
|
131
|
-
more && (temp = iter.return) && await temp.call(iter);
|
|
132
|
-
} finally {
|
|
133
|
-
if (error)
|
|
134
|
-
throw error[0];
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (!((_f = (_e = lastEvent == null ? void 0 : lastEvent.content) == null ? void 0 : _e.parts) == null ? void 0 : _f.length)) {
|
|
138
|
-
return "";
|
|
139
|
-
}
|
|
140
|
-
const hasOutputSchema = isLlmAgent(this.agent) && this.agent.outputSchema;
|
|
141
|
-
const mergedText = lastEvent.content.parts.filter((part) => !part.thought).map((part) => part.text).filter((text) => text).join("\n");
|
|
142
|
-
return hasOutputSchema ? JSON.parse(mergedText) : mergedText;
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
__name(_AgentTool, "AgentTool");
|
|
146
|
-
let AgentTool = _AgentTool;
|
|
147
|
-
export {
|
|
148
|
-
AgentTool,
|
|
149
|
-
isAgentTool
|
|
150
|
-
};
|
|
@@ -1,116 +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
|
-
var _a;
|
|
11
|
-
import { getGoogleLlmVariant } from "../utils/variant_utils.js";
|
|
12
|
-
const BASE_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseTool");
|
|
13
|
-
function isBaseTool(obj) {
|
|
14
|
-
return typeof obj === "object" && obj !== null && BASE_TOOL_SIGNATURE_SYMBOL in obj && obj[BASE_TOOL_SIGNATURE_SYMBOL] === true;
|
|
15
|
-
}
|
|
16
|
-
__name(isBaseTool, "isBaseTool");
|
|
17
|
-
_a = BASE_TOOL_SIGNATURE_SYMBOL;
|
|
18
|
-
const _BaseTool = class _BaseTool {
|
|
19
|
-
/**
|
|
20
|
-
* Base constructor for a tool.
|
|
21
|
-
*
|
|
22
|
-
* @param params The parameters for `BaseTool`.
|
|
23
|
-
*/
|
|
24
|
-
constructor(params) {
|
|
25
|
-
/** A unique symbol to identify ADK base tool class. */
|
|
26
|
-
this[_a] = true;
|
|
27
|
-
var _a2;
|
|
28
|
-
this.name = params.name;
|
|
29
|
-
this.description = params.description;
|
|
30
|
-
this.isLongRunning = (_a2 = params.isLongRunning) != null ? _a2 : false;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Gets the OpenAPI specification of this tool in the form of a
|
|
34
|
-
* FunctionDeclaration.
|
|
35
|
-
*
|
|
36
|
-
* NOTE
|
|
37
|
-
* - Required if subclass uses the default implementation of
|
|
38
|
-
* `processLlmRequest` to add function declaration to LLM request.
|
|
39
|
-
* - Otherwise, can be skipped, e.g. for a built-in GoogleSearch tool for
|
|
40
|
-
* Gemini.
|
|
41
|
-
*
|
|
42
|
-
* @return The FunctionDeclaration of this tool, or undefined if it doesn't
|
|
43
|
-
* need to be added to LlmRequest.config.
|
|
44
|
-
*/
|
|
45
|
-
_getDeclaration() {
|
|
46
|
-
return void 0;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Whether this tool needs a human to approve `args` before it runs.
|
|
50
|
-
*
|
|
51
|
-
* The gate itself lives in the tool that owns it (see `FunctionTool`), but
|
|
52
|
-
* the resume path has to ask the same question a turn later, to check that an
|
|
53
|
-
* approval it is about to honour belongs to a tool that gates at all. A tool
|
|
54
|
-
* that never gates returns false here, which is the safe default: an approval
|
|
55
|
-
* naming it is meaningless and gets rejected rather than executed. Mirrors
|
|
56
|
-
* Python's `BaseTool.check_require_confirmation`.
|
|
57
|
-
*
|
|
58
|
-
* @param _args The arguments the tool would run with.
|
|
59
|
-
* @param _toolContext The context of the call, when there is one.
|
|
60
|
-
* @return Whether the call requires confirmation.
|
|
61
|
-
*/
|
|
62
|
-
async checkRequireConfirmation(_args, _toolContext) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Processes the outgoing LLM request for this tool.
|
|
67
|
-
*
|
|
68
|
-
* Use cases:
|
|
69
|
-
* - Most common use case is adding this tool to the LLM request.
|
|
70
|
-
* - Some tools may just preprocess the LLM request before it's sent out.
|
|
71
|
-
*
|
|
72
|
-
* @param request The request to process the LLM request.
|
|
73
|
-
*/
|
|
74
|
-
async processLlmRequest({ llmRequest }) {
|
|
75
|
-
const functionDeclaration = this._getDeclaration();
|
|
76
|
-
if (!functionDeclaration) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (this.name in llmRequest.toolsDict) {
|
|
80
|
-
throw new Error("Duplicate tool name: ".concat(this.name));
|
|
81
|
-
}
|
|
82
|
-
llmRequest.toolsDict[this.name] = this;
|
|
83
|
-
const tool = findToolWithFunctionDeclarations(llmRequest);
|
|
84
|
-
if (tool) {
|
|
85
|
-
if (!tool.functionDeclarations) {
|
|
86
|
-
tool.functionDeclarations = [];
|
|
87
|
-
}
|
|
88
|
-
tool.functionDeclarations.push(functionDeclaration);
|
|
89
|
-
} else {
|
|
90
|
-
llmRequest.config = llmRequest.config || {};
|
|
91
|
-
llmRequest.config.tools = llmRequest.config.tools || [];
|
|
92
|
-
llmRequest.config.tools.push({
|
|
93
|
-
functionDeclarations: [functionDeclaration]
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* The Google API LLM variant to use.
|
|
99
|
-
*/
|
|
100
|
-
get apiVariant() {
|
|
101
|
-
return getGoogleLlmVariant();
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
__name(_BaseTool, "BaseTool");
|
|
105
|
-
let BaseTool = _BaseTool;
|
|
106
|
-
function findToolWithFunctionDeclarations(llmRequest) {
|
|
107
|
-
var _a2;
|
|
108
|
-
return (((_a2 = llmRequest.config) == null ? void 0 : _a2.tools) || []).find(
|
|
109
|
-
(tool) => "functionDeclarations" in tool
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
__name(findToolWithFunctionDeclarations, "findToolWithFunctionDeclarations");
|
|
113
|
-
export {
|
|
114
|
-
BaseTool,
|
|
115
|
-
isBaseTool
|
|
116
|
-
};
|
|
@@ -1,62 +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
|
-
var _a;
|
|
11
|
-
const BASE_TOOLSET_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseToolset");
|
|
12
|
-
function isBaseToolset(obj) {
|
|
13
|
-
return typeof obj === "object" && obj !== null && BASE_TOOLSET_SIGNATURE_SYMBOL in obj && obj[BASE_TOOLSET_SIGNATURE_SYMBOL] === true;
|
|
14
|
-
}
|
|
15
|
-
__name(isBaseToolset, "isBaseToolset");
|
|
16
|
-
_a = BASE_TOOLSET_SIGNATURE_SYMBOL;
|
|
17
|
-
const _BaseToolset = class _BaseToolset {
|
|
18
|
-
constructor(toolFilter, prefix) {
|
|
19
|
-
this.toolFilter = toolFilter;
|
|
20
|
-
this.prefix = prefix;
|
|
21
|
-
this[_a] = true;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Returns whether the tool should be exposed to LLM.
|
|
25
|
-
*
|
|
26
|
-
* @param tool The tool to check.
|
|
27
|
-
* @param context Context used to filter tools available to the agent.
|
|
28
|
-
* @return Whether the tool should be exposed to LLM.
|
|
29
|
-
*/
|
|
30
|
-
isToolSelected(tool, context) {
|
|
31
|
-
if (!this.toolFilter || Array.isArray(this.toolFilter) && this.toolFilter.length === 0) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
if (typeof this.toolFilter === "function") {
|
|
35
|
-
return this.toolFilter(tool, context);
|
|
36
|
-
}
|
|
37
|
-
if (Array.isArray(this.toolFilter)) {
|
|
38
|
-
return this.toolFilter.includes(tool.name);
|
|
39
|
-
}
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Processes the outgoing LLM request for this toolset. This method will be
|
|
44
|
-
* called before each tool processes the llm request.
|
|
45
|
-
*
|
|
46
|
-
* Use cases:
|
|
47
|
-
* - Instead of let each tool process the llm request, we can let the toolset
|
|
48
|
-
* process the llm request. e.g. ComputerUseToolset can add computer use
|
|
49
|
-
* tool to the llm request.
|
|
50
|
-
*
|
|
51
|
-
* @param toolContext The context of the tool.
|
|
52
|
-
* @param llmRequest The outgoing LLM request, mutable this method.
|
|
53
|
-
*/
|
|
54
|
-
async processLlmRequest(toolContext, llmRequest) {
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
__name(_BaseToolset, "BaseToolset");
|
|
58
|
-
let BaseToolset = _BaseToolset;
|
|
59
|
-
export {
|
|
60
|
-
BaseToolset,
|
|
61
|
-
isBaseToolset
|
|
62
|
-
};
|
|
@@ -1,55 +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 { BaseTool } from "./base_tool.js";
|
|
12
|
-
const _ConsolidateContextTool = class _ConsolidateContextTool extends BaseTool {
|
|
13
|
-
constructor() {
|
|
14
|
-
super({
|
|
15
|
-
name: "consolidate_context",
|
|
16
|
-
description: "Requests context consolidation (compaction) to manage history size. Use this when a subtask is complete and you want to summarize progress and clear detailed history."
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
_getDeclaration() {
|
|
20
|
-
return {
|
|
21
|
-
name: this.name,
|
|
22
|
-
description: this.description,
|
|
23
|
-
parameters: {
|
|
24
|
-
type: Type.OBJECT,
|
|
25
|
-
properties: {
|
|
26
|
-
detail: {
|
|
27
|
-
type: Type.STRING,
|
|
28
|
-
description: "Optional description of what has been accomplished so far. This detail will be used to guide the summarization of the history."
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
async runAsync({
|
|
35
|
-
args,
|
|
36
|
-
toolContext
|
|
37
|
-
}) {
|
|
38
|
-
toolContext.state.set("temp:consolidate_context", true);
|
|
39
|
-
if (args["detail"] !== void 0) {
|
|
40
|
-
toolContext.state.set(
|
|
41
|
-
"temp:consolidate_context_detail",
|
|
42
|
-
args["detail"]
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
status: "success",
|
|
47
|
-
message: "Context consolidation requested."
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
__name(_ConsolidateContextTool, "ConsolidateContextTool");
|
|
52
|
-
let ConsolidateContextTool = _ConsolidateContextTool;
|
|
53
|
-
export {
|
|
54
|
-
ConsolidateContextTool
|
|
55
|
-
};
|