@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
|
@@ -23,3 +23,50 @@ export declare class ToolConfirmation {
|
|
|
23
23
|
payload?: unknown;
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Why a confirmation was refused. Each value is one of the checks the resume
|
|
28
|
+
* path makes before it runs a tool call a human approved.
|
|
29
|
+
*/
|
|
30
|
+
export type IntentMismatchReason =
|
|
31
|
+
/** The `adk_request_confirmation` call was not raised by the agent. */
|
|
32
|
+
'untrusted_request'
|
|
33
|
+
/** The `adk_request_confirmation` call carries no usable pinned call. */
|
|
34
|
+
| 'malformed_request'
|
|
35
|
+
/** The pinned call is absent from session history. */
|
|
36
|
+
| 'unknown_original_call'
|
|
37
|
+
/** The pinned call names a tool the agent does not have. */
|
|
38
|
+
| 'unregistered_tool'
|
|
39
|
+
/** The pinned tool does not gate on confirmation, so nothing was approved. */
|
|
40
|
+
| 'confirmation_not_required'
|
|
41
|
+
/** The pinned tool name disagrees with the call in history. */
|
|
42
|
+
| 'tool_name_mismatch'
|
|
43
|
+
/** The pinned arguments disagree with the call in history. */
|
|
44
|
+
| 'arguments_mismatch';
|
|
45
|
+
/**
|
|
46
|
+
* Raised when a tool confirmation does not bind to the action it claims to
|
|
47
|
+
* approve — the approval and the action about to run are not the same thing.
|
|
48
|
+
*
|
|
49
|
+
* The framework fails closed on this: a mismatch aborts the invocation rather
|
|
50
|
+
* than running an action no human agreed to. It is worth alerting on, so the
|
|
51
|
+
* message names the reason and the call, and deliberately carries no argument
|
|
52
|
+
* values — a rejected payload is attacker-controlled and does not belong in
|
|
53
|
+
* logs.
|
|
54
|
+
*/
|
|
55
|
+
export declare class IntentMismatchError extends Error {
|
|
56
|
+
/** Which binding check refused the confirmation. */
|
|
57
|
+
readonly reason: IntentMismatchReason;
|
|
58
|
+
/** The id of the pinned call, when one was named. */
|
|
59
|
+
readonly functionCallId?: string;
|
|
60
|
+
constructor(options: {
|
|
61
|
+
reason: IntentMismatchReason;
|
|
62
|
+
functionCallId?: string;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Type guard for {@link IntentMismatchError}.
|
|
67
|
+
*
|
|
68
|
+
* Matches on `name` rather than `instanceof` so it stays correct when the error
|
|
69
|
+
* crosses a package boundary (two copies of adk-js in one runtime would fail an
|
|
70
|
+
* `instanceof` check between them).
|
|
71
|
+
*/
|
|
72
|
+
export declare function isIntentMismatchError(e: unknown): e is IntentMismatchError;
|
|
@@ -4,15 +4,47 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
|
-
* A generic,
|
|
7
|
+
* A generic, single-consumer async queue that implements AsyncIterable,
|
|
8
|
+
* bridging a *push* producer to a *pull* consumer (`for await (const x of q)`).
|
|
9
|
+
*
|
|
10
|
+
* Producers call {@link push} as values are produced and {@link close} (or
|
|
11
|
+
* {@link fail}) when finished. A single consumer drains the queue.
|
|
12
|
+
*
|
|
13
|
+
* Semantics:
|
|
14
|
+
* - Buffered items are always delivered before an end/error signal.
|
|
15
|
+
* - {@link close} ends iteration cleanly (`done: true`); idempotent.
|
|
16
|
+
* - {@link fail} surfaces the error to the consumer *after* any buffered items
|
|
17
|
+
* have been drained; it is sticky (first failure wins) and also closes the
|
|
18
|
+
* queue, so a later `close()` can't discard the error.
|
|
19
|
+
* - {@link push} after close/fail is ignored (the producer has already
|
|
20
|
+
* signalled completion).
|
|
8
21
|
*/
|
|
9
22
|
export declare class AsyncQueue<T> implements AsyncIterable<T> {
|
|
10
23
|
private queue;
|
|
11
24
|
private resolvers;
|
|
12
25
|
private closed;
|
|
13
|
-
private
|
|
26
|
+
private failure?;
|
|
27
|
+
/** Whether the queue has been closed or failed. */
|
|
28
|
+
get isClosed(): boolean;
|
|
29
|
+
/** Number of items buffered and not yet consumed. */
|
|
30
|
+
get size(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Enqueues a value. If a consumer is currently awaiting, it is resolved
|
|
33
|
+
* immediately; otherwise the value is buffered. No-op once closed/failed.
|
|
34
|
+
*/
|
|
14
35
|
push(value: T): void;
|
|
36
|
+
/**
|
|
37
|
+
* Signals that production failed. Buffered items are still delivered first;
|
|
38
|
+
* once the buffer drains, the consumer's next `next()` rejects with `error`.
|
|
39
|
+
* Sticky (first failure wins) and closes the queue.
|
|
40
|
+
*/
|
|
41
|
+
fail(error: unknown): void;
|
|
42
|
+
/** @deprecated Alias for {@link fail}; kept for existing callers. */
|
|
15
43
|
error(err: unknown): void;
|
|
44
|
+
/**
|
|
45
|
+
* Signals that no more items will be produced. Any awaiting consumer receives
|
|
46
|
+
* `{done: true}`. Idempotent.
|
|
47
|
+
*/
|
|
16
48
|
close(): void;
|
|
17
49
|
[Symbol.asyncIterator](): AsyncIterator<T>;
|
|
18
50
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/** Resets the warned-once registry. Test-only. */
|
|
7
|
+
export declare function resetDeprecationWarnings(): void;
|
|
8
|
+
type Constructor = new (...args: any[]) => any;
|
|
9
|
+
/**
|
|
10
|
+
* Marks a class as deprecated, logging `reason` once the first time it is
|
|
11
|
+
* instantiated.
|
|
12
|
+
*
|
|
13
|
+
* The JSDoc `@deprecated` tag is what a reader and an editor see; this is what
|
|
14
|
+
* someone running the code sees, so a deprecation is not silent to a caller who
|
|
15
|
+
* never opens the source. Mirrors `typing_extensions.deprecated`, which
|
|
16
|
+
* adk-python applies to the same classes, and follows the shape of
|
|
17
|
+
* {@link experimental}: one warning per class, not per instance, so a hot loop
|
|
18
|
+
* does not turn into a wall of logs.
|
|
19
|
+
*/
|
|
20
|
+
export declare function deprecated(reason: string): <T extends Constructor>(target: T) => T;
|
|
21
|
+
export {};
|
|
@@ -59,3 +59,19 @@ export declare function isBase64Encoded(data: string): boolean;
|
|
|
59
59
|
* @return The boolean value of the environment variable.
|
|
60
60
|
*/
|
|
61
61
|
export declare function getBooleanEnvVar(envVar: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Returns whether Google GenAI enterprise mode is enabled.
|
|
64
|
+
*
|
|
65
|
+
* `GOOGLE_GENAI_USE_ENTERPRISE` takes precedence whenever it is set, even when
|
|
66
|
+
* it is set to a falsy value. `GOOGLE_GENAI_USE_VERTEXAI` is only consulted
|
|
67
|
+
* when `GOOGLE_GENAI_USE_ENTERPRISE` is absent.
|
|
68
|
+
*
|
|
69
|
+
* Setting the deprecated `GOOGLE_GENAI_USE_VERTEXAI` logs a deprecation
|
|
70
|
+
* warning, whether it is used or overridden. When both variables are set the
|
|
71
|
+
* warning also states that `GOOGLE_GENAI_USE_VERTEXAI` is ignored, so a stale
|
|
72
|
+
* value silently overridden by the new variable is still surfaced. This is
|
|
73
|
+
* read per request, so the warning is logged only once.
|
|
74
|
+
*
|
|
75
|
+
* @return True if enterprise mode is enabled, false otherwise.
|
|
76
|
+
*/
|
|
77
|
+
export declare function isEnterpriseModeEnabled(): boolean;
|
|
@@ -5,9 +5,17 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { File } from '../code_executors/code_execution_utils.js';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Writes `files` into `dir`, refusing any entry that resolves outside of it.
|
|
9
|
+
*
|
|
10
|
+
* `dir` is deliberately required and has no default: file names typically
|
|
11
|
+
* originate from a code executor's output (i.e. from model- or skill-controlled
|
|
12
|
+
* content), so the destination must be a dedicated directory chosen by the
|
|
13
|
+
* caller. Defaulting to `process.cwd()` would let such content drop files into
|
|
14
|
+
* the host application's working directory.
|
|
15
|
+
*
|
|
9
16
|
* @param files The files to materialize.
|
|
17
|
+
* @param dir The directory to materialize the files into.
|
|
10
18
|
*/
|
|
11
|
-
export declare function materializeFiles(files: File[], dir
|
|
19
|
+
export declare function materializeFiles(files: File[], dir: string): Promise<File[]>;
|
|
12
20
|
export declare const EXTENSION_TO_MIME_TYPE: Record<string, string>;
|
|
13
21
|
export declare function guessMimeType(filePath: string): string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Schema } from '@google/genai';
|
|
7
|
+
/**
|
|
8
|
+
* Converts a genai `Schema` into a standard JSON Schema object.
|
|
9
|
+
*
|
|
10
|
+
* This is the inverse of `zodObjectToSchema`, which renders Zod into the
|
|
11
|
+
* genai/OpenAPI dialect. The two dialects differ in four ways, all handled
|
|
12
|
+
* here:
|
|
13
|
+
*
|
|
14
|
+
* - `type` is an uppercase enum (`STRING`) rather than a JSON Schema type name
|
|
15
|
+
* (`string`). `TYPE_UNSPECIFIED` means "no constraint" and is dropped.
|
|
16
|
+
* - `nullable: true` widens the type, which JSON Schema expresses as a type
|
|
17
|
+
* union (`['string', 'null']`).
|
|
18
|
+
* - Count and length bounds are stringified (`maxItems: '5'`).
|
|
19
|
+
* - `propertyOrdering` and `example` have no JSON Schema equivalent.
|
|
20
|
+
*
|
|
21
|
+
* Everything else (`description`, `title`, `default`, `pattern`, `required`,
|
|
22
|
+
* `minimum`, `maximum`, `format`) is already JSON-Schema-shaped and passes
|
|
23
|
+
* through, with `items`, `properties` and `anyOf` converted recursively.
|
|
24
|
+
*/
|
|
25
|
+
export declare function genaiSchemaToJsonSchema(schema: Schema): Record<string, unknown>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/** Describes the optional peer dependency a feature is asking for. */
|
|
7
|
+
export interface OptionalPeer {
|
|
8
|
+
/** The npm package name, e.g. `@google-cloud/storage`. */
|
|
9
|
+
packageName: string;
|
|
10
|
+
/** The ADK feature that needs it, used in the error message. */
|
|
11
|
+
feature: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Loads an optional peer dependency, translating "not installed" into an
|
|
15
|
+
* actionable error.
|
|
16
|
+
*
|
|
17
|
+
* The dynamic `import()` is passed in as a thunk rather than being built from
|
|
18
|
+
* `packageName`, so that the specifier stays a literal in the calling module
|
|
19
|
+
* and remains visible to bundlers and to test doubles installed with
|
|
20
|
+
* `vi.mock()`.
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* const {Storage} = await loadOptionalPeer(
|
|
24
|
+
* {packageName: '@google-cloud/storage', feature: 'GcsArtifactService'},
|
|
25
|
+
* () => import('@google-cloud/storage'),
|
|
26
|
+
* );
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @param peer The package being loaded and the feature that needs it.
|
|
30
|
+
* @param load Thunk performing the dynamic `import()`.
|
|
31
|
+
* @return The imported module namespace.
|
|
32
|
+
* @throws If the package is not installed, an error naming the feature and
|
|
33
|
+
* the `npm install` command that fixes it. Any other load failure is
|
|
34
|
+
* rethrown unchanged.
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadOptionalPeer<T>(peer: OptionalPeer, load: () => Promise<T>): Promise<T>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Redacts the credentials from a connection URI so the URI can be safely
|
|
8
|
+
* included in error messages and logs.
|
|
9
|
+
*
|
|
10
|
+
* A database or session-service connection URI such as
|
|
11
|
+
* `postgres://user:password@host:5432/db` embeds the password in its userinfo
|
|
12
|
+
* component. Including such a URI verbatim in a thrown Error or log entry leaks
|
|
13
|
+
* the credential to wherever those are collected (log files, error-tracking
|
|
14
|
+
* services, stdout captured by an orchestrator), which is frequently a
|
|
15
|
+
* different trust boundary from whoever provisioned the connection string.
|
|
16
|
+
*
|
|
17
|
+
* The same credential can instead arrive as a query parameter, for example
|
|
18
|
+
* `postgres://user@host/db?password=secret`, which several drivers accept and
|
|
19
|
+
* which reaches the same error paths. Both forms are masked.
|
|
20
|
+
*
|
|
21
|
+
* The rest of the URI is kept intact for debugging, mirroring the semantics of
|
|
22
|
+
* Go's `net/url.URL.Redacted()`. A URI carrying no credential is returned
|
|
23
|
+
* unchanged, byte for byte.
|
|
24
|
+
*
|
|
25
|
+
* If the input cannot be parsed as a URL, only its scheme prefix is returned so
|
|
26
|
+
* that a credential embedded in an otherwise-unparseable string is not leaked.
|
|
27
|
+
*/
|
|
28
|
+
export declare function redactUriPassword(uri: string): string;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A single, reusable abstraction over the schema formats ADK APIs accept: a Zod
|
|
8
|
+
* v3 type, a Zod v4 type, or a genai `Schema`. Mirrors the union
|
|
9
|
+
* `FunctionTool` uses for its parameters, but at the `ZodType` level (any
|
|
10
|
+
* schema, not just an object) so it also fits value validation.
|
|
11
|
+
*/
|
|
12
|
+
import { Schema } from '@google/genai';
|
|
13
|
+
import { z as z3 } from 'zod/v3';
|
|
14
|
+
import { z as z4 } from 'zod/v4';
|
|
15
|
+
/**
|
|
16
|
+
* A schema accepted by ADK APIs, expressed as a Zod v3 type, a Zod v4 type, or
|
|
17
|
+
* a genai `Schema`.
|
|
18
|
+
*
|
|
19
|
+
* Use `parseWithSchema` to validate a value against one, and `toJsonSchema` to
|
|
20
|
+
* render one as a plain JSON Schema.
|
|
21
|
+
*/
|
|
22
|
+
export type SchemaLike = z3.ZodType | z4.ZodType | Schema;
|
|
23
|
+
/**
|
|
24
|
+
* Validates `value` against `schema`, returning the parsed value.
|
|
25
|
+
*
|
|
26
|
+
* Every schema form ADK accepts is enforced:
|
|
27
|
+
*
|
|
28
|
+
* - Zod v3/v4: runs `schema.parse(value)`.
|
|
29
|
+
* - genai `Schema`: converted to JSON Schema and compiled to a Zod type once
|
|
30
|
+
* (then cached), so a declaration written in the genai dialect is checked
|
|
31
|
+
* just as a Zod one is.
|
|
32
|
+
* - `undefined`: returns `value` unchanged.
|
|
33
|
+
*
|
|
34
|
+
* A genai `Schema` that has no Zod equivalent is left unenforced rather than
|
|
35
|
+
* rejected — see {@link genaiSchemaValidator}.
|
|
36
|
+
*/
|
|
37
|
+
export declare function parseWithSchema<T>(schema: SchemaLike | undefined, value: T): T;
|
|
38
|
+
/**
|
|
39
|
+
* Renders a {@link SchemaLike} as a plain JSON Schema object.
|
|
40
|
+
*
|
|
41
|
+
* Zod v3 and v4 schemas are converted with their respective serializers. A
|
|
42
|
+
* genai `Schema` is translated out of the genai/OpenAPI dialect (uppercase
|
|
43
|
+
* type names, stringified bounds, `nullable`) so that every schema form
|
|
44
|
+
* produces the same JSON Schema shape for a consumer to read.
|
|
45
|
+
*/
|
|
46
|
+
export declare function toJsonSchema(schema: SchemaLike): Record<string, unknown>;
|
|
47
|
+
/**
|
|
48
|
+
* Compiles a plain JSON Schema into a validator, for schemas that survive only
|
|
49
|
+
* in serialized form — a `RequestInput.responseSchema` reaches the resume that
|
|
50
|
+
* answers it as the JSON Schema recorded on the interrupt event, not as the
|
|
51
|
+
* original {@link SchemaLike}.
|
|
52
|
+
*
|
|
53
|
+
* Returns `undefined` when the schema cannot be compiled (JSON Schema is wider
|
|
54
|
+
* than Zod can express). Callers treat that as "no contract to check" rather
|
|
55
|
+
* than failing: refusing data because we could not build the validator would be
|
|
56
|
+
* worse than the unchecked pass-through this replaces.
|
|
57
|
+
*/
|
|
58
|
+
export declare function compileJsonSchema(jsonSchema: unknown): z4.ZodType | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Decomposes an object {@link SchemaLike} into its declared fields, each mapped
|
|
61
|
+
* to a validator for that field alone.
|
|
62
|
+
*
|
|
63
|
+
* This is what lets a *partial* object be checked key by key. A state schema
|
|
64
|
+
* declares the keys a workflow may write, but the state holds only the ones
|
|
65
|
+
* written so far, so validating the whole object against the schema would
|
|
66
|
+
* reject it for missing fields that simply have not been set yet.
|
|
67
|
+
*
|
|
68
|
+
* Returns `undefined` when the schema is not an object schema or cannot be
|
|
69
|
+
* decomposed, and maps a field to `undefined` when that field's own schema has
|
|
70
|
+
* no Zod equivalent. Both mean "unvalidatable" rather than invalid, consistent
|
|
71
|
+
* with {@link parseWithSchema}.
|
|
72
|
+
*/
|
|
73
|
+
export declare function objectSchemaFields(schema: SchemaLike): Map<string, z4.ZodType | undefined> | undefined;
|
|
@@ -6,8 +6,16 @@
|
|
|
6
6
|
import { Schema } from '@google/genai';
|
|
7
7
|
import { z as z3 } from 'zod/v3';
|
|
8
8
|
import { z as z4 } from 'zod/v4';
|
|
9
|
+
type ZodSchema<T = unknown> = z3.ZodType<T> | z4.ZodType<T>;
|
|
10
|
+
/** Returns true if the value is a Zod schema (v3 or v4). */
|
|
11
|
+
export declare function isZodSchema(obj: unknown): obj is ZodSchema;
|
|
12
|
+
/** Returns true if the value is a Zod v3 schema. */
|
|
13
|
+
export declare function isZodV3Schema(obj: unknown): obj is z3.ZodTypeAny;
|
|
14
|
+
/** Returns true if the value is a Zod v4 schema. */
|
|
15
|
+
export declare function isZodV4Schema(obj: unknown): obj is z4.ZodType;
|
|
9
16
|
/**
|
|
10
17
|
* Returns true if the given object is a ZodObject (supports both Zod v3 and v4).
|
|
11
18
|
*/
|
|
12
19
|
export declare function isZodObject(obj: unknown): obj is z3.ZodObject<z3.ZodRawShape> | z4.ZodObject<z4.ZodRawShape>;
|
|
13
20
|
export declare function zodObjectToSchema(schema: z3.ZodObject<z3.ZodRawShape> | z4.ZodObject<z4.ZodRawShape>): Schema;
|
|
21
|
+
export {};
|
|
@@ -7,6 +7,10 @@ export declare const EXPRESS_MODE_UNSUPPORTED_MESSAGE: string;
|
|
|
7
7
|
/**
|
|
8
8
|
* Validates and returns the API key for Express Mode.
|
|
9
9
|
*
|
|
10
|
+
* The key is only returned when enterprise mode is enabled via
|
|
11
|
+
* `GOOGLE_GENAI_USE_ENTERPRISE` (or the deprecated
|
|
12
|
+
* `GOOGLE_GENAI_USE_VERTEXAI`).
|
|
13
|
+
*
|
|
10
14
|
* @param project The project id.
|
|
11
15
|
* @param location The location.
|
|
12
16
|
* @param expressModeApiKey The API key for Express Mode.
|
package/dist/types/version.d.ts
CHANGED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Content } from '@google/genai';
|
|
7
|
+
import { Event } from '../events/event.js';
|
|
8
|
+
import { SchemaLike } from '../utils/schema.js';
|
|
9
|
+
import type { NodeContext } from './node_context.js';
|
|
10
|
+
import { PreparedRetryConfig, RetryConfig } from './retry_config.js';
|
|
11
|
+
/**
|
|
12
|
+
* A unique symbol branding {@link BaseNode} instances.
|
|
13
|
+
*
|
|
14
|
+
* Guards match on this brand rather than `instanceof` so a node stays
|
|
15
|
+
* recognisable when it crosses a package boundary (two copies of adk-js in one
|
|
16
|
+
* runtime would fail an `instanceof` check between them) — mirroring the
|
|
17
|
+
* `Symbol.for('google.adk.*')` brands used across ADK (`isBaseAgent`,
|
|
18
|
+
* `isBaseTool`, `isEvent`).
|
|
19
|
+
*/
|
|
20
|
+
declare const BASE_NODE_SIGNATURE_SYMBOL: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* Configuration shared by all workflow nodes.
|
|
23
|
+
*
|
|
24
|
+
* Mirrors the fields of `google/adk-python` `workflow/_base_node.py::BaseNode`.
|
|
25
|
+
*/
|
|
26
|
+
export interface BaseNodeConfig {
|
|
27
|
+
/** Canonical, unique-within-a-graph node name. */
|
|
28
|
+
name: string;
|
|
29
|
+
/** Human-readable description (used when a node is exposed as a tool). */
|
|
30
|
+
description?: string;
|
|
31
|
+
/**
|
|
32
|
+
* If true, the node re-executes when a workflow resumes even if it already
|
|
33
|
+
* completed in a prior turn. Default false.
|
|
34
|
+
*/
|
|
35
|
+
rerunOnResume?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* If true, the node only produces its output once all of its predecessors
|
|
38
|
+
* have triggered it (fan-in / join semantics). Default false.
|
|
39
|
+
*/
|
|
40
|
+
waitForOutput?: boolean;
|
|
41
|
+
/** Optional retry configuration for transient failures. */
|
|
42
|
+
retryConfig?: RetryConfig;
|
|
43
|
+
/** Maximum time, in seconds, for this node to complete. */
|
|
44
|
+
timeout?: number;
|
|
45
|
+
/** Optional schema validating the node input (Zod v3/v4 or genai `Schema`). */
|
|
46
|
+
inputSchema?: SchemaLike;
|
|
47
|
+
/** Optional schema validating the node output (Zod v3/v4 or genai `Schema`). */
|
|
48
|
+
outputSchema?: SchemaLike;
|
|
49
|
+
/** Optional schema validating relevant session state (Zod v3/v4 or genai `Schema`). */
|
|
50
|
+
stateSchema?: SchemaLike;
|
|
51
|
+
/**
|
|
52
|
+
* Runs this node's subtree in an isolated conversation scope: an agent inside
|
|
53
|
+
* it sees only session events carrying the same scope, plus untagged ones.
|
|
54
|
+
* `true` derives a scope per node run; a string is an explicit shared tag.
|
|
55
|
+
*/
|
|
56
|
+
isolationScope?: string | true;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Abstract base class for all nodes in an ADK workflow.
|
|
60
|
+
*
|
|
61
|
+
* A node is a discrete unit of execution. Subclasses implement {@link runImpl},
|
|
62
|
+
* which may yield {@link Event}s, raw values (boxed into an event), or
|
|
63
|
+
* `null`/`undefined` (skipped). {@link run} normalizes those into a stream of
|
|
64
|
+
* {@link Event}s consumed by the engine.
|
|
65
|
+
*/
|
|
66
|
+
export declare abstract class BaseNode<TInput = unknown, TOutput = unknown> {
|
|
67
|
+
/** Brand identifying this object as a {@link BaseNode} (see `isBaseNode`). */
|
|
68
|
+
readonly [BASE_NODE_SIGNATURE_SYMBOL] = true;
|
|
69
|
+
readonly name: string;
|
|
70
|
+
readonly description: string;
|
|
71
|
+
readonly rerunOnResume: boolean;
|
|
72
|
+
readonly waitForOutput: boolean;
|
|
73
|
+
readonly retryConfig?: RetryConfig;
|
|
74
|
+
/**
|
|
75
|
+
* The retry config with its exception filter normalized once, up front (see
|
|
76
|
+
* {@link prepareRetryConfig}). Used by the node runner so the retry hot path
|
|
77
|
+
* never re-normalizes or throws on a malformed config mid-retry.
|
|
78
|
+
*/
|
|
79
|
+
readonly preparedRetryConfig?: PreparedRetryConfig;
|
|
80
|
+
readonly timeout?: number;
|
|
81
|
+
readonly inputSchema?: SchemaLike;
|
|
82
|
+
readonly outputSchema?: SchemaLike;
|
|
83
|
+
readonly stateSchema?: SchemaLike;
|
|
84
|
+
readonly isolationScope?: string | true;
|
|
85
|
+
constructor(config: BaseNodeConfig);
|
|
86
|
+
/**
|
|
87
|
+
* Whether this node must wait for ALL of its predecessors to trigger before
|
|
88
|
+
* it runs (fan-in barrier). Overridden by `JoinNode`.
|
|
89
|
+
*/
|
|
90
|
+
get requiresAllPredecessors(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Core execution contract. Subclasses yield one of:
|
|
93
|
+
* - an {@link Event} (emitted as-is),
|
|
94
|
+
* - a raw value (boxed into an event whose `output` is that value),
|
|
95
|
+
* - `null`/`undefined` (skipped).
|
|
96
|
+
*/
|
|
97
|
+
protected abstract runImpl(ctx: NodeContext, input: TInput): AsyncGenerator<Event | TOutput | unknown, void, void>;
|
|
98
|
+
/**
|
|
99
|
+
* Runs the node, normalizing every yielded item into an {@link Event}. This
|
|
100
|
+
* is what the engine (and `ctx.runNode()`) consumes. Validates the input
|
|
101
|
+
* against `inputSchema` once, up front (skipping genai `Content`, which nodes
|
|
102
|
+
* coerce themselves).
|
|
103
|
+
*/
|
|
104
|
+
run(ctx: NodeContext, input: TInput): AsyncGenerator<Event, void, void>;
|
|
105
|
+
/**
|
|
106
|
+
* Validates node input against `inputSchema` (Content passes through). Only
|
|
107
|
+
* enforced for Zod schemas; a genai `Schema` is left unvalidated (see
|
|
108
|
+
* `parseWithSchema`).
|
|
109
|
+
*/
|
|
110
|
+
protected validateInput(input: TInput): TInput;
|
|
111
|
+
/**
|
|
112
|
+
* Validates node output against `outputSchema` (Content passes through). Only
|
|
113
|
+
* enforced for Zod schemas; a genai `Schema` is left unvalidated (see
|
|
114
|
+
* `parseWithSchema`).
|
|
115
|
+
*/
|
|
116
|
+
protected validateOutput(output: unknown): unknown;
|
|
117
|
+
/**
|
|
118
|
+
* Normalizes a single yielded item into an {@link Event} (or `null` to skip).
|
|
119
|
+
* Subclasses may override for richer coercion (e.g. `FunctionNode`).
|
|
120
|
+
*/
|
|
121
|
+
protected toEvent(ctx: NodeContext, data: unknown): Event | null;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Type guard for {@link BaseNode}.
|
|
125
|
+
*
|
|
126
|
+
* Matches on the {@link BASE_NODE_SIGNATURE_SYMBOL} brand rather than
|
|
127
|
+
* `instanceof` so it stays correct across package copies (see the brand's doc).
|
|
128
|
+
*/
|
|
129
|
+
export declare function isBaseNode(value: unknown): value is BaseNode;
|
|
130
|
+
/** Returns whether a value looks like a genai `Content` object. */
|
|
131
|
+
export declare function isContent(value: unknown): value is Content;
|
|
132
|
+
/** The workflow entry-point sentinel node (name `__START__`). */
|
|
133
|
+
export declare const START: BaseNode;
|
|
134
|
+
/**
|
|
135
|
+
* Best-effort conversion of an arbitrary value to genai `Content` for display.
|
|
136
|
+
*
|
|
137
|
+
* Strings, `Part`s, and arrays of them are converted via `createModelContent`.
|
|
138
|
+
* Any other value (a plain object, number, boolean, …) is not a valid genai
|
|
139
|
+
* part list, so it is serialized to text rather than throwing.
|
|
140
|
+
*/
|
|
141
|
+
export declare function toContent(val: unknown): Content | undefined;
|
|
142
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Hierarchical, dot-separated path for execution branches. Each segment is a
|
|
8
|
+
* node run, typically formatted as `name@runId` (or just `name`).
|
|
9
|
+
*
|
|
10
|
+
* Ported from `google/adk-python` `events/_branch_path.py::_BranchPath`.
|
|
11
|
+
*
|
|
12
|
+
* @example 'parent_agent@1.collect_tool@2.sub_workflow'
|
|
13
|
+
*/
|
|
14
|
+
export declare class BranchPath {
|
|
15
|
+
private readonly segments;
|
|
16
|
+
constructor(segments: string[]);
|
|
17
|
+
toString(): string;
|
|
18
|
+
/** Returns a copy of the path segments. */
|
|
19
|
+
getSegments(): string[];
|
|
20
|
+
/** Whether this path is a strict descendant of `ancestor`. */
|
|
21
|
+
isDescendantOf(ancestor: BranchPath): boolean;
|
|
22
|
+
/** Returns a new path with a `name@runId` (or `name`) segment appended. */
|
|
23
|
+
append(name: string, runId?: string): BranchPath;
|
|
24
|
+
}
|
|
25
|
+
/** Parses a dot-separated string into a {@link BranchPath}. */
|
|
26
|
+
export declare function branchPathFromString(path?: string | null): BranchPath;
|
|
27
|
+
/** Finds the common prefix across a list of {@link BranchPath}s. */
|
|
28
|
+
export declare function commonPrefixOfPaths(paths: BranchPath[]): BranchPath;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new dot-separated sub-branch string by appending a segment.
|
|
31
|
+
*
|
|
32
|
+
* @example createSubBranch('parent', {name: 'child', runId: '1'}) -> 'parent.child@1'
|
|
33
|
+
* @example createSubBranch(undefined, {name: 'agent'}) -> 'agent'
|
|
34
|
+
*/
|
|
35
|
+
export declare function createSubBranch(baseBranch: string | undefined | null, options: {
|
|
36
|
+
name: string;
|
|
37
|
+
runId?: string;
|
|
38
|
+
}): string;
|
|
39
|
+
/** Finds the common prefix of a list of dot-separated branch strings. */
|
|
40
|
+
export declare function commonPrefixOf(branches: string[]): string;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseNode } from './base_node.js';
|
|
7
|
+
import { NodeContext, NodeResult } from './node_context.js';
|
|
8
|
+
import { DynamicNodeState, ScheduleDynamicNode, ScheduleDynamicNodeOptions } from './schedule_dynamic_node.js';
|
|
9
|
+
/**
|
|
10
|
+
* Handles `ctx.runNode()` calls for a {@link Workflow} subtree.
|
|
11
|
+
*
|
|
12
|
+
* Ported (Phase 4 subset) from `google/adk-python`
|
|
13
|
+
* `workflow/_dynamic_node_scheduler.py`. Implemented now: fresh execution and
|
|
14
|
+
* deduplication of concurrent calls to the same node path. Resumption from
|
|
15
|
+
* session events (rehydration + replay interception) is added in Phase 5 at the
|
|
16
|
+
* marked hook point.
|
|
17
|
+
*/
|
|
18
|
+
export declare class DynamicNodeScheduler implements ScheduleDynamicNode {
|
|
19
|
+
private readonly state;
|
|
20
|
+
private readonly abortSignal?;
|
|
21
|
+
/**
|
|
22
|
+
* @param state Shared dynamic-node bookkeeping for this workflow subtree.
|
|
23
|
+
* @param abortSignal Workflow-scoped cancellation signal, forwarded to each
|
|
24
|
+
* dynamic child so a workflow shutting down on error can cancel in-flight
|
|
25
|
+
* `ctx.runNode()` children too.
|
|
26
|
+
*/
|
|
27
|
+
constructor(state: DynamicNodeState, abortSignal?: AbortSignal | undefined);
|
|
28
|
+
/**
|
|
29
|
+
* Runs a `ctx.runNode()` call and reports any interrupt it is still waiting
|
|
30
|
+
* on to the caller's own context.
|
|
31
|
+
*
|
|
32
|
+
* A child's interrupt is the caller's problem: the caller cannot produce a
|
|
33
|
+
* trustworthy result until the human answers, and until the engine knows the
|
|
34
|
+
* caller is waiting it marks it COMPLETED and schedules its successor —
|
|
35
|
+
* which then runs on the `undefined` the caller returned when it bailed out.
|
|
36
|
+
* `ParallelWorker` has always copied its items' interrupt ids onto its own
|
|
37
|
+
* context for exactly this reason; doing it here extends that to every
|
|
38
|
+
* caller instead of only the one that remembered.
|
|
39
|
+
*
|
|
40
|
+
* Only unresolved interrupts arrive here. A child fast-forwarded from a
|
|
41
|
+
* checkpoint, or handed a resolved reply as its output, reports none.
|
|
42
|
+
*/
|
|
43
|
+
schedule(ctx: NodeContext, node: BaseNode, input: unknown, options: ScheduleDynamicNodeOptions): Promise<NodeContext | NodeResult>;
|
|
44
|
+
private scheduleRun;
|
|
45
|
+
/**
|
|
46
|
+
* Books a dynamic run that completed WITHOUT executing its body — either
|
|
47
|
+
* fast-forwarded from a cached output or handed the resolved resume value —
|
|
48
|
+
* and returns `result` for `ctx.runNode()` to give back to the caller.
|
|
49
|
+
*/
|
|
50
|
+
private completeWithoutRunning;
|
|
51
|
+
/**
|
|
52
|
+
* Applies a settled result to the caller's context and returns it, so a first
|
|
53
|
+
* call and a repeat call for the same path are indistinguishable.
|
|
54
|
+
*/
|
|
55
|
+
private handBack;
|
|
56
|
+
/**
|
|
57
|
+
* Builds the completion result for a child that interrupted in a prior turn
|
|
58
|
+
* and whose interrupts are now all resolved, or `undefined` when the child is
|
|
59
|
+
* not in that state (so the caller falls through to a fresh run).
|
|
60
|
+
*/
|
|
61
|
+
private resumeHandoff;
|
|
62
|
+
private runFresh;
|
|
63
|
+
private recordResult;
|
|
64
|
+
}
|