@google/adk 1.6.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 +5 -2
- 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 -10
- 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 +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 +38 -16
- 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 +535 -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 +6 -3
- 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 +9 -4
- 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 +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 +9 -2
- 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 +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 +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 +8 -2
- package/dist/cjs/common.js +106 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +5 -2
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +3 -0
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +9 -3
- 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 -25
- 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 +8 -2
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +17 -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 +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/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +208 -18
- package/dist/cjs/sessions/base_session_service.js +13 -2
- 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 +22 -14
- 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 +110 -15
- 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 +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 +3 -2
- 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 +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 +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 +6 -4
- 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 +2 -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 -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 +2 -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 +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 +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 +6 -2
- 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 -15
- 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 -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 +42 -13
- 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 +536 -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 +7 -3
- 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 +10 -4
- 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 +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 +10 -2
- 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 +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 +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 +9 -2
- package/dist/esm/common.js +109 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +6 -2
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +4 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +10 -3
- 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 -15
- 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 +9 -2
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +18 -2
- 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 +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/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +215 -20
- package/dist/esm/sessions/base_session_service.js +14 -2
- 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 +23 -14
- 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 +110 -15
- 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 +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 +4 -2
- 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 +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 +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 +7 -4
- 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 +3 -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 -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 +3 -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 +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 +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/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/common.d.ts +18 -8
- 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 +5 -13
- 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 +35 -0
- 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 +2 -2
- 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 +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/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 +6 -1
- 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/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/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -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 +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/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +6 -2
- 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 -15
- package/dist/web/a2a/auth.js +4 -0
- package/dist/web/a2a/event_converter_utils.js +10 -0
- 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 +42 -13
- 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 +630 -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 +6 -3
- 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 +10 -4
- 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 +6 -2
- 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 +10 -2
- 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 +6 -2
- 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 +9 -2
- package/dist/web/common.js +109 -4
- package/dist/web/context/agent_controlled_context_compactor.js +6 -2
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +4 -0
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +10 -3
- 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 -15
- 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 +9 -2
- package/dist/web/memory/vertex_ai_memory_bank_service.js +17 -2
- 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 +39 -5
- 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 +232 -20
- package/dist/web/sessions/base_session_service.js +14 -2
- 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 +23 -14
- 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 +118 -15
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +22 -10
- 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 +4 -2
- 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 +45 -9
- 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 +7 -4
- 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 +3 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +41 -0
- package/dist/web/utils/error_utils.js +9 -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 +7 -2
- 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 +3 -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 +5 -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 });
|
|
@@ -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 {
|
|
@@ -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,9 +261,7 @@ 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
|
}
|
|
@@ -292,10 +298,29 @@ class Runner {
|
|
|
292
298
|
);
|
|
293
299
|
} finally {
|
|
294
300
|
span.end();
|
|
295
|
-
const toolsets = getAllToolsets(this.agent);
|
|
301
|
+
const toolsets = (0, import_base_agent.isBaseAgent)(this.agent) ? getAllToolsets(this.agent) : [];
|
|
296
302
|
await Promise.allSettled(toolsets.map((t) => t.close()));
|
|
297
303
|
}
|
|
298
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
|
+
}
|
|
299
324
|
/**
|
|
300
325
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
301
326
|
* a file name placeholder and optional file reference.
|
|
@@ -394,8 +419,150 @@ class Runner {
|
|
|
394
419
|
isRoutableLlmAgent(agentToRun) {
|
|
395
420
|
return isRoutableLlmAgent(agentToRun);
|
|
396
421
|
}
|
|
397
|
-
|
|
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
|
+
});
|
|
398
564
|
}
|
|
565
|
+
__name(isLiveModelMediaEventWithInlineData, "isLiveModelMediaEventWithInlineData");
|
|
399
566
|
function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
400
567
|
const event = findEventByLastFunctionResponseId(session.events);
|
|
401
568
|
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
@@ -404,9 +571,11 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
404
571
|
if (resumedAgent) {
|
|
405
572
|
return resumedAgent;
|
|
406
573
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
574
|
+
if (!isWorkflowNodeEvent(event)) {
|
|
575
|
+
import_logger.logger.warn(
|
|
576
|
+
`Function response from an unknown agent: ${event.author}, event id: ${event.id}`
|
|
577
|
+
);
|
|
578
|
+
}
|
|
410
579
|
}
|
|
411
580
|
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
412
581
|
import_logger.logger.debug("event:", JSON.stringify(session.events[i]));
|
|
@@ -419,9 +588,11 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
419
588
|
}
|
|
420
589
|
const agent = rootAgent.findSubAgent(event2.author);
|
|
421
590
|
if (!agent) {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
591
|
+
if (!isWorkflowNodeEvent(event2)) {
|
|
592
|
+
import_logger.logger.warn(
|
|
593
|
+
`Event from an unknown agent: ${event2.author}, event id: ${event2.id}`
|
|
594
|
+
);
|
|
595
|
+
}
|
|
425
596
|
continue;
|
|
426
597
|
}
|
|
427
598
|
if (isRoutableLlmAgent(agent)) {
|
|
@@ -430,6 +601,12 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
430
601
|
}
|
|
431
602
|
return rootAgent;
|
|
432
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");
|
|
433
610
|
function isRoutableLlmAgent(agentToRun) {
|
|
434
611
|
let agent = agentToRun;
|
|
435
612
|
while (agent) {
|
|
@@ -443,10 +620,12 @@ function isRoutableLlmAgent(agentToRun) {
|
|
|
443
620
|
}
|
|
444
621
|
return true;
|
|
445
622
|
}
|
|
623
|
+
__name(isRoutableLlmAgent, "isRoutableLlmAgent");
|
|
446
624
|
function findEventByLastFunctionResponseId(events) {
|
|
447
625
|
var _a2;
|
|
448
626
|
return (_a2 = (0, import_functions.findMatchingFunctionCall)(events)) != null ? _a2 : null;
|
|
449
627
|
}
|
|
628
|
+
__name(findEventByLastFunctionResponseId, "findEventByLastFunctionResponseId");
|
|
450
629
|
function getAllToolsets(agent) {
|
|
451
630
|
const toolsets = [];
|
|
452
631
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -464,9 +643,20 @@ function getAllToolsets(agent) {
|
|
|
464
643
|
traverse(sub);
|
|
465
644
|
}
|
|
466
645
|
}
|
|
646
|
+
__name(traverse, "traverse");
|
|
467
647
|
traverse(agent);
|
|
468
648
|
return toolsets;
|
|
469
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");
|
|
470
660
|
// Annotate the CommonJS export names for ESM import in node:
|
|
471
661
|
0 && (module.exports = {
|
|
472
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,6 +93,9 @@ class BaseSessionService {
|
|
|
91
93
|
if (key.startsWith(import_state.State.TEMP_PREFIX)) {
|
|
92
94
|
continue;
|
|
93
95
|
}
|
|
96
|
+
if (!(0, import_state_write_order.shouldApplyDeltaWrite)(session.state, event.actions.stateDelta, key)) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
94
99
|
Object.defineProperty(session.state, key, {
|
|
95
100
|
value,
|
|
96
101
|
writable: true,
|
|
@@ -99,7 +104,9 @@ class BaseSessionService {
|
|
|
99
104
|
});
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
|
-
}
|
|
107
|
+
};
|
|
108
|
+
__name(_BaseSessionService, "BaseSessionService");
|
|
109
|
+
let BaseSessionService = _BaseSessionService;
|
|
103
110
|
function trimTempDeltaState(event) {
|
|
104
111
|
if (!event.actions || !event.actions.stateDelta) {
|
|
105
112
|
return event;
|
|
@@ -111,9 +118,11 @@ function trimTempDeltaState(event) {
|
|
|
111
118
|
filteredStateDelta[key] = value;
|
|
112
119
|
}
|
|
113
120
|
}
|
|
121
|
+
(0, import_state_write_order.carryDeltaStamps)(stateDelta, filteredStateDelta);
|
|
114
122
|
event.actions.stateDelta = filteredStateDelta;
|
|
115
123
|
return event;
|
|
116
124
|
}
|
|
125
|
+
__name(trimTempDeltaState, "trimTempDeltaState");
|
|
117
126
|
function trimTempState(state) {
|
|
118
127
|
const filteredState = /* @__PURE__ */ Object.create(null);
|
|
119
128
|
for (const [key, value] of Object.entries(state)) {
|
|
@@ -123,6 +132,7 @@ function trimTempState(state) {
|
|
|
123
132
|
}
|
|
124
133
|
return filteredState;
|
|
125
134
|
}
|
|
135
|
+
__name(trimTempState, "trimTempState");
|
|
126
136
|
function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
127
137
|
const merged = (0, import_lodash_es.cloneDeep)(sessionState);
|
|
128
138
|
for (const [k, v] of Object.entries(appState)) {
|
|
@@ -133,6 +143,7 @@ function mergeStates(appState = {}, userState = {}, sessionState = {}) {
|
|
|
133
143
|
}
|
|
134
144
|
return merged;
|
|
135
145
|
}
|
|
146
|
+
__name(mergeStates, "mergeStates");
|
|
136
147
|
// Annotate the CommonJS export names for ESM import in node:
|
|
137
148
|
0 && (module.exports = {
|
|
138
149
|
BaseSessionService,
|
|
@@ -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,
|
|
@@ -11,6 +11,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
11
11
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
12
|
var __getProtoOf = Object.getPrototypeOf;
|
|
13
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
15
|
var __export = (target, all) => {
|
|
15
16
|
for (var name in all)
|
|
16
17
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -39,31 +40,55 @@ __export(operations_exports, {
|
|
|
39
40
|
validateDatabaseSchemaVersion: () => validateDatabaseSchemaVersion
|
|
40
41
|
});
|
|
41
42
|
module.exports = __toCommonJS(operations_exports);
|
|
43
|
+
var import_optional_peer = require("../../utils/optional_peer.js");
|
|
44
|
+
var import_redact_uri = require("../../utils/redact_uri.js");
|
|
42
45
|
var import_schema = require("./schema.js");
|
|
43
46
|
/**
|
|
44
47
|
* @license
|
|
45
48
|
* Copyright 2026 Google LLC
|
|
46
49
|
* SPDX-License-Identifier: Apache-2.0
|
|
47
50
|
*/
|
|
51
|
+
function driverPeer(packageName, scheme) {
|
|
52
|
+
return {
|
|
53
|
+
packageName,
|
|
54
|
+
feature: `DatabaseSessionService with a "${scheme}" connection string`
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
__name(driverPeer, "driverPeer");
|
|
48
58
|
async function getConnectionOptionsFromUri(uri) {
|
|
49
59
|
let driver;
|
|
50
60
|
if (uri.startsWith("postgres://") || uri.startsWith("postgresql://")) {
|
|
51
|
-
const { PostgreSqlDriver } = await
|
|
61
|
+
const { PostgreSqlDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
62
|
+
driverPeer("@mikro-orm/postgresql", "postgres"),
|
|
63
|
+
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/postgresql"), 1))
|
|
64
|
+
);
|
|
52
65
|
driver = PostgreSqlDriver;
|
|
53
66
|
} else if (uri.startsWith("mysql://")) {
|
|
54
|
-
const { MySqlDriver } = await
|
|
67
|
+
const { MySqlDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
68
|
+
driverPeer("@mikro-orm/mysql", "mysql"),
|
|
69
|
+
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/mysql"), 1))
|
|
70
|
+
);
|
|
55
71
|
driver = MySqlDriver;
|
|
56
72
|
} else if (uri.startsWith("mariadb://")) {
|
|
57
|
-
const { MariaDbDriver } = await
|
|
73
|
+
const { MariaDbDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
74
|
+
driverPeer("@mikro-orm/mariadb", "mariadb"),
|
|
75
|
+
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/mariadb"), 1))
|
|
76
|
+
);
|
|
58
77
|
driver = MariaDbDriver;
|
|
59
78
|
} else if (uri.startsWith("sqlite://")) {
|
|
60
|
-
const { SqliteDriver } = await
|
|
79
|
+
const { SqliteDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
80
|
+
driverPeer("@mikro-orm/sqlite", "sqlite"),
|
|
81
|
+
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/sqlite"), 1))
|
|
82
|
+
);
|
|
61
83
|
driver = SqliteDriver;
|
|
62
84
|
} else if (uri.startsWith("mssql://")) {
|
|
63
|
-
const { MsSqlDriver } = await
|
|
85
|
+
const { MsSqlDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
86
|
+
driverPeer("@mikro-orm/mssql", "mssql"),
|
|
87
|
+
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/mssql"), 1))
|
|
88
|
+
);
|
|
64
89
|
driver = MsSqlDriver;
|
|
65
90
|
} else {
|
|
66
|
-
throw new Error(`Unsupported database URI: ${uri}`);
|
|
91
|
+
throw new Error(`Unsupported database URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`);
|
|
67
92
|
}
|
|
68
93
|
if (uri.startsWith("sqlite://")) {
|
|
69
94
|
return {
|
|
@@ -78,10 +103,12 @@ async function getConnectionOptionsFromUri(uri) {
|
|
|
78
103
|
driver
|
|
79
104
|
};
|
|
80
105
|
}
|
|
106
|
+
__name(getConnectionOptionsFromUri, "getConnectionOptionsFromUri");
|
|
81
107
|
async function ensureDatabaseCreated(orm) {
|
|
82
108
|
await orm.schema.ensureDatabase();
|
|
83
109
|
await orm.schema.updateSchema({ safe: true });
|
|
84
110
|
}
|
|
111
|
+
__name(ensureDatabaseCreated, "ensureDatabaseCreated");
|
|
85
112
|
async function validateDatabaseSchemaVersion(orm) {
|
|
86
113
|
const em = orm.em.fork();
|
|
87
114
|
const existing = await em.findOne(import_schema.StorageMetadata, {
|
|
@@ -101,6 +128,7 @@ async function validateDatabaseSchemaVersion(orm) {
|
|
|
101
128
|
});
|
|
102
129
|
await em.persist(newVersion).flush();
|
|
103
130
|
}
|
|
131
|
+
__name(validateDatabaseSchemaVersion, "validateDatabaseSchemaVersion");
|
|
104
132
|
// Annotate the CommonJS export names for ESM import in node:
|
|
105
133
|
0 && (module.exports = {
|
|
106
134
|
ensureDatabaseCreated,
|
|
@@ -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 });
|
|
@@ -53,7 +54,7 @@ var import_event = require("../../events/event.js");
|
|
|
53
54
|
const SCHEMA_VERSION_KEY = "schema_version";
|
|
54
55
|
const SCHEMA_VERSION_1_JSON = "1";
|
|
55
56
|
const STORAGE_KEY_COLUMN_LENGTH = 191;
|
|
56
|
-
class
|
|
57
|
+
const _CamelCaseToSnakeCaseJsonType = class _CamelCaseToSnakeCaseJsonType extends import_core.JsonType {
|
|
57
58
|
convertToDatabaseValue(value) {
|
|
58
59
|
return JSON.stringify((0, import_event.transformToSnakeCaseEvent)(value));
|
|
59
60
|
}
|
|
@@ -63,9 +64,12 @@ class CamelCaseToSnakeCaseJsonType extends import_core.JsonType {
|
|
|
63
64
|
}
|
|
64
65
|
return (0, import_event.transformToCamelCaseEvent)(value);
|
|
65
66
|
}
|
|
66
|
-
}
|
|
67
|
+
};
|
|
68
|
+
__name(_CamelCaseToSnakeCaseJsonType, "CamelCaseToSnakeCaseJsonType");
|
|
69
|
+
let CamelCaseToSnakeCaseJsonType = _CamelCaseToSnakeCaseJsonType;
|
|
67
70
|
let StorageMetadata = class {
|
|
68
71
|
};
|
|
72
|
+
__name(StorageMetadata, "StorageMetadata");
|
|
69
73
|
__decorateClass([
|
|
70
74
|
(0, import_core.PrimaryKey)({ type: "string" })
|
|
71
75
|
], StorageMetadata.prototype, "key", 2);
|
|
@@ -80,6 +84,7 @@ let StorageAppState = class {
|
|
|
80
84
|
this.updateTime = /* @__PURE__ */ new Date();
|
|
81
85
|
}
|
|
82
86
|
};
|
|
87
|
+
__name(StorageAppState, "StorageAppState");
|
|
83
88
|
__decorateClass([
|
|
84
89
|
(0, import_core.PrimaryKey)({
|
|
85
90
|
type: "string",
|
|
@@ -94,8 +99,8 @@ __decorateClass([
|
|
|
94
99
|
(0, import_core.Property)({
|
|
95
100
|
type: "datetime",
|
|
96
101
|
fieldName: "update_time",
|
|
97
|
-
onCreate: () => /* @__PURE__ */ new Date(),
|
|
98
|
-
onUpdate: () => /* @__PURE__ */ new Date()
|
|
102
|
+
onCreate: /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "onCreate"),
|
|
103
|
+
onUpdate: /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "onUpdate")
|
|
99
104
|
})
|
|
100
105
|
], StorageAppState.prototype, "updateTime", 2);
|
|
101
106
|
StorageAppState = __decorateClass([
|
|
@@ -107,6 +112,7 @@ let StorageUserState = class {
|
|
|
107
112
|
this.updateTime = /* @__PURE__ */ new Date();
|
|
108
113
|
}
|
|
109
114
|
};
|
|
115
|
+
__name(StorageUserState, "StorageUserState");
|
|
110
116
|
__decorateClass([
|
|
111
117
|
(0, import_core.PrimaryKey)({
|
|
112
118
|
type: "string",
|
|
@@ -128,8 +134,8 @@ __decorateClass([
|
|
|
128
134
|
(0, import_core.Property)({
|
|
129
135
|
type: "datetime",
|
|
130
136
|
fieldName: "update_time",
|
|
131
|
-
onCreate: () => /* @__PURE__ */ new Date(),
|
|
132
|
-
onUpdate: () => /* @__PURE__ */ new Date()
|
|
137
|
+
onCreate: /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "onCreate"),
|
|
138
|
+
onUpdate: /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "onUpdate")
|
|
133
139
|
})
|
|
134
140
|
], StorageUserState.prototype, "updateTime", 2);
|
|
135
141
|
StorageUserState = __decorateClass([
|
|
@@ -142,6 +148,7 @@ let StorageSession = class {
|
|
|
142
148
|
this.updateTime = /* @__PURE__ */ new Date();
|
|
143
149
|
}
|
|
144
150
|
};
|
|
151
|
+
__name(StorageSession, "StorageSession");
|
|
145
152
|
__decorateClass([
|
|
146
153
|
(0, import_core.PrimaryKey)({ type: "string", length: STORAGE_KEY_COLUMN_LENGTH })
|
|
147
154
|
], StorageSession.prototype, "id", 2);
|
|
@@ -166,14 +173,14 @@ __decorateClass([
|
|
|
166
173
|
(0, import_core.Property)({
|
|
167
174
|
type: "datetime",
|
|
168
175
|
fieldName: "create_time",
|
|
169
|
-
onCreate: () => /* @__PURE__ */ new Date()
|
|
176
|
+
onCreate: /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "onCreate")
|
|
170
177
|
})
|
|
171
178
|
], StorageSession.prototype, "createTime", 2);
|
|
172
179
|
__decorateClass([
|
|
173
180
|
(0, import_core.Property)({
|
|
174
181
|
type: "datetime",
|
|
175
182
|
fieldName: "update_time",
|
|
176
|
-
onCreate: () => /* @__PURE__ */ new Date()
|
|
183
|
+
onCreate: /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "onCreate")
|
|
177
184
|
})
|
|
178
185
|
], StorageSession.prototype, "updateTime", 2);
|
|
179
186
|
StorageSession = __decorateClass([
|
|
@@ -182,6 +189,7 @@ StorageSession = __decorateClass([
|
|
|
182
189
|
import_core.PrimaryKey.name;
|
|
183
190
|
let StorageEvent = class {
|
|
184
191
|
};
|
|
192
|
+
__name(StorageEvent, "StorageEvent");
|
|
185
193
|
__decorateClass([
|
|
186
194
|
(0, import_core.PrimaryKey)({ type: "string", length: STORAGE_KEY_COLUMN_LENGTH })
|
|
187
195
|
], StorageEvent.prototype, "id", 2);
|