@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
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var rag_memory_transcript_exports = {};
|
|
27
|
+
__export(rag_memory_transcript_exports, {
|
|
28
|
+
buildSourceDisplayName: () => buildSourceDisplayName,
|
|
29
|
+
parseSourceDisplayName: () => parseSourceDisplayName,
|
|
30
|
+
parseTranscriptEvents: () => parseTranscriptEvents,
|
|
31
|
+
serializeSessionTranscript: () => serializeSessionTranscript
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(rag_memory_transcript_exports);
|
|
34
|
+
/**
|
|
35
|
+
* @license
|
|
36
|
+
* Copyright 2026 Google LLC
|
|
37
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
38
|
+
*/
|
|
39
|
+
const SOURCE_DISPLAY_NAME_PREFIX = "adk-memory-v1.";
|
|
40
|
+
const SOURCE_DISPLAY_NAME_SEGMENTS = 3;
|
|
41
|
+
const MILLISECONDS_PER_SECOND = 1e3;
|
|
42
|
+
function encodeSegment(value) {
|
|
43
|
+
return Buffer.from(value, "utf-8").toString("base64url");
|
|
44
|
+
}
|
|
45
|
+
__name(encodeSegment, "encodeSegment");
|
|
46
|
+
function decodeSegment(segment) {
|
|
47
|
+
if (!segment) {
|
|
48
|
+
return void 0;
|
|
49
|
+
}
|
|
50
|
+
const decoded = Buffer.from(segment, "base64url").toString("utf-8");
|
|
51
|
+
return encodeSegment(decoded) === segment ? decoded : void 0;
|
|
52
|
+
}
|
|
53
|
+
__name(decodeSegment, "decodeSegment");
|
|
54
|
+
function buildSourceDisplayName(appName, userId, sessionId) {
|
|
55
|
+
const segments = [appName, userId, sessionId].map(encodeSegment);
|
|
56
|
+
return SOURCE_DISPLAY_NAME_PREFIX + segments.join(".");
|
|
57
|
+
}
|
|
58
|
+
__name(buildSourceDisplayName, "buildSourceDisplayName");
|
|
59
|
+
function parseSourceDisplayName(displayName) {
|
|
60
|
+
const isPrefixed = displayName.startsWith(SOURCE_DISPLAY_NAME_PREFIX);
|
|
61
|
+
const raw = isPrefixed ? displayName.slice(SOURCE_DISPLAY_NAME_PREFIX.length) : displayName;
|
|
62
|
+
const parts = raw.split(".");
|
|
63
|
+
if (parts.length !== SOURCE_DISPLAY_NAME_SEGMENTS) {
|
|
64
|
+
return void 0;
|
|
65
|
+
}
|
|
66
|
+
if (!isPrefixed) {
|
|
67
|
+
return { appName: parts[0], userId: parts[1], sessionId: parts[2] };
|
|
68
|
+
}
|
|
69
|
+
const [appName, userId, sessionId] = parts.map(decodeSegment);
|
|
70
|
+
if (appName === void 0 || userId === void 0 || sessionId === void 0) {
|
|
71
|
+
return void 0;
|
|
72
|
+
}
|
|
73
|
+
return { appName, userId, sessionId };
|
|
74
|
+
}
|
|
75
|
+
__name(parseSourceDisplayName, "parseSourceDisplayName");
|
|
76
|
+
function serializeSessionTranscript(session) {
|
|
77
|
+
var _a, _b, _c;
|
|
78
|
+
const lines = [];
|
|
79
|
+
for (const event of session.events) {
|
|
80
|
+
const texts = [];
|
|
81
|
+
for (const part of (_b = (_a = event.content) == null ? void 0 : _a.parts) != null ? _b : []) {
|
|
82
|
+
if (part.text) {
|
|
83
|
+
texts.push(part.text.replaceAll("\n", " "));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (texts.length === 0) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
lines.push(
|
|
90
|
+
JSON.stringify({
|
|
91
|
+
author: (_c = event.author) != null ? _c : "",
|
|
92
|
+
timestamp: event.timestamp / MILLISECONDS_PER_SECOND,
|
|
93
|
+
text: texts.join(".")
|
|
94
|
+
})
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
return lines.join("\n");
|
|
98
|
+
}
|
|
99
|
+
__name(serializeSessionTranscript, "serializeSessionTranscript");
|
|
100
|
+
function parseTranscriptLine(line) {
|
|
101
|
+
let parsed;
|
|
102
|
+
try {
|
|
103
|
+
parsed = JSON.parse(line);
|
|
104
|
+
} catch {
|
|
105
|
+
return void 0;
|
|
106
|
+
}
|
|
107
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
108
|
+
return void 0;
|
|
109
|
+
}
|
|
110
|
+
const record = parsed;
|
|
111
|
+
const seconds = typeof record["timestamp"] === "number" ? record["timestamp"] : 0;
|
|
112
|
+
return {
|
|
113
|
+
author: typeof record["author"] === "string" ? record["author"] : "",
|
|
114
|
+
timestamp: seconds * MILLISECONDS_PER_SECOND,
|
|
115
|
+
text: typeof record["text"] === "string" ? record["text"] : ""
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
__name(parseTranscriptLine, "parseTranscriptLine");
|
|
119
|
+
function parseTranscriptEvents(text) {
|
|
120
|
+
const events = [];
|
|
121
|
+
for (const line of text.split("\n")) {
|
|
122
|
+
const event = parseTranscriptLine(line);
|
|
123
|
+
if (event) {
|
|
124
|
+
events.push(event);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return events;
|
|
128
|
+
}
|
|
129
|
+
__name(parseTranscriptEvents, "parseTranscriptEvents");
|
|
130
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
131
|
+
0 && (module.exports = {
|
|
132
|
+
buildSourceDisplayName,
|
|
133
|
+
parseSourceDisplayName,
|
|
134
|
+
parseTranscriptEvents,
|
|
135
|
+
serializeSessionTranscript
|
|
136
|
+
});
|
|
@@ -236,7 +236,7 @@ const _VertexAiMemoryBankService = class _VertexAiMemoryBankService {
|
|
|
236
236
|
config
|
|
237
237
|
};
|
|
238
238
|
const operation = await this.memories.createInternal(params);
|
|
239
|
-
import_logger.logger.
|
|
239
|
+
import_logger.logger.debug("Create memory response received.");
|
|
240
240
|
import_logger.logger.debug(`Create memory response: ${JSON.stringify(operation)}`);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
@@ -260,7 +260,7 @@ const _VertexAiMemoryBankService = class _VertexAiMemoryBankService {
|
|
|
260
260
|
config
|
|
261
261
|
};
|
|
262
262
|
const operation = await this.memories.generateInternal(params);
|
|
263
|
-
import_logger.logger.
|
|
263
|
+
import_logger.logger.debug("Generate direct memory response received.");
|
|
264
264
|
import_logger.logger.debug(
|
|
265
265
|
`Generate direct memory response: ${JSON.stringify(operation)}`
|
|
266
266
|
);
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var vertex_ai_rag_api_exports = {};
|
|
27
|
+
__export(vertex_ai_rag_api_exports, {
|
|
28
|
+
VertexRagApiClient: () => VertexRagApiClient
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(vertex_ai_rag_api_exports);
|
|
31
|
+
var import_google_auth_library = require("google-auth-library");
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2026 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
36
|
+
*/
|
|
37
|
+
const CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
|
|
38
|
+
const _VertexRagApiClient = class _VertexRagApiClient {
|
|
39
|
+
constructor(options) {
|
|
40
|
+
this.host = `https://${options.location}-aiplatform.googleapis.com`;
|
|
41
|
+
this.auth = new import_google_auth_library.GoogleAuth({ scopes: [CLOUD_PLATFORM_SCOPE] });
|
|
42
|
+
}
|
|
43
|
+
/** Lists one page of the files in a corpus. */
|
|
44
|
+
async listRagFiles(params) {
|
|
45
|
+
const query = new URLSearchParams({ pageSize: String(params.pageSize) });
|
|
46
|
+
if (params.pageToken) {
|
|
47
|
+
query.set("pageToken", params.pageToken);
|
|
48
|
+
}
|
|
49
|
+
const url = `${this.host}/v1/${params.ragCorpus}/ragFiles?${query.toString()}`;
|
|
50
|
+
return this.send(url, {
|
|
51
|
+
method: "GET",
|
|
52
|
+
headers: await this.authHeaders(url)
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/** Uploads `content` into a corpus as one RAG file. */
|
|
56
|
+
async uploadRagFile(params) {
|
|
57
|
+
const url = `${this.host}/upload/v1/${params.ragCorpus}/ragFiles:upload`;
|
|
58
|
+
const metadata = JSON.stringify({
|
|
59
|
+
ragFile: { displayName: params.displayName },
|
|
60
|
+
// Empty message: the corpus default chunking applies. The reference SDK
|
|
61
|
+
// omits this key unless chunking is configured, so it is optional here.
|
|
62
|
+
uploadRagFileConfig: {}
|
|
63
|
+
});
|
|
64
|
+
const body = new FormData();
|
|
65
|
+
body.append(
|
|
66
|
+
"metadata",
|
|
67
|
+
new Blob([metadata], { type: "application/json; charset=UTF-8" })
|
|
68
|
+
);
|
|
69
|
+
body.append(
|
|
70
|
+
"file",
|
|
71
|
+
new Blob([params.content], { type: "text/plain; charset=UTF-8" }),
|
|
72
|
+
"content.txt"
|
|
73
|
+
);
|
|
74
|
+
const headers = await this.authHeaders(url);
|
|
75
|
+
headers.set("X-Goog-Upload-Protocol", "multipart");
|
|
76
|
+
const response = await this.send(url, {
|
|
77
|
+
method: "POST",
|
|
78
|
+
headers,
|
|
79
|
+
body
|
|
80
|
+
});
|
|
81
|
+
if (response.error) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
`Vertex AI RAG file upload was rejected: ${JSON.stringify(response.error)}`
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** Runs a retrieval query over a corpus. */
|
|
88
|
+
async retrieveContexts(params) {
|
|
89
|
+
const url = `${this.host}/v1/${params.parent}:retrieveContexts`;
|
|
90
|
+
const headers = await this.authHeaders(url);
|
|
91
|
+
headers.set("Content-Type", "application/json");
|
|
92
|
+
return this.send(url, {
|
|
93
|
+
method: "POST",
|
|
94
|
+
headers,
|
|
95
|
+
body: JSON.stringify({
|
|
96
|
+
vertexRagStore: params.vertexRagStore,
|
|
97
|
+
query: params.query
|
|
98
|
+
})
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
async authHeaders(url) {
|
|
102
|
+
const client = await this.auth.getClient();
|
|
103
|
+
return client.getRequestHeaders(url);
|
|
104
|
+
}
|
|
105
|
+
async send(url, init) {
|
|
106
|
+
const response = await fetch(url, init);
|
|
107
|
+
if (!response.ok) {
|
|
108
|
+
throw new Error(
|
|
109
|
+
`Vertex AI RAG request failed with status ${response.status}: ${await response.text()}`
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
return await response.json();
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
__name(_VertexRagApiClient, "VertexRagApiClient");
|
|
116
|
+
let VertexRagApiClient = _VertexRagApiClient;
|
|
117
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
118
|
+
0 && (module.exports = {
|
|
119
|
+
VertexRagApiClient
|
|
120
|
+
});
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var vertex_ai_rag_memory_service_exports = {};
|
|
27
|
+
__export(vertex_ai_rag_memory_service_exports, {
|
|
28
|
+
VertexAiRagMemoryService: () => VertexAiRagMemoryService
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(vertex_ai_rag_memory_service_exports);
|
|
31
|
+
var import_error_utils = require("../utils/error_utils.js");
|
|
32
|
+
var import_logger = require("../utils/logger.js");
|
|
33
|
+
var import_rag_memory_transcript = require("./rag_memory_transcript.js");
|
|
34
|
+
var import_vertex_ai_rag_api = require("./vertex_ai_rag_api.js");
|
|
35
|
+
/**
|
|
36
|
+
* @license
|
|
37
|
+
* Copyright 2026 Google LLC
|
|
38
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
39
|
+
*/
|
|
40
|
+
const RAG_FILE_PAGE_SIZE = 100;
|
|
41
|
+
const MAX_RAG_FILE_PAGES = 10;
|
|
42
|
+
const DEFAULT_VECTOR_DISTANCE_THRESHOLD = 10;
|
|
43
|
+
function resolveRagCorpus(options) {
|
|
44
|
+
var _a, _b, _c;
|
|
45
|
+
const ragCorpus = (_a = options.ragCorpus) == null ? void 0 : _a.trim();
|
|
46
|
+
if (!ragCorpus) {
|
|
47
|
+
throw new Error("ragCorpus is required for VertexAiRagMemoryService.");
|
|
48
|
+
}
|
|
49
|
+
const segments = ragCorpus.split("/");
|
|
50
|
+
const isResourceName = segments.length >= 4 && segments[0] === "projects" && segments[2] === "locations";
|
|
51
|
+
const projectId = (_b = options.projectId) != null ? _b : isResourceName ? segments[1] : process.env["GOOGLE_CLOUD_PROJECT"];
|
|
52
|
+
const location = (_c = options.location) != null ? _c : isResourceName ? segments[3] : process.env["GOOGLE_CLOUD_LOCATION"];
|
|
53
|
+
if (!projectId) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
"projectId is required for VertexAiRagMemoryService: pass projectId, set GOOGLE_CLOUD_PROJECT, or give ragCorpus as a full resource name."
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
if (!location) {
|
|
59
|
+
throw new Error(
|
|
60
|
+
"location is required for VertexAiRagMemoryService: pass location, set GOOGLE_CLOUD_LOCATION, or give ragCorpus as a full resource name."
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
projectId,
|
|
65
|
+
location,
|
|
66
|
+
ragCorpus: isResourceName ? ragCorpus : `projects/${projectId}/locations/${location}/ragCorpora/${ragCorpus}`
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
__name(resolveRagCorpus, "resolveRagCorpus");
|
|
70
|
+
function tenantSource(displayName, appName, userId) {
|
|
71
|
+
if (!displayName) {
|
|
72
|
+
return void 0;
|
|
73
|
+
}
|
|
74
|
+
const source = (0, import_rag_memory_transcript.parseSourceDisplayName)(displayName);
|
|
75
|
+
if (!source || source.appName !== appName || source.userId !== userId) {
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
return source;
|
|
79
|
+
}
|
|
80
|
+
__name(tenantSource, "tenantSource");
|
|
81
|
+
function toMemoryEntries(contexts, request) {
|
|
82
|
+
var _a;
|
|
83
|
+
const eventsBySession = /* @__PURE__ */ new Map();
|
|
84
|
+
for (const context of contexts) {
|
|
85
|
+
const source = tenantSource(
|
|
86
|
+
context.sourceDisplayName,
|
|
87
|
+
request.appName,
|
|
88
|
+
request.userId
|
|
89
|
+
);
|
|
90
|
+
if (!source) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
let events = eventsBySession.get(source.sessionId);
|
|
94
|
+
if (!events) {
|
|
95
|
+
events = /* @__PURE__ */ new Map();
|
|
96
|
+
eventsBySession.set(source.sessionId, events);
|
|
97
|
+
}
|
|
98
|
+
for (const event of (0, import_rag_memory_transcript.parseTranscriptEvents)((_a = context.text) != null ? _a : "")) {
|
|
99
|
+
if (!events.has(event.timestamp)) {
|
|
100
|
+
events.set(event.timestamp, event);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const memories = [];
|
|
105
|
+
for (const events of eventsBySession.values()) {
|
|
106
|
+
const sorted = [...events.values()].sort(
|
|
107
|
+
(a, b) => a.timestamp - b.timestamp
|
|
108
|
+
);
|
|
109
|
+
for (const event of sorted) {
|
|
110
|
+
memories.push({
|
|
111
|
+
author: event.author,
|
|
112
|
+
content: { parts: [{ text: event.text }] },
|
|
113
|
+
timestamp: new Date(event.timestamp).toISOString()
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return memories;
|
|
118
|
+
}
|
|
119
|
+
__name(toMemoryEntries, "toMemoryEntries");
|
|
120
|
+
const _VertexAiRagMemoryService = class _VertexAiRagMemoryService {
|
|
121
|
+
/**
|
|
122
|
+
* @param ragApiClient An internal seam for tests to substitute a fake REST
|
|
123
|
+
* client. Production callers omit it and get a client for the resolved
|
|
124
|
+
* location.
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
constructor(options, ragApiClient) {
|
|
128
|
+
var _a;
|
|
129
|
+
const resolved = resolveRagCorpus(options);
|
|
130
|
+
this.ragCorpus = resolved.ragCorpus;
|
|
131
|
+
this.projectId = resolved.projectId;
|
|
132
|
+
this.location = resolved.location;
|
|
133
|
+
this.similarityTopK = options.similarityTopK;
|
|
134
|
+
this.vectorDistanceThreshold = (_a = options.vectorDistanceThreshold) != null ? _a : DEFAULT_VECTOR_DISTANCE_THRESHOLD;
|
|
135
|
+
this.ragApiClient = ragApiClient != null ? ragApiClient : new import_vertex_ai_rag_api.VertexRagApiClient({ location: this.location });
|
|
136
|
+
}
|
|
137
|
+
/** Uploads the session's transcript into the corpus as one RAG file. */
|
|
138
|
+
async addSessionToMemory(session) {
|
|
139
|
+
return this.ragApiClient.uploadRagFile({
|
|
140
|
+
ragCorpus: this.ragCorpus,
|
|
141
|
+
displayName: (0, import_rag_memory_transcript.buildSourceDisplayName)(
|
|
142
|
+
session.appName,
|
|
143
|
+
session.userId,
|
|
144
|
+
session.id
|
|
145
|
+
),
|
|
146
|
+
content: (0, import_rag_memory_transcript.serializeSessionTranscript)(session)
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
async searchMemory(request) {
|
|
150
|
+
var _a, _b;
|
|
151
|
+
const ragFileIds = await this.listTenantRagFileIds(request);
|
|
152
|
+
if ((ragFileIds == null ? void 0 : ragFileIds.length) === 0) {
|
|
153
|
+
return { memories: [] };
|
|
154
|
+
}
|
|
155
|
+
const response = await this.ragApiClient.retrieveContexts({
|
|
156
|
+
parent: `projects/${this.projectId}/locations/${this.location}`,
|
|
157
|
+
vertexRagStore: {
|
|
158
|
+
ragResources: [{ ragCorpus: this.ragCorpus, ragFileIds }]
|
|
159
|
+
},
|
|
160
|
+
query: {
|
|
161
|
+
text: request.query,
|
|
162
|
+
// Top-k belongs on the query: retrieveContexts ignores
|
|
163
|
+
// VertexRagStore.similarityTopK.
|
|
164
|
+
ragRetrievalConfig: {
|
|
165
|
+
topK: this.similarityTopK,
|
|
166
|
+
filter: { vectorDistanceThreshold: this.vectorDistanceThreshold }
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return {
|
|
171
|
+
memories: toMemoryEntries((_b = (_a = response.contexts) == null ? void 0 : _a.contexts) != null ? _b : [], request)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Returns the ids of the corpus files owned by the requesting app and user,
|
|
176
|
+
* or `undefined` when the corpus could not be listed within the page budget.
|
|
177
|
+
*
|
|
178
|
+
* An `undefined` result retrieves over the whole corpus. Narrowing only
|
|
179
|
+
* improves ranking and transfer size, and every returned context is filtered
|
|
180
|
+
* by tenant anyway. Scoping to a partial listing would instead hide the
|
|
181
|
+
* caller's own memories.
|
|
182
|
+
*/
|
|
183
|
+
async listTenantRagFileIds(request) {
|
|
184
|
+
var _a;
|
|
185
|
+
const ragFileIds = [];
|
|
186
|
+
let pageToken;
|
|
187
|
+
try {
|
|
188
|
+
for (let page = 0; page < MAX_RAG_FILE_PAGES; page++) {
|
|
189
|
+
const response = await this.ragApiClient.listRagFiles({
|
|
190
|
+
ragCorpus: this.ragCorpus,
|
|
191
|
+
pageSize: RAG_FILE_PAGE_SIZE,
|
|
192
|
+
pageToken
|
|
193
|
+
});
|
|
194
|
+
for (const ragFile of (_a = response.ragFiles) != null ? _a : []) {
|
|
195
|
+
const source = tenantSource(
|
|
196
|
+
ragFile.displayName,
|
|
197
|
+
request.appName,
|
|
198
|
+
request.userId
|
|
199
|
+
);
|
|
200
|
+
if (source && ragFile.name) {
|
|
201
|
+
ragFileIds.push(
|
|
202
|
+
ragFile.name.slice(ragFile.name.lastIndexOf("/") + 1)
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
pageToken = response.nextPageToken;
|
|
207
|
+
if (!pageToken) {
|
|
208
|
+
return ragFileIds;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
} catch (e) {
|
|
212
|
+
import_logger.logger.warn(
|
|
213
|
+
`Listing the corpus failed, so retrieval is not scoped to the requesting app and user: ${(0, import_error_utils.formatError)(e)}`
|
|
214
|
+
);
|
|
215
|
+
return void 0;
|
|
216
|
+
}
|
|
217
|
+
import_logger.logger.warn(
|
|
218
|
+
`Listing ${this.ragCorpus} did not finish within ${MAX_RAG_FILE_PAGES} pages, so retrieval is not scoped to the requesting app and user.`
|
|
219
|
+
);
|
|
220
|
+
return void 0;
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
__name(_VertexAiRagMemoryService, "VertexAiRagMemoryService");
|
|
224
|
+
let VertexAiRagMemoryService = _VertexAiRagMemoryService;
|
|
225
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
226
|
+
0 && (module.exports = {
|
|
227
|
+
VertexAiRagMemoryService
|
|
228
|
+
});
|
|
@@ -160,7 +160,7 @@ function validateModel(model) {
|
|
|
160
160
|
if (modelPart.length === 0) {
|
|
161
161
|
return false;
|
|
162
162
|
}
|
|
163
|
-
const components = modelPart.split("/"
|
|
163
|
+
const components = modelPart.split("/");
|
|
164
164
|
if (components[components.length - 1].length === 0) {
|
|
165
165
|
return false;
|
|
166
166
|
}
|
|
@@ -36,7 +36,7 @@ var import_client_labels = require("../utils/client_labels.js");
|
|
|
36
36
|
* SPDX-License-Identifier: Apache-2.0
|
|
37
37
|
*/
|
|
38
38
|
var _a;
|
|
39
|
-
const BASE_MODEL_SYMBOL = Symbol.for("google.adk.baseModel");
|
|
39
|
+
const BASE_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.baseModel");
|
|
40
40
|
function isBaseLlm(obj) {
|
|
41
41
|
return typeof obj === "object" && obj !== null && BASE_MODEL_SYMBOL in obj && obj[BASE_MODEL_SYMBOL] === true;
|
|
42
42
|
}
|