@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
|
@@ -1,21 +1,32 @@
|
|
|
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
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
8
10
|
var _a;
|
|
9
|
-
import { createPartFromText } from "@google/genai";
|
|
11
|
+
import { createPartFromText, Modality } from "@google/genai";
|
|
10
12
|
import { context, trace } from "@opentelemetry/api";
|
|
11
|
-
import {
|
|
13
|
+
import { isBaseAgent } from "../agents/base_agent.js";
|
|
14
|
+
import { reservedFunctionCallName } from "../agents/framework_function_calls.js";
|
|
15
|
+
import {
|
|
16
|
+
findMatchingFunctionCall,
|
|
17
|
+
getConflictingFunctionResponseAuthors
|
|
18
|
+
} from "../agents/functions.js";
|
|
12
19
|
import {
|
|
13
20
|
InvocationContext,
|
|
14
|
-
newInvocationContextId
|
|
21
|
+
newInvocationContextId,
|
|
22
|
+
requireAgent
|
|
15
23
|
} from "../agents/invocation_context.js";
|
|
16
24
|
import { isLlmAgent } from "../agents/llm_agent.js";
|
|
17
25
|
import { createRunConfig } from "../agents/run_config.js";
|
|
18
26
|
import { ScopedArtifactService } from "../artifacts/scoped_artifact_service.js";
|
|
27
|
+
import {
|
|
28
|
+
isSessionArtifactService
|
|
29
|
+
} from "../artifacts/session_artifact_service.js";
|
|
19
30
|
import {
|
|
20
31
|
BuiltInCodeExecutor,
|
|
21
32
|
isBuiltInCodeExecutor
|
|
@@ -30,12 +41,18 @@ import {
|
|
|
30
41
|
import { isBaseToolset } from "../tools/base_toolset.js";
|
|
31
42
|
import { logger } from "../utils/logger.js";
|
|
32
43
|
import { isGemini2OrAbove } from "../utils/model_name.js";
|
|
33
|
-
|
|
44
|
+
import { stringifyWithRedactedInlineData } from "../utils/redact_inline_data.js";
|
|
45
|
+
import {
|
|
46
|
+
asRunnableRoot,
|
|
47
|
+
runNodeAsInvocation
|
|
48
|
+
} from "../workflow/run_node_as_invocation.js";
|
|
49
|
+
const RUNNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.runner");
|
|
34
50
|
function isRunner(obj) {
|
|
35
51
|
return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
|
|
36
52
|
}
|
|
53
|
+
__name(isRunner, "isRunner");
|
|
37
54
|
_a = RUNNER_SIGNATURE_SYMBOL;
|
|
38
|
-
class
|
|
55
|
+
const _Runner = class _Runner {
|
|
39
56
|
/**
|
|
40
57
|
* Creates a new Runner instance.
|
|
41
58
|
*
|
|
@@ -52,7 +69,7 @@ class Runner {
|
|
|
52
69
|
);
|
|
53
70
|
}
|
|
54
71
|
this.appName = appName;
|
|
55
|
-
this.agent = agent;
|
|
72
|
+
this.agent = asRunnableRoot(agent);
|
|
56
73
|
const appPlugins = (_f = (_e = input.app) == null ? void 0 : _e.plugins) != null ? _f : [];
|
|
57
74
|
const configPlugins = (_g = input.plugins) != null ? _g : [];
|
|
58
75
|
this.pluginManager = new PluginManager([...appPlugins, ...configPlugins]);
|
|
@@ -113,6 +130,7 @@ class Runner {
|
|
|
113
130
|
if (newMessage && !newMessage.role) {
|
|
114
131
|
newMessage.role = "user";
|
|
115
132
|
}
|
|
133
|
+
rejectReservedFunctionCalls(newMessage);
|
|
116
134
|
const span = tracer.startSpan("invocation");
|
|
117
135
|
const ctx = trace.setSpan(context.active(), span);
|
|
118
136
|
try {
|
|
@@ -135,7 +153,9 @@ class Runner {
|
|
|
135
153
|
`Session lookup failed: appName must be provided in runner constructor (or via app.name)`
|
|
136
154
|
);
|
|
137
155
|
}
|
|
138
|
-
throw new Error(
|
|
156
|
+
throw new Error(
|
|
157
|
+
`Session not found: ${sessionId} (appName=${this.appName}, userId=${userId})`
|
|
158
|
+
);
|
|
139
159
|
}
|
|
140
160
|
if (runConfig.supportCfc && isLlmAgent(this.agent)) {
|
|
141
161
|
const modelName = this.agent.canonicalModel.model;
|
|
@@ -149,7 +169,7 @@ class Runner {
|
|
|
149
169
|
}
|
|
150
170
|
}
|
|
151
171
|
const invocationContext = new InvocationContext({
|
|
152
|
-
artifactService: this.artifactService ? new ScopedArtifactService(
|
|
172
|
+
artifactService: this.artifactService ? isSessionArtifactService(this.artifactService) ? this.artifactService : new ScopedArtifactService(
|
|
153
173
|
this.artifactService,
|
|
154
174
|
this.appName,
|
|
155
175
|
userId,
|
|
@@ -159,10 +179,11 @@ class Runner {
|
|
|
159
179
|
memoryService: this.memoryService,
|
|
160
180
|
credentialService: this.credentialService,
|
|
161
181
|
invocationId: newInvocationContextId(),
|
|
162
|
-
agent: this.agent,
|
|
182
|
+
agent: isBaseAgent(this.agent) ? this.agent : void 0,
|
|
163
183
|
session,
|
|
164
184
|
userContent: newMessage,
|
|
165
185
|
runConfig,
|
|
186
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
166
187
|
pluginManager: this.pluginManager,
|
|
167
188
|
abortSignal: params.abortSignal
|
|
168
189
|
});
|
|
@@ -182,9 +203,8 @@ class Runner {
|
|
|
182
203
|
}
|
|
183
204
|
if (runConfig.saveInputBlobsAsArtifacts) {
|
|
184
205
|
newMessage = await this.saveArtifacts(
|
|
206
|
+
invocationContext.artifactService,
|
|
185
207
|
invocationContext.invocationId,
|
|
186
|
-
session.userId,
|
|
187
|
-
session.id,
|
|
188
208
|
newMessage
|
|
189
209
|
);
|
|
190
210
|
if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
|
|
@@ -205,10 +225,12 @@ class Runner {
|
|
|
205
225
|
return;
|
|
206
226
|
}
|
|
207
227
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
228
|
+
if (isBaseAgent(this.agent)) {
|
|
229
|
+
invocationContext.agent = this.determineAgentForResumption(
|
|
230
|
+
session,
|
|
231
|
+
this.agent
|
|
232
|
+
);
|
|
233
|
+
}
|
|
212
234
|
if (newMessage) {
|
|
213
235
|
const beforeRunCallbackResponse = await this.pluginManager.runBeforeRunCallback({
|
|
214
236
|
invocationContext
|
|
@@ -231,9 +253,7 @@ class Runner {
|
|
|
231
253
|
}
|
|
232
254
|
yield earlyExitEvent;
|
|
233
255
|
} else {
|
|
234
|
-
for await (const event of
|
|
235
|
-
invocationContext
|
|
236
|
-
)) {
|
|
256
|
+
for await (const event of this.runRoot(invocationContext)) {
|
|
237
257
|
if ((_h = params.abortSignal) == null ? void 0 : _h.aborted) {
|
|
238
258
|
return;
|
|
239
259
|
}
|
|
@@ -270,29 +290,42 @@ class Runner {
|
|
|
270
290
|
);
|
|
271
291
|
} finally {
|
|
272
292
|
span.end();
|
|
273
|
-
const toolsets = getAllToolsets(this.agent);
|
|
293
|
+
const toolsets = isBaseAgent(this.agent) ? getAllToolsets(this.agent) : [];
|
|
274
294
|
await Promise.allSettled(toolsets.map((t) => t.close()));
|
|
275
295
|
}
|
|
276
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Runs whatever this runner was given as its root.
|
|
299
|
+
*
|
|
300
|
+
* An agent is run through `runAsync`, as always. A bare node — a `Workflow`
|
|
301
|
+
* handed to the runner directly — is driven by {@link runNodeAsInvocation}.
|
|
302
|
+
*
|
|
303
|
+
* Only the execution differs. Everything around it (the run callbacks, event
|
|
304
|
+
* persistence, cancellation) is shared, so the node path cannot drift from
|
|
305
|
+
* the agent path on the things that are not about execution. adk-python has
|
|
306
|
+
* two separate loops here and a TODO noting its node one lacks tracing and
|
|
307
|
+
* plugins; there is nothing to lack if there is only one loop.
|
|
308
|
+
*/
|
|
309
|
+
async *runRoot(invocationContext) {
|
|
310
|
+
if (isBaseAgent(this.agent)) {
|
|
311
|
+
yield* requireAgent(invocationContext).runAsync(invocationContext);
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
yield* runNodeAsInvocation(this.agent, invocationContext);
|
|
315
|
+
}
|
|
277
316
|
/**
|
|
278
317
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
279
318
|
* a file name placeholder and optional file reference.
|
|
280
319
|
*
|
|
320
|
+
* @param artifactService The session-scoped artifact service to save to.
|
|
281
321
|
* @param invocationId The current invocation ID.
|
|
282
|
-
* @param userId The user ID of the session.
|
|
283
|
-
* @param sessionId The session ID of the session.
|
|
284
322
|
* @param message The message containing parts to process.
|
|
285
323
|
*/
|
|
286
|
-
async saveArtifacts(
|
|
324
|
+
async saveArtifacts(artifactService, invocationId, message) {
|
|
287
325
|
var _a2;
|
|
288
|
-
if (!
|
|
326
|
+
if (!artifactService || !((_a2 = message.parts) == null ? void 0 : _a2.length)) {
|
|
289
327
|
return message;
|
|
290
328
|
}
|
|
291
|
-
const sessionKey = {
|
|
292
|
-
appName: this.appName,
|
|
293
|
-
userId,
|
|
294
|
-
sessionId
|
|
295
|
-
};
|
|
296
329
|
const newParts = [];
|
|
297
330
|
let modified = false;
|
|
298
331
|
for (let i = 0; i < message.parts.length; i++) {
|
|
@@ -304,20 +337,16 @@ class Runner {
|
|
|
304
337
|
try {
|
|
305
338
|
const inlineData = part.inlineData;
|
|
306
339
|
const fileName = inlineData.displayName || `artifact_${invocationId}_${i}`;
|
|
307
|
-
const version = await
|
|
308
|
-
...sessionKey,
|
|
340
|
+
const version = await artifactService.saveArtifact({
|
|
309
341
|
filename: fileName,
|
|
310
342
|
artifact: part
|
|
311
343
|
});
|
|
312
344
|
newParts.push(createPartFromText(`[Uploaded Artifact: "${fileName}"]`));
|
|
313
345
|
try {
|
|
314
|
-
const artifactVersion = await
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
version
|
|
319
|
-
}
|
|
320
|
-
);
|
|
346
|
+
const artifactVersion = await artifactService.getArtifactVersion({
|
|
347
|
+
filename: fileName,
|
|
348
|
+
version
|
|
349
|
+
});
|
|
321
350
|
if ((artifactVersion == null ? void 0 : artifactVersion.canonicalUri) && /^(gs|https?):/i.test(artifactVersion.canonicalUri)) {
|
|
322
351
|
newParts.push({
|
|
323
352
|
fileData: {
|
|
@@ -367,27 +396,180 @@ class Runner {
|
|
|
367
396
|
* Whether the agent to run can transfer to any other agent in the agent tree.
|
|
368
397
|
*
|
|
369
398
|
* @param agentToRun The agent to check for transferability.
|
|
370
|
-
* @returns True if the agent can transfer,
|
|
399
|
+
* @returns True if the agent can transfer, false otherwise.
|
|
371
400
|
*/
|
|
372
401
|
isRoutableLlmAgent(agentToRun) {
|
|
373
402
|
return isRoutableLlmAgent(agentToRun);
|
|
374
403
|
}
|
|
375
|
-
|
|
404
|
+
/**
|
|
405
|
+
* Runs the agent in the live (bidirectional streaming) mode.
|
|
406
|
+
*
|
|
407
|
+
* Model media events that carry raw inline bytes (audio, video, or image)
|
|
408
|
+
* are yielded but not appended to the session to avoid persisting large
|
|
409
|
+
* blobs; events with `fileData` references and most other live events
|
|
410
|
+
* (transcriptions, tool calls, usage) are persisted as in `runAsync`.
|
|
411
|
+
*
|
|
412
|
+
* This feature is **experimental** and its API may change.
|
|
413
|
+
*
|
|
414
|
+
* @param params.userId The user ID of the session.
|
|
415
|
+
* @param params.sessionId The session ID of the session.
|
|
416
|
+
* @param params.liveRequestQueue The queue used to feed the live model.
|
|
417
|
+
* @param params.runConfig The run config for the agent.
|
|
418
|
+
* @param params.abortSignal Optional signal to abort the live run.
|
|
419
|
+
* @param params.liveSessionResumptionHandle Optional session resumption
|
|
420
|
+
* handle observed from a prior `runLive` cycle on the same conversation.
|
|
421
|
+
* When set, the agent's live flow opens the connection with
|
|
422
|
+
* `liveConnectConfig.sessionResumption.handle` so the server restores its
|
|
423
|
+
* state instead of relying on client-side history replay.
|
|
424
|
+
* @yields The events generated by the agent.
|
|
425
|
+
*/
|
|
426
|
+
async *runLive(params) {
|
|
427
|
+
var _a2, _b, _c, _d;
|
|
428
|
+
if (!params.liveRequestQueue) {
|
|
429
|
+
throw new Error("liveRequestQueue is required for runLive.");
|
|
430
|
+
}
|
|
431
|
+
if (!isBaseAgent(this.agent)) {
|
|
432
|
+
throw new Error("runLive is only supported for agents.");
|
|
433
|
+
}
|
|
434
|
+
const agent = this.agent;
|
|
435
|
+
const runConfig = createRunConfig(params.runConfig);
|
|
436
|
+
if (!((_a2 = runConfig.responseModalities) == null ? void 0 : _a2.length)) {
|
|
437
|
+
runConfig.responseModalities = [Modality.AUDIO];
|
|
438
|
+
}
|
|
439
|
+
if ((_b = agent.subAgents) == null ? void 0 : _b.length) {
|
|
440
|
+
if (runConfig.responseModalities.includes(Modality.AUDIO)) {
|
|
441
|
+
(_c = runConfig.outputAudioTranscription) != null ? _c : runConfig.outputAudioTranscription = {};
|
|
442
|
+
}
|
|
443
|
+
(_d = runConfig.inputAudioTranscription) != null ? _d : runConfig.inputAudioTranscription = {};
|
|
444
|
+
}
|
|
445
|
+
const span = tracer.startSpan("invocation");
|
|
446
|
+
const ctx = trace.setSpan(context.active(), span);
|
|
447
|
+
try {
|
|
448
|
+
yield* runAsyncGeneratorWithOtelContext(
|
|
449
|
+
ctx,
|
|
450
|
+
this,
|
|
451
|
+
async function* () {
|
|
452
|
+
var _a3, _b2, _c2, _d2;
|
|
453
|
+
const session = await this.sessionService.getOrCreateSession({
|
|
454
|
+
appName: this.appName,
|
|
455
|
+
userId: params.userId,
|
|
456
|
+
sessionId: params.sessionId
|
|
457
|
+
});
|
|
458
|
+
if ((_a3 = params.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
const invocationContext = new InvocationContext({
|
|
462
|
+
artifactService: this.artifactService ? isSessionArtifactService(this.artifactService) ? this.artifactService : new ScopedArtifactService(
|
|
463
|
+
this.artifactService,
|
|
464
|
+
this.appName,
|
|
465
|
+
params.userId,
|
|
466
|
+
params.sessionId
|
|
467
|
+
) : void 0,
|
|
468
|
+
sessionService: this.sessionService,
|
|
469
|
+
memoryService: this.memoryService,
|
|
470
|
+
credentialService: this.credentialService,
|
|
471
|
+
invocationId: newInvocationContextId(),
|
|
472
|
+
agent,
|
|
473
|
+
session,
|
|
474
|
+
runConfig,
|
|
475
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
476
|
+
pluginManager: this.pluginManager,
|
|
477
|
+
liveRequestQueue: params.liveRequestQueue,
|
|
478
|
+
abortSignal: params.abortSignal,
|
|
479
|
+
liveSessionResumptionHandle: params.liveSessionResumptionHandle
|
|
480
|
+
});
|
|
481
|
+
invocationContext.agent = this.determineAgentForResumption(
|
|
482
|
+
session,
|
|
483
|
+
agent
|
|
484
|
+
);
|
|
485
|
+
const beforeRunCallbackResponse = await this.pluginManager.runBeforeRunCallback({
|
|
486
|
+
invocationContext
|
|
487
|
+
});
|
|
488
|
+
if ((_b2 = params.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
if (beforeRunCallbackResponse) {
|
|
492
|
+
const earlyExitEvent = createEvent({
|
|
493
|
+
invocationId: invocationContext.invocationId,
|
|
494
|
+
author: "model",
|
|
495
|
+
content: beforeRunCallbackResponse
|
|
496
|
+
});
|
|
497
|
+
await this.sessionService.appendEvent({
|
|
498
|
+
session,
|
|
499
|
+
event: earlyExitEvent
|
|
500
|
+
});
|
|
501
|
+
yield earlyExitEvent;
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
for await (const event of requireAgent(invocationContext).runLive(
|
|
505
|
+
invocationContext
|
|
506
|
+
)) {
|
|
507
|
+
if ((_c2 = params.abortSignal) == null ? void 0 : _c2.aborted) {
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
510
|
+
const modifiedEvent = await this.pluginManager.runOnEventCallback({
|
|
511
|
+
invocationContext,
|
|
512
|
+
event
|
|
513
|
+
});
|
|
514
|
+
if ((_d2 = params.abortSignal) == null ? void 0 : _d2.aborted) {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
const eventToProcess = modifiedEvent != null ? modifiedEvent : event;
|
|
518
|
+
if (!eventToProcess.partial && !isLiveModelMediaEventWithInlineData(eventToProcess)) {
|
|
519
|
+
await this.sessionService.appendEvent({
|
|
520
|
+
session,
|
|
521
|
+
event: eventToProcess
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
yield eventToProcess;
|
|
525
|
+
}
|
|
526
|
+
await this.pluginManager.runAfterRunCallback({ invocationContext });
|
|
527
|
+
}
|
|
528
|
+
);
|
|
529
|
+
} finally {
|
|
530
|
+
span.end();
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
};
|
|
534
|
+
__name(_Runner, "Runner");
|
|
535
|
+
let Runner = _Runner;
|
|
536
|
+
function isLiveModelMediaEventWithInlineData(event) {
|
|
537
|
+
var _a2;
|
|
538
|
+
const parts = (_a2 = event.content) == null ? void 0 : _a2.parts;
|
|
539
|
+
if (!(parts == null ? void 0 : parts.length)) {
|
|
540
|
+
return false;
|
|
541
|
+
}
|
|
542
|
+
return parts.some((part) => {
|
|
543
|
+
var _a3, _b;
|
|
544
|
+
const mimeType = (_b = (_a3 = part.inlineData) == null ? void 0 : _a3.mimeType) == null ? void 0 : _b.toLowerCase();
|
|
545
|
+
return mimeType !== void 0 && (mimeType.startsWith("audio/") || mimeType.startsWith("video/") || mimeType.startsWith("image/"));
|
|
546
|
+
});
|
|
376
547
|
}
|
|
548
|
+
__name(isLiveModelMediaEventWithInlineData, "isLiveModelMediaEventWithInlineData");
|
|
377
549
|
function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
378
550
|
const event = findEventByLastFunctionResponseId(session.events);
|
|
379
551
|
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
380
552
|
if (event && event.author && isResumable) {
|
|
553
|
+
const conflictingAuthors = getConflictingFunctionResponseAuthors(
|
|
554
|
+
session.events
|
|
555
|
+
);
|
|
556
|
+
if (conflictingAuthors) {
|
|
557
|
+
throw new Error(
|
|
558
|
+
`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.`
|
|
559
|
+
);
|
|
560
|
+
}
|
|
381
561
|
const resumedAgent = rootAgent.findAgent(event.author);
|
|
382
562
|
if (resumedAgent) {
|
|
383
563
|
return resumedAgent;
|
|
384
564
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
565
|
+
if (!isWorkflowNodeEvent(event)) {
|
|
566
|
+
logger.warn(
|
|
567
|
+
`Function response from an unknown agent: ${event.author}, event id: ${event.id}`
|
|
568
|
+
);
|
|
569
|
+
}
|
|
388
570
|
}
|
|
389
571
|
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
390
|
-
logger.debug("event:",
|
|
572
|
+
logger.debug("event:", stringifyWithRedactedInlineData(session.events[i]));
|
|
391
573
|
const event2 = session.events[i];
|
|
392
574
|
if (event2.author === "user" || !event2.author) {
|
|
393
575
|
continue;
|
|
@@ -397,9 +579,11 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
397
579
|
}
|
|
398
580
|
const agent = rootAgent.findSubAgent(event2.author);
|
|
399
581
|
if (!agent) {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
582
|
+
if (!isWorkflowNodeEvent(event2)) {
|
|
583
|
+
logger.warn(
|
|
584
|
+
`Event from an unknown agent: ${event2.author}, event id: ${event2.id}`
|
|
585
|
+
);
|
|
586
|
+
}
|
|
403
587
|
continue;
|
|
404
588
|
}
|
|
405
589
|
if (isRoutableLlmAgent(agent)) {
|
|
@@ -408,6 +592,12 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
408
592
|
}
|
|
409
593
|
return rootAgent;
|
|
410
594
|
}
|
|
595
|
+
__name(determineAgentForResumption, "determineAgentForResumption");
|
|
596
|
+
function isWorkflowNodeEvent(event) {
|
|
597
|
+
var _a2;
|
|
598
|
+
return Boolean((_a2 = event.nodeInfo) == null ? void 0 : _a2.path);
|
|
599
|
+
}
|
|
600
|
+
__name(isWorkflowNodeEvent, "isWorkflowNodeEvent");
|
|
411
601
|
function isRoutableLlmAgent(agentToRun) {
|
|
412
602
|
let agent = agentToRun;
|
|
413
603
|
while (agent) {
|
|
@@ -421,10 +611,12 @@ function isRoutableLlmAgent(agentToRun) {
|
|
|
421
611
|
}
|
|
422
612
|
return true;
|
|
423
613
|
}
|
|
614
|
+
__name(isRoutableLlmAgent, "isRoutableLlmAgent");
|
|
424
615
|
function findEventByLastFunctionResponseId(events) {
|
|
425
616
|
var _a2;
|
|
426
617
|
return (_a2 = findMatchingFunctionCall(events)) != null ? _a2 : null;
|
|
427
618
|
}
|
|
619
|
+
__name(findEventByLastFunctionResponseId, "findEventByLastFunctionResponseId");
|
|
428
620
|
function getAllToolsets(agent) {
|
|
429
621
|
const toolsets = [];
|
|
430
622
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -442,9 +634,20 @@ function getAllToolsets(agent) {
|
|
|
442
634
|
traverse(sub);
|
|
443
635
|
}
|
|
444
636
|
}
|
|
637
|
+
__name(traverse, "traverse");
|
|
445
638
|
traverse(agent);
|
|
446
639
|
return toolsets;
|
|
447
640
|
}
|
|
641
|
+
__name(getAllToolsets, "getAllToolsets");
|
|
642
|
+
function rejectReservedFunctionCalls(newMessage) {
|
|
643
|
+
const reserved = reservedFunctionCallName(newMessage);
|
|
644
|
+
if (reserved) {
|
|
645
|
+
throw new Error(
|
|
646
|
+
`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.`
|
|
647
|
+
);
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
__name(rejectReservedFunctionCalls, "rejectReservedFunctionCalls");
|
|
448
651
|
export {
|
|
449
652
|
Runner,
|
|
450
653
|
determineAgentForResumption,
|
|
@@ -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,7 +9,8 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
7
9
|
*/
|
|
8
10
|
import { cloneDeep } from "lodash-es";
|
|
9
11
|
import { State } from "./state.js";
|
|
10
|
-
|
|
12
|
+
import { carryDeltaStamps, shouldApplyDeltaWrite } from "./state_write_order.js";
|
|
13
|
+
const _BaseSessionService = class _BaseSessionService {
|
|
11
14
|
/**
|
|
12
15
|
* Gets a session or creates one if it doesn't exist.
|
|
13
16
|
*
|
|
@@ -61,6 +64,9 @@ class BaseSessionService {
|
|
|
61
64
|
if (key.startsWith(State.TEMP_PREFIX)) {
|
|
62
65
|
continue;
|
|
63
66
|
}
|
|
67
|
+
if (!shouldApplyDeltaWrite(session.state, event.actions.stateDelta, key)) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
64
70
|
Object.defineProperty(session.state, key, {
|
|
65
71
|
value,
|
|
66
72
|
writable: true,
|
|
@@ -69,7 +75,9 @@ class BaseSessionService {
|
|
|
69
75
|
});
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
|
-
}
|
|
78
|
+
};
|
|
79
|
+
__name(_BaseSessionService, "BaseSessionService");
|
|
80
|
+
let BaseSessionService = _BaseSessionService;
|
|
73
81
|
function trimTempDeltaState(event) {
|
|
74
82
|
if (!event.actions || !event.actions.stateDelta) {
|
|
75
83
|
return event;
|
|
@@ -81,9 +89,11 @@ function trimTempDeltaState(event) {
|
|
|
81
89
|
filteredStateDelta[key] = value;
|
|
82
90
|
}
|
|
83
91
|
}
|
|
92
|
+
carryDeltaStamps(stateDelta, filteredStateDelta);
|
|
84
93
|
event.actions.stateDelta = filteredStateDelta;
|
|
85
94
|
return event;
|
|
86
95
|
}
|
|
96
|
+
__name(trimTempDeltaState, "trimTempDeltaState");
|
|
87
97
|
function trimTempState(state) {
|
|
88
98
|
const filteredState = /* @__PURE__ */ Object.create(null);
|
|
89
99
|
for (const [key, value] of Object.entries(state)) {
|
|
@@ -93,6 +103,7 @@ function trimTempState(state) {
|
|
|
93
103
|
}
|
|
94
104
|
return filteredState;
|
|
95
105
|
}
|
|
106
|
+
__name(trimTempState, "trimTempState");
|
|
96
107
|
function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
97
108
|
const merged = cloneDeep(sessionState);
|
|
98
109
|
for (const [k, v] of Object.entries(appState)) {
|
|
@@ -103,6 +114,7 @@ function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
|
103
114
|
}
|
|
104
115
|
return merged;
|
|
105
116
|
}
|
|
117
|
+
__name(mergeStates, "mergeStates");
|
|
106
118
|
export {
|
|
107
119
|
BaseSessionService,
|
|
108
120
|
mergeStates,
|
|
@@ -1,41 +1,80 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
3
26
|
/**
|
|
4
27
|
* @license
|
|
5
28
|
* Copyright 2026 Google LLC
|
|
6
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
30
|
*/
|
|
8
|
-
import {
|
|
9
|
-
LockMode,
|
|
10
|
-
MikroORM
|
|
11
|
-
} from "@mikro-orm/core";
|
|
12
31
|
import { randomUUID } from "../utils/env_aware_utils.js";
|
|
13
32
|
import {
|
|
14
33
|
BaseSessionService,
|
|
15
34
|
mergeStates,
|
|
16
35
|
trimTempDeltaState
|
|
17
36
|
} from "./base_session_service.js";
|
|
18
|
-
import {
|
|
19
|
-
ensureDatabaseCreated,
|
|
20
|
-
getConnectionOptionsFromUri,
|
|
21
|
-
validateDatabaseSchemaVersion
|
|
22
|
-
} from "./db/operations.js";
|
|
23
|
-
import {
|
|
24
|
-
ENTITIES,
|
|
25
|
-
StorageAppState,
|
|
26
|
-
StorageEvent,
|
|
27
|
-
StorageSession,
|
|
28
|
-
StorageUserState
|
|
29
|
-
} from "./db/schema.js";
|
|
30
37
|
import { createSession } from "./session.js";
|
|
31
38
|
import { State } from "./state.js";
|
|
39
|
+
let MikroORM;
|
|
40
|
+
let LockMode;
|
|
41
|
+
let ENTITIES;
|
|
42
|
+
let StorageAppState;
|
|
43
|
+
let StorageEvent;
|
|
44
|
+
let StorageSession;
|
|
45
|
+
let StorageUserState;
|
|
46
|
+
let ensureDatabaseCreated;
|
|
47
|
+
let getConnectionOptionsFromUri;
|
|
48
|
+
let validateDatabaseSchemaVersion;
|
|
49
|
+
let mikroOrmLoad;
|
|
50
|
+
function loadMikroOrm() {
|
|
51
|
+
mikroOrmLoad != null ? mikroOrmLoad : mikroOrmLoad = importMikroOrm();
|
|
52
|
+
return mikroOrmLoad;
|
|
53
|
+
}
|
|
54
|
+
__name(loadMikroOrm, "loadMikroOrm");
|
|
55
|
+
async function importMikroOrm() {
|
|
56
|
+
const [core, schema, operations] = await Promise.all([
|
|
57
|
+
Promise.resolve().then(() => __toESM(require("@mikro-orm/core"), 1)),
|
|
58
|
+
Promise.resolve().then(() => __toESM(require("./db/schema.js"), 1)),
|
|
59
|
+
Promise.resolve().then(() => __toESM(require("./db/operations.js"), 1))
|
|
60
|
+
]);
|
|
61
|
+
({ MikroORM, LockMode } = core);
|
|
62
|
+
({ ENTITIES, StorageAppState, StorageEvent, StorageSession, StorageUserState } = schema);
|
|
63
|
+
({
|
|
64
|
+
ensureDatabaseCreated,
|
|
65
|
+
getConnectionOptionsFromUri,
|
|
66
|
+
validateDatabaseSchemaVersion
|
|
67
|
+
} = operations);
|
|
68
|
+
}
|
|
69
|
+
__name(importMikroOrm, "importMikroOrm");
|
|
32
70
|
function isDatabaseConnectionString(uri) {
|
|
33
71
|
if (!uri) {
|
|
34
72
|
return false;
|
|
35
73
|
}
|
|
36
74
|
return uri.startsWith("postgres://") || uri.startsWith("postgresql://") || uri.startsWith("mysql://") || uri.startsWith("mariadb://") || uri.startsWith("mssql://") || uri.startsWith("sqlite://");
|
|
37
75
|
}
|
|
38
|
-
|
|
76
|
+
__name(isDatabaseConnectionString, "isDatabaseConnectionString");
|
|
77
|
+
const _DatabaseSessionService = class _DatabaseSessionService extends BaseSessionService {
|
|
39
78
|
constructor(connectionStringOrOptions) {
|
|
40
79
|
super();
|
|
41
80
|
this.initialized = false;
|
|
@@ -45,20 +84,17 @@ class DatabaseSessionService extends BaseSessionService {
|
|
|
45
84
|
if (!connectionStringOrOptions.driver) {
|
|
46
85
|
throw new Error("Driver is required when passing options object.");
|
|
47
86
|
}
|
|
48
|
-
this.options =
|
|
49
|
-
...connectionStringOrOptions,
|
|
50
|
-
entities: ENTITIES
|
|
51
|
-
};
|
|
87
|
+
this.options = connectionStringOrOptions;
|
|
52
88
|
}
|
|
53
89
|
}
|
|
54
90
|
async init() {
|
|
55
91
|
if (this.initialized) {
|
|
56
92
|
return;
|
|
57
93
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this.orm = await MikroORM.init(
|
|
94
|
+
await loadMikroOrm();
|
|
95
|
+
const options = this.connectionString ? await getConnectionOptionsFromUri(this.connectionString) : { ...this.options, entities: ENTITIES };
|
|
96
|
+
this.options = options;
|
|
97
|
+
this.orm = await MikroORM.init(options);
|
|
62
98
|
await ensureDatabaseCreated(this.orm);
|
|
63
99
|
await validateDatabaseSchemaVersion(this.orm);
|
|
64
100
|
this.initialized = true;
|
|
@@ -393,8 +429,8 @@ class DatabaseSessionService extends BaseSessionService {
|
|
|
393
429
|
});
|
|
394
430
|
txEm.persist(newStorageEvent);
|
|
395
431
|
}
|
|
396
|
-
await txEm.commit();
|
|
397
432
|
storageSession.updateTime = new Date(event.timestamp);
|
|
433
|
+
txEm.persist([appStateModel, userStateModel, storageSession]);
|
|
398
434
|
const newMergedState = mergeStates(
|
|
399
435
|
appStateModel.state,
|
|
400
436
|
userStateModel.state,
|
|
@@ -411,7 +447,9 @@ class DatabaseSessionService extends BaseSessionService {
|
|
|
411
447
|
});
|
|
412
448
|
return event;
|
|
413
449
|
}
|
|
414
|
-
}
|
|
450
|
+
};
|
|
451
|
+
__name(_DatabaseSessionService, "DatabaseSessionService");
|
|
452
|
+
let DatabaseSessionService = _DatabaseSessionService;
|
|
415
453
|
export {
|
|
416
454
|
DatabaseSessionService,
|
|
417
455
|
isDatabaseConnectionString
|