@google/adk 1.5.0 → 2.0.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 +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -11
- package/dist/cjs/a2a/auth.js +68 -0
- package/dist/cjs/a2a/event_converter_utils.js +50 -15
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +58 -23
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +536 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +11 -25
- 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 +8 -3
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +19 -11
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- 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 +19 -5
- 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 +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- 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 +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +31 -14
- package/dist/cjs/common.js +112 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +17 -2
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +11 -23
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -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 +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -22
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- 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 +21 -4
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +43 -7
- 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/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +226 -29
- package/dist/cjs/sessions/base_session_service.js +21 -5
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +30 -22
- package/dist/cjs/sessions/registry.js +4 -1
- 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 +132 -25
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +62 -16
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- 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 +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +54 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- 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 +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +69 -27
- 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 +4 -0
- 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 +2 -0
- 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 +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +56 -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 +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- 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 +45 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +56 -13
- package/dist/cjs/utils/error_utils.js +128 -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 +12 -4
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- 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 +13 -4
- 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 +45 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- 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 +6 -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 +156 -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 +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +18 -4
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -16
- package/dist/esm/a2a/auth.js +41 -0
- package/dist/esm/a2a/event_converter_utils.js +51 -15
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +62 -20
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +537 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +9 -4
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +12 -25
- 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 +9 -3
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- 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 +20 -5
- 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 +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- 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 +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/esm/common.js +113 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +16 -1
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +16 -24
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -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 +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -13
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- 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 +22 -4
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +43 -7
- 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/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +233 -31
- package/dist/esm/sessions/base_session_service.js +22 -5
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +31 -22
- package/dist/esm/sessions/registry.js +5 -1
- 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 +136 -26
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +63 -16
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- 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 +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +27 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +80 -30
- 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 +5 -0
- 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 +2 -0
- 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 +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +29 -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 +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- 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 +18 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +56 -13
- package/dist/esm/utils/error_utils.js +101 -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 +13 -4
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- 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 +14 -4
- 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 +18 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- 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 +7 -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 +131 -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/trigger.js +7 -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/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/auth.d.ts +30 -0
- package/dist/types/a2a/event_converter_utils.d.ts +4 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- 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/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/run_config.d.ts +57 -2
- 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/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
- package/dist/types/common.d.ts +20 -8
- package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
- package/dist/types/context/compaction_utils.d.ts +8 -0
- package/dist/types/context/token_based_context_compactor.d.ts +0 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +6 -13
- package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +39 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -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 +59 -3
- package/dist/types/sessions/base_session_service.d.ts +10 -2
- package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
- package/dist/types/skills/loader.d.ts +5 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
- 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 +1 -1
- package/dist/types/tools/request_input_tool.d.ts +20 -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/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 +39 -0
- package/dist/types/utils/error_utils.d.ts +18 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +18 -0
- package/dist/types/utils/redact_uri.d.ts +28 -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/vertex_ai_utils.d.ts +5 -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/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +18 -4
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -16
- package/dist/web/a2a/auth.js +41 -0
- package/dist/web/a2a/event_converter_utils.js +50 -15
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +62 -20
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +631 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +12 -25
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/web/common.js +113 -4
- package/dist/web/context/agent_controlled_context_compactor.js +8 -13
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +16 -1
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +16 -24
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -13
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +22 -4
- package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +43 -7
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +249 -31
- package/dist/web/sessions/base_session_service.js +22 -5
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +31 -22
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +142 -26
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +62 -16
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +27 -0
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +29 -0
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +18 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +56 -13
- package/dist/web/utils/error_utils.js +101 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +12 -4
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +18 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +7 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -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 });
|
|
@@ -26,18 +27,18 @@ var security_plugin_exports = {};
|
|
|
26
27
|
__export(security_plugin_exports, {
|
|
27
28
|
InMemoryPolicyEngine: () => InMemoryPolicyEngine,
|
|
28
29
|
PolicyOutcome: () => PolicyOutcome,
|
|
29
|
-
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
30
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_functions.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
30
31
|
SecurityPlugin: () => SecurityPlugin,
|
|
31
32
|
getAskUserConfirmationFunctionCalls: () => getAskUserConfirmationFunctionCalls
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(security_plugin_exports);
|
|
35
|
+
var import_functions = require("../agents/functions.js");
|
|
34
36
|
var import_base_plugin = require("../plugins/base_plugin.js");
|
|
35
37
|
/**
|
|
36
38
|
* @license
|
|
37
39
|
* Copyright 2025 Google LLC
|
|
38
40
|
* SPDX-License-Identifier: Apache-2.0
|
|
39
41
|
*/
|
|
40
|
-
const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
|
|
41
42
|
const TOOL_CALL_SECURITY_CHECK_STATES = "orcas_tool_call_security_check_states";
|
|
42
43
|
const INTERMEDIATE_REQUIRE_TOOL_CALL_CONFIRMATION_ERROR = "This tool call needs external confirmation before completion.";
|
|
43
44
|
var PolicyOutcome = /* @__PURE__ */ ((PolicyOutcome2) => {
|
|
@@ -46,20 +47,23 @@ var PolicyOutcome = /* @__PURE__ */ ((PolicyOutcome2) => {
|
|
|
46
47
|
PolicyOutcome2["ALLOW"] = "ALLOW";
|
|
47
48
|
return PolicyOutcome2;
|
|
48
49
|
})(PolicyOutcome || {});
|
|
49
|
-
class
|
|
50
|
+
const _InMemoryPolicyEngine = class _InMemoryPolicyEngine {
|
|
50
51
|
/**
|
|
51
52
|
* Always returns {@link PolicyOutcome.ALLOW} for every tool call.
|
|
52
53
|
*
|
|
54
|
+
* @param _context - The tool and its arguments; ignored.
|
|
53
55
|
* @returns A promise resolving to an ALLOW result.
|
|
54
56
|
*/
|
|
55
|
-
async evaluate() {
|
|
57
|
+
async evaluate(_context) {
|
|
56
58
|
return Promise.resolve({
|
|
57
59
|
outcome: "ALLOW" /* ALLOW */,
|
|
58
60
|
reason: "For prototyping purpose, all tool calls are allowed."
|
|
59
61
|
});
|
|
60
62
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
+
};
|
|
64
|
+
__name(_InMemoryPolicyEngine, "InMemoryPolicyEngine");
|
|
65
|
+
let InMemoryPolicyEngine = _InMemoryPolicyEngine;
|
|
66
|
+
const _SecurityPlugin = class _SecurityPlugin extends import_base_plugin.BasePlugin {
|
|
63
67
|
/**
|
|
64
68
|
* @param params - Optional configuration. Defaults to {@link InMemoryPolicyEngine}
|
|
65
69
|
* when no policy engine is provided.
|
|
@@ -149,19 +153,22 @@ class SecurityPlugin extends import_base_plugin.BasePlugin {
|
|
|
149
153
|
return;
|
|
150
154
|
}
|
|
151
155
|
}
|
|
152
|
-
}
|
|
156
|
+
};
|
|
157
|
+
__name(_SecurityPlugin, "SecurityPlugin");
|
|
158
|
+
let SecurityPlugin = _SecurityPlugin;
|
|
153
159
|
function getAskUserConfirmationFunctionCalls(event) {
|
|
154
160
|
if (!event.content || !event.content.parts) {
|
|
155
161
|
return [];
|
|
156
162
|
}
|
|
157
163
|
const results = [];
|
|
158
164
|
for (const part of event.content.parts) {
|
|
159
|
-
if (part && part.functionCall && part.functionCall.name === REQUEST_CONFIRMATION_FUNCTION_CALL_NAME) {
|
|
165
|
+
if (part && part.functionCall && part.functionCall.name === import_functions.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME) {
|
|
160
166
|
results.push(part.functionCall);
|
|
161
167
|
}
|
|
162
168
|
}
|
|
163
169
|
return results;
|
|
164
170
|
}
|
|
171
|
+
__name(getAskUserConfirmationFunctionCalls, "getAskUserConfirmationFunctionCalls");
|
|
165
172
|
// Annotate the CommonJS export names for ESM import in node:
|
|
166
173
|
0 && (module.exports = {
|
|
167
174
|
InMemoryPolicyEngine,
|
|
@@ -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 });
|
|
@@ -36,7 +37,7 @@ var import_runner = require("./runner.js");
|
|
|
36
37
|
* Copyright 2025 Google LLC
|
|
37
38
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
39
|
*/
|
|
39
|
-
class
|
|
40
|
+
const _InMemoryRunner = class _InMemoryRunner extends import_runner.Runner {
|
|
40
41
|
/**
|
|
41
42
|
* Creates a new InMemoryRunner instance.
|
|
42
43
|
*
|
|
@@ -67,7 +68,9 @@ class InMemoryRunner extends import_runner.Runner {
|
|
|
67
68
|
resumabilityConfig: (_a = app == null ? void 0 : app.resumabilityConfig) != null ? _a : resumabilityConfig
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
|
-
}
|
|
71
|
+
};
|
|
72
|
+
__name(_InMemoryRunner, "InMemoryRunner");
|
|
73
|
+
let InMemoryRunner = _InMemoryRunner;
|
|
71
74
|
// Annotate the CommonJS export names for ESM import in node:
|
|
72
75
|
0 && (module.exports = {
|
|
73
76
|
InMemoryRunner
|
|
@@ -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,6 +34,8 @@ __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");
|
|
@@ -46,6 +49,7 @@ var import_tracing = require("../telemetry/tracing.js");
|
|
|
46
49
|
var import_base_toolset = require("../tools/base_toolset.js");
|
|
47
50
|
var import_logger = require("../utils/logger.js");
|
|
48
51
|
var import_model_name = require("../utils/model_name.js");
|
|
52
|
+
var import_run_node_as_invocation = require("../workflow/run_node_as_invocation.js");
|
|
49
53
|
/**
|
|
50
54
|
* @license
|
|
51
55
|
* Copyright 2025 Google LLC
|
|
@@ -56,8 +60,9 @@ const RUNNER_SIGNATURE_SYMBOL = Symbol.for("google.adk.runner");
|
|
|
56
60
|
function isRunner(obj) {
|
|
57
61
|
return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
|
|
58
62
|
}
|
|
63
|
+
__name(isRunner, "isRunner");
|
|
59
64
|
_a = RUNNER_SIGNATURE_SYMBOL;
|
|
60
|
-
class
|
|
65
|
+
const _Runner = class _Runner {
|
|
61
66
|
/**
|
|
62
67
|
* Creates a new Runner instance.
|
|
63
68
|
*
|
|
@@ -74,7 +79,7 @@ class Runner {
|
|
|
74
79
|
);
|
|
75
80
|
}
|
|
76
81
|
this.appName = appName;
|
|
77
|
-
this.agent = agent;
|
|
82
|
+
this.agent = (0, import_run_node_as_invocation.asRunnableRoot)(agent);
|
|
78
83
|
const appPlugins = (_f = (_e = input.app) == null ? void 0 : _e.plugins) != null ? _f : [];
|
|
79
84
|
const configPlugins = (_g = input.plugins) != null ? _g : [];
|
|
80
85
|
this.pluginManager = new import_plugin_manager.PluginManager([...appPlugins, ...configPlugins]);
|
|
@@ -135,6 +140,7 @@ class Runner {
|
|
|
135
140
|
if (newMessage && !newMessage.role) {
|
|
136
141
|
newMessage.role = "user";
|
|
137
142
|
}
|
|
143
|
+
rejectReservedFunctionCalls(newMessage);
|
|
138
144
|
const span = import_tracing.tracer.startSpan("invocation");
|
|
139
145
|
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
140
146
|
try {
|
|
@@ -142,7 +148,7 @@ class Runner {
|
|
|
142
148
|
ctx,
|
|
143
149
|
this,
|
|
144
150
|
async function* () {
|
|
145
|
-
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
151
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
146
152
|
const session = await this.sessionService.getSession({
|
|
147
153
|
appName: this.appName,
|
|
148
154
|
userId,
|
|
@@ -181,7 +187,7 @@ class Runner {
|
|
|
181
187
|
memoryService: this.memoryService,
|
|
182
188
|
credentialService: this.credentialService,
|
|
183
189
|
invocationId: (0, import_invocation_context.newInvocationContextId)(),
|
|
184
|
-
agent: this.agent,
|
|
190
|
+
agent: (0, import_base_agent.isBaseAgent)(this.agent) ? this.agent : void 0,
|
|
185
191
|
session,
|
|
186
192
|
userContent: newMessage,
|
|
187
193
|
runConfig,
|
|
@@ -227,10 +233,12 @@ class Runner {
|
|
|
227
233
|
return;
|
|
228
234
|
}
|
|
229
235
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
236
|
+
if ((0, import_base_agent.isBaseAgent)(this.agent)) {
|
|
237
|
+
invocationContext.agent = this.determineAgentForResumption(
|
|
238
|
+
session,
|
|
239
|
+
this.agent
|
|
240
|
+
);
|
|
241
|
+
}
|
|
234
242
|
if (newMessage) {
|
|
235
243
|
const beforeRunCallbackResponse = await this.pluginManager.runBeforeRunCallback({
|
|
236
244
|
invocationContext
|
|
@@ -253,30 +261,35 @@ class Runner {
|
|
|
253
261
|
}
|
|
254
262
|
yield earlyExitEvent;
|
|
255
263
|
} else {
|
|
256
|
-
for await (const event of
|
|
257
|
-
invocationContext
|
|
258
|
-
)) {
|
|
264
|
+
for await (const event of this.runRoot(invocationContext)) {
|
|
259
265
|
if ((_h = params.abortSignal) == null ? void 0 : _h.aborted) {
|
|
260
266
|
return;
|
|
261
267
|
}
|
|
262
|
-
if (!event.partial) {
|
|
263
|
-
await this.sessionService.appendEvent({ session, event });
|
|
264
|
-
}
|
|
265
268
|
const modifiedEvent = await this.pluginManager.runOnEventCallback({
|
|
266
269
|
invocationContext,
|
|
267
270
|
event
|
|
268
271
|
});
|
|
269
|
-
|
|
270
|
-
|
|
272
|
+
const outputEvent = modifiedEvent ? {
|
|
273
|
+
...modifiedEvent,
|
|
274
|
+
id: event.id,
|
|
275
|
+
invocationId: event.invocationId,
|
|
276
|
+
timestamp: event.timestamp,
|
|
277
|
+
author: modifiedEvent.author || event.author,
|
|
278
|
+
branch: (_i = modifiedEvent.branch) != null ? _i : event.branch
|
|
279
|
+
} : event;
|
|
280
|
+
if (!event.partial) {
|
|
281
|
+
await this.sessionService.appendEvent({
|
|
282
|
+
session,
|
|
283
|
+
event: outputEvent
|
|
284
|
+
});
|
|
271
285
|
}
|
|
272
|
-
if (
|
|
273
|
-
|
|
274
|
-
} else {
|
|
275
|
-
yield event;
|
|
286
|
+
if ((_j = params.abortSignal) == null ? void 0 : _j.aborted) {
|
|
287
|
+
return;
|
|
276
288
|
}
|
|
289
|
+
yield outputEvent;
|
|
277
290
|
}
|
|
278
291
|
await this.pluginManager.runAfterRunCallback({ invocationContext });
|
|
279
|
-
if ((
|
|
292
|
+
if ((_k = params.abortSignal) == null ? void 0 : _k.aborted) {
|
|
280
293
|
return;
|
|
281
294
|
}
|
|
282
295
|
}
|
|
@@ -285,10 +298,29 @@ class Runner {
|
|
|
285
298
|
);
|
|
286
299
|
} finally {
|
|
287
300
|
span.end();
|
|
288
|
-
const toolsets = getAllToolsets(this.agent);
|
|
301
|
+
const toolsets = (0, import_base_agent.isBaseAgent)(this.agent) ? getAllToolsets(this.agent) : [];
|
|
289
302
|
await Promise.allSettled(toolsets.map((t) => t.close()));
|
|
290
303
|
}
|
|
291
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Runs whatever this runner was given as its root.
|
|
307
|
+
*
|
|
308
|
+
* An agent is run through `runAsync`, as always. A bare node — a `Workflow`
|
|
309
|
+
* handed to the runner directly — is driven by {@link runNodeAsInvocation}.
|
|
310
|
+
*
|
|
311
|
+
* Only the execution differs. Everything around it (the run callbacks, event
|
|
312
|
+
* persistence, cancellation) is shared, so the node path cannot drift from
|
|
313
|
+
* the agent path on the things that are not about execution. adk-python has
|
|
314
|
+
* two separate loops here and a TODO noting its node one lacks tracing and
|
|
315
|
+
* plugins; there is nothing to lack if there is only one loop.
|
|
316
|
+
*/
|
|
317
|
+
async *runRoot(invocationContext) {
|
|
318
|
+
if ((0, import_base_agent.isBaseAgent)(this.agent)) {
|
|
319
|
+
yield* (0, import_invocation_context.requireAgent)(invocationContext).runAsync(invocationContext);
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
yield* (0, import_run_node_as_invocation.runNodeAsInvocation)(this.agent, invocationContext);
|
|
323
|
+
}
|
|
292
324
|
/**
|
|
293
325
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
294
326
|
* a file name placeholder and optional file reference.
|
|
@@ -387,8 +419,150 @@ class Runner {
|
|
|
387
419
|
isRoutableLlmAgent(agentToRun) {
|
|
388
420
|
return isRoutableLlmAgent(agentToRun);
|
|
389
421
|
}
|
|
390
|
-
|
|
422
|
+
/**
|
|
423
|
+
* Runs the agent in the live (bidirectional streaming) mode.
|
|
424
|
+
*
|
|
425
|
+
* Model media events that carry raw inline bytes (audio, video, or image)
|
|
426
|
+
* are yielded but not appended to the session to avoid persisting large
|
|
427
|
+
* blobs; events with `fileData` references and most other live events
|
|
428
|
+
* (transcriptions, tool calls, usage) are persisted as in `runAsync`.
|
|
429
|
+
*
|
|
430
|
+
* This feature is **experimental** and its API may change.
|
|
431
|
+
*
|
|
432
|
+
* @param params.userId The user ID of the session.
|
|
433
|
+
* @param params.sessionId The session ID of the session.
|
|
434
|
+
* @param params.liveRequestQueue The queue used to feed the live model.
|
|
435
|
+
* @param params.runConfig The run config for the agent.
|
|
436
|
+
* @param params.abortSignal Optional signal to abort the live run.
|
|
437
|
+
* @param params.liveSessionResumptionHandle Optional session resumption
|
|
438
|
+
* handle observed from a prior `runLive` cycle on the same conversation.
|
|
439
|
+
* When set, the agent's live flow opens the connection with
|
|
440
|
+
* `liveConnectConfig.sessionResumption.handle` so the server restores its
|
|
441
|
+
* state instead of relying on client-side history replay.
|
|
442
|
+
* @yields The events generated by the agent.
|
|
443
|
+
*/
|
|
444
|
+
async *runLive(params) {
|
|
445
|
+
var _a2, _b, _c, _d;
|
|
446
|
+
if (!params.liveRequestQueue) {
|
|
447
|
+
throw new Error("liveRequestQueue is required for runLive.");
|
|
448
|
+
}
|
|
449
|
+
if (!(0, import_base_agent.isBaseAgent)(this.agent)) {
|
|
450
|
+
throw new Error("runLive is only supported for agents.");
|
|
451
|
+
}
|
|
452
|
+
const agent = this.agent;
|
|
453
|
+
const runConfig = (0, import_run_config.createRunConfig)(params.runConfig);
|
|
454
|
+
if (!((_a2 = runConfig.responseModalities) == null ? void 0 : _a2.length)) {
|
|
455
|
+
runConfig.responseModalities = [import_genai.Modality.AUDIO];
|
|
456
|
+
}
|
|
457
|
+
if ((_b = agent.subAgents) == null ? void 0 : _b.length) {
|
|
458
|
+
if (runConfig.responseModalities.includes(import_genai.Modality.AUDIO)) {
|
|
459
|
+
(_c = runConfig.outputAudioTranscription) != null ? _c : runConfig.outputAudioTranscription = {};
|
|
460
|
+
}
|
|
461
|
+
(_d = runConfig.inputAudioTranscription) != null ? _d : runConfig.inputAudioTranscription = {};
|
|
462
|
+
}
|
|
463
|
+
const span = import_tracing.tracer.startSpan("invocation");
|
|
464
|
+
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
465
|
+
try {
|
|
466
|
+
yield* (0, import_tracing.runAsyncGeneratorWithOtelContext)(
|
|
467
|
+
ctx,
|
|
468
|
+
this,
|
|
469
|
+
async function* () {
|
|
470
|
+
var _a3, _b2, _c2, _d2;
|
|
471
|
+
const session = await this.sessionService.getOrCreateSession({
|
|
472
|
+
appName: this.appName,
|
|
473
|
+
userId: params.userId,
|
|
474
|
+
sessionId: params.sessionId
|
|
475
|
+
});
|
|
476
|
+
if ((_a3 = params.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
const invocationContext = new import_invocation_context.InvocationContext({
|
|
480
|
+
artifactService: this.artifactService ? new import_scoped_artifact_service.ScopedArtifactService(
|
|
481
|
+
this.artifactService,
|
|
482
|
+
this.appName,
|
|
483
|
+
params.userId,
|
|
484
|
+
params.sessionId
|
|
485
|
+
) : void 0,
|
|
486
|
+
sessionService: this.sessionService,
|
|
487
|
+
memoryService: this.memoryService,
|
|
488
|
+
credentialService: this.credentialService,
|
|
489
|
+
invocationId: (0, import_invocation_context.newInvocationContextId)(),
|
|
490
|
+
agent,
|
|
491
|
+
session,
|
|
492
|
+
runConfig,
|
|
493
|
+
pluginManager: this.pluginManager,
|
|
494
|
+
liveRequestQueue: params.liveRequestQueue,
|
|
495
|
+
abortSignal: params.abortSignal,
|
|
496
|
+
liveSessionResumptionHandle: params.liveSessionResumptionHandle
|
|
497
|
+
});
|
|
498
|
+
invocationContext.agent = this.determineAgentForResumption(
|
|
499
|
+
session,
|
|
500
|
+
agent
|
|
501
|
+
);
|
|
502
|
+
const beforeRunCallbackResponse = await this.pluginManager.runBeforeRunCallback({
|
|
503
|
+
invocationContext
|
|
504
|
+
});
|
|
505
|
+
if ((_b2 = params.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
if (beforeRunCallbackResponse) {
|
|
509
|
+
const earlyExitEvent = (0, import_event.createEvent)({
|
|
510
|
+
invocationId: invocationContext.invocationId,
|
|
511
|
+
author: "model",
|
|
512
|
+
content: beforeRunCallbackResponse
|
|
513
|
+
});
|
|
514
|
+
await this.sessionService.appendEvent({
|
|
515
|
+
session,
|
|
516
|
+
event: earlyExitEvent
|
|
517
|
+
});
|
|
518
|
+
yield earlyExitEvent;
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
for await (const event of (0, import_invocation_context.requireAgent)(invocationContext).runLive(
|
|
522
|
+
invocationContext
|
|
523
|
+
)) {
|
|
524
|
+
if ((_c2 = params.abortSignal) == null ? void 0 : _c2.aborted) {
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
const modifiedEvent = await this.pluginManager.runOnEventCallback({
|
|
528
|
+
invocationContext,
|
|
529
|
+
event
|
|
530
|
+
});
|
|
531
|
+
if ((_d2 = params.abortSignal) == null ? void 0 : _d2.aborted) {
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
const eventToProcess = modifiedEvent != null ? modifiedEvent : event;
|
|
535
|
+
if (!eventToProcess.partial && !isLiveModelMediaEventWithInlineData(eventToProcess)) {
|
|
536
|
+
await this.sessionService.appendEvent({
|
|
537
|
+
session,
|
|
538
|
+
event: eventToProcess
|
|
539
|
+
});
|
|
540
|
+
}
|
|
541
|
+
yield eventToProcess;
|
|
542
|
+
}
|
|
543
|
+
await this.pluginManager.runAfterRunCallback({ invocationContext });
|
|
544
|
+
}
|
|
545
|
+
);
|
|
546
|
+
} finally {
|
|
547
|
+
span.end();
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
};
|
|
551
|
+
__name(_Runner, "Runner");
|
|
552
|
+
let Runner = _Runner;
|
|
553
|
+
function isLiveModelMediaEventWithInlineData(event) {
|
|
554
|
+
var _a2;
|
|
555
|
+
const parts = (_a2 = event.content) == null ? void 0 : _a2.parts;
|
|
556
|
+
if (!(parts == null ? void 0 : parts.length)) {
|
|
557
|
+
return false;
|
|
558
|
+
}
|
|
559
|
+
return parts.some((part) => {
|
|
560
|
+
var _a3, _b;
|
|
561
|
+
const mimeType = (_b = (_a3 = part.inlineData) == null ? void 0 : _a3.mimeType) == null ? void 0 : _b.toLowerCase();
|
|
562
|
+
return mimeType !== void 0 && (mimeType.startsWith("audio/") || mimeType.startsWith("video/") || mimeType.startsWith("image/"));
|
|
563
|
+
});
|
|
391
564
|
}
|
|
565
|
+
__name(isLiveModelMediaEventWithInlineData, "isLiveModelMediaEventWithInlineData");
|
|
392
566
|
function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
393
567
|
const event = findEventByLastFunctionResponseId(session.events);
|
|
394
568
|
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
@@ -397,9 +571,11 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
397
571
|
if (resumedAgent) {
|
|
398
572
|
return resumedAgent;
|
|
399
573
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
574
|
+
if (!isWorkflowNodeEvent(event)) {
|
|
575
|
+
import_logger.logger.warn(
|
|
576
|
+
`Function response from an unknown agent: ${event.author}, event id: ${event.id}`
|
|
577
|
+
);
|
|
578
|
+
}
|
|
403
579
|
}
|
|
404
580
|
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
405
581
|
import_logger.logger.debug("event:", JSON.stringify(session.events[i]));
|
|
@@ -412,9 +588,11 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
412
588
|
}
|
|
413
589
|
const agent = rootAgent.findSubAgent(event2.author);
|
|
414
590
|
if (!agent) {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
591
|
+
if (!isWorkflowNodeEvent(event2)) {
|
|
592
|
+
import_logger.logger.warn(
|
|
593
|
+
`Event from an unknown agent: ${event2.author}, event id: ${event2.id}`
|
|
594
|
+
);
|
|
595
|
+
}
|
|
418
596
|
continue;
|
|
419
597
|
}
|
|
420
598
|
if (isRoutableLlmAgent(agent)) {
|
|
@@ -423,6 +601,12 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
423
601
|
}
|
|
424
602
|
return rootAgent;
|
|
425
603
|
}
|
|
604
|
+
__name(determineAgentForResumption, "determineAgentForResumption");
|
|
605
|
+
function isWorkflowNodeEvent(event) {
|
|
606
|
+
var _a2;
|
|
607
|
+
return Boolean((_a2 = event.nodeInfo) == null ? void 0 : _a2.path);
|
|
608
|
+
}
|
|
609
|
+
__name(isWorkflowNodeEvent, "isWorkflowNodeEvent");
|
|
426
610
|
function isRoutableLlmAgent(agentToRun) {
|
|
427
611
|
let agent = agentToRun;
|
|
428
612
|
while (agent) {
|
|
@@ -436,10 +620,12 @@ function isRoutableLlmAgent(agentToRun) {
|
|
|
436
620
|
}
|
|
437
621
|
return true;
|
|
438
622
|
}
|
|
623
|
+
__name(isRoutableLlmAgent, "isRoutableLlmAgent");
|
|
439
624
|
function findEventByLastFunctionResponseId(events) {
|
|
440
625
|
var _a2;
|
|
441
626
|
return (_a2 = (0, import_functions.findMatchingFunctionCall)(events)) != null ? _a2 : null;
|
|
442
627
|
}
|
|
628
|
+
__name(findEventByLastFunctionResponseId, "findEventByLastFunctionResponseId");
|
|
443
629
|
function getAllToolsets(agent) {
|
|
444
630
|
const toolsets = [];
|
|
445
631
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -457,9 +643,20 @@ function getAllToolsets(agent) {
|
|
|
457
643
|
traverse(sub);
|
|
458
644
|
}
|
|
459
645
|
}
|
|
646
|
+
__name(traverse, "traverse");
|
|
460
647
|
traverse(agent);
|
|
461
648
|
return toolsets;
|
|
462
649
|
}
|
|
650
|
+
__name(getAllToolsets, "getAllToolsets");
|
|
651
|
+
function rejectReservedFunctionCalls(newMessage) {
|
|
652
|
+
const reserved = (0, import_framework_function_calls.reservedFunctionCallName)(newMessage);
|
|
653
|
+
if (reserved) {
|
|
654
|
+
throw new Error(
|
|
655
|
+
`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.`
|
|
656
|
+
);
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
__name(rejectReservedFunctionCalls, "rejectReservedFunctionCalls");
|
|
463
660
|
// Annotate the CommonJS export names for ESM import in node:
|
|
464
661
|
0 && (module.exports = {
|
|
465
662
|
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,26 +93,38 @@ class BaseSessionService {
|
|
|
91
93
|
if (key.startsWith(import_state.State.TEMP_PREFIX)) {
|
|
92
94
|
continue;
|
|
93
95
|
}
|
|
94
|
-
session.state
|
|
96
|
+
if (!(0, import_state_write_order.shouldApplyDeltaWrite)(session.state, event.actions.stateDelta, key)) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
Object.defineProperty(session.state, key, {
|
|
100
|
+
value,
|
|
101
|
+
writable: true,
|
|
102
|
+
enumerable: true,
|
|
103
|
+
configurable: true
|
|
104
|
+
});
|
|
95
105
|
}
|
|
96
106
|
}
|
|
97
|
-
}
|
|
107
|
+
};
|
|
108
|
+
__name(_BaseSessionService, "BaseSessionService");
|
|
109
|
+
let BaseSessionService = _BaseSessionService;
|
|
98
110
|
function trimTempDeltaState(event) {
|
|
99
111
|
if (!event.actions || !event.actions.stateDelta) {
|
|
100
112
|
return event;
|
|
101
113
|
}
|
|
102
114
|
const stateDelta = event.actions.stateDelta;
|
|
103
|
-
const filteredStateDelta =
|
|
115
|
+
const filteredStateDelta = /* @__PURE__ */ Object.create(null);
|
|
104
116
|
for (const [key, value] of Object.entries(stateDelta)) {
|
|
105
117
|
if (!key.startsWith(import_state.State.TEMP_PREFIX)) {
|
|
106
118
|
filteredStateDelta[key] = value;
|
|
107
119
|
}
|
|
108
120
|
}
|
|
121
|
+
(0, import_state_write_order.carryDeltaStamps)(stateDelta, filteredStateDelta);
|
|
109
122
|
event.actions.stateDelta = filteredStateDelta;
|
|
110
123
|
return event;
|
|
111
124
|
}
|
|
125
|
+
__name(trimTempDeltaState, "trimTempDeltaState");
|
|
112
126
|
function trimTempState(state) {
|
|
113
|
-
const filteredState =
|
|
127
|
+
const filteredState = /* @__PURE__ */ Object.create(null);
|
|
114
128
|
for (const [key, value] of Object.entries(state)) {
|
|
115
129
|
if (!key.startsWith(import_state.State.TEMP_PREFIX)) {
|
|
116
130
|
filteredState[key] = value;
|
|
@@ -118,6 +132,7 @@ function trimTempState(state) {
|
|
|
118
132
|
}
|
|
119
133
|
return filteredState;
|
|
120
134
|
}
|
|
135
|
+
__name(trimTempState, "trimTempState");
|
|
121
136
|
function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
122
137
|
const merged = (0, import_lodash_es.cloneDeep)(sessionState);
|
|
123
138
|
for (const [k, v] of Object.entries(appState)) {
|
|
@@ -128,6 +143,7 @@ function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
|
128
143
|
}
|
|
129
144
|
return merged;
|
|
130
145
|
}
|
|
146
|
+
__name(mergeStates, "mergeStates");
|
|
131
147
|
// Annotate the CommonJS export names for ESM import in node:
|
|
132
148
|
0 && (module.exports = {
|
|
133
149
|
BaseSessionService,
|
|
@@ -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 });
|
|
@@ -46,7 +47,8 @@ function isDatabaseConnectionString(uri) {
|
|
|
46
47
|
}
|
|
47
48
|
return uri.startsWith("postgres://") || uri.startsWith("postgresql://") || uri.startsWith("mysql://") || uri.startsWith("mariadb://") || uri.startsWith("mssql://") || uri.startsWith("sqlite://");
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
__name(isDatabaseConnectionString, "isDatabaseConnectionString");
|
|
51
|
+
const _DatabaseSessionService = class _DatabaseSessionService extends import_base_session_service.BaseSessionService {
|
|
50
52
|
constructor(connectionStringOrOptions) {
|
|
51
53
|
super();
|
|
52
54
|
this.initialized = false;
|
|
@@ -422,7 +424,9 @@ class DatabaseSessionService extends import_base_session_service.BaseSessionServ
|
|
|
422
424
|
});
|
|
423
425
|
return event;
|
|
424
426
|
}
|
|
425
|
-
}
|
|
427
|
+
};
|
|
428
|
+
__name(_DatabaseSessionService, "DatabaseSessionService");
|
|
429
|
+
let DatabaseSessionService = _DatabaseSessionService;
|
|
426
430
|
// Annotate the CommonJS export names for ESM import in node:
|
|
427
431
|
0 && (module.exports = {
|
|
428
432
|
DatabaseSessionService,
|