@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
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -33,11 +34,14 @@ __export(runner_exports, {
|
|
|
33
34
|
module.exports = __toCommonJS(runner_exports);
|
|
34
35
|
var import_genai = require("@google/genai");
|
|
35
36
|
var import_api = require("@opentelemetry/api");
|
|
37
|
+
var import_base_agent = require("../agents/base_agent.js");
|
|
38
|
+
var import_framework_function_calls = require("../agents/framework_function_calls.js");
|
|
36
39
|
var import_functions = require("../agents/functions.js");
|
|
37
40
|
var import_invocation_context = require("../agents/invocation_context.js");
|
|
38
41
|
var import_llm_agent = require("../agents/llm_agent.js");
|
|
39
42
|
var import_run_config = require("../agents/run_config.js");
|
|
40
43
|
var import_scoped_artifact_service = require("../artifacts/scoped_artifact_service.js");
|
|
44
|
+
var import_session_artifact_service = require("../artifacts/session_artifact_service.js");
|
|
41
45
|
var import_built_in_code_executor = require("../code_executors/built_in_code_executor.js");
|
|
42
46
|
var import_event = require("../events/event.js");
|
|
43
47
|
var import_event_actions = require("../events/event_actions.js");
|
|
@@ -46,18 +50,21 @@ var import_tracing = require("../telemetry/tracing.js");
|
|
|
46
50
|
var import_base_toolset = require("../tools/base_toolset.js");
|
|
47
51
|
var import_logger = require("../utils/logger.js");
|
|
48
52
|
var import_model_name = require("../utils/model_name.js");
|
|
53
|
+
var import_redact_inline_data = require("../utils/redact_inline_data.js");
|
|
54
|
+
var import_run_node_as_invocation = require("../workflow/run_node_as_invocation.js");
|
|
49
55
|
/**
|
|
50
56
|
* @license
|
|
51
57
|
* Copyright 2025 Google LLC
|
|
52
58
|
* SPDX-License-Identifier: Apache-2.0
|
|
53
59
|
*/
|
|
54
60
|
var _a;
|
|
55
|
-
const RUNNER_SIGNATURE_SYMBOL = Symbol.for("google.adk.runner");
|
|
61
|
+
const RUNNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.runner");
|
|
56
62
|
function isRunner(obj) {
|
|
57
63
|
return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
|
|
58
64
|
}
|
|
65
|
+
__name(isRunner, "isRunner");
|
|
59
66
|
_a = RUNNER_SIGNATURE_SYMBOL;
|
|
60
|
-
class
|
|
67
|
+
const _Runner = class _Runner {
|
|
61
68
|
/**
|
|
62
69
|
* Creates a new Runner instance.
|
|
63
70
|
*
|
|
@@ -74,7 +81,7 @@ class Runner {
|
|
|
74
81
|
);
|
|
75
82
|
}
|
|
76
83
|
this.appName = appName;
|
|
77
|
-
this.agent = agent;
|
|
84
|
+
this.agent = (0, import_run_node_as_invocation.asRunnableRoot)(agent);
|
|
78
85
|
const appPlugins = (_f = (_e = input.app) == null ? void 0 : _e.plugins) != null ? _f : [];
|
|
79
86
|
const configPlugins = (_g = input.plugins) != null ? _g : [];
|
|
80
87
|
this.pluginManager = new import_plugin_manager.PluginManager([...appPlugins, ...configPlugins]);
|
|
@@ -135,6 +142,7 @@ class Runner {
|
|
|
135
142
|
if (newMessage && !newMessage.role) {
|
|
136
143
|
newMessage.role = "user";
|
|
137
144
|
}
|
|
145
|
+
rejectReservedFunctionCalls(newMessage);
|
|
138
146
|
const span = import_tracing.tracer.startSpan("invocation");
|
|
139
147
|
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
140
148
|
try {
|
|
@@ -157,7 +165,9 @@ class Runner {
|
|
|
157
165
|
`Session lookup failed: appName must be provided in runner constructor (or via app.name)`
|
|
158
166
|
);
|
|
159
167
|
}
|
|
160
|
-
throw new Error(
|
|
168
|
+
throw new Error(
|
|
169
|
+
`Session not found: ${sessionId} (appName=${this.appName}, userId=${userId})`
|
|
170
|
+
);
|
|
161
171
|
}
|
|
162
172
|
if (runConfig.supportCfc && (0, import_llm_agent.isLlmAgent)(this.agent)) {
|
|
163
173
|
const modelName = this.agent.canonicalModel.model;
|
|
@@ -171,7 +181,7 @@ class Runner {
|
|
|
171
181
|
}
|
|
172
182
|
}
|
|
173
183
|
const invocationContext = new import_invocation_context.InvocationContext({
|
|
174
|
-
artifactService: this.artifactService ? new import_scoped_artifact_service.ScopedArtifactService(
|
|
184
|
+
artifactService: this.artifactService ? (0, import_session_artifact_service.isSessionArtifactService)(this.artifactService) ? this.artifactService : new import_scoped_artifact_service.ScopedArtifactService(
|
|
175
185
|
this.artifactService,
|
|
176
186
|
this.appName,
|
|
177
187
|
userId,
|
|
@@ -181,10 +191,11 @@ class Runner {
|
|
|
181
191
|
memoryService: this.memoryService,
|
|
182
192
|
credentialService: this.credentialService,
|
|
183
193
|
invocationId: (0, import_invocation_context.newInvocationContextId)(),
|
|
184
|
-
agent: this.agent,
|
|
194
|
+
agent: (0, import_base_agent.isBaseAgent)(this.agent) ? this.agent : void 0,
|
|
185
195
|
session,
|
|
186
196
|
userContent: newMessage,
|
|
187
197
|
runConfig,
|
|
198
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
188
199
|
pluginManager: this.pluginManager,
|
|
189
200
|
abortSignal: params.abortSignal
|
|
190
201
|
});
|
|
@@ -204,9 +215,8 @@ class Runner {
|
|
|
204
215
|
}
|
|
205
216
|
if (runConfig.saveInputBlobsAsArtifacts) {
|
|
206
217
|
newMessage = await this.saveArtifacts(
|
|
218
|
+
invocationContext.artifactService,
|
|
207
219
|
invocationContext.invocationId,
|
|
208
|
-
session.userId,
|
|
209
|
-
session.id,
|
|
210
220
|
newMessage
|
|
211
221
|
);
|
|
212
222
|
if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
|
|
@@ -227,10 +237,12 @@ class Runner {
|
|
|
227
237
|
return;
|
|
228
238
|
}
|
|
229
239
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
240
|
+
if ((0, import_base_agent.isBaseAgent)(this.agent)) {
|
|
241
|
+
invocationContext.agent = this.determineAgentForResumption(
|
|
242
|
+
session,
|
|
243
|
+
this.agent
|
|
244
|
+
);
|
|
245
|
+
}
|
|
234
246
|
if (newMessage) {
|
|
235
247
|
const beforeRunCallbackResponse = await this.pluginManager.runBeforeRunCallback({
|
|
236
248
|
invocationContext
|
|
@@ -253,9 +265,7 @@ class Runner {
|
|
|
253
265
|
}
|
|
254
266
|
yield earlyExitEvent;
|
|
255
267
|
} else {
|
|
256
|
-
for await (const event of
|
|
257
|
-
invocationContext
|
|
258
|
-
)) {
|
|
268
|
+
for await (const event of this.runRoot(invocationContext)) {
|
|
259
269
|
if ((_h = params.abortSignal) == null ? void 0 : _h.aborted) {
|
|
260
270
|
return;
|
|
261
271
|
}
|
|
@@ -292,29 +302,42 @@ class Runner {
|
|
|
292
302
|
);
|
|
293
303
|
} finally {
|
|
294
304
|
span.end();
|
|
295
|
-
const toolsets = getAllToolsets(this.agent);
|
|
305
|
+
const toolsets = (0, import_base_agent.isBaseAgent)(this.agent) ? getAllToolsets(this.agent) : [];
|
|
296
306
|
await Promise.allSettled(toolsets.map((t) => t.close()));
|
|
297
307
|
}
|
|
298
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Runs whatever this runner was given as its root.
|
|
311
|
+
*
|
|
312
|
+
* An agent is run through `runAsync`, as always. A bare node — a `Workflow`
|
|
313
|
+
* handed to the runner directly — is driven by {@link runNodeAsInvocation}.
|
|
314
|
+
*
|
|
315
|
+
* Only the execution differs. Everything around it (the run callbacks, event
|
|
316
|
+
* persistence, cancellation) is shared, so the node path cannot drift from
|
|
317
|
+
* the agent path on the things that are not about execution. adk-python has
|
|
318
|
+
* two separate loops here and a TODO noting its node one lacks tracing and
|
|
319
|
+
* plugins; there is nothing to lack if there is only one loop.
|
|
320
|
+
*/
|
|
321
|
+
async *runRoot(invocationContext) {
|
|
322
|
+
if ((0, import_base_agent.isBaseAgent)(this.agent)) {
|
|
323
|
+
yield* (0, import_invocation_context.requireAgent)(invocationContext).runAsync(invocationContext);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
yield* (0, import_run_node_as_invocation.runNodeAsInvocation)(this.agent, invocationContext);
|
|
327
|
+
}
|
|
299
328
|
/**
|
|
300
329
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
301
330
|
* a file name placeholder and optional file reference.
|
|
302
331
|
*
|
|
332
|
+
* @param artifactService The session-scoped artifact service to save to.
|
|
303
333
|
* @param invocationId The current invocation ID.
|
|
304
|
-
* @param userId The user ID of the session.
|
|
305
|
-
* @param sessionId The session ID of the session.
|
|
306
334
|
* @param message The message containing parts to process.
|
|
307
335
|
*/
|
|
308
|
-
async saveArtifacts(
|
|
336
|
+
async saveArtifacts(artifactService, invocationId, message) {
|
|
309
337
|
var _a2;
|
|
310
|
-
if (!
|
|
338
|
+
if (!artifactService || !((_a2 = message.parts) == null ? void 0 : _a2.length)) {
|
|
311
339
|
return message;
|
|
312
340
|
}
|
|
313
|
-
const sessionKey = {
|
|
314
|
-
appName: this.appName,
|
|
315
|
-
userId,
|
|
316
|
-
sessionId
|
|
317
|
-
};
|
|
318
341
|
const newParts = [];
|
|
319
342
|
let modified = false;
|
|
320
343
|
for (let i = 0; i < message.parts.length; i++) {
|
|
@@ -326,20 +349,16 @@ class Runner {
|
|
|
326
349
|
try {
|
|
327
350
|
const inlineData = part.inlineData;
|
|
328
351
|
const fileName = inlineData.displayName || `artifact_${invocationId}_${i}`;
|
|
329
|
-
const version = await
|
|
330
|
-
...sessionKey,
|
|
352
|
+
const version = await artifactService.saveArtifact({
|
|
331
353
|
filename: fileName,
|
|
332
354
|
artifact: part
|
|
333
355
|
});
|
|
334
356
|
newParts.push((0, import_genai.createPartFromText)(`[Uploaded Artifact: "${fileName}"]`));
|
|
335
357
|
try {
|
|
336
|
-
const artifactVersion = await
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
version
|
|
341
|
-
}
|
|
342
|
-
);
|
|
358
|
+
const artifactVersion = await artifactService.getArtifactVersion({
|
|
359
|
+
filename: fileName,
|
|
360
|
+
version
|
|
361
|
+
});
|
|
343
362
|
if ((artifactVersion == null ? void 0 : artifactVersion.canonicalUri) && /^(gs|https?):/i.test(artifactVersion.canonicalUri)) {
|
|
344
363
|
newParts.push({
|
|
345
364
|
fileData: {
|
|
@@ -389,27 +408,180 @@ class Runner {
|
|
|
389
408
|
* Whether the agent to run can transfer to any other agent in the agent tree.
|
|
390
409
|
*
|
|
391
410
|
* @param agentToRun The agent to check for transferability.
|
|
392
|
-
* @returns True if the agent can transfer,
|
|
411
|
+
* @returns True if the agent can transfer, false otherwise.
|
|
393
412
|
*/
|
|
394
413
|
isRoutableLlmAgent(agentToRun) {
|
|
395
414
|
return isRoutableLlmAgent(agentToRun);
|
|
396
415
|
}
|
|
397
|
-
|
|
416
|
+
/**
|
|
417
|
+
* Runs the agent in the live (bidirectional streaming) mode.
|
|
418
|
+
*
|
|
419
|
+
* Model media events that carry raw inline bytes (audio, video, or image)
|
|
420
|
+
* are yielded but not appended to the session to avoid persisting large
|
|
421
|
+
* blobs; events with `fileData` references and most other live events
|
|
422
|
+
* (transcriptions, tool calls, usage) are persisted as in `runAsync`.
|
|
423
|
+
*
|
|
424
|
+
* This feature is **experimental** and its API may change.
|
|
425
|
+
*
|
|
426
|
+
* @param params.userId The user ID of the session.
|
|
427
|
+
* @param params.sessionId The session ID of the session.
|
|
428
|
+
* @param params.liveRequestQueue The queue used to feed the live model.
|
|
429
|
+
* @param params.runConfig The run config for the agent.
|
|
430
|
+
* @param params.abortSignal Optional signal to abort the live run.
|
|
431
|
+
* @param params.liveSessionResumptionHandle Optional session resumption
|
|
432
|
+
* handle observed from a prior `runLive` cycle on the same conversation.
|
|
433
|
+
* When set, the agent's live flow opens the connection with
|
|
434
|
+
* `liveConnectConfig.sessionResumption.handle` so the server restores its
|
|
435
|
+
* state instead of relying on client-side history replay.
|
|
436
|
+
* @yields The events generated by the agent.
|
|
437
|
+
*/
|
|
438
|
+
async *runLive(params) {
|
|
439
|
+
var _a2, _b, _c, _d;
|
|
440
|
+
if (!params.liveRequestQueue) {
|
|
441
|
+
throw new Error("liveRequestQueue is required for runLive.");
|
|
442
|
+
}
|
|
443
|
+
if (!(0, import_base_agent.isBaseAgent)(this.agent)) {
|
|
444
|
+
throw new Error("runLive is only supported for agents.");
|
|
445
|
+
}
|
|
446
|
+
const agent = this.agent;
|
|
447
|
+
const runConfig = (0, import_run_config.createRunConfig)(params.runConfig);
|
|
448
|
+
if (!((_a2 = runConfig.responseModalities) == null ? void 0 : _a2.length)) {
|
|
449
|
+
runConfig.responseModalities = [import_genai.Modality.AUDIO];
|
|
450
|
+
}
|
|
451
|
+
if ((_b = agent.subAgents) == null ? void 0 : _b.length) {
|
|
452
|
+
if (runConfig.responseModalities.includes(import_genai.Modality.AUDIO)) {
|
|
453
|
+
(_c = runConfig.outputAudioTranscription) != null ? _c : runConfig.outputAudioTranscription = {};
|
|
454
|
+
}
|
|
455
|
+
(_d = runConfig.inputAudioTranscription) != null ? _d : runConfig.inputAudioTranscription = {};
|
|
456
|
+
}
|
|
457
|
+
const span = import_tracing.tracer.startSpan("invocation");
|
|
458
|
+
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
459
|
+
try {
|
|
460
|
+
yield* (0, import_tracing.runAsyncGeneratorWithOtelContext)(
|
|
461
|
+
ctx,
|
|
462
|
+
this,
|
|
463
|
+
async function* () {
|
|
464
|
+
var _a3, _b2, _c2, _d2;
|
|
465
|
+
const session = await this.sessionService.getOrCreateSession({
|
|
466
|
+
appName: this.appName,
|
|
467
|
+
userId: params.userId,
|
|
468
|
+
sessionId: params.sessionId
|
|
469
|
+
});
|
|
470
|
+
if ((_a3 = params.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
const invocationContext = new import_invocation_context.InvocationContext({
|
|
474
|
+
artifactService: this.artifactService ? (0, import_session_artifact_service.isSessionArtifactService)(this.artifactService) ? this.artifactService : new import_scoped_artifact_service.ScopedArtifactService(
|
|
475
|
+
this.artifactService,
|
|
476
|
+
this.appName,
|
|
477
|
+
params.userId,
|
|
478
|
+
params.sessionId
|
|
479
|
+
) : void 0,
|
|
480
|
+
sessionService: this.sessionService,
|
|
481
|
+
memoryService: this.memoryService,
|
|
482
|
+
credentialService: this.credentialService,
|
|
483
|
+
invocationId: (0, import_invocation_context.newInvocationContextId)(),
|
|
484
|
+
agent,
|
|
485
|
+
session,
|
|
486
|
+
runConfig,
|
|
487
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
488
|
+
pluginManager: this.pluginManager,
|
|
489
|
+
liveRequestQueue: params.liveRequestQueue,
|
|
490
|
+
abortSignal: params.abortSignal,
|
|
491
|
+
liveSessionResumptionHandle: params.liveSessionResumptionHandle
|
|
492
|
+
});
|
|
493
|
+
invocationContext.agent = this.determineAgentForResumption(
|
|
494
|
+
session,
|
|
495
|
+
agent
|
|
496
|
+
);
|
|
497
|
+
const beforeRunCallbackResponse = await this.pluginManager.runBeforeRunCallback({
|
|
498
|
+
invocationContext
|
|
499
|
+
});
|
|
500
|
+
if ((_b2 = params.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
if (beforeRunCallbackResponse) {
|
|
504
|
+
const earlyExitEvent = (0, import_event.createEvent)({
|
|
505
|
+
invocationId: invocationContext.invocationId,
|
|
506
|
+
author: "model",
|
|
507
|
+
content: beforeRunCallbackResponse
|
|
508
|
+
});
|
|
509
|
+
await this.sessionService.appendEvent({
|
|
510
|
+
session,
|
|
511
|
+
event: earlyExitEvent
|
|
512
|
+
});
|
|
513
|
+
yield earlyExitEvent;
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
for await (const event of (0, import_invocation_context.requireAgent)(invocationContext).runLive(
|
|
517
|
+
invocationContext
|
|
518
|
+
)) {
|
|
519
|
+
if ((_c2 = params.abortSignal) == null ? void 0 : _c2.aborted) {
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
const modifiedEvent = await this.pluginManager.runOnEventCallback({
|
|
523
|
+
invocationContext,
|
|
524
|
+
event
|
|
525
|
+
});
|
|
526
|
+
if ((_d2 = params.abortSignal) == null ? void 0 : _d2.aborted) {
|
|
527
|
+
return;
|
|
528
|
+
}
|
|
529
|
+
const eventToProcess = modifiedEvent != null ? modifiedEvent : event;
|
|
530
|
+
if (!eventToProcess.partial && !isLiveModelMediaEventWithInlineData(eventToProcess)) {
|
|
531
|
+
await this.sessionService.appendEvent({
|
|
532
|
+
session,
|
|
533
|
+
event: eventToProcess
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
yield eventToProcess;
|
|
537
|
+
}
|
|
538
|
+
await this.pluginManager.runAfterRunCallback({ invocationContext });
|
|
539
|
+
}
|
|
540
|
+
);
|
|
541
|
+
} finally {
|
|
542
|
+
span.end();
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
};
|
|
546
|
+
__name(_Runner, "Runner");
|
|
547
|
+
let Runner = _Runner;
|
|
548
|
+
function isLiveModelMediaEventWithInlineData(event) {
|
|
549
|
+
var _a2;
|
|
550
|
+
const parts = (_a2 = event.content) == null ? void 0 : _a2.parts;
|
|
551
|
+
if (!(parts == null ? void 0 : parts.length)) {
|
|
552
|
+
return false;
|
|
553
|
+
}
|
|
554
|
+
return parts.some((part) => {
|
|
555
|
+
var _a3, _b;
|
|
556
|
+
const mimeType = (_b = (_a3 = part.inlineData) == null ? void 0 : _a3.mimeType) == null ? void 0 : _b.toLowerCase();
|
|
557
|
+
return mimeType !== void 0 && (mimeType.startsWith("audio/") || mimeType.startsWith("video/") || mimeType.startsWith("image/"));
|
|
558
|
+
});
|
|
398
559
|
}
|
|
560
|
+
__name(isLiveModelMediaEventWithInlineData, "isLiveModelMediaEventWithInlineData");
|
|
399
561
|
function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
400
562
|
const event = findEventByLastFunctionResponseId(session.events);
|
|
401
563
|
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
402
564
|
if (event && event.author && isResumable) {
|
|
565
|
+
const conflictingAuthors = (0, import_functions.getConflictingFunctionResponseAuthors)(
|
|
566
|
+
session.events
|
|
567
|
+
);
|
|
568
|
+
if (conflictingAuthors) {
|
|
569
|
+
throw new Error(
|
|
570
|
+
`Function responses in the last event resolve to function calls from more than one agent (at least "${conflictingAuthors[0]}" and "${conflictingAuthors[1]}"); cannot determine a single agent to resume.`
|
|
571
|
+
);
|
|
572
|
+
}
|
|
403
573
|
const resumedAgent = rootAgent.findAgent(event.author);
|
|
404
574
|
if (resumedAgent) {
|
|
405
575
|
return resumedAgent;
|
|
406
576
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
577
|
+
if (!isWorkflowNodeEvent(event)) {
|
|
578
|
+
import_logger.logger.warn(
|
|
579
|
+
`Function response from an unknown agent: ${event.author}, event id: ${event.id}`
|
|
580
|
+
);
|
|
581
|
+
}
|
|
410
582
|
}
|
|
411
583
|
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
412
|
-
import_logger.logger.debug("event:",
|
|
584
|
+
import_logger.logger.debug("event:", (0, import_redact_inline_data.stringifyWithRedactedInlineData)(session.events[i]));
|
|
413
585
|
const event2 = session.events[i];
|
|
414
586
|
if (event2.author === "user" || !event2.author) {
|
|
415
587
|
continue;
|
|
@@ -419,9 +591,11 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
419
591
|
}
|
|
420
592
|
const agent = rootAgent.findSubAgent(event2.author);
|
|
421
593
|
if (!agent) {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
594
|
+
if (!isWorkflowNodeEvent(event2)) {
|
|
595
|
+
import_logger.logger.warn(
|
|
596
|
+
`Event from an unknown agent: ${event2.author}, event id: ${event2.id}`
|
|
597
|
+
);
|
|
598
|
+
}
|
|
425
599
|
continue;
|
|
426
600
|
}
|
|
427
601
|
if (isRoutableLlmAgent(agent)) {
|
|
@@ -430,6 +604,12 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
430
604
|
}
|
|
431
605
|
return rootAgent;
|
|
432
606
|
}
|
|
607
|
+
__name(determineAgentForResumption, "determineAgentForResumption");
|
|
608
|
+
function isWorkflowNodeEvent(event) {
|
|
609
|
+
var _a2;
|
|
610
|
+
return Boolean((_a2 = event.nodeInfo) == null ? void 0 : _a2.path);
|
|
611
|
+
}
|
|
612
|
+
__name(isWorkflowNodeEvent, "isWorkflowNodeEvent");
|
|
433
613
|
function isRoutableLlmAgent(agentToRun) {
|
|
434
614
|
let agent = agentToRun;
|
|
435
615
|
while (agent) {
|
|
@@ -443,10 +623,12 @@ function isRoutableLlmAgent(agentToRun) {
|
|
|
443
623
|
}
|
|
444
624
|
return true;
|
|
445
625
|
}
|
|
626
|
+
__name(isRoutableLlmAgent, "isRoutableLlmAgent");
|
|
446
627
|
function findEventByLastFunctionResponseId(events) {
|
|
447
628
|
var _a2;
|
|
448
629
|
return (_a2 = (0, import_functions.findMatchingFunctionCall)(events)) != null ? _a2 : null;
|
|
449
630
|
}
|
|
631
|
+
__name(findEventByLastFunctionResponseId, "findEventByLastFunctionResponseId");
|
|
450
632
|
function getAllToolsets(agent) {
|
|
451
633
|
const toolsets = [];
|
|
452
634
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -464,9 +646,20 @@ function getAllToolsets(agent) {
|
|
|
464
646
|
traverse(sub);
|
|
465
647
|
}
|
|
466
648
|
}
|
|
649
|
+
__name(traverse, "traverse");
|
|
467
650
|
traverse(agent);
|
|
468
651
|
return toolsets;
|
|
469
652
|
}
|
|
653
|
+
__name(getAllToolsets, "getAllToolsets");
|
|
654
|
+
function rejectReservedFunctionCalls(newMessage) {
|
|
655
|
+
const reserved = (0, import_framework_function_calls.reservedFunctionCallName)(newMessage);
|
|
656
|
+
if (reserved) {
|
|
657
|
+
throw new Error(
|
|
658
|
+
`A client message may not contain a '${reserved}' function call: it is raised by the framework, and can only be answered with a function response.`
|
|
659
|
+
);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
__name(rejectReservedFunctionCalls, "rejectReservedFunctionCalls");
|
|
470
663
|
// Annotate the CommonJS export names for ESM import in node:
|
|
471
664
|
0 && (module.exports = {
|
|
472
665
|
Runner,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -32,12 +33,13 @@ __export(base_session_service_exports, {
|
|
|
32
33
|
module.exports = __toCommonJS(base_session_service_exports);
|
|
33
34
|
var import_lodash_es = require("lodash-es");
|
|
34
35
|
var import_state = require("./state.js");
|
|
36
|
+
var import_state_write_order = require("./state_write_order.js");
|
|
35
37
|
/**
|
|
36
38
|
* @license
|
|
37
39
|
* Copyright 2025 Google LLC
|
|
38
40
|
* SPDX-License-Identifier: Apache-2.0
|
|
39
41
|
*/
|
|
40
|
-
class
|
|
42
|
+
const _BaseSessionService = class _BaseSessionService {
|
|
41
43
|
/**
|
|
42
44
|
* Gets a session or creates one if it doesn't exist.
|
|
43
45
|
*
|
|
@@ -91,6 +93,9 @@ class BaseSessionService {
|
|
|
91
93
|
if (key.startsWith(import_state.State.TEMP_PREFIX)) {
|
|
92
94
|
continue;
|
|
93
95
|
}
|
|
96
|
+
if (!(0, import_state_write_order.shouldApplyDeltaWrite)(session.state, event.actions.stateDelta, key)) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
94
99
|
Object.defineProperty(session.state, key, {
|
|
95
100
|
value,
|
|
96
101
|
writable: true,
|
|
@@ -99,7 +104,9 @@ class BaseSessionService {
|
|
|
99
104
|
});
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
|
-
}
|
|
107
|
+
};
|
|
108
|
+
__name(_BaseSessionService, "BaseSessionService");
|
|
109
|
+
let BaseSessionService = _BaseSessionService;
|
|
103
110
|
function trimTempDeltaState(event) {
|
|
104
111
|
if (!event.actions || !event.actions.stateDelta) {
|
|
105
112
|
return event;
|
|
@@ -111,9 +118,11 @@ function trimTempDeltaState(event) {
|
|
|
111
118
|
filteredStateDelta[key] = value;
|
|
112
119
|
}
|
|
113
120
|
}
|
|
121
|
+
(0, import_state_write_order.carryDeltaStamps)(stateDelta, filteredStateDelta);
|
|
114
122
|
event.actions.stateDelta = filteredStateDelta;
|
|
115
123
|
return event;
|
|
116
124
|
}
|
|
125
|
+
__name(trimTempDeltaState, "trimTempDeltaState");
|
|
117
126
|
function trimTempState(state) {
|
|
118
127
|
const filteredState = /* @__PURE__ */ Object.create(null);
|
|
119
128
|
for (const [key, value] of Object.entries(state)) {
|
|
@@ -123,6 +132,7 @@ function trimTempState(state) {
|
|
|
123
132
|
}
|
|
124
133
|
return filteredState;
|
|
125
134
|
}
|
|
135
|
+
__name(trimTempState, "trimTempState");
|
|
126
136
|
function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
127
137
|
const merged = (0, import_lodash_es.cloneDeep)(sessionState);
|
|
128
138
|
for (const [k, v] of Object.entries(appState)) {
|
|
@@ -133,6 +143,7 @@ function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
|
133
143
|
}
|
|
134
144
|
return merged;
|
|
135
145
|
}
|
|
146
|
+
__name(mergeStates, "mergeStates");
|
|
136
147
|
// Annotate the CommonJS export names for ESM import in node:
|
|
137
148
|
0 && (module.exports = {
|
|
138
149
|
BaseSessionService,
|