@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
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -20,6 +22,7 @@ var DataPartType = /* @__PURE__ */ ((DataPartType2) => {
|
|
|
20
22
|
function toA2AParts(parts = [], longRunningToolIDs = []) {
|
|
21
23
|
return parts.map((part) => toA2APart(part, longRunningToolIDs));
|
|
22
24
|
}
|
|
25
|
+
__name(toA2AParts, "toA2AParts");
|
|
23
26
|
function toA2APart(part, longRunningToolIDs) {
|
|
24
27
|
if (part.text !== void 0 && part.text !== null) {
|
|
25
28
|
return toA2ATextPart(part);
|
|
@@ -29,6 +32,7 @@ function toA2APart(part, longRunningToolIDs) {
|
|
|
29
32
|
}
|
|
30
33
|
return toA2ADataPart(part, longRunningToolIDs);
|
|
31
34
|
}
|
|
35
|
+
__name(toA2APart, "toA2APart");
|
|
32
36
|
function toA2ATextPart(part) {
|
|
33
37
|
const a2aPart = { kind: "text", text: part.text || "" };
|
|
34
38
|
if (part.thought) {
|
|
@@ -38,6 +42,7 @@ function toA2ATextPart(part) {
|
|
|
38
42
|
}
|
|
39
43
|
return a2aPart;
|
|
40
44
|
}
|
|
45
|
+
__name(toA2ATextPart, "toA2ATextPart");
|
|
41
46
|
function toA2AFilePart(part) {
|
|
42
47
|
const metadata = {};
|
|
43
48
|
if (part.videoMetadata) {
|
|
@@ -65,6 +70,7 @@ function toA2AFilePart(part) {
|
|
|
65
70
|
}
|
|
66
71
|
throw new Error("Not a file part: ".concat(JSON.stringify(part)));
|
|
67
72
|
}
|
|
73
|
+
__name(toA2AFilePart, "toA2AFilePart");
|
|
68
74
|
function toA2ADataPart(part, longRunningToolIDs = []) {
|
|
69
75
|
let dataPartType;
|
|
70
76
|
let data;
|
|
@@ -102,13 +108,16 @@ function toA2ADataPart(part, longRunningToolIDs = []) {
|
|
|
102
108
|
metadata
|
|
103
109
|
};
|
|
104
110
|
}
|
|
111
|
+
__name(toA2ADataPart, "toA2ADataPart");
|
|
105
112
|
function toGenAIContent(a2aMessage) {
|
|
106
113
|
const parts = toGenAIParts(a2aMessage.parts);
|
|
107
114
|
return a2aMessage.role === "user" ? createUserContent(parts) : createModelContent(parts);
|
|
108
115
|
}
|
|
116
|
+
__name(toGenAIContent, "toGenAIContent");
|
|
109
117
|
function toGenAIParts(a2aParts) {
|
|
110
118
|
return a2aParts.map((a2aPart) => toGenAIPart(a2aPart));
|
|
111
119
|
}
|
|
120
|
+
__name(toGenAIParts, "toGenAIParts");
|
|
112
121
|
function toGenAIPart(a2aPart) {
|
|
113
122
|
if (a2aPart.kind === "text") {
|
|
114
123
|
return toGenAIPartText(a2aPart);
|
|
@@ -121,6 +130,7 @@ function toGenAIPart(a2aPart) {
|
|
|
121
130
|
}
|
|
122
131
|
throw new Error("Unknown part kind: ".concat(JSON.stringify(a2aPart)));
|
|
123
132
|
}
|
|
133
|
+
__name(toGenAIPart, "toGenAIPart");
|
|
124
134
|
function toGenAIPartText(a2aPart) {
|
|
125
135
|
var _a;
|
|
126
136
|
return {
|
|
@@ -128,6 +138,7 @@ function toGenAIPartText(a2aPart) {
|
|
|
128
138
|
thought: !!((_a = a2aPart.metadata) == null ? void 0 : _a[A2AMetadataKeys.THOUGHT])
|
|
129
139
|
};
|
|
130
140
|
}
|
|
141
|
+
__name(toGenAIPartText, "toGenAIPartText");
|
|
131
142
|
function toGenAIPartFile(a2aPart) {
|
|
132
143
|
var _a;
|
|
133
144
|
const part = {};
|
|
@@ -150,6 +161,7 @@ function toGenAIPartFile(a2aPart) {
|
|
|
150
161
|
}
|
|
151
162
|
throw new Error("Not a file part: ".concat(JSON.stringify(a2aPart)));
|
|
152
163
|
}
|
|
164
|
+
__name(toGenAIPartFile, "toGenAIPartFile");
|
|
153
165
|
function toGenAIPartData(a2aPart) {
|
|
154
166
|
var _a;
|
|
155
167
|
if (!a2aPart.data) {
|
|
@@ -173,6 +185,7 @@ function toGenAIPartData(a2aPart) {
|
|
|
173
185
|
text: JSON.stringify(a2aPart.data)
|
|
174
186
|
};
|
|
175
187
|
}
|
|
188
|
+
__name(toGenAIPartData, "toGenAIPartData");
|
|
176
189
|
export {
|
|
177
190
|
toA2ADataPart,
|
|
178
191
|
toA2AFilePart,
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
8
10
|
import { Task } from "../utils/task.js";
|
|
9
|
-
class
|
|
11
|
+
const _ActiveStreamingTool = class _ActiveStreamingTool {
|
|
10
12
|
constructor(params = {}) {
|
|
11
13
|
if (params.task instanceof Promise) {
|
|
12
14
|
this.task = new Task(() => params.task);
|
|
@@ -15,7 +17,9 @@ class ActiveStreamingTool {
|
|
|
15
17
|
}
|
|
16
18
|
this.stream = params.stream;
|
|
17
19
|
}
|
|
18
|
-
}
|
|
20
|
+
};
|
|
21
|
+
__name(_ActiveStreamingTool, "ActiveStreamingTool");
|
|
22
|
+
let ActiveStreamingTool = _ActiveStreamingTool;
|
|
19
23
|
export {
|
|
20
24
|
ActiveStreamingTool
|
|
21
25
|
};
|
|
@@ -23,6 +23,7 @@ var __spreadValues = (a, b) => {
|
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
25
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
26
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
26
27
|
var __await = function(promise, isYieldStar) {
|
|
27
28
|
this[0] = promise;
|
|
28
29
|
this[1] = isYieldStar;
|
|
@@ -72,7 +73,7 @@ var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")])
|
|
|
72
73
|
* Copyright 2025 Google LLC
|
|
73
74
|
* SPDX-License-Identifier: Apache-2.0
|
|
74
75
|
*/
|
|
75
|
-
var _a;
|
|
76
|
+
var _a, _b;
|
|
76
77
|
import { context, trace } from "@opentelemetry/api";
|
|
77
78
|
import { createEvent } from "../events/event.js";
|
|
78
79
|
import {
|
|
@@ -80,22 +81,23 @@ import {
|
|
|
80
81
|
traceAgentInvocation,
|
|
81
82
|
tracer
|
|
82
83
|
} from "../telemetry/tracing.js";
|
|
84
|
+
import { BaseNode } from "../workflow/base_node.js";
|
|
83
85
|
import { Context } from "./context.js";
|
|
84
86
|
import { InvocationContext } from "./invocation_context.js";
|
|
85
87
|
const BASE_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseAgent");
|
|
86
88
|
function isBaseAgent(obj) {
|
|
87
89
|
return typeof obj === "object" && obj !== null && BASE_AGENT_SIGNATURE_SYMBOL in obj && obj[BASE_AGENT_SIGNATURE_SYMBOL] === true;
|
|
88
90
|
}
|
|
89
|
-
|
|
90
|
-
class
|
|
91
|
+
__name(isBaseAgent, "isBaseAgent");
|
|
92
|
+
const _BaseAgent = class _BaseAgent extends (_b = BaseNode, _a = BASE_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
91
93
|
constructor(config) {
|
|
94
|
+
super(__spreadProps(__spreadValues({}, config), { name: validateAgentName(config.name) }));
|
|
92
95
|
/**
|
|
93
96
|
* A unique symbol to identify ADK agent classes.
|
|
94
97
|
*/
|
|
95
98
|
this[_a] = true;
|
|
96
99
|
this.config = __spreadValues({}, config);
|
|
97
100
|
this.name = validateAgentName(config.name);
|
|
98
|
-
this.description = config.description;
|
|
99
101
|
this.parentAgent = config.parentAgent;
|
|
100
102
|
this.subAgents = config.subAgents || [];
|
|
101
103
|
this.beforeAgentCallback = getCannonicalCallback(
|
|
@@ -104,6 +106,10 @@ class BaseAgent {
|
|
|
104
106
|
this.afterAgentCallback = getCannonicalCallback(config.afterAgentCallback);
|
|
105
107
|
this.setParentAgentForSubAgents();
|
|
106
108
|
}
|
|
109
|
+
// `description` is inherited from BaseNode, which declares it `string` and
|
|
110
|
+
// defaults it to ''. It used to be `string | undefined` here; every consumer
|
|
111
|
+
// already coalesced (`agent.description || ''`), so the default is
|
|
112
|
+
// equivalent for them.
|
|
107
113
|
/**
|
|
108
114
|
* Root agent of this agent.
|
|
109
115
|
* Computed dynamically by traversing up the parent chain.
|
|
@@ -166,7 +172,7 @@ class BaseAgent {
|
|
|
166
172
|
this,
|
|
167
173
|
function() {
|
|
168
174
|
return __asyncGenerator(this, null, function* () {
|
|
169
|
-
var _a2,
|
|
175
|
+
var _a2, _b2;
|
|
170
176
|
const context2 = this.createInvocationContext(parentContext);
|
|
171
177
|
const beforeAgentCallbackEvent = yield new __await(this.handleBeforeAgentCallback(context2));
|
|
172
178
|
if (beforeAgentCallbackEvent) {
|
|
@@ -191,7 +197,7 @@ class BaseAgent {
|
|
|
191
197
|
throw error[0];
|
|
192
198
|
}
|
|
193
199
|
}
|
|
194
|
-
if (context2.endInvocation || ((
|
|
200
|
+
if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
|
|
195
201
|
return;
|
|
196
202
|
}
|
|
197
203
|
const afterAgentCallbackEvent = yield new __await(this.handleAfterAgentCallback(context2));
|
|
@@ -206,6 +212,33 @@ class BaseAgent {
|
|
|
206
212
|
}
|
|
207
213
|
});
|
|
208
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Runs this agent as a workflow node.
|
|
217
|
+
*
|
|
218
|
+
* The node runner calls this; it delegates to {@link runAsync}, so an agent
|
|
219
|
+
* behaves identically whether it is run directly or as a node. Mirrors
|
|
220
|
+
* adk-python `BaseAgent._run_impl`.
|
|
221
|
+
*
|
|
222
|
+
* The invocation context comes from {@link NodeContext.getInvocationContext}
|
|
223
|
+
* rather than the raw field, so the agent runs against whatever view of the
|
|
224
|
+
* session the workflow wants it to see.
|
|
225
|
+
*
|
|
226
|
+
* Unlike adk-python's `_run_impl`, nothing is stamped onto the events here.
|
|
227
|
+
* Python has to fix up the author and the node path because it authors
|
|
228
|
+
* in-workflow events as the workflow itself; the TypeScript node runner
|
|
229
|
+
* already owns both (`enrichEvent` keeps an author the node set, and always
|
|
230
|
+
* stamps the true node path), so repeating it would be dead code.
|
|
231
|
+
*
|
|
232
|
+
* `nodeInput` is intentionally unused: an agent's input is its conversation,
|
|
233
|
+
* which the workflow supplies through the session. A node that needs to read
|
|
234
|
+
* its input — an `LlmAgent` injecting it into the prompt, say — does so in
|
|
235
|
+
* its own wrapper.
|
|
236
|
+
*/
|
|
237
|
+
runImpl(ctx, _nodeInput) {
|
|
238
|
+
return __asyncGenerator(this, null, function* () {
|
|
239
|
+
yield* __yieldStar(this.runAsync(ctx.getInvocationContext()));
|
|
240
|
+
});
|
|
241
|
+
}
|
|
209
242
|
/**
|
|
210
243
|
* Entry method to run an agent via video/audio-based conversation.
|
|
211
244
|
*
|
|
@@ -223,7 +256,7 @@ class BaseAgent {
|
|
|
223
256
|
this,
|
|
224
257
|
function() {
|
|
225
258
|
return __asyncGenerator(this, null, function* () {
|
|
226
|
-
var _a2,
|
|
259
|
+
var _a2, _b2;
|
|
227
260
|
const context2 = this.createInvocationContext(parentContext);
|
|
228
261
|
const beforeAgentCallbackEvent = yield new __await(this.handleBeforeAgentCallback(context2));
|
|
229
262
|
if (beforeAgentCallbackEvent) {
|
|
@@ -247,7 +280,7 @@ class BaseAgent {
|
|
|
247
280
|
throw error[0];
|
|
248
281
|
}
|
|
249
282
|
}
|
|
250
|
-
if (context2.endInvocation || ((
|
|
283
|
+
if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
|
|
251
284
|
return;
|
|
252
285
|
}
|
|
253
286
|
const afterAgentCallbackEvent = yield new __await(this.handleAfterAgentCallback(context2));
|
|
@@ -387,7 +420,9 @@ class BaseAgent {
|
|
|
387
420
|
subAgent.parentAgent = this;
|
|
388
421
|
}
|
|
389
422
|
}
|
|
390
|
-
}
|
|
423
|
+
};
|
|
424
|
+
__name(_BaseAgent, "BaseAgent");
|
|
425
|
+
let BaseAgent = _BaseAgent;
|
|
391
426
|
function validateAgentName(name) {
|
|
392
427
|
if (!isIdentifier(name)) {
|
|
393
428
|
throw new Error(
|
|
@@ -401,21 +436,25 @@ function validateAgentName(name) {
|
|
|
401
436
|
}
|
|
402
437
|
return name;
|
|
403
438
|
}
|
|
439
|
+
__name(validateAgentName, "validateAgentName");
|
|
404
440
|
function isIdentifier(str) {
|
|
405
441
|
return new RegExp("^[\\p{ID_Start}$_][\\p{ID_Continue}$_-]*$", "u").test(str);
|
|
406
442
|
}
|
|
443
|
+
__name(isIdentifier, "isIdentifier");
|
|
407
444
|
function getRootAgent(rootAgent) {
|
|
408
445
|
while (rootAgent.parentAgent) {
|
|
409
446
|
rootAgent = rootAgent.parentAgent;
|
|
410
447
|
}
|
|
411
448
|
return rootAgent;
|
|
412
449
|
}
|
|
450
|
+
__name(getRootAgent, "getRootAgent");
|
|
413
451
|
function getCannonicalCallback(callbacks) {
|
|
414
452
|
if (!callbacks) {
|
|
415
453
|
return [];
|
|
416
454
|
}
|
|
417
455
|
return Array.isArray(callbacks) ? callbacks : [callbacks];
|
|
418
456
|
}
|
|
457
|
+
__name(getCannonicalCallback, "getCannonicalCallback");
|
|
419
458
|
export {
|
|
420
459
|
BaseAgent,
|
|
421
460
|
getCannonicalCallback,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -10,7 +12,7 @@ import { createEventActions } from "../events/event_actions.js";
|
|
|
10
12
|
import { State } from "../sessions/state.js";
|
|
11
13
|
import { ToolConfirmation } from "../tools/tool_confirmation.js";
|
|
12
14
|
import { ReadonlyContext } from "./readonly_context.js";
|
|
13
|
-
class
|
|
15
|
+
const _Context = class _Context extends ReadonlyContext {
|
|
14
16
|
/**
|
|
15
17
|
* @param options The configuration options for the Context.
|
|
16
18
|
* @param options.invocationContext The invocation context.
|
|
@@ -136,7 +138,9 @@ class Context extends ReadonlyContext {
|
|
|
136
138
|
payload
|
|
137
139
|
});
|
|
138
140
|
}
|
|
139
|
-
}
|
|
141
|
+
};
|
|
142
|
+
__name(_Context, "Context");
|
|
143
|
+
let Context = _Context;
|
|
140
144
|
export {
|
|
141
145
|
Context
|
|
142
146
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright 2026 Google LLC
|
|
8
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
*/
|
|
10
|
+
const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
|
|
11
|
+
const REQUEST_CREDENTIAL_FUNCTION_CALL_NAME = "adk_request_credential";
|
|
12
|
+
const REQUEST_INPUT_FUNCTION_CALL_NAME = "adk_request_input";
|
|
13
|
+
const RESERVED_FUNCTION_CALL_NAMES = /* @__PURE__ */ new Set([
|
|
14
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
15
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
16
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME
|
|
17
|
+
]);
|
|
18
|
+
function reservedFunctionCallName(content) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
for (const part of (_a = content == null ? void 0 : content.parts) != null ? _a : []) {
|
|
21
|
+
const name = (_b = part.functionCall) == null ? void 0 : _b.name;
|
|
22
|
+
if (name && RESERVED_FUNCTION_CALL_NAMES.has(name)) {
|
|
23
|
+
return name;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return void 0;
|
|
27
|
+
}
|
|
28
|
+
__name(reservedFunctionCallName, "reservedFunctionCallName");
|
|
29
|
+
export {
|
|
30
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
31
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
32
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
33
|
+
reservedFunctionCallName
|
|
34
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -16,18 +18,31 @@ import {
|
|
|
16
18
|
import { mergeEventActions } from "../events/event_actions.js";
|
|
17
19
|
import { logger } from "../utils/logger.js";
|
|
18
20
|
import { Context } from "./context.js";
|
|
21
|
+
import {
|
|
22
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
23
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME
|
|
24
|
+
} from "./framework_function_calls.js";
|
|
19
25
|
import {
|
|
20
26
|
traceMergedToolCalls,
|
|
21
27
|
tracer,
|
|
22
28
|
traceToolCall
|
|
23
29
|
} from "../telemetry/tracing.js";
|
|
30
|
+
function toolEventAuthor(invocationContext) {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
return (_b = (_a = invocationContext.agent) == null ? void 0 : _a.name) != null ? _b : "";
|
|
33
|
+
}
|
|
34
|
+
__name(toolEventAuthor, "toolEventAuthor");
|
|
24
35
|
import {
|
|
25
36
|
AF_FUNCTION_CALL_ID_PREFIX,
|
|
26
37
|
generateClientFunctionCallId as generateClientFunctionCallId2,
|
|
27
38
|
populateClientFunctionCallId
|
|
28
39
|
} from "../events/event.js";
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
import {
|
|
41
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME as REQUEST_CONFIRMATION_FUNCTION_CALL_NAME2,
|
|
42
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME as REQUEST_CREDENTIAL_FUNCTION_CALL_NAME2,
|
|
43
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
44
|
+
reservedFunctionCallName
|
|
45
|
+
} from "./framework_function_calls.js";
|
|
31
46
|
const functionsExportedForTestingOnly = {
|
|
32
47
|
handleFunctionCallList,
|
|
33
48
|
generateAuthEvent,
|
|
@@ -42,6 +57,7 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
|
|
|
42
57
|
}
|
|
43
58
|
return longRunningToolIds;
|
|
44
59
|
}
|
|
60
|
+
__name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
|
|
45
61
|
function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
46
62
|
var _a;
|
|
47
63
|
if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs) || isEmpty(functionResponseEvent.actions.requestedAuthConfigs)) {
|
|
@@ -52,20 +68,20 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
|
52
68
|
for (const [functionCallId, authConfig] of Object.entries(
|
|
53
69
|
functionResponseEvent.actions.requestedAuthConfigs
|
|
54
70
|
)) {
|
|
55
|
-
const
|
|
56
|
-
name:
|
|
71
|
+
const requestCredentialFunctionCall = {
|
|
72
|
+
name: REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
57
73
|
args: {
|
|
58
74
|
"function_call_id": functionCallId,
|
|
59
75
|
"auth_config": authConfig
|
|
60
76
|
},
|
|
61
77
|
id: generateClientFunctionCallId()
|
|
62
78
|
};
|
|
63
|
-
longRunningToolIds.add(
|
|
64
|
-
parts.push({ functionCall:
|
|
79
|
+
longRunningToolIds.add(requestCredentialFunctionCall.id);
|
|
80
|
+
parts.push({ functionCall: requestCredentialFunctionCall });
|
|
65
81
|
}
|
|
66
82
|
return createEvent({
|
|
67
83
|
invocationId: invocationContext.invocationId,
|
|
68
|
-
author: invocationContext
|
|
84
|
+
author: toolEventAuthor(invocationContext),
|
|
69
85
|
branch: invocationContext.branch,
|
|
70
86
|
content: {
|
|
71
87
|
parts,
|
|
@@ -74,6 +90,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
|
74
90
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
75
91
|
});
|
|
76
92
|
}
|
|
93
|
+
__name(generateAuthEvent, "generateAuthEvent");
|
|
77
94
|
function generateRequestConfirmationEvent({
|
|
78
95
|
invocationContext,
|
|
79
96
|
functionCallEvent,
|
|
@@ -106,7 +123,7 @@ function generateRequestConfirmationEvent({
|
|
|
106
123
|
}
|
|
107
124
|
return createEvent({
|
|
108
125
|
invocationId: invocationContext.invocationId,
|
|
109
|
-
author: invocationContext
|
|
126
|
+
author: toolEventAuthor(invocationContext),
|
|
110
127
|
branch: invocationContext.branch,
|
|
111
128
|
content: {
|
|
112
129
|
parts,
|
|
@@ -116,6 +133,7 @@ function generateRequestConfirmationEvent({
|
|
|
116
133
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
117
134
|
});
|
|
118
135
|
}
|
|
136
|
+
__name(generateRequestConfirmationEvent, "generateRequestConfirmationEvent");
|
|
119
137
|
async function callToolAsync(tool, args, toolContext) {
|
|
120
138
|
return tracer.startActiveSpan("execute_tool ".concat(tool.name), async (span) => {
|
|
121
139
|
try {
|
|
@@ -137,6 +155,7 @@ async function callToolAsync(tool, args, toolContext) {
|
|
|
137
155
|
}
|
|
138
156
|
});
|
|
139
157
|
}
|
|
158
|
+
__name(callToolAsync, "callToolAsync");
|
|
140
159
|
function buildResponseEvent(tool, functionResult, toolContext, invocationContext) {
|
|
141
160
|
let responseResult;
|
|
142
161
|
if (typeof functionResult !== "object" || functionResult == null) {
|
|
@@ -159,12 +178,13 @@ function buildResponseEvent(tool, functionResult, toolContext, invocationContext
|
|
|
159
178
|
};
|
|
160
179
|
return createEvent({
|
|
161
180
|
invocationId: invocationContext.invocationId,
|
|
162
|
-
author: invocationContext
|
|
181
|
+
author: toolEventAuthor(invocationContext),
|
|
163
182
|
content,
|
|
164
183
|
actions: toolContext.actions,
|
|
165
184
|
branch: invocationContext.branch
|
|
166
185
|
});
|
|
167
186
|
}
|
|
187
|
+
__name(buildResponseEvent, "buildResponseEvent");
|
|
168
188
|
async function handleFunctionCallsAsync({
|
|
169
189
|
invocationContext,
|
|
170
190
|
functionCallEvent,
|
|
@@ -185,6 +205,20 @@ async function handleFunctionCallsAsync({
|
|
|
185
205
|
toolConfirmationDict
|
|
186
206
|
});
|
|
187
207
|
}
|
|
208
|
+
__name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
|
|
209
|
+
function normalizeCallbackResponse(response) {
|
|
210
|
+
if (response == null) {
|
|
211
|
+
return void 0;
|
|
212
|
+
}
|
|
213
|
+
if (typeof response !== "object") {
|
|
214
|
+
return { result: response };
|
|
215
|
+
}
|
|
216
|
+
if (Array.isArray(response)) {
|
|
217
|
+
return { results: response };
|
|
218
|
+
}
|
|
219
|
+
return response;
|
|
220
|
+
}
|
|
221
|
+
__name(normalizeCallbackResponse, "normalizeCallbackResponse");
|
|
188
222
|
async function handleFunctionCallList({
|
|
189
223
|
invocationContext,
|
|
190
224
|
functionCalls,
|
|
@@ -231,6 +265,7 @@ async function handleFunctionCallList({
|
|
|
231
265
|
}
|
|
232
266
|
}
|
|
233
267
|
}
|
|
268
|
+
functionResponse = normalizeCallbackResponse(functionResponse);
|
|
234
269
|
if (functionResponse == null) {
|
|
235
270
|
try {
|
|
236
271
|
functionResponse = await callToolAsync(tool, functionArgs, toolContext);
|
|
@@ -242,8 +277,8 @@ async function handleFunctionCallList({
|
|
|
242
277
|
toolContext,
|
|
243
278
|
error: e
|
|
244
279
|
});
|
|
245
|
-
if (onToolErrorResponse) {
|
|
246
|
-
functionResponse = onToolErrorResponse;
|
|
280
|
+
if (onToolErrorResponse != null) {
|
|
281
|
+
functionResponse = normalizeCallbackResponse(onToolErrorResponse);
|
|
247
282
|
} else {
|
|
248
283
|
functionResponseError = e.message;
|
|
249
284
|
}
|
|
@@ -272,21 +307,21 @@ async function handleFunctionCallList({
|
|
|
272
307
|
}
|
|
273
308
|
}
|
|
274
309
|
if (alteredFunctionResponse != null) {
|
|
275
|
-
functionResponse = alteredFunctionResponse;
|
|
310
|
+
functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
|
|
276
311
|
}
|
|
277
|
-
if (tool.isLongRunning &&
|
|
312
|
+
if (tool.isLongRunning && functionResponse == null) {
|
|
278
313
|
continue;
|
|
279
314
|
}
|
|
280
315
|
if (functionResponseError) {
|
|
281
316
|
functionResponse = { error: functionResponseError };
|
|
282
|
-
} else if (
|
|
317
|
+
} else if (functionResponse == null) {
|
|
283
318
|
functionResponse = { result: functionResponse };
|
|
284
|
-
} else
|
|
285
|
-
functionResponse =
|
|
319
|
+
} else {
|
|
320
|
+
functionResponse = normalizeCallbackResponse(functionResponse);
|
|
286
321
|
}
|
|
287
322
|
const functionResponseEvent = createEvent({
|
|
288
323
|
invocationId: invocationContext.invocationId,
|
|
289
|
-
author: invocationContext
|
|
324
|
+
author: toolEventAuthor(invocationContext),
|
|
290
325
|
content: createUserContent({
|
|
291
326
|
functionResponse: {
|
|
292
327
|
id: toolContext.functionCallId,
|
|
@@ -329,6 +364,7 @@ async function handleFunctionCallList({
|
|
|
329
364
|
}
|
|
330
365
|
return mergedEvent;
|
|
331
366
|
}
|
|
367
|
+
__name(handleFunctionCallList, "handleFunctionCallList");
|
|
332
368
|
function getToolAndContext({
|
|
333
369
|
invocationContext,
|
|
334
370
|
functionCall,
|
|
@@ -348,6 +384,7 @@ function getToolAndContext({
|
|
|
348
384
|
const tool = toolsDict[functionCall.name];
|
|
349
385
|
return { tool, toolContext };
|
|
350
386
|
}
|
|
387
|
+
__name(getToolAndContext, "getToolAndContext");
|
|
351
388
|
function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
352
389
|
if (!functionResponseEvents.length) {
|
|
353
390
|
throw new Error("No function response events provided.");
|
|
@@ -375,6 +412,7 @@ function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
|
375
412
|
timestamp: baseEvent.timestamp
|
|
376
413
|
});
|
|
377
414
|
}
|
|
415
|
+
__name(mergeParallelFunctionResponseEvents, "mergeParallelFunctionResponseEvents");
|
|
378
416
|
function findEventByFunctionCallId(events, functionCallId, endIndex = events.length) {
|
|
379
417
|
for (let i = endIndex - 1; i >= 0; i--) {
|
|
380
418
|
const event = events[i];
|
|
@@ -387,6 +425,7 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
|
|
|
387
425
|
}
|
|
388
426
|
return void 0;
|
|
389
427
|
}
|
|
428
|
+
__name(findEventByFunctionCallId, "findEventByFunctionCallId");
|
|
390
429
|
function findMatchingFunctionCall(events) {
|
|
391
430
|
if (!events.length) {
|
|
392
431
|
return void 0;
|
|
@@ -402,10 +441,12 @@ function findMatchingFunctionCall(events) {
|
|
|
402
441
|
events.length - 1
|
|
403
442
|
);
|
|
404
443
|
}
|
|
444
|
+
__name(findMatchingFunctionCall, "findMatchingFunctionCall");
|
|
405
445
|
export {
|
|
406
446
|
AF_FUNCTION_CALL_ID_PREFIX,
|
|
407
|
-
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
408
|
-
|
|
447
|
+
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME2 as REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
448
|
+
REQUEST_CREDENTIAL_FUNCTION_CALL_NAME2 as REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
|
|
449
|
+
REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
409
450
|
findEventByFunctionCallId,
|
|
410
451
|
findMatchingFunctionCall,
|
|
411
452
|
functionsExportedForTestingOnly,
|
|
@@ -416,5 +457,6 @@ export {
|
|
|
416
457
|
handleFunctionCallList,
|
|
417
458
|
handleFunctionCallsAsync,
|
|
418
459
|
mergeParallelFunctionResponseEvents,
|
|
419
|
-
populateClientFunctionCallId
|
|
460
|
+
populateClientFunctionCallId,
|
|
461
|
+
reservedFunctionCallName
|
|
420
462
|
};
|