@google/adk 1.6.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 +17 -28
- package/dist/cjs/a2a/a2a_remote_agent.js +13 -7
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +111 -2
- package/dist/cjs/a2a/agent_card.js +90 -8
- package/dist/cjs/a2a/agent_executor.js +34 -18
- package/dist/cjs/a2a/agent_to_a2a.js +28 -11
- package/dist/cjs/a2a/auth.js +3 -0
- package/dist/cjs/a2a/event_converter_utils.js +10 -0
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +6 -2
- package/dist/cjs/a2a/index.js +57 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +55 -17
- package/dist/cjs/agents/context.js +12 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +185 -60
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +43 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +541 -50
- package/dist/cjs/agents/loop_agent.js +20 -3
- package/dist/cjs/agents/parallel_agent.js +22 -3
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +32 -8
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
- package/dist/cjs/agents/processors/code_execution_request_processor.js +20 -7
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +13 -5
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +320 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +214 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +13 -3
- package/dist/cjs/agents/routed_agent.js +7 -14
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +21 -4
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +12 -12
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +22 -4
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +14 -2
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +49 -10
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +6 -3
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +23 -2
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +7 -3
- package/dist/cjs/code_executors/built_in_code_executor.js +7 -3
- package/dist/cjs/code_executors/code_execution_utils.js +8 -2
- package/dist/cjs/code_executors/code_executor_context.js +5 -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 +19 -8
- package/dist/cjs/common.js +180 -46
- package/dist/cjs/context/agent_controlled_context_compactor.js +15 -7
- package/dist/cjs/context/anchored_context_compactor.js +46 -20
- package/dist/cjs/context/compaction_utils.js +18 -6
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +19 -5
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +22 -12
- package/dist/cjs/context/truncating_context_compactor.js +22 -7
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- 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/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +12 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +7 -3
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +54 -25
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +10 -6
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +8 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -4
- 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 +10 -4
- package/dist/cjs/models/base_llm.js +8 -4
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +33 -16
- package/dist/cjs/models/interactions_utils.js +18 -3
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +8 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +39 -5
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- 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/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +236 -43
- package/dist/cjs/sessions/base_session_service.js +13 -2
- package/dist/cjs/sessions/database_session_service.js +84 -45
- package/dist/cjs/sessions/db/operations.js +259 -24
- package/dist/cjs/sessions/db/schema.js +118 -156
- package/dist/cjs/sessions/in_memory_session_service.js +22 -14
- package/dist/cjs/sessions/registry.js +9 -2
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +112 -17
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +22 -10
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +6 -1
- package/dist/cjs/telemetry/tracing.js +71 -5
- package/dist/cjs/tools/agent_tool.js +10 -7
- package/dist/cjs/tools/base_tool.js +38 -6
- package/dist/cjs/tools/base_toolset.js +10 -6
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +8 -7
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +23 -15
- package/dist/cjs/tools/function_tool.js +79 -11
- package/dist/cjs/tools/get_user_choice_tool.js +3 -2
- package/dist/cjs/tools/google_maps_grounding_tool.js +8 -7
- package/dist/cjs/tools/google_search_tool.js +7 -7
- package/dist/cjs/tools/load_artifacts_tool.js +55 -25
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +14 -160
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +39 -7
- package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +15 -2
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +3 -1
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +39 -23
- package/dist/cjs/tools/preload_memory_tool.js +6 -3
- package/dist/cjs/tools/request_input_tool.js +6 -4
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +7 -7
- package/dist/cjs/tools/vertex_ai_search_tool.js +8 -9
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +7 -11
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +18 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +41 -0
- package/dist/cjs/utils/error_utils.js +8 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +7 -2
- package/dist/cjs/utils/gemini_schema_util.js +6 -8
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +28 -54
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +2 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +80 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +3 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +147 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +18 -27
- package/dist/esm/a2a/a2a_remote_agent.js +16 -7
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +110 -2
- package/dist/esm/a2a/agent_card.js +96 -8
- package/dist/esm/a2a/agent_executor.js +36 -19
- package/dist/esm/a2a/agent_to_a2a.js +52 -17
- package/dist/esm/a2a/auth.js +4 -0
- package/dist/esm/a2a/event_converter_utils.js +11 -0
- package/dist/esm/a2a/event_processor_utils.js +74 -35
- package/dist/esm/a2a/executor_context.js +7 -2
- package/dist/esm/a2a/index.js +26 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +56 -17
- package/dist/esm/agents/context.js +13 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +191 -58
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +42 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +542 -50
- package/dist/esm/agents/loop_agent.js +22 -3
- package/dist/esm/agents/parallel_agent.js +24 -3
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +33 -8
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
- package/dist/esm/agents/processors/code_execution_request_processor.js +21 -7
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +14 -5
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +325 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +193 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +14 -3
- package/dist/esm/agents/routed_agent.js +7 -15
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +23 -4
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +15 -12
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +23 -4
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +15 -2
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +53 -10
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +7 -3
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +22 -2
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +8 -3
- package/dist/esm/code_executors/built_in_code_executor.js +8 -3
- package/dist/esm/code_executors/code_execution_utils.js +9 -2
- package/dist/esm/code_executors/code_executor_context.js +6 -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 +20 -8
- package/dist/esm/common.js +181 -41
- package/dist/esm/context/agent_controlled_context_compactor.js +16 -7
- package/dist/esm/context/anchored_context_compactor.js +51 -21
- package/dist/esm/context/compaction_utils.js +17 -5
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +20 -5
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +23 -12
- package/dist/esm/context/truncating_context_compactor.js +23 -7
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/esm/errors/not_found_error.js +23 -0
- 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/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +12 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +8 -3
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +41 -15
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +11 -6
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +9 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +20 -4
- 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 +11 -4
- package/dist/esm/models/base_llm.js +9 -4
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +35 -17
- package/dist/esm/models/interactions_utils.js +19 -3
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +9 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +39 -5
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- 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/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +249 -46
- package/dist/esm/sessions/base_session_service.js +14 -2
- package/dist/esm/sessions/database_session_service.js +65 -27
- package/dist/esm/sessions/db/operations.js +259 -24
- package/dist/esm/sessions/db/schema.js +116 -157
- package/dist/esm/sessions/in_memory_session_service.js +23 -14
- package/dist/esm/sessions/registry.js +10 -2
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +111 -16
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +23 -10
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +7 -1
- package/dist/esm/telemetry/tracing.js +70 -5
- package/dist/esm/tools/agent_tool.js +11 -7
- package/dist/esm/tools/base_tool.js +36 -5
- package/dist/esm/tools/base_toolset.js +11 -6
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +9 -7
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +24 -15
- package/dist/esm/tools/function_tool.js +80 -11
- package/dist/esm/tools/get_user_choice_tool.js +4 -2
- package/dist/esm/tools/google_maps_grounding_tool.js +9 -7
- package/dist/esm/tools/google_search_tool.js +8 -7
- package/dist/esm/tools/load_artifacts_tool.js +57 -26
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +19 -158
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/{web/context/summarizers/base_summarizer.js → esm/tools/mcp/index.js} +4 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +40 -7
- package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +18 -2
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +3 -1
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +39 -23
- package/dist/esm/tools/preload_memory_tool.js +7 -3
- package/dist/esm/tools/request_input_tool.js +7 -4
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +8 -7
- package/dist/esm/tools/vertex_ai_search_tool.js +9 -9
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +8 -11
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +17 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +41 -0
- package/dist/esm/utils/error_utils.js +9 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +8 -2
- package/dist/esm/utils/gemini_schema_util.js +7 -8
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +28 -44
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +3 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +53 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/ssrf_guard.js +230 -0
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +5 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +122 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- 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 +12 -3
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +6 -4
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +56 -25
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +73 -8
- package/dist/types/agents/invocation_context.d.ts +106 -6
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +86 -8
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +72 -4
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- 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/credential_response_binding.d.ts +24 -0
- 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 +39 -27
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- 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.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +23 -0
- package/dist/types/index.d.ts +27 -14
- 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/apigee_llm.d.ts +4 -4
- 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 +10 -4
- 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 +47 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- 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/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +64 -9
- package/dist/types/sessions/base_session_service.d.ts +2 -2
- 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/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +26 -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/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +88 -10
- 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/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +12 -11
- 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/request_input_tool.d.ts +6 -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/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -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/async_queue.d.ts +34 -2
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +16 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- 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/optional_peer.d.ts +36 -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 +32 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +97 -20
- package/dist/web/a2a/a2a_event.js +0 -271
- package/dist/web/a2a/a2a_remote_agent.js +0 -196
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -184
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -133
- package/dist/web/a2a/agent_card.js +0 -342
- package/dist/web/a2a/agent_executor.js +0 -218
- package/dist/web/a2a/agent_to_a2a.js +0 -97
- package/dist/web/a2a/auth.js +0 -37
- package/dist/web/a2a/event_converter_utils.js +0 -232
- package/dist/web/a2a/event_processor_utils.js +0 -170
- package/dist/web/a2a/executor_context.js +0 -25
- package/dist/web/a2a/metadata_converter_utils.js +0 -110
- package/dist/web/a2a/part_converter_utils.js +0 -188
- package/dist/web/agents/active_streaming_tool.js +0 -21
- package/dist/web/agents/base_agent.js +0 -423
- package/dist/web/agents/context.js +0 -142
- package/dist/web/agents/functions.js +0 -433
- package/dist/web/agents/instructions.js +0 -148
- package/dist/web/agents/invocation_context.js +0 -77
- package/dist/web/agents/live_request_queue.js +0 -126
- package/dist/web/agents/llm_agent.js +0 -936
- package/dist/web/agents/loop_agent.js +0 -112
- package/dist/web/agents/parallel_agent.js +0 -101
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -109
- package/dist/web/agents/processors/base_llm_processor.js +0 -15
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -81
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -367
- package/dist/web/agents/processors/content_processor_utils.js +0 -361
- package/dist/web/agents/processors/content_request_processor.js +0 -67
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -74
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -50
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -81
- package/dist/web/agents/processors/interactions_request_processor.js +0 -52
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -168
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -68
- package/dist/web/agents/readonly_context.js +0 -55
- package/dist/web/agents/routed_agent.js +0 -169
- package/dist/web/agents/run_config.js +0 -62
- package/dist/web/agents/sequential_agent.js +0 -122
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/apps/app.js +0 -49
- package/dist/web/apps/resumability_config.js +0 -31
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -548
- package/dist/web/artifacts/gcs_artifact_service.js +0 -253
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -164
- package/dist/web/artifacts/registry.js +0 -30
- package/dist/web/artifacts/scoped_artifact_service.js +0 -86
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -148
- package/dist/web/auth/auth_preprocessor.js +0 -175
- package/dist/web/auth/auth_provider_registry.js +0 -33
- package/dist/web/auth/auth_schemes.js +0 -33
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -46
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -23
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -12
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -31
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -188
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -102
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -190
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -98
- package/dist/web/auth/refresher/base_credential_refresher.js +0 -16
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -40
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -281
- package/dist/web/code_executors/base_code_executor.js +0 -63
- package/dist/web/code_executors/built_in_code_executor.js +0 -45
- package/dist/web/code_executors/code_execution_utils.js +0 -124
- package/dist/web/code_executors/code_executor_context.js +0 -170
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -214
- package/dist/web/common.js +0 -347
- package/dist/web/context/agent_controlled_context_compactor.js +0 -72
- package/dist/web/context/anchored_context_compactor.js +0 -117
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -38
- package/dist/web/context/summarizers/llm_summarizer.js +0 -87
- package/dist/web/context/token_based_context_compactor.js +0 -111
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -43
- package/dist/web/context/truncating_context_compactor.js +0 -30
- package/dist/web/events/compacted_event.js +0 -47
- package/dist/web/events/event.js +0 -174
- package/dist/web/events/event_actions.js +0 -69
- package/dist/web/events/structured_events.js +0 -76
- package/dist/web/examples/base_example_provider.js +0 -27
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -79
- package/dist/web/features/feature_registry.js +0 -107
- package/dist/web/index.js +0 -68
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -333
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -117
- package/dist/web/integrations/agent_registry/helpers.js +0 -28
- 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 -82
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -481
- package/dist/web/models/apigee_llm.js +0 -221
- package/dist/web/models/base_llm.js +0 -73
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -179
- package/dist/web/models/google_llm.js +0 -384
- package/dist/web/models/interactions_utils.js +0 -728
- package/dist/web/models/llm_request.js +0 -52
- package/dist/web/models/llm_response.js +0 -45
- package/dist/web/models/registry.js +0 -95
- package/dist/web/models/routed_llm.js +0 -122
- package/dist/web/plugins/base_plugin.js +0 -271
- package/dist/web/plugins/global_instruction_plugin.js +0 -67
- package/dist/web/plugins/logging_plugin.js +0 -235
- package/dist/web/plugins/plugin_manager.js +0 -282
- package/dist/web/plugins/security_plugin.js +0 -140
- package/dist/web/runner/in_memory_runner.js +0 -46
- package/dist/web/runner/runner.js +0 -535
- package/dist/web/sessions/base_session_service.js +0 -111
- package/dist/web/sessions/database_session_service.js +0 -436
- package/dist/web/sessions/db/operations.js +0 -96
- package/dist/web/sessions/db/schema.js +0 -208
- package/dist/web/sessions/in_memory_session_service.js +0 -242
- package/dist/web/sessions/registry.js +0 -34
- package/dist/web/sessions/session.js +0 -20
- package/dist/web/sessions/state.js +0 -89
- package/dist/web/sessions/vertex_ai_session_service.js +0 -443
- package/dist/web/skills/gcp_skill_registry.js +0 -78
- package/dist/web/skills/loader.js +0 -360
- package/dist/web/skills/prompt.js +0 -30
- 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 -54
- package/dist/web/telemetry/setup.js +0 -83
- package/dist/web/telemetry/tracing.js +0 -234
- package/dist/web/tools/agent_tool.js +0 -145
- package/dist/web/tools/base_tool.js +0 -93
- package/dist/web/tools/base_toolset.js +0 -57
- package/dist/web/tools/consolidate_context_tool.js +0 -51
- package/dist/web/tools/enterprise_web_search_tool.js +0 -55
- package/dist/web/tools/example_tool.js +0 -42
- package/dist/web/tools/exit_loop_tool.js +0 -43
- package/dist/web/tools/forwarding_artifact_service.js +0 -47
- package/dist/web/tools/function_tool.js +0 -85
- package/dist/web/tools/get_user_choice_tool.js +0 -25
- package/dist/web/tools/google_maps_grounding_tool.js +0 -54
- package/dist/web/tools/google_search_tool.js +0 -51
- package/dist/web/tools/load_artifacts_tool.js +0 -152
- package/dist/web/tools/load_memory_tool.js +0 -79
- package/dist/web/tools/load_web_page.js +0 -221
- package/dist/web/tools/long_running_tool.js +0 -55
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -107
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -78
- package/dist/web/tools/mcp/mcp_tool.js +0 -43
- package/dist/web/tools/mcp/mcp_toolset.js +0 -141
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -48
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -60
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -111
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -221
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -198
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -94
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -97
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -229
- package/dist/web/tools/preload_memory_tool.js +0 -77
- package/dist/web/tools/request_input_tool.js +0 -26
- package/dist/web/tools/skill/list_skills_tool.js +0 -50
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -190
- package/dist/web/tools/skill/load_skill_tool.js +0 -93
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -167
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -201
- package/dist/web/tools/skill/search_skills_tool.js +0 -82
- package/dist/web/tools/skill/skill_toolset.js +0 -160
- package/dist/web/tools/tool_confirmation.js +0 -21
- package/dist/web/tools/url_context_tool.js +0 -44
- package/dist/web/tools/vertex_ai_search_tool.js +0 -103
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -36
- package/dist/web/utils/async_hooks_shim.js +0 -24
- package/dist/web/utils/async_queue.js +0 -60
- package/dist/web/utils/branch_trie.js +0 -13
- package/dist/web/utils/case_utils.js +0 -25
- package/dist/web/utils/client_labels.js +0 -64
- package/dist/web/utils/crypto_shim.js +0 -15
- package/dist/web/utils/env_aware_utils.js +0 -74
- package/dist/web/utils/error_utils.js +0 -92
- package/dist/web/utils/experimental.js +0 -46
- package/dist/web/utils/failover_utils.js +0 -96
- package/dist/web/utils/file_extension_utils.js +0 -51
- package/dist/web/utils/file_utils.js +0 -103
- package/dist/web/utils/gemini_schema_util.js +0 -173
- package/dist/web/utils/live_connection_utils.js +0 -254
- package/dist/web/utils/logger.js +0 -130
- package/dist/web/utils/model_name.js +0 -66
- package/dist/web/utils/object_notation_utils.js +0 -49
- package/dist/web/utils/output_schema_utils.js +0 -15
- package/dist/web/utils/partial_copy.js +0 -23
- package/dist/web/utils/simple_zod_to_json.js +0 -123
- package/dist/web/utils/streaming_utils.js +0 -430
- package/dist/web/utils/task.js +0 -34
- package/dist/web/utils/variant_utils.js +0 -20
- package/dist/web/utils/vertex_ai_utils.js +0 -24
- package/dist/web/version.js +0 -11
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
- /package/dist/{web/auth/base_auth_provider.js → esm/workflow/trigger.js} +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
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
|
+
const SOURCE_DISPLAY_NAME_PREFIX = "adk-memory-v1.";
|
|
11
|
+
const SOURCE_DISPLAY_NAME_SEGMENTS = 3;
|
|
12
|
+
const MILLISECONDS_PER_SECOND = 1e3;
|
|
13
|
+
function encodeSegment(value) {
|
|
14
|
+
return Buffer.from(value, "utf-8").toString("base64url");
|
|
15
|
+
}
|
|
16
|
+
__name(encodeSegment, "encodeSegment");
|
|
17
|
+
function decodeSegment(segment) {
|
|
18
|
+
if (!segment) {
|
|
19
|
+
return void 0;
|
|
20
|
+
}
|
|
21
|
+
const decoded = Buffer.from(segment, "base64url").toString("utf-8");
|
|
22
|
+
return encodeSegment(decoded) === segment ? decoded : void 0;
|
|
23
|
+
}
|
|
24
|
+
__name(decodeSegment, "decodeSegment");
|
|
25
|
+
function buildSourceDisplayName(appName, userId, sessionId) {
|
|
26
|
+
const segments = [appName, userId, sessionId].map(encodeSegment);
|
|
27
|
+
return SOURCE_DISPLAY_NAME_PREFIX + segments.join(".");
|
|
28
|
+
}
|
|
29
|
+
__name(buildSourceDisplayName, "buildSourceDisplayName");
|
|
30
|
+
function parseSourceDisplayName(displayName) {
|
|
31
|
+
const isPrefixed = displayName.startsWith(SOURCE_DISPLAY_NAME_PREFIX);
|
|
32
|
+
const raw = isPrefixed ? displayName.slice(SOURCE_DISPLAY_NAME_PREFIX.length) : displayName;
|
|
33
|
+
const parts = raw.split(".");
|
|
34
|
+
if (parts.length !== SOURCE_DISPLAY_NAME_SEGMENTS) {
|
|
35
|
+
return void 0;
|
|
36
|
+
}
|
|
37
|
+
if (!isPrefixed) {
|
|
38
|
+
return { appName: parts[0], userId: parts[1], sessionId: parts[2] };
|
|
39
|
+
}
|
|
40
|
+
const [appName, userId, sessionId] = parts.map(decodeSegment);
|
|
41
|
+
if (appName === void 0 || userId === void 0 || sessionId === void 0) {
|
|
42
|
+
return void 0;
|
|
43
|
+
}
|
|
44
|
+
return { appName, userId, sessionId };
|
|
45
|
+
}
|
|
46
|
+
__name(parseSourceDisplayName, "parseSourceDisplayName");
|
|
47
|
+
function serializeSessionTranscript(session) {
|
|
48
|
+
var _a, _b, _c;
|
|
49
|
+
const lines = [];
|
|
50
|
+
for (const event of session.events) {
|
|
51
|
+
const texts = [];
|
|
52
|
+
for (const part of (_b = (_a = event.content) == null ? void 0 : _a.parts) != null ? _b : []) {
|
|
53
|
+
if (part.text) {
|
|
54
|
+
texts.push(part.text.replaceAll("\n", " "));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (texts.length === 0) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
lines.push(
|
|
61
|
+
JSON.stringify({
|
|
62
|
+
author: (_c = event.author) != null ? _c : "",
|
|
63
|
+
timestamp: event.timestamp / MILLISECONDS_PER_SECOND,
|
|
64
|
+
text: texts.join(".")
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return lines.join("\n");
|
|
69
|
+
}
|
|
70
|
+
__name(serializeSessionTranscript, "serializeSessionTranscript");
|
|
71
|
+
function parseTranscriptLine(line) {
|
|
72
|
+
let parsed;
|
|
73
|
+
try {
|
|
74
|
+
parsed = JSON.parse(line);
|
|
75
|
+
} catch {
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
79
|
+
return void 0;
|
|
80
|
+
}
|
|
81
|
+
const record = parsed;
|
|
82
|
+
const seconds = typeof record["timestamp"] === "number" ? record["timestamp"] : 0;
|
|
83
|
+
return {
|
|
84
|
+
author: typeof record["author"] === "string" ? record["author"] : "",
|
|
85
|
+
timestamp: seconds * MILLISECONDS_PER_SECOND,
|
|
86
|
+
text: typeof record["text"] === "string" ? record["text"] : ""
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
__name(parseTranscriptLine, "parseTranscriptLine");
|
|
90
|
+
function parseTranscriptEvents(text) {
|
|
91
|
+
const events = [];
|
|
92
|
+
for (const line of text.split("\n")) {
|
|
93
|
+
const event = parseTranscriptLine(line);
|
|
94
|
+
if (event) {
|
|
95
|
+
events.push(event);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return events;
|
|
99
|
+
}
|
|
100
|
+
__name(parseTranscriptEvents, "parseTranscriptEvents");
|
|
101
|
+
export {
|
|
102
|
+
buildSourceDisplayName,
|
|
103
|
+
parseSourceDisplayName,
|
|
104
|
+
parseTranscriptEvents,
|
|
105
|
+
serializeSessionTranscript
|
|
106
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -41,6 +43,7 @@ function shouldFilterOutEvent(content) {
|
|
|
41
43
|
(p) => p.text || p.inlineData || p.fileData
|
|
42
44
|
);
|
|
43
45
|
}
|
|
46
|
+
__name(shouldFilterOutEvent, "shouldFilterOutEvent");
|
|
44
47
|
function toVertexMetadataValue(key, value) {
|
|
45
48
|
if (typeof value === "boolean") {
|
|
46
49
|
return { boolValue: value };
|
|
@@ -69,7 +72,8 @@ function toVertexMetadataValue(key, value) {
|
|
|
69
72
|
}
|
|
70
73
|
return { stringValue: String(value) };
|
|
71
74
|
}
|
|
72
|
-
|
|
75
|
+
__name(toVertexMetadataValue, "toVertexMetadataValue");
|
|
76
|
+
const _VertexAiMemoryBankService = class _VertexAiMemoryBankService {
|
|
73
77
|
constructor(options) {
|
|
74
78
|
if (!options.agentEngineId) {
|
|
75
79
|
throw new Error(
|
|
@@ -209,7 +213,7 @@ class VertexAiMemoryBankService {
|
|
|
209
213
|
config
|
|
210
214
|
};
|
|
211
215
|
const operation = await this.memories.createInternal(params);
|
|
212
|
-
logger.
|
|
216
|
+
logger.debug("Create memory response received.");
|
|
213
217
|
logger.debug(`Create memory response: ${JSON.stringify(operation)}`);
|
|
214
218
|
}
|
|
215
219
|
}
|
|
@@ -233,13 +237,15 @@ class VertexAiMemoryBankService {
|
|
|
233
237
|
config
|
|
234
238
|
};
|
|
235
239
|
const operation = await this.memories.generateInternal(params);
|
|
236
|
-
logger.
|
|
240
|
+
logger.debug("Generate direct memory response received.");
|
|
237
241
|
logger.debug(
|
|
238
242
|
`Generate direct memory response: ${JSON.stringify(operation)}`
|
|
239
243
|
);
|
|
240
244
|
}
|
|
241
245
|
}
|
|
242
|
-
}
|
|
246
|
+
};
|
|
247
|
+
__name(_VertexAiMemoryBankService, "VertexAiMemoryBankService");
|
|
248
|
+
let VertexAiMemoryBankService = _VertexAiMemoryBankService;
|
|
243
249
|
function buildCreateMemoryConfig(params) {
|
|
244
250
|
const config = { waitForCompletion: false };
|
|
245
251
|
if (params.customMetadata) {
|
|
@@ -305,6 +311,7 @@ function buildCreateMemoryConfig(params) {
|
|
|
305
311
|
}
|
|
306
312
|
return config;
|
|
307
313
|
}
|
|
314
|
+
__name(buildCreateMemoryConfig, "buildCreateMemoryConfig");
|
|
308
315
|
function extractRevisionLabels(value, source) {
|
|
309
316
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
310
317
|
logger.warn(`Ignoring ${source} because it is not an object.`);
|
|
@@ -325,6 +332,7 @@ function extractRevisionLabels(value, source) {
|
|
|
325
332
|
}
|
|
326
333
|
return revisionLabels;
|
|
327
334
|
}
|
|
335
|
+
__name(extractRevisionLabels, "extractRevisionLabels");
|
|
328
336
|
function buildVertexMetadata(metadataByKey) {
|
|
329
337
|
const vertexMetadata = {};
|
|
330
338
|
for (const [key, value] of Object.entries(metadataByKey)) {
|
|
@@ -335,6 +343,7 @@ function buildVertexMetadata(metadataByKey) {
|
|
|
335
343
|
}
|
|
336
344
|
return vertexMetadata;
|
|
337
345
|
}
|
|
346
|
+
__name(buildVertexMetadata, "buildVertexMetadata");
|
|
338
347
|
function buildGenerateMemoriesConfig(customMetadata) {
|
|
339
348
|
const config = { waitForCompletion: false };
|
|
340
349
|
if (!customMetadata) {
|
|
@@ -387,6 +396,7 @@ function buildGenerateMemoriesConfig(customMetadata) {
|
|
|
387
396
|
}
|
|
388
397
|
return config;
|
|
389
398
|
}
|
|
399
|
+
__name(buildGenerateMemoriesConfig, "buildGenerateMemoriesConfig");
|
|
390
400
|
function normalizeMemoriesForCreate(memories) {
|
|
391
401
|
if (!Array.isArray(memories)) {
|
|
392
402
|
throw new TypeError("memories must be a sequence of memory items.");
|
|
@@ -396,6 +406,7 @@ function normalizeMemoriesForCreate(memories) {
|
|
|
396
406
|
}
|
|
397
407
|
return memories;
|
|
398
408
|
}
|
|
409
|
+
__name(normalizeMemoriesForCreate, "normalizeMemoriesForCreate");
|
|
399
410
|
function memoryEntryToFact(memory, index) {
|
|
400
411
|
const textParts = [];
|
|
401
412
|
if (memory.content && memory.content.parts) {
|
|
@@ -418,6 +429,7 @@ function memoryEntryToFact(memory, index) {
|
|
|
418
429
|
}
|
|
419
430
|
return textParts.join("\n");
|
|
420
431
|
}
|
|
432
|
+
__name(memoryEntryToFact, "memoryEntryToFact");
|
|
421
433
|
function mergeCustomMetadataForMemory(params) {
|
|
422
434
|
const mergedMetadata = {};
|
|
423
435
|
if (params.customMetadata) {
|
|
@@ -432,6 +444,7 @@ function mergeCustomMetadataForMemory(params) {
|
|
|
432
444
|
}
|
|
433
445
|
return mergedMetadata;
|
|
434
446
|
}
|
|
447
|
+
__name(mergeCustomMetadataForMemory, "mergeCustomMetadataForMemory");
|
|
435
448
|
function revisionLabelsForMemory(memory) {
|
|
436
449
|
const revisionLabels = {};
|
|
437
450
|
if (memory.author) {
|
|
@@ -445,6 +458,7 @@ function revisionLabelsForMemory(memory) {
|
|
|
445
458
|
}
|
|
446
459
|
return revisionLabels;
|
|
447
460
|
}
|
|
461
|
+
__name(revisionLabelsForMemory, "revisionLabelsForMemory");
|
|
448
462
|
function isConsolidationEnabled(customMetadata) {
|
|
449
463
|
if (!customMetadata) {
|
|
450
464
|
return false;
|
|
@@ -460,6 +474,7 @@ function isConsolidationEnabled(customMetadata) {
|
|
|
460
474
|
}
|
|
461
475
|
return enableConsolidation;
|
|
462
476
|
}
|
|
477
|
+
__name(isConsolidationEnabled, "isConsolidationEnabled");
|
|
463
478
|
function iterMemoryBatches(memories) {
|
|
464
479
|
const memoryBatches = [];
|
|
465
480
|
for (let index = 0; index < memories.length; index += MAX_DIRECT_MEMORIES_PER_GENERATE_CALL) {
|
|
@@ -469,6 +484,7 @@ function iterMemoryBatches(memories) {
|
|
|
469
484
|
}
|
|
470
485
|
return memoryBatches;
|
|
471
486
|
}
|
|
487
|
+
__name(iterMemoryBatches, "iterMemoryBatches");
|
|
472
488
|
export {
|
|
473
489
|
VertexAiMemoryBankService
|
|
474
490
|
};
|
|
@@ -0,0 +1,93 @@
|
|
|
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 { GoogleAuth } from "google-auth-library";
|
|
11
|
+
const CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
|
|
12
|
+
const _VertexRagApiClient = class _VertexRagApiClient {
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this.host = `https://${options.location}-aiplatform.googleapis.com`;
|
|
15
|
+
this.auth = new GoogleAuth({ scopes: [CLOUD_PLATFORM_SCOPE] });
|
|
16
|
+
}
|
|
17
|
+
/** Lists one page of the files in a corpus. */
|
|
18
|
+
async listRagFiles(params) {
|
|
19
|
+
const query = new URLSearchParams({ pageSize: String(params.pageSize) });
|
|
20
|
+
if (params.pageToken) {
|
|
21
|
+
query.set("pageToken", params.pageToken);
|
|
22
|
+
}
|
|
23
|
+
const url = `${this.host}/v1/${params.ragCorpus}/ragFiles?${query.toString()}`;
|
|
24
|
+
return this.send(url, {
|
|
25
|
+
method: "GET",
|
|
26
|
+
headers: await this.authHeaders(url)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** Uploads `content` into a corpus as one RAG file. */
|
|
30
|
+
async uploadRagFile(params) {
|
|
31
|
+
const url = `${this.host}/upload/v1/${params.ragCorpus}/ragFiles:upload`;
|
|
32
|
+
const metadata = JSON.stringify({
|
|
33
|
+
ragFile: { displayName: params.displayName },
|
|
34
|
+
// Empty message: the corpus default chunking applies. The reference SDK
|
|
35
|
+
// omits this key unless chunking is configured, so it is optional here.
|
|
36
|
+
uploadRagFileConfig: {}
|
|
37
|
+
});
|
|
38
|
+
const body = new FormData();
|
|
39
|
+
body.append(
|
|
40
|
+
"metadata",
|
|
41
|
+
new Blob([metadata], { type: "application/json; charset=UTF-8" })
|
|
42
|
+
);
|
|
43
|
+
body.append(
|
|
44
|
+
"file",
|
|
45
|
+
new Blob([params.content], { type: "text/plain; charset=UTF-8" }),
|
|
46
|
+
"content.txt"
|
|
47
|
+
);
|
|
48
|
+
const headers = await this.authHeaders(url);
|
|
49
|
+
headers.set("X-Goog-Upload-Protocol", "multipart");
|
|
50
|
+
const response = await this.send(url, {
|
|
51
|
+
method: "POST",
|
|
52
|
+
headers,
|
|
53
|
+
body
|
|
54
|
+
});
|
|
55
|
+
if (response.error) {
|
|
56
|
+
throw new Error(
|
|
57
|
+
`Vertex AI RAG file upload was rejected: ${JSON.stringify(response.error)}`
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** Runs a retrieval query over a corpus. */
|
|
62
|
+
async retrieveContexts(params) {
|
|
63
|
+
const url = `${this.host}/v1/${params.parent}:retrieveContexts`;
|
|
64
|
+
const headers = await this.authHeaders(url);
|
|
65
|
+
headers.set("Content-Type", "application/json");
|
|
66
|
+
return this.send(url, {
|
|
67
|
+
method: "POST",
|
|
68
|
+
headers,
|
|
69
|
+
body: JSON.stringify({
|
|
70
|
+
vertexRagStore: params.vertexRagStore,
|
|
71
|
+
query: params.query
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
async authHeaders(url) {
|
|
76
|
+
const client = await this.auth.getClient();
|
|
77
|
+
return client.getRequestHeaders(url);
|
|
78
|
+
}
|
|
79
|
+
async send(url, init) {
|
|
80
|
+
const response = await fetch(url, init);
|
|
81
|
+
if (!response.ok) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
`Vertex AI RAG request failed with status ${response.status}: ${await response.text()}`
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
return await response.json();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
__name(_VertexRagApiClient, "VertexRagApiClient");
|
|
90
|
+
let VertexRagApiClient = _VertexRagApiClient;
|
|
91
|
+
export {
|
|
92
|
+
VertexRagApiClient
|
|
93
|
+
};
|
|
@@ -0,0 +1,208 @@
|
|
|
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 { formatError } from "../utils/error_utils.js";
|
|
11
|
+
import { logger } from "../utils/logger.js";
|
|
12
|
+
import {
|
|
13
|
+
buildSourceDisplayName,
|
|
14
|
+
parseSourceDisplayName,
|
|
15
|
+
parseTranscriptEvents,
|
|
16
|
+
serializeSessionTranscript
|
|
17
|
+
} from "./rag_memory_transcript.js";
|
|
18
|
+
import {
|
|
19
|
+
VertexRagApiClient
|
|
20
|
+
} from "./vertex_ai_rag_api.js";
|
|
21
|
+
const RAG_FILE_PAGE_SIZE = 100;
|
|
22
|
+
const MAX_RAG_FILE_PAGES = 10;
|
|
23
|
+
const DEFAULT_VECTOR_DISTANCE_THRESHOLD = 10;
|
|
24
|
+
function resolveRagCorpus(options) {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
const ragCorpus = (_a = options.ragCorpus) == null ? void 0 : _a.trim();
|
|
27
|
+
if (!ragCorpus) {
|
|
28
|
+
throw new Error("ragCorpus is required for VertexAiRagMemoryService.");
|
|
29
|
+
}
|
|
30
|
+
const segments = ragCorpus.split("/");
|
|
31
|
+
const isResourceName = segments.length >= 4 && segments[0] === "projects" && segments[2] === "locations";
|
|
32
|
+
const projectId = (_b = options.projectId) != null ? _b : isResourceName ? segments[1] : process.env["GOOGLE_CLOUD_PROJECT"];
|
|
33
|
+
const location = (_c = options.location) != null ? _c : isResourceName ? segments[3] : process.env["GOOGLE_CLOUD_LOCATION"];
|
|
34
|
+
if (!projectId) {
|
|
35
|
+
throw new Error(
|
|
36
|
+
"projectId is required for VertexAiRagMemoryService: pass projectId, set GOOGLE_CLOUD_PROJECT, or give ragCorpus as a full resource name."
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
if (!location) {
|
|
40
|
+
throw new Error(
|
|
41
|
+
"location is required for VertexAiRagMemoryService: pass location, set GOOGLE_CLOUD_LOCATION, or give ragCorpus as a full resource name."
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
projectId,
|
|
46
|
+
location,
|
|
47
|
+
ragCorpus: isResourceName ? ragCorpus : `projects/${projectId}/locations/${location}/ragCorpora/${ragCorpus}`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
__name(resolveRagCorpus, "resolveRagCorpus");
|
|
51
|
+
function tenantSource(displayName, appName, userId) {
|
|
52
|
+
if (!displayName) {
|
|
53
|
+
return void 0;
|
|
54
|
+
}
|
|
55
|
+
const source = parseSourceDisplayName(displayName);
|
|
56
|
+
if (!source || source.appName !== appName || source.userId !== userId) {
|
|
57
|
+
return void 0;
|
|
58
|
+
}
|
|
59
|
+
return source;
|
|
60
|
+
}
|
|
61
|
+
__name(tenantSource, "tenantSource");
|
|
62
|
+
function toMemoryEntries(contexts, request) {
|
|
63
|
+
var _a;
|
|
64
|
+
const eventsBySession = /* @__PURE__ */ new Map();
|
|
65
|
+
for (const context of contexts) {
|
|
66
|
+
const source = tenantSource(
|
|
67
|
+
context.sourceDisplayName,
|
|
68
|
+
request.appName,
|
|
69
|
+
request.userId
|
|
70
|
+
);
|
|
71
|
+
if (!source) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
let events = eventsBySession.get(source.sessionId);
|
|
75
|
+
if (!events) {
|
|
76
|
+
events = /* @__PURE__ */ new Map();
|
|
77
|
+
eventsBySession.set(source.sessionId, events);
|
|
78
|
+
}
|
|
79
|
+
for (const event of parseTranscriptEvents((_a = context.text) != null ? _a : "")) {
|
|
80
|
+
if (!events.has(event.timestamp)) {
|
|
81
|
+
events.set(event.timestamp, event);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const memories = [];
|
|
86
|
+
for (const events of eventsBySession.values()) {
|
|
87
|
+
const sorted = [...events.values()].sort(
|
|
88
|
+
(a, b) => a.timestamp - b.timestamp
|
|
89
|
+
);
|
|
90
|
+
for (const event of sorted) {
|
|
91
|
+
memories.push({
|
|
92
|
+
author: event.author,
|
|
93
|
+
content: { parts: [{ text: event.text }] },
|
|
94
|
+
timestamp: new Date(event.timestamp).toISOString()
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return memories;
|
|
99
|
+
}
|
|
100
|
+
__name(toMemoryEntries, "toMemoryEntries");
|
|
101
|
+
const _VertexAiRagMemoryService = class _VertexAiRagMemoryService {
|
|
102
|
+
/**
|
|
103
|
+
* @param ragApiClient An internal seam for tests to substitute a fake REST
|
|
104
|
+
* client. Production callers omit it and get a client for the resolved
|
|
105
|
+
* location.
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
constructor(options, ragApiClient) {
|
|
109
|
+
var _a;
|
|
110
|
+
const resolved = resolveRagCorpus(options);
|
|
111
|
+
this.ragCorpus = resolved.ragCorpus;
|
|
112
|
+
this.projectId = resolved.projectId;
|
|
113
|
+
this.location = resolved.location;
|
|
114
|
+
this.similarityTopK = options.similarityTopK;
|
|
115
|
+
this.vectorDistanceThreshold = (_a = options.vectorDistanceThreshold) != null ? _a : DEFAULT_VECTOR_DISTANCE_THRESHOLD;
|
|
116
|
+
this.ragApiClient = ragApiClient != null ? ragApiClient : new VertexRagApiClient({ location: this.location });
|
|
117
|
+
}
|
|
118
|
+
/** Uploads the session's transcript into the corpus as one RAG file. */
|
|
119
|
+
async addSessionToMemory(session) {
|
|
120
|
+
return this.ragApiClient.uploadRagFile({
|
|
121
|
+
ragCorpus: this.ragCorpus,
|
|
122
|
+
displayName: buildSourceDisplayName(
|
|
123
|
+
session.appName,
|
|
124
|
+
session.userId,
|
|
125
|
+
session.id
|
|
126
|
+
),
|
|
127
|
+
content: serializeSessionTranscript(session)
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
async searchMemory(request) {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
const ragFileIds = await this.listTenantRagFileIds(request);
|
|
133
|
+
if ((ragFileIds == null ? void 0 : ragFileIds.length) === 0) {
|
|
134
|
+
return { memories: [] };
|
|
135
|
+
}
|
|
136
|
+
const response = await this.ragApiClient.retrieveContexts({
|
|
137
|
+
parent: `projects/${this.projectId}/locations/${this.location}`,
|
|
138
|
+
vertexRagStore: {
|
|
139
|
+
ragResources: [{ ragCorpus: this.ragCorpus, ragFileIds }]
|
|
140
|
+
},
|
|
141
|
+
query: {
|
|
142
|
+
text: request.query,
|
|
143
|
+
// Top-k belongs on the query: retrieveContexts ignores
|
|
144
|
+
// VertexRagStore.similarityTopK.
|
|
145
|
+
ragRetrievalConfig: {
|
|
146
|
+
topK: this.similarityTopK,
|
|
147
|
+
filter: { vectorDistanceThreshold: this.vectorDistanceThreshold }
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
return {
|
|
152
|
+
memories: toMemoryEntries((_b = (_a = response.contexts) == null ? void 0 : _a.contexts) != null ? _b : [], request)
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Returns the ids of the corpus files owned by the requesting app and user,
|
|
157
|
+
* or `undefined` when the corpus could not be listed within the page budget.
|
|
158
|
+
*
|
|
159
|
+
* An `undefined` result retrieves over the whole corpus. Narrowing only
|
|
160
|
+
* improves ranking and transfer size, and every returned context is filtered
|
|
161
|
+
* by tenant anyway. Scoping to a partial listing would instead hide the
|
|
162
|
+
* caller's own memories.
|
|
163
|
+
*/
|
|
164
|
+
async listTenantRagFileIds(request) {
|
|
165
|
+
var _a;
|
|
166
|
+
const ragFileIds = [];
|
|
167
|
+
let pageToken;
|
|
168
|
+
try {
|
|
169
|
+
for (let page = 0; page < MAX_RAG_FILE_PAGES; page++) {
|
|
170
|
+
const response = await this.ragApiClient.listRagFiles({
|
|
171
|
+
ragCorpus: this.ragCorpus,
|
|
172
|
+
pageSize: RAG_FILE_PAGE_SIZE,
|
|
173
|
+
pageToken
|
|
174
|
+
});
|
|
175
|
+
for (const ragFile of (_a = response.ragFiles) != null ? _a : []) {
|
|
176
|
+
const source = tenantSource(
|
|
177
|
+
ragFile.displayName,
|
|
178
|
+
request.appName,
|
|
179
|
+
request.userId
|
|
180
|
+
);
|
|
181
|
+
if (source && ragFile.name) {
|
|
182
|
+
ragFileIds.push(
|
|
183
|
+
ragFile.name.slice(ragFile.name.lastIndexOf("/") + 1)
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
pageToken = response.nextPageToken;
|
|
188
|
+
if (!pageToken) {
|
|
189
|
+
return ragFileIds;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
} catch (e) {
|
|
193
|
+
logger.warn(
|
|
194
|
+
`Listing the corpus failed, so retrieval is not scoped to the requesting app and user: ${formatError(e)}`
|
|
195
|
+
);
|
|
196
|
+
return void 0;
|
|
197
|
+
}
|
|
198
|
+
logger.warn(
|
|
199
|
+
`Listing ${this.ragCorpus} did not finish within ${MAX_RAG_FILE_PAGES} pages, so retrieval is not scoped to the requesting app and user.`
|
|
200
|
+
);
|
|
201
|
+
return void 0;
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
__name(_VertexAiRagMemoryService, "VertexAiRagMemoryService");
|
|
205
|
+
let VertexAiRagMemoryService = _VertexAiRagMemoryService;
|
|
206
|
+
export {
|
|
207
|
+
VertexAiRagMemoryService
|
|
208
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -9,7 +11,7 @@ import { isBrowser } from "../utils/env_aware_utils.js";
|
|
|
9
11
|
import { logger } from "../utils/logger.js";
|
|
10
12
|
import { Gemini, geminiInitParams } from "./google_llm.js";
|
|
11
13
|
const APIGEE_PROXY_URL_ENV_VARIABLE_NAME = "APIGEE_PROXY_URL";
|
|
12
|
-
class
|
|
14
|
+
const _ApigeeLlm = class _ApigeeLlm extends Gemini {
|
|
13
15
|
constructor({
|
|
14
16
|
model,
|
|
15
17
|
proxyUrl,
|
|
@@ -80,15 +82,17 @@ class ApigeeLlm extends Gemini {
|
|
|
80
82
|
llmRequest.model = getModelId(modelToUse);
|
|
81
83
|
return super.connect(llmRequest);
|
|
82
84
|
}
|
|
83
|
-
}
|
|
85
|
+
};
|
|
86
|
+
__name(_ApigeeLlm, "ApigeeLlm");
|
|
84
87
|
/**
|
|
85
88
|
* A list of model name patterns that are supported by this LLM.
|
|
86
89
|
*
|
|
87
90
|
* @returns A list of supported models.
|
|
88
91
|
*/
|
|
89
|
-
|
|
92
|
+
_ApigeeLlm.supportedModels = [
|
|
90
93
|
/apigee\/.*/
|
|
91
94
|
];
|
|
95
|
+
let ApigeeLlm = _ApigeeLlm;
|
|
92
96
|
function apigeeToGeminiInitParams({
|
|
93
97
|
model,
|
|
94
98
|
vertexai,
|
|
@@ -110,6 +114,7 @@ function apigeeToGeminiInitParams({
|
|
|
110
114
|
}
|
|
111
115
|
return params;
|
|
112
116
|
}
|
|
117
|
+
__name(apigeeToGeminiInitParams, "apigeeToGeminiInitParams");
|
|
113
118
|
function getModelId(model) {
|
|
114
119
|
if (!validateModel(model)) {
|
|
115
120
|
throw new Error(
|
|
@@ -119,6 +124,7 @@ function getModelId(model) {
|
|
|
119
124
|
const components = model.split("/");
|
|
120
125
|
return components[components.length - 1];
|
|
121
126
|
}
|
|
127
|
+
__name(getModelId, "getModelId");
|
|
122
128
|
function validateModel(model) {
|
|
123
129
|
const validProviders = ["vertex_ai", "gemini"];
|
|
124
130
|
if (!model.startsWith("apigee/")) {
|
|
@@ -128,7 +134,7 @@ function validateModel(model) {
|
|
|
128
134
|
if (modelPart.length === 0) {
|
|
129
135
|
return false;
|
|
130
136
|
}
|
|
131
|
-
const components = modelPart.split("/"
|
|
137
|
+
const components = modelPart.split("/");
|
|
132
138
|
if (components[components.length - 1].length === 0) {
|
|
133
139
|
return false;
|
|
134
140
|
}
|
|
@@ -149,6 +155,7 @@ function validateModel(model) {
|
|
|
149
155
|
}
|
|
150
156
|
return false;
|
|
151
157
|
}
|
|
158
|
+
__name(validateModel, "validateModel");
|
|
152
159
|
export {
|
|
153
160
|
ApigeeLlm
|
|
154
161
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -7,12 +9,13 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
7
9
|
*/
|
|
8
10
|
var _a;
|
|
9
11
|
import { getClientLabels } from "../utils/client_labels.js";
|
|
10
|
-
const BASE_MODEL_SYMBOL = Symbol.for("google.adk.baseModel");
|
|
12
|
+
const BASE_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.baseModel");
|
|
11
13
|
function isBaseLlm(obj) {
|
|
12
14
|
return typeof obj === "object" && obj !== null && BASE_MODEL_SYMBOL in obj && obj[BASE_MODEL_SYMBOL] === true;
|
|
13
15
|
}
|
|
16
|
+
__name(isBaseLlm, "isBaseLlm");
|
|
14
17
|
_a = BASE_MODEL_SYMBOL;
|
|
15
|
-
class
|
|
18
|
+
const _BaseLlm = class _BaseLlm {
|
|
16
19
|
/**
|
|
17
20
|
* Creates an instance of BaseLLM.
|
|
18
21
|
* @param params The parameters for creating a BaseLlm instance.
|
|
@@ -62,11 +65,13 @@ class BaseLlm {
|
|
|
62
65
|
});
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
|
-
}
|
|
68
|
+
};
|
|
69
|
+
__name(_BaseLlm, "BaseLlm");
|
|
66
70
|
/**
|
|
67
71
|
* List of supported models in regex for LlmRegistry.
|
|
68
72
|
*/
|
|
69
|
-
|
|
73
|
+
_BaseLlm.supportedModels = [];
|
|
74
|
+
let BaseLlm = _BaseLlm;
|
|
70
75
|
export {
|
|
71
76
|
BaseLlm,
|
|
72
77
|
isBaseLlm
|