@google/adk 1.5.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -11
- package/dist/cjs/a2a/auth.js +68 -0
- package/dist/cjs/a2a/event_converter_utils.js +50 -15
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +58 -23
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +536 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +11 -25
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +8 -3
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +19 -11
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +19 -5
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +31 -14
- package/dist/cjs/common.js +112 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +17 -2
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +11 -23
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/events/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -22
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +21 -4
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +43 -7
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +226 -29
- package/dist/cjs/sessions/base_session_service.js +21 -5
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +30 -22
- package/dist/cjs/sessions/registry.js +4 -1
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +132 -25
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +62 -16
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +54 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +69 -27
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +56 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +45 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +56 -13
- package/dist/cjs/utils/error_utils.js +128 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +12 -4
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +13 -4
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +45 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +6 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +156 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +18 -4
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -16
- package/dist/esm/a2a/auth.js +41 -0
- package/dist/esm/a2a/event_converter_utils.js +51 -15
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +62 -20
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +537 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +9 -4
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +12 -25
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/esm/common.js +113 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +16 -1
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +16 -24
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/events/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -13
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +22 -4
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +43 -7
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +233 -31
- package/dist/esm/sessions/base_session_service.js +22 -5
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +31 -22
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +136 -26
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +63 -16
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +27 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +29 -0
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +18 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +56 -13
- package/dist/esm/utils/error_utils.js +101 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +13 -4
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +14 -4
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +18 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +7 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +131 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/trigger.js +7 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- package/dist/types/a2a/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/auth.d.ts +30 -0
- package/dist/types/a2a/event_converter_utils.d.ts +4 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/run_config.d.ts +57 -2
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
- package/dist/types/common.d.ts +20 -8
- package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
- package/dist/types/context/compaction_utils.d.ts +8 -0
- package/dist/types/context/token_based_context_compactor.d.ts +0 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +6 -13
- package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +39 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +59 -3
- package/dist/types/sessions/base_session_service.d.ts +10 -2
- package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
- package/dist/types/skills/loader.d.ts +5 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +20 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -0
- package/dist/types/utils/async_queue.d.ts +34 -2
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +39 -0
- package/dist/types/utils/error_utils.d.ts +18 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +18 -0
- package/dist/types/utils/redact_uri.d.ts +28 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +18 -4
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -16
- package/dist/web/a2a/auth.js +41 -0
- package/dist/web/a2a/event_converter_utils.js +50 -15
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +62 -20
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +631 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +12 -25
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/web/common.js +113 -4
- package/dist/web/context/agent_controlled_context_compactor.js +8 -13
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +16 -1
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +16 -24
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -13
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +22 -4
- package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +43 -7
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +249 -31
- package/dist/web/sessions/base_session_service.js +22 -5
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +31 -22
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +142 -26
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +62 -16
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +27 -0
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +29 -0
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +18 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +56 -13
- package/dist/web/utils/error_utils.js +101 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +12 -4
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +18 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +7 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -32,6 +33,7 @@ module.exports = __toCommonJS(base_agent_exports);
|
|
|
32
33
|
var import_api = require("@opentelemetry/api");
|
|
33
34
|
var import_event = require("../events/event.js");
|
|
34
35
|
var import_tracing = require("../telemetry/tracing.js");
|
|
36
|
+
var import_base_node = require("../workflow/base_node.js");
|
|
35
37
|
var import_context = require("./context.js");
|
|
36
38
|
var import_invocation_context = require("./invocation_context.js");
|
|
37
39
|
/**
|
|
@@ -39,21 +41,21 @@ var import_invocation_context = require("./invocation_context.js");
|
|
|
39
41
|
* Copyright 2025 Google LLC
|
|
40
42
|
* SPDX-License-Identifier: Apache-2.0
|
|
41
43
|
*/
|
|
42
|
-
var _a;
|
|
44
|
+
var _a, _b;
|
|
43
45
|
const BASE_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseAgent");
|
|
44
46
|
function isBaseAgent(obj) {
|
|
45
47
|
return typeof obj === "object" && obj !== null && BASE_AGENT_SIGNATURE_SYMBOL in obj && obj[BASE_AGENT_SIGNATURE_SYMBOL] === true;
|
|
46
48
|
}
|
|
47
|
-
|
|
48
|
-
class
|
|
49
|
+
__name(isBaseAgent, "isBaseAgent");
|
|
50
|
+
const _BaseAgent = class _BaseAgent extends (_b = import_base_node.BaseNode, _a = BASE_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
49
51
|
constructor(config) {
|
|
52
|
+
super({ ...config, name: validateAgentName(config.name) });
|
|
50
53
|
/**
|
|
51
54
|
* A unique symbol to identify ADK agent classes.
|
|
52
55
|
*/
|
|
53
56
|
this[_a] = true;
|
|
54
57
|
this.config = { ...config };
|
|
55
58
|
this.name = validateAgentName(config.name);
|
|
56
|
-
this.description = config.description;
|
|
57
59
|
this.parentAgent = config.parentAgent;
|
|
58
60
|
this.subAgents = config.subAgents || [];
|
|
59
61
|
this.beforeAgentCallback = getCannonicalCallback(
|
|
@@ -62,6 +64,10 @@ class BaseAgent {
|
|
|
62
64
|
this.afterAgentCallback = getCannonicalCallback(config.afterAgentCallback);
|
|
63
65
|
this.setParentAgentForSubAgents();
|
|
64
66
|
}
|
|
67
|
+
// `description` is inherited from BaseNode, which declares it `string` and
|
|
68
|
+
// defaults it to ''. It used to be `string | undefined` here; every consumer
|
|
69
|
+
// already coalesced (`agent.description || ''`), so the default is
|
|
70
|
+
// equivalent for them.
|
|
65
71
|
/**
|
|
66
72
|
* Root agent of this agent.
|
|
67
73
|
* Computed dynamically by traversing up the parent chain.
|
|
@@ -122,7 +128,7 @@ class BaseAgent {
|
|
|
122
128
|
ctx,
|
|
123
129
|
this,
|
|
124
130
|
async function* () {
|
|
125
|
-
var _a2,
|
|
131
|
+
var _a2, _b2;
|
|
126
132
|
const context2 = this.createInvocationContext(parentContext);
|
|
127
133
|
const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
|
|
128
134
|
if (beforeAgentCallbackEvent) {
|
|
@@ -135,7 +141,7 @@ class BaseAgent {
|
|
|
135
141
|
for await (const event of this.runAsyncImpl(context2)) {
|
|
136
142
|
yield event;
|
|
137
143
|
}
|
|
138
|
-
if (context2.endInvocation || ((
|
|
144
|
+
if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
|
|
139
145
|
return;
|
|
140
146
|
}
|
|
141
147
|
const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
|
|
@@ -148,6 +154,31 @@ class BaseAgent {
|
|
|
148
154
|
span.end();
|
|
149
155
|
}
|
|
150
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Runs this agent as a workflow node.
|
|
159
|
+
*
|
|
160
|
+
* The node runner calls this; it delegates to {@link runAsync}, so an agent
|
|
161
|
+
* behaves identically whether it is run directly or as a node. Mirrors
|
|
162
|
+
* adk-python `BaseAgent._run_impl`.
|
|
163
|
+
*
|
|
164
|
+
* The invocation context comes from {@link NodeContext.getInvocationContext}
|
|
165
|
+
* rather than the raw field, so the agent runs against whatever view of the
|
|
166
|
+
* session the workflow wants it to see.
|
|
167
|
+
*
|
|
168
|
+
* Unlike adk-python's `_run_impl`, nothing is stamped onto the events here.
|
|
169
|
+
* Python has to fix up the author and the node path because it authors
|
|
170
|
+
* in-workflow events as the workflow itself; the TypeScript node runner
|
|
171
|
+
* already owns both (`enrichEvent` keeps an author the node set, and always
|
|
172
|
+
* stamps the true node path), so repeating it would be dead code.
|
|
173
|
+
*
|
|
174
|
+
* `nodeInput` is intentionally unused: an agent's input is its conversation,
|
|
175
|
+
* which the workflow supplies through the session. A node that needs to read
|
|
176
|
+
* its input — an `LlmAgent` injecting it into the prompt, say — does so in
|
|
177
|
+
* its own wrapper.
|
|
178
|
+
*/
|
|
179
|
+
async *runImpl(ctx, _nodeInput) {
|
|
180
|
+
yield* this.runAsync(ctx.getInvocationContext());
|
|
181
|
+
}
|
|
151
182
|
/**
|
|
152
183
|
* Entry method to run an agent via video/audio-based conversation.
|
|
153
184
|
*
|
|
@@ -163,7 +194,7 @@ class BaseAgent {
|
|
|
163
194
|
ctx,
|
|
164
195
|
this,
|
|
165
196
|
async function* () {
|
|
166
|
-
var _a2,
|
|
197
|
+
var _a2, _b2;
|
|
167
198
|
const context2 = this.createInvocationContext(parentContext);
|
|
168
199
|
const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
|
|
169
200
|
if (beforeAgentCallbackEvent) {
|
|
@@ -175,7 +206,7 @@ class BaseAgent {
|
|
|
175
206
|
for await (const event of this.runLiveImpl(context2)) {
|
|
176
207
|
yield event;
|
|
177
208
|
}
|
|
178
|
-
if (context2.endInvocation || ((
|
|
209
|
+
if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
|
|
179
210
|
return;
|
|
180
211
|
}
|
|
181
212
|
const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
|
|
@@ -314,7 +345,9 @@ class BaseAgent {
|
|
|
314
345
|
subAgent.parentAgent = this;
|
|
315
346
|
}
|
|
316
347
|
}
|
|
317
|
-
}
|
|
348
|
+
};
|
|
349
|
+
__name(_BaseAgent, "BaseAgent");
|
|
350
|
+
let BaseAgent = _BaseAgent;
|
|
318
351
|
function validateAgentName(name) {
|
|
319
352
|
if (!isIdentifier(name)) {
|
|
320
353
|
throw new Error(
|
|
@@ -328,21 +361,25 @@ function validateAgentName(name) {
|
|
|
328
361
|
}
|
|
329
362
|
return name;
|
|
330
363
|
}
|
|
364
|
+
__name(validateAgentName, "validateAgentName");
|
|
331
365
|
function isIdentifier(str) {
|
|
332
366
|
return /^[\p{ID_Start}$_][\p{ID_Continue}$_-]*$/u.test(str);
|
|
333
367
|
}
|
|
368
|
+
__name(isIdentifier, "isIdentifier");
|
|
334
369
|
function getRootAgent(rootAgent) {
|
|
335
370
|
while (rootAgent.parentAgent) {
|
|
336
371
|
rootAgent = rootAgent.parentAgent;
|
|
337
372
|
}
|
|
338
373
|
return rootAgent;
|
|
339
374
|
}
|
|
375
|
+
__name(getRootAgent, "getRootAgent");
|
|
340
376
|
function getCannonicalCallback(callbacks) {
|
|
341
377
|
if (!callbacks) {
|
|
342
378
|
return [];
|
|
343
379
|
}
|
|
344
380
|
return Array.isArray(callbacks) ? callbacks : [callbacks];
|
|
345
381
|
}
|
|
382
|
+
__name(getCannonicalCallback, "getCannonicalCallback");
|
|
346
383
|
// Annotate the CommonJS export names for ESM import in node:
|
|
347
384
|
0 && (module.exports = {
|
|
348
385
|
BaseAgent,
|
|
@@ -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 });
|
|
@@ -37,7 +38,7 @@ var import_readonly_context = require("./readonly_context.js");
|
|
|
37
38
|
* Copyright 2025 Google LLC
|
|
38
39
|
* SPDX-License-Identifier: Apache-2.0
|
|
39
40
|
*/
|
|
40
|
-
class
|
|
41
|
+
const _Context = class _Context extends import_readonly_context.ReadonlyContext {
|
|
41
42
|
/**
|
|
42
43
|
* @param options The configuration options for the Context.
|
|
43
44
|
* @param options.invocationContext The invocation context.
|
|
@@ -163,7 +164,9 @@ class Context extends import_readonly_context.ReadonlyContext {
|
|
|
163
164
|
payload
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
|
-
}
|
|
167
|
+
};
|
|
168
|
+
__name(_Context, "Context");
|
|
169
|
+
let Context = _Context;
|
|
167
170
|
// Annotate the CommonJS export names for ESM import in node:
|
|
168
171
|
0 && (module.exports = {
|
|
169
172
|
Context
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var framework_function_calls_exports = {};
|
|
27
|
+
__export(framework_function_calls_exports, {
|
|
28
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
29
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME: () => REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
30
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME: () => REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
31
|
+
reservedFunctionCallName: () => reservedFunctionCallName
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(framework_function_calls_exports);
|
|
34
|
+
/**
|
|
35
|
+
* @license
|
|
36
|
+
* Copyright 2026 Google LLC
|
|
37
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
38
|
+
*/
|
|
39
|
+
const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
|
|
40
|
+
const REQUEST_CREDENTIAL_FUNCTION_CALL_NAME = "adk_request_credential";
|
|
41
|
+
const REQUEST_INPUT_FUNCTION_CALL_NAME = "adk_request_input";
|
|
42
|
+
const RESERVED_FUNCTION_CALL_NAMES = /* @__PURE__ */ new Set([
|
|
43
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
44
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
45
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME
|
|
46
|
+
]);
|
|
47
|
+
function reservedFunctionCallName(content) {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
for (const part of (_a = content == null ? void 0 : content.parts) != null ? _a : []) {
|
|
50
|
+
const name = (_b = part.functionCall) == null ? void 0 : _b.name;
|
|
51
|
+
if (name && RESERVED_FUNCTION_CALL_NAMES.has(name)) {
|
|
52
|
+
return name;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return void 0;
|
|
56
|
+
}
|
|
57
|
+
__name(reservedFunctionCallName, "reservedFunctionCallName");
|
|
58
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
+
0 && (module.exports = {
|
|
60
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
61
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
62
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
63
|
+
reservedFunctionCallName
|
|
64
|
+
});
|
|
@@ -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 });
|
|
@@ -25,8 +26,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
25
26
|
var functions_exports = {};
|
|
26
27
|
__export(functions_exports, {
|
|
27
28
|
AF_FUNCTION_CALL_ID_PREFIX: () => import_event2.AF_FUNCTION_CALL_ID_PREFIX,
|
|
28
|
-
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
29
|
-
|
|
29
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_framework_function_calls2.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
30
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME: () => import_framework_function_calls2.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
31
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME: () => import_framework_function_calls2.REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
30
32
|
findEventByFunctionCallId: () => findEventByFunctionCallId,
|
|
31
33
|
findMatchingFunctionCall: () => findMatchingFunctionCall,
|
|
32
34
|
functionsExportedForTestingOnly: () => functionsExportedForTestingOnly,
|
|
@@ -37,7 +39,8 @@ __export(functions_exports, {
|
|
|
37
39
|
handleFunctionCallList: () => handleFunctionCallList,
|
|
38
40
|
handleFunctionCallsAsync: () => handleFunctionCallsAsync,
|
|
39
41
|
mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
|
|
40
|
-
populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId
|
|
42
|
+
populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId,
|
|
43
|
+
reservedFunctionCallName: () => import_framework_function_calls2.reservedFunctionCallName
|
|
41
44
|
});
|
|
42
45
|
module.exports = __toCommonJS(functions_exports);
|
|
43
46
|
var import_genai = require("@google/genai");
|
|
@@ -46,15 +49,20 @@ var import_event = require("../events/event.js");
|
|
|
46
49
|
var import_event_actions = require("../events/event_actions.js");
|
|
47
50
|
var import_logger = require("../utils/logger.js");
|
|
48
51
|
var import_context = require("./context.js");
|
|
52
|
+
var import_framework_function_calls = require("./framework_function_calls.js");
|
|
49
53
|
var import_tracing = require("../telemetry/tracing.js");
|
|
50
54
|
var import_event2 = require("../events/event.js");
|
|
55
|
+
var import_framework_function_calls2 = require("./framework_function_calls.js");
|
|
51
56
|
/**
|
|
52
57
|
* @license
|
|
53
58
|
* Copyright 2025 Google LLC
|
|
54
59
|
* SPDX-License-Identifier: Apache-2.0
|
|
55
60
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
function toolEventAuthor(invocationContext) {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
return (_b = (_a = invocationContext.agent) == null ? void 0 : _a.name) != null ? _b : "";
|
|
64
|
+
}
|
|
65
|
+
__name(toolEventAuthor, "toolEventAuthor");
|
|
58
66
|
const functionsExportedForTestingOnly = {
|
|
59
67
|
handleFunctionCallList,
|
|
60
68
|
generateAuthEvent,
|
|
@@ -69,6 +77,7 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
|
|
|
69
77
|
}
|
|
70
78
|
return longRunningToolIds;
|
|
71
79
|
}
|
|
80
|
+
__name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
|
|
72
81
|
function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
73
82
|
var _a;
|
|
74
83
|
if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedAuthConfigs)) {
|
|
@@ -79,20 +88,20 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
|
79
88
|
for (const [functionCallId, authConfig] of Object.entries(
|
|
80
89
|
functionResponseEvent.actions.requestedAuthConfigs
|
|
81
90
|
)) {
|
|
82
|
-
const
|
|
83
|
-
name:
|
|
91
|
+
const requestCredentialFunctionCall = {
|
|
92
|
+
name: import_framework_function_calls.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
84
93
|
args: {
|
|
85
94
|
"function_call_id": functionCallId,
|
|
86
95
|
"auth_config": authConfig
|
|
87
96
|
},
|
|
88
97
|
id: (0, import_event.generateClientFunctionCallId)()
|
|
89
98
|
};
|
|
90
|
-
longRunningToolIds.add(
|
|
91
|
-
parts.push({ functionCall:
|
|
99
|
+
longRunningToolIds.add(requestCredentialFunctionCall.id);
|
|
100
|
+
parts.push({ functionCall: requestCredentialFunctionCall });
|
|
92
101
|
}
|
|
93
102
|
return (0, import_event.createEvent)({
|
|
94
103
|
invocationId: invocationContext.invocationId,
|
|
95
|
-
author: invocationContext
|
|
104
|
+
author: toolEventAuthor(invocationContext),
|
|
96
105
|
branch: invocationContext.branch,
|
|
97
106
|
content: {
|
|
98
107
|
parts,
|
|
@@ -101,6 +110,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
|
101
110
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
102
111
|
});
|
|
103
112
|
}
|
|
113
|
+
__name(generateAuthEvent, "generateAuthEvent");
|
|
104
114
|
function generateRequestConfirmationEvent({
|
|
105
115
|
invocationContext,
|
|
106
116
|
functionCallEvent,
|
|
@@ -121,7 +131,7 @@ function generateRequestConfirmationEvent({
|
|
|
121
131
|
continue;
|
|
122
132
|
}
|
|
123
133
|
const requestConfirmationFunctionCall = {
|
|
124
|
-
name: REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
134
|
+
name: import_framework_function_calls.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
125
135
|
args: {
|
|
126
136
|
"originalFunctionCall": originalFunctionCall,
|
|
127
137
|
"toolConfirmation": toolConfirmation
|
|
@@ -133,7 +143,7 @@ function generateRequestConfirmationEvent({
|
|
|
133
143
|
}
|
|
134
144
|
return (0, import_event.createEvent)({
|
|
135
145
|
invocationId: invocationContext.invocationId,
|
|
136
|
-
author: invocationContext
|
|
146
|
+
author: toolEventAuthor(invocationContext),
|
|
137
147
|
branch: invocationContext.branch,
|
|
138
148
|
content: {
|
|
139
149
|
parts,
|
|
@@ -143,6 +153,7 @@ function generateRequestConfirmationEvent({
|
|
|
143
153
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
144
154
|
});
|
|
145
155
|
}
|
|
156
|
+
__name(generateRequestConfirmationEvent, "generateRequestConfirmationEvent");
|
|
146
157
|
async function callToolAsync(tool, args, toolContext) {
|
|
147
158
|
return import_tracing.tracer.startActiveSpan(`execute_tool ${tool.name}`, async (span) => {
|
|
148
159
|
try {
|
|
@@ -164,6 +175,7 @@ async function callToolAsync(tool, args, toolContext) {
|
|
|
164
175
|
}
|
|
165
176
|
});
|
|
166
177
|
}
|
|
178
|
+
__name(callToolAsync, "callToolAsync");
|
|
167
179
|
function buildResponseEvent(tool, functionResult, toolContext, invocationContext) {
|
|
168
180
|
let responseResult;
|
|
169
181
|
if (typeof functionResult !== "object" || functionResult == null) {
|
|
@@ -186,12 +198,13 @@ function buildResponseEvent(tool, functionResult, toolContext, invocationContext
|
|
|
186
198
|
};
|
|
187
199
|
return (0, import_event.createEvent)({
|
|
188
200
|
invocationId: invocationContext.invocationId,
|
|
189
|
-
author: invocationContext
|
|
201
|
+
author: toolEventAuthor(invocationContext),
|
|
190
202
|
content,
|
|
191
203
|
actions: toolContext.actions,
|
|
192
204
|
branch: invocationContext.branch
|
|
193
205
|
});
|
|
194
206
|
}
|
|
207
|
+
__name(buildResponseEvent, "buildResponseEvent");
|
|
195
208
|
async function handleFunctionCallsAsync({
|
|
196
209
|
invocationContext,
|
|
197
210
|
functionCallEvent,
|
|
@@ -212,6 +225,20 @@ async function handleFunctionCallsAsync({
|
|
|
212
225
|
toolConfirmationDict
|
|
213
226
|
});
|
|
214
227
|
}
|
|
228
|
+
__name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
|
|
229
|
+
function normalizeCallbackResponse(response) {
|
|
230
|
+
if (response == null) {
|
|
231
|
+
return void 0;
|
|
232
|
+
}
|
|
233
|
+
if (typeof response !== "object") {
|
|
234
|
+
return { result: response };
|
|
235
|
+
}
|
|
236
|
+
if (Array.isArray(response)) {
|
|
237
|
+
return { results: response };
|
|
238
|
+
}
|
|
239
|
+
return response;
|
|
240
|
+
}
|
|
241
|
+
__name(normalizeCallbackResponse, "normalizeCallbackResponse");
|
|
215
242
|
async function handleFunctionCallList({
|
|
216
243
|
invocationContext,
|
|
217
244
|
functionCalls,
|
|
@@ -258,6 +285,7 @@ async function handleFunctionCallList({
|
|
|
258
285
|
}
|
|
259
286
|
}
|
|
260
287
|
}
|
|
288
|
+
functionResponse = normalizeCallbackResponse(functionResponse);
|
|
261
289
|
if (functionResponse == null) {
|
|
262
290
|
try {
|
|
263
291
|
functionResponse = await callToolAsync(tool, functionArgs, toolContext);
|
|
@@ -269,8 +297,8 @@ async function handleFunctionCallList({
|
|
|
269
297
|
toolContext,
|
|
270
298
|
error: e
|
|
271
299
|
});
|
|
272
|
-
if (onToolErrorResponse) {
|
|
273
|
-
functionResponse = onToolErrorResponse;
|
|
300
|
+
if (onToolErrorResponse != null) {
|
|
301
|
+
functionResponse = normalizeCallbackResponse(onToolErrorResponse);
|
|
274
302
|
} else {
|
|
275
303
|
functionResponseError = e.message;
|
|
276
304
|
}
|
|
@@ -299,21 +327,21 @@ async function handleFunctionCallList({
|
|
|
299
327
|
}
|
|
300
328
|
}
|
|
301
329
|
if (alteredFunctionResponse != null) {
|
|
302
|
-
functionResponse = alteredFunctionResponse;
|
|
330
|
+
functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
|
|
303
331
|
}
|
|
304
|
-
if (tool.isLongRunning &&
|
|
332
|
+
if (tool.isLongRunning && functionResponse == null) {
|
|
305
333
|
continue;
|
|
306
334
|
}
|
|
307
335
|
if (functionResponseError) {
|
|
308
336
|
functionResponse = { error: functionResponseError };
|
|
309
|
-
} else if (
|
|
337
|
+
} else if (functionResponse == null) {
|
|
310
338
|
functionResponse = { result: functionResponse };
|
|
311
|
-
} else
|
|
312
|
-
functionResponse =
|
|
339
|
+
} else {
|
|
340
|
+
functionResponse = normalizeCallbackResponse(functionResponse);
|
|
313
341
|
}
|
|
314
342
|
const functionResponseEvent = (0, import_event.createEvent)({
|
|
315
343
|
invocationId: invocationContext.invocationId,
|
|
316
|
-
author: invocationContext
|
|
344
|
+
author: toolEventAuthor(invocationContext),
|
|
317
345
|
content: (0, import_genai.createUserContent)({
|
|
318
346
|
functionResponse: {
|
|
319
347
|
id: toolContext.functionCallId,
|
|
@@ -356,6 +384,7 @@ async function handleFunctionCallList({
|
|
|
356
384
|
}
|
|
357
385
|
return mergedEvent;
|
|
358
386
|
}
|
|
387
|
+
__name(handleFunctionCallList, "handleFunctionCallList");
|
|
359
388
|
function getToolAndContext({
|
|
360
389
|
invocationContext,
|
|
361
390
|
functionCall,
|
|
@@ -375,6 +404,7 @@ function getToolAndContext({
|
|
|
375
404
|
const tool = toolsDict[functionCall.name];
|
|
376
405
|
return { tool, toolContext };
|
|
377
406
|
}
|
|
407
|
+
__name(getToolAndContext, "getToolAndContext");
|
|
378
408
|
function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
379
409
|
if (!functionResponseEvents.length) {
|
|
380
410
|
throw new Error("No function response events provided.");
|
|
@@ -402,6 +432,7 @@ function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
|
402
432
|
timestamp: baseEvent.timestamp
|
|
403
433
|
});
|
|
404
434
|
}
|
|
435
|
+
__name(mergeParallelFunctionResponseEvents, "mergeParallelFunctionResponseEvents");
|
|
405
436
|
function findEventByFunctionCallId(events, functionCallId, endIndex = events.length) {
|
|
406
437
|
for (let i = endIndex - 1; i >= 0; i--) {
|
|
407
438
|
const event = events[i];
|
|
@@ -414,6 +445,7 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
|
|
|
414
445
|
}
|
|
415
446
|
return void 0;
|
|
416
447
|
}
|
|
448
|
+
__name(findEventByFunctionCallId, "findEventByFunctionCallId");
|
|
417
449
|
function findMatchingFunctionCall(events) {
|
|
418
450
|
if (!events.length) {
|
|
419
451
|
return void 0;
|
|
@@ -429,11 +461,13 @@ function findMatchingFunctionCall(events) {
|
|
|
429
461
|
events.length - 1
|
|
430
462
|
);
|
|
431
463
|
}
|
|
464
|
+
__name(findMatchingFunctionCall, "findMatchingFunctionCall");
|
|
432
465
|
// Annotate the CommonJS export names for ESM import in node:
|
|
433
466
|
0 && (module.exports = {
|
|
434
467
|
AF_FUNCTION_CALL_ID_PREFIX,
|
|
435
468
|
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
436
|
-
|
|
469
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
470
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
437
471
|
findEventByFunctionCallId,
|
|
438
472
|
findMatchingFunctionCall,
|
|
439
473
|
functionsExportedForTestingOnly,
|
|
@@ -444,5 +478,6 @@ function findMatchingFunctionCall(events) {
|
|
|
444
478
|
handleFunctionCallList,
|
|
445
479
|
handleFunctionCallsAsync,
|
|
446
480
|
mergeParallelFunctionResponseEvents,
|
|
447
|
-
populateClientFunctionCallId
|
|
481
|
+
populateClientFunctionCallId,
|
|
482
|
+
reservedFunctionCallName
|
|
448
483
|
});
|
|
@@ -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 });
|
|
@@ -34,6 +35,17 @@ var import_state = require("../sessions/state.js");
|
|
|
34
35
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
36
|
*/
|
|
36
37
|
const ARTIFACT_PREFIX = "artifact.";
|
|
38
|
+
const WORKFLOW_FIELD_KEY = /^[A-Za-z_]\w*\.[A-Za-z_]\w*$/;
|
|
39
|
+
const SOURCE_NODE_PLACEHOLDER = /<\s*[A-Za-z_]\w*\.([A-Za-z_]\w*)\s+from\s+([A-Za-z_]\w*)\s*>/g;
|
|
40
|
+
function resolveSourceNode(raw, field, nodeName, scope) {
|
|
41
|
+
var _a;
|
|
42
|
+
const out = (_a = scope.outputsByNode) == null ? void 0 : _a[nodeName];
|
|
43
|
+
if (out && typeof out === "object" && field in out) {
|
|
44
|
+
return formatValue(out[field], false);
|
|
45
|
+
}
|
|
46
|
+
return raw;
|
|
47
|
+
}
|
|
48
|
+
__name(resolveSourceNode, "resolveSourceNode");
|
|
37
49
|
async function resolveKey(key, isOptional, rawMatch, readonlyContext) {
|
|
38
50
|
const invocationContext = readonlyContext.invocationContext;
|
|
39
51
|
if (key.startsWith(ARTIFACT_PREFIX)) {
|
|
@@ -52,17 +64,29 @@ async function resolveKey(key, isOptional, rawMatch, readonlyContext) {
|
|
|
52
64
|
}
|
|
53
65
|
return formatValue(artifact, true);
|
|
54
66
|
}
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
67
|
+
if (isValidStateName(key)) {
|
|
68
|
+
if (key in invocationContext.session.state) {
|
|
69
|
+
return formatValue(invocationContext.session.state[key], false);
|
|
70
|
+
}
|
|
71
|
+
if (isOptional) {
|
|
72
|
+
return "";
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`Context variable not found: \`${key}\`.`);
|
|
60
75
|
}
|
|
61
|
-
|
|
62
|
-
|
|
76
|
+
const scope = invocationContext.workflowInstructionScope;
|
|
77
|
+
if (scope && WORKFLOW_FIELD_KEY.test(key)) {
|
|
78
|
+
const field = key.slice(key.indexOf(".") + 1);
|
|
79
|
+
const input = scope.input;
|
|
80
|
+
if (input && typeof input === "object" && field in input) {
|
|
81
|
+
return formatValue(input[field], false);
|
|
82
|
+
}
|
|
83
|
+
if (isOptional) {
|
|
84
|
+
return "";
|
|
85
|
+
}
|
|
63
86
|
}
|
|
64
|
-
|
|
87
|
+
return rawMatch;
|
|
65
88
|
}
|
|
89
|
+
__name(resolveKey, "resolveKey");
|
|
66
90
|
function formatValue(value, isArtifact = false) {
|
|
67
91
|
if (typeof value === "string") {
|
|
68
92
|
return value;
|
|
@@ -84,10 +108,17 @@ function formatValue(value, isArtifact = false) {
|
|
|
84
108
|
}
|
|
85
109
|
return String(value);
|
|
86
110
|
}
|
|
111
|
+
__name(formatValue, "formatValue");
|
|
87
112
|
async function injectSessionState(template, readonlyContext) {
|
|
113
|
+
const scope = readonlyContext.invocationContext.workflowInstructionScope;
|
|
114
|
+
const sourceMatches = scope ? Array.from(template.matchAll(SOURCE_NODE_PLACEHOLDER)).map((match) => ({
|
|
115
|
+
raw: match[0],
|
|
116
|
+
index: match.index,
|
|
117
|
+
resolved: resolveSourceNode(match[0], match[1], match[2], scope)
|
|
118
|
+
})) : [];
|
|
88
119
|
const pattern = /\{+[^{}]*}+/g;
|
|
89
120
|
const matches = Array.from(template.matchAll(pattern));
|
|
90
|
-
if (matches.length === 0) {
|
|
121
|
+
if (matches.length === 0 && sourceMatches.length === 0) {
|
|
91
122
|
return template;
|
|
92
123
|
}
|
|
93
124
|
const parsedMatches = matches.map((match) => {
|
|
@@ -97,7 +128,7 @@ async function injectSessionState(template, readonlyContext) {
|
|
|
97
128
|
if (isOptional) {
|
|
98
129
|
key = key.slice(0, -1);
|
|
99
130
|
}
|
|
100
|
-
const isValid = key.startsWith(ARTIFACT_PREFIX) || isValidStateName(key);
|
|
131
|
+
const isValid = key.startsWith(ARTIFACT_PREFIX) || isValidStateName(key) || !!scope && WORKFLOW_FIELD_KEY.test(key);
|
|
101
132
|
return {
|
|
102
133
|
raw,
|
|
103
134
|
key,
|
|
@@ -132,11 +163,16 @@ async function injectSessionState(template, readonlyContext) {
|
|
|
132
163
|
);
|
|
133
164
|
}
|
|
134
165
|
await Promise.all(resolutions.values());
|
|
166
|
+
const allMatches = [...parsedMatches, ...sourceMatches].sort(
|
|
167
|
+
(a, b) => a.index - b.index
|
|
168
|
+
);
|
|
135
169
|
const result = [];
|
|
136
170
|
let lastEnd = 0;
|
|
137
|
-
for (const pm of
|
|
171
|
+
for (const pm of allMatches) {
|
|
138
172
|
result.push(template.slice(lastEnd, pm.index));
|
|
139
|
-
if (pm
|
|
173
|
+
if ("resolved" in pm) {
|
|
174
|
+
result.push(pm.resolved);
|
|
175
|
+
} else if (pm.isValid) {
|
|
140
176
|
const replacement = await resolutions.get(pm.key);
|
|
141
177
|
result.push(replacement);
|
|
142
178
|
} else {
|
|
@@ -147,6 +183,7 @@ async function injectSessionState(template, readonlyContext) {
|
|
|
147
183
|
result.push(template.slice(lastEnd));
|
|
148
184
|
return result.join("");
|
|
149
185
|
}
|
|
186
|
+
__name(injectSessionState, "injectSessionState");
|
|
150
187
|
const isIdentifierPattern = /* @__PURE__ */ (() => {
|
|
151
188
|
return /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
152
189
|
})();
|
|
@@ -156,6 +193,7 @@ function isIdentifier(s) {
|
|
|
156
193
|
}
|
|
157
194
|
return isIdentifierPattern.test(s);
|
|
158
195
|
}
|
|
196
|
+
__name(isIdentifier, "isIdentifier");
|
|
159
197
|
const VALID_PREFIXES = [import_state.State.APP_PREFIX, import_state.State.USER_PREFIX, import_state.State.TEMP_PREFIX];
|
|
160
198
|
function isValidStateName(variableName) {
|
|
161
199
|
const parts = variableName.split(":");
|
|
@@ -170,6 +208,7 @@ function isValidStateName(variableName) {
|
|
|
170
208
|
}
|
|
171
209
|
return false;
|
|
172
210
|
}
|
|
211
|
+
__name(isValidStateName, "isValidStateName");
|
|
173
212
|
// Annotate the CommonJS export names for ESM import in node:
|
|
174
213
|
0 && (module.exports = {
|
|
175
214
|
injectSessionState
|