@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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Inspection helpers for the "paused, waiting on a human" state.
|
|
8
|
+
*
|
|
9
|
+
* A pause is not visible in an event's text: it is carried in a `functionCall`
|
|
10
|
+
* part named `adk_request_*`, with the prompt buried in that call's `args`. A
|
|
11
|
+
* client that renders only text parts therefore shows the user nothing while
|
|
12
|
+
* the run sits blocked. These helpers flatten the three encodings into one
|
|
13
|
+
* shape so a caller need not know how each kind stores its id and prompt.
|
|
14
|
+
*/
|
|
15
|
+
import { AuthConfig } from '../auth/auth_tool.js';
|
|
16
|
+
import { Event } from '../events/event.js';
|
|
17
|
+
/**
|
|
18
|
+
* What a paused run is waiting for.
|
|
19
|
+
*
|
|
20
|
+
* - `input`: free-form or structured data (`RequestInput`).
|
|
21
|
+
* - `credential`: an auth credential, e.g. an API key or an OAuth flow.
|
|
22
|
+
* - `confirmation`: approval to run a tool guarded by `requireConfirmation`.
|
|
23
|
+
*/
|
|
24
|
+
export type UserInputKind = 'input' | 'credential' | 'confirmation';
|
|
25
|
+
/** A single request for user input carried by an event. */
|
|
26
|
+
export interface UserInputRequest {
|
|
27
|
+
kind: UserInputKind;
|
|
28
|
+
/**
|
|
29
|
+
* The id that answers this request: reply with a `functionResponse` carrying
|
|
30
|
+
* this same id (and {@link functionCallName}).
|
|
31
|
+
*/
|
|
32
|
+
interruptId: string;
|
|
33
|
+
/** The name to answer with, alongside {@link interruptId}. */
|
|
34
|
+
functionCallName: string;
|
|
35
|
+
/** The node or agent that raised the request. */
|
|
36
|
+
author?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Human-readable prompt for the user. Populated for every kind: the
|
|
39
|
+
* `RequestInput` message, the credential prompt, or the tool-confirmation
|
|
40
|
+
* hint. Absent when the raiser supplied none.
|
|
41
|
+
*/
|
|
42
|
+
message?: string;
|
|
43
|
+
/** Structured data attached to the request (`RequestInput.payload`). */
|
|
44
|
+
payload?: unknown;
|
|
45
|
+
/** JSON schema the reply is expected to satisfy, when declared. */
|
|
46
|
+
responseSchema?: unknown;
|
|
47
|
+
/** `confirmation` only: the tool awaiting approval. */
|
|
48
|
+
toolName?: string;
|
|
49
|
+
/** `credential` only: the auth config to complete. */
|
|
50
|
+
authConfig?: AuthConfig;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns every user-input request carried by a single event, in part order.
|
|
54
|
+
*
|
|
55
|
+
* This reports what the event *asks for*; it does not know whether the request
|
|
56
|
+
* was later answered. Use {@link getPendingUserInputRequests} over a session's
|
|
57
|
+
* events to get only the ones still outstanding.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getUserInputRequests(event: Event): UserInputRequest[];
|
|
60
|
+
/** Whether this event asks the user for something. */
|
|
61
|
+
export declare function requiresUserInput(event: Event): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Returns the requests across a sequence of events that have not been answered
|
|
64
|
+
* yet, in the order they were raised.
|
|
65
|
+
*
|
|
66
|
+
* A request is answered by a later `functionResponse` part carrying the same
|
|
67
|
+
* id, which is how a resumed session records the user's reply. Pass a session's
|
|
68
|
+
* events to answer "is this session waiting on the user right now, and for
|
|
69
|
+
* what?".
|
|
70
|
+
*/
|
|
71
|
+
export declare function getPendingUserInputRequests(events: readonly Event[]): UserInputRequest[];
|
package/dist/types/apps/app.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { BaseAgent } from '../agents/base_agent.js';
|
|
7
6
|
import { BasePlugin } from '../plugins/base_plugin.js';
|
|
7
|
+
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
8
8
|
import { ResumabilityConfig } from './resumability_config.js';
|
|
9
9
|
/**
|
|
10
10
|
* Ensures the provided application name is safe and intuitive.
|
|
@@ -26,7 +26,12 @@ export declare function isApp(obj: unknown): obj is App;
|
|
|
26
26
|
*/
|
|
27
27
|
export interface AppOptions {
|
|
28
28
|
name: string;
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The root of the application. A bare node — a `Workflow`, most usefully —
|
|
31
|
+
* is accepted and adapted, so a graph does not have to be wrapped by hand to
|
|
32
|
+
* be an app root. Accepts the same set a `Runner` does.
|
|
33
|
+
*/
|
|
34
|
+
rootAgent: RunnableRoot;
|
|
30
35
|
plugins?: BasePlugin[];
|
|
31
36
|
resumabilityConfig?: ResumabilityConfig;
|
|
32
37
|
}
|
|
@@ -44,7 +49,7 @@ export interface AppOptions {
|
|
|
44
49
|
export declare class App {
|
|
45
50
|
readonly [APP_SIGNATURE_SYMBOL] = true;
|
|
46
51
|
readonly name: string;
|
|
47
|
-
readonly rootAgent:
|
|
52
|
+
readonly rootAgent: RunnableRoot;
|
|
48
53
|
readonly plugins: BasePlugin[];
|
|
49
54
|
readonly resumabilityConfig?: ResumabilityConfig;
|
|
50
55
|
constructor(options: AppOptions);
|
|
@@ -3,12 +3,19 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { StorageOptions } from '@google-cloud/storage';
|
|
6
|
+
import type { StorageOptions } from '@google-cloud/storage';
|
|
7
7
|
import { Part } from '@google/genai';
|
|
8
8
|
import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from './base_artifact_service.js';
|
|
9
9
|
export declare class GcsArtifactService implements BaseArtifactService {
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly bucketName;
|
|
11
|
+
private readonly storageOptions?;
|
|
12
|
+
private bucketPromise?;
|
|
11
13
|
constructor(bucket: string, options?: StorageOptions);
|
|
14
|
+
/**
|
|
15
|
+
* Resolves the GCS bucket handle, loading the `@google-cloud/storage`
|
|
16
|
+
* optional peer on first use.
|
|
17
|
+
*/
|
|
18
|
+
private getBucket;
|
|
12
19
|
saveArtifact(request: SaveArtifactRequest): Promise<number>;
|
|
13
20
|
loadArtifact(request: LoadArtifactRequest): Promise<Part | undefined>;
|
|
14
21
|
listArtifactKeys(request: ListArtifactKeysRequest): Promise<string[]>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthConfig } from './auth_tool.js';
|
|
7
|
+
/**
|
|
8
|
+
* Reconciles a credential response with the request that asked for it.
|
|
9
|
+
*
|
|
10
|
+
* The request is agent-authored and defines the question: which scheme, from
|
|
11
|
+
* which authorization server, under which key, on behalf of which client. The
|
|
12
|
+
* response is client-authored and carries one thing — the credential material
|
|
13
|
+
* the user obtained. Everything else it contains is discarded, because a
|
|
14
|
+
* response that gets to restate the question also decides whether the
|
|
15
|
+
* credential is exchanged at all, where the exchange sends the client secret,
|
|
16
|
+
* and which waiting tool picks the result up.
|
|
17
|
+
*
|
|
18
|
+
* The request is typed loosely on purpose: it is read back off the wire out of
|
|
19
|
+
* a function call's args, so it can arrive missing the fields its type
|
|
20
|
+
* promises. Returns `undefined` when it is too incomplete to be an authority,
|
|
21
|
+
* or when the response carries nothing that answers it — either way there is
|
|
22
|
+
* nothing that can safely be stored.
|
|
23
|
+
*/
|
|
24
|
+
export declare function bindCredentialResponse(request: Partial<AuthConfig>, response: unknown): AuthConfig | undefined;
|
|
@@ -12,6 +12,17 @@ import { BaseCredentialService } from './base_credential_service.js';
|
|
|
12
12
|
* implementation of credential service
|
|
13
13
|
*/
|
|
14
14
|
export declare class InMemoryCredentialService implements BaseCredentialService {
|
|
15
|
+
/**
|
|
16
|
+
* A map from app name to a map from user ID to a map from credential key to
|
|
17
|
+
* credential.
|
|
18
|
+
*
|
|
19
|
+
* `appName`, `userId` and `credentialKey` are all attacker-influenced, so
|
|
20
|
+
* every level is created with `Object.create(null)`. On an ordinary `{}`
|
|
21
|
+
* literal a key of `__proto__` resolves to the inherited `__proto__`
|
|
22
|
+
* accessor rather than creating an own property, so nested assignment
|
|
23
|
+
* pollutes every object in the process, and a lookup of an inherited key
|
|
24
|
+
* such as `toString` returns a function instead of `undefined`.
|
|
25
|
+
*/
|
|
15
26
|
private readonly credentials;
|
|
16
27
|
loadCredential(authConfig: AuthConfig, toolContext: Context): Promise<AuthCredential | undefined>;
|
|
17
28
|
saveCredential(authConfig: AuthConfig, toolContext: Context): Promise<void>;
|
|
@@ -23,6 +23,10 @@ export interface UnsafeLocalCodeExecutorOptions {
|
|
|
23
23
|
pythonCommandPath?: string;
|
|
24
24
|
/**
|
|
25
25
|
* The command to run Shell code. Default is `bash`.
|
|
26
|
+
*
|
|
27
|
+
* When it names `powershell` or `pwsh` (with or without `.exe`) the script
|
|
28
|
+
* is written as `.ps1` and run through PowerShell rather than as a bare
|
|
29
|
+
* shell script.
|
|
26
30
|
*/
|
|
27
31
|
shellCommandPath?: string;
|
|
28
32
|
}
|
|
@@ -33,7 +37,7 @@ export interface UnsafeLocalCodeExecutorOptions {
|
|
|
33
37
|
* **Execution Details**:
|
|
34
38
|
* - **JavaScript**: Executed via `node` (defaults to `process.execPath`).
|
|
35
39
|
* - **Python**: Executed via `python3` on Unix, and `python` on Windows.
|
|
36
|
-
* - **Shell**: Executed via `bash` on Unix, and defaults to `powershell` (injecting ExecutionPolicy Bypass) or `cmd.exe` on Windows.
|
|
40
|
+
* - **Shell**: Executed via `bash` on Unix, and defaults to `powershell` (injecting `-NoProfile` and `-ExecutionPolicy Bypass`) or `cmd.exe` (injecting `/D`) on Windows.
|
|
37
41
|
*
|
|
38
42
|
* WARNING: This executor runs code in the local environment without sandboxing or security restrictions.
|
|
39
43
|
* Use with caution and only for trusted code.
|
package/dist/types/common.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ export type { ActiveStreamingToolParams } from './agents/active_streaming_tool.j
|
|
|
8
8
|
export { BaseAgent, isBaseAgent } from './agents/base_agent.js';
|
|
9
9
|
export type { AfterAgentCallback, BaseAgentConfig, BeforeAgentCallback, SingleAgentCallback, } from './agents/base_agent.js';
|
|
10
10
|
export { Context } from './agents/context.js';
|
|
11
|
-
export { findEventByFunctionCallId, findMatchingFunctionCall, functionsExportedForTestingOnly, } from './agents/functions.js';
|
|
12
|
-
export { InvocationContext } from './agents/invocation_context.js';
|
|
13
|
-
export type { InvocationContextParams } from './agents/invocation_context.js';
|
|
11
|
+
export { REQUEST_CONFIRMATION_FUNCTION_CALL_NAME, REQUEST_CREDENTIAL_FUNCTION_CALL_NAME, REQUEST_INPUT_FUNCTION_CALL_NAME, findEventByFunctionCallId, findMatchingFunctionCall, functionsExportedForTestingOnly, } from './agents/functions.js';
|
|
12
|
+
export { InvocationContext, requireAgent } from './agents/invocation_context.js';
|
|
13
|
+
export type { InvocationContextParams, WorkflowInstructionScope, } from './agents/invocation_context.js';
|
|
14
14
|
export { LiveRequestQueue } from './agents/live_request_queue.js';
|
|
15
15
|
export type { LiveRequest } from './agents/live_request_queue.js';
|
|
16
16
|
export { LlmAgent as Agent, LlmAgent, isLlmAgent } from './agents/llm_agent.js';
|
|
@@ -30,6 +30,8 @@ export { StreamingMode } from './agents/run_config.js';
|
|
|
30
30
|
export type { RunConfig } from './agents/run_config.js';
|
|
31
31
|
export { SequentialAgent, isSequentialAgent } from './agents/sequential_agent.js';
|
|
32
32
|
export type { TranscriptionEntry } from './agents/transcription_entry.js';
|
|
33
|
+
export { getPendingUserInputRequests, getUserInputRequests, requiresUserInput, } from './agents/user_input_request.js';
|
|
34
|
+
export type { UserInputKind, UserInputRequest, } from './agents/user_input_request.js';
|
|
33
35
|
export { createResumabilityConfig } from './apps/resumability_config.js';
|
|
34
36
|
export type { ResumabilityConfig } from './apps/resumability_config.js';
|
|
35
37
|
export type { BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest, } from './artifacts/base_artifact_service.js';
|
|
@@ -70,10 +72,12 @@ export { TrajectoryThoughtPruningCompactor } from './context/trajectory_thought_
|
|
|
70
72
|
export type { TrajectoryThoughtPruningCompactorOptions } from './context/trajectory_thought_pruning_compactor.js';
|
|
71
73
|
export { TruncatingContextCompactor } from './context/truncating_context_compactor.js';
|
|
72
74
|
export type { TruncatingContextCompactorOptions } from './context/truncating_context_compactor.js';
|
|
75
|
+
export { BaseEnvironment } from './environment/base_environment.js';
|
|
76
|
+
export type { ExecutionResult } from './environment/base_environment.js';
|
|
73
77
|
export { isCompactedEvent, isScratchpadEvent } from './events/compacted_event.js';
|
|
74
78
|
export type { CompactedEvent } from './events/compacted_event.js';
|
|
75
79
|
export { createEvent, generateClientFunctionCallId, getFunctionCalls, getFunctionResponses, hasThoughts, hasTrailingCodeExecutionResult, isFinalResponse, populateClientFunctionCallId, pruneThoughts, stringifyContent, } from './events/event.js';
|
|
76
|
-
export type { Event } from './events/event.js';
|
|
80
|
+
export type { CreateEventParams, Event, NodeInfo, Route, RouteKey, } from './events/event.js';
|
|
77
81
|
export { createEventActions } from './events/event_actions.js';
|
|
78
82
|
export type { EventActions } from './events/event_actions.js';
|
|
79
83
|
export { EventType, toStructuredEvents } from './events/structured_events.js';
|
|
@@ -101,7 +105,7 @@ export { BasePlugin, ContextCompactionTrigger } from './plugins/base_plugin.js';
|
|
|
101
105
|
export { GlobalInstructionPlugin } from './plugins/global_instruction_plugin.js';
|
|
102
106
|
export { LoggingPlugin } from './plugins/logging_plugin.js';
|
|
103
107
|
export { PluginManager } from './plugins/plugin_manager.js';
|
|
104
|
-
export { InMemoryPolicyEngine, PolicyOutcome,
|
|
108
|
+
export { InMemoryPolicyEngine, PolicyOutcome, SecurityPlugin, getAskUserConfirmationFunctionCalls, } from './plugins/security_plugin.js';
|
|
105
109
|
export type { BasePolicyEngine, PolicyCheckResult, ToolCallPolicyContext, } from './plugins/security_plugin.js';
|
|
106
110
|
export { InMemoryRunner } from './runner/in_memory_runner.js';
|
|
107
111
|
export { Runner, determineAgentForResumption, findEventByLastFunctionResponseId, isRoutableLlmAgent, isRunner, } from './runner/runner.js';
|
|
@@ -111,7 +115,7 @@ export type { AppendEventRequest, CreateSessionRequest, DeleteSessionRequest, Ge
|
|
|
111
115
|
export { InMemorySessionService } from './sessions/in_memory_session_service.js';
|
|
112
116
|
export { createSession } from './sessions/session.js';
|
|
113
117
|
export type { CompositeSessionKey, Session } from './sessions/session.js';
|
|
114
|
-
export { State } from './sessions/state.js';
|
|
118
|
+
export { State, StateSchemaError, isStateSchemaError } from './sessions/state.js';
|
|
115
119
|
export { AgentTool, isAgentTool } from './tools/agent_tool.js';
|
|
116
120
|
export type { AgentToolConfig } from './tools/agent_tool.js';
|
|
117
121
|
export { BaseTool, isBaseTool } from './tools/base_tool.js';
|
|
@@ -122,8 +126,10 @@ export { ConsolidateContextTool } from './tools/consolidate_context_tool.js';
|
|
|
122
126
|
export { ENTERPRISE_WEB_SEARCH, EnterpriseWebSearchTool, } from './tools/enterprise_web_search_tool.js';
|
|
123
127
|
export { ExampleTool } from './tools/example_tool.js';
|
|
124
128
|
export { EXIT_LOOP, ExitLoopTool } from './tools/exit_loop_tool.js';
|
|
129
|
+
export { FINISH_TASK_SUCCESS_RESULT, FINISH_TASK_TOOL_NAME, FinishTaskTool, } from './tools/finish_task_tool.js';
|
|
125
130
|
export { FunctionTool, isFunctionTool } from './tools/function_tool.js';
|
|
126
|
-
export type { ToolExecuteArgument, ToolExecuteFunction, ToolInputParameters, ToolOptions, } from './tools/function_tool.js';
|
|
131
|
+
export type { RequireConfirmation, ToolExecuteArgument, ToolExecuteFunction, ToolInputParameters, ToolOptions, } from './tools/function_tool.js';
|
|
132
|
+
export { getUserChoiceTool } from './tools/get_user_choice_tool.js';
|
|
127
133
|
export { GOOGLE_MAPS_GROUNDING, GoogleMapsGroundingTool, } from './tools/google_maps_grounding_tool.js';
|
|
128
134
|
export { GOOGLE_SEARCH, GoogleSearchTool } from './tools/google_search_tool.js';
|
|
129
135
|
export { LOAD_ARTIFACTS, LoadArtifactsTool, } from './tools/load_artifacts_tool.js';
|
|
@@ -132,15 +138,19 @@ export { LOAD_WEB_PAGE, loadWebPage } from './tools/load_web_page.js';
|
|
|
132
138
|
export type { LoadWebPageOptions } from './tools/load_web_page.js';
|
|
133
139
|
export { LongRunningFunctionTool } from './tools/long_running_tool.js';
|
|
134
140
|
export { PRELOAD_MEMORY, PreloadMemoryTool, } from './tools/preload_memory_tool.js';
|
|
135
|
-
export {
|
|
141
|
+
export { requestInputTool } from './tools/request_input_tool.js';
|
|
142
|
+
export { IntentMismatchError, ToolConfirmation, isIntentMismatchError, } from './tools/tool_confirmation.js';
|
|
143
|
+
export type { IntentMismatchReason } from './tools/tool_confirmation.js';
|
|
136
144
|
export { URL_CONTEXT, UrlContextTool } from './tools/url_context_tool.js';
|
|
137
145
|
export { VertexAiSearchTool } from './tools/vertex_ai_search_tool.js';
|
|
138
146
|
export type { DataStoreParams, SearchEngineParams, VertexAISearchConfig, VertexAISearchDataStoreSpec, VertexAiSearchToolParams, } from './tools/vertex_ai_search_tool.js';
|
|
139
147
|
export { VertexRagRetrievalTool } from './tools/vertex_rag_retrieval_tool.js';
|
|
148
|
+
export { AsyncQueue } from './utils/async_queue.js';
|
|
140
149
|
export { getClientLabels, runWithClientLabel } from './utils/client_labels.js';
|
|
141
150
|
export { LogLevel, getLogger, setLogLevel, setLogger } from './utils/logger.js';
|
|
142
151
|
export type { Logger } from './utils/logger.js';
|
|
143
152
|
export { isGemini2OrAbove, isGemini3xFlashLive } from './utils/model_name.js';
|
|
153
|
+
export type { SchemaLike } from './utils/schema.js';
|
|
144
154
|
export { zodObjectToSchema } from './utils/simple_zod_to_json.js';
|
|
145
155
|
export { Task } from './utils/task.js';
|
|
146
156
|
export type { TaskExecutable } from './utils/task.js';
|
|
@@ -169,6 +179,8 @@ export { ToolAuthHandler } from './tools/openapi_tool/openapi_spec_parser/tool_a
|
|
|
169
179
|
export type { AuthPreparationResult } from './tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js';
|
|
170
180
|
export { OpenAPIToolset } from './tools/openapi_tool/openapi_toolset.js';
|
|
171
181
|
export { RestApiTool, createRestApiTool, } from './tools/openapi_tool/rest_api_tool.js';
|
|
182
|
+
export { BaseNode, BranchPath, DEFAULT_ROUTE, Edge, FunctionNode, Graph, JoinNode, NodeContext, NodeReportedError, NodeSchemaValidationError, NodeStatus, NodeTimeoutError, NodeTool, ParallelWorker, RequestInput, START, ToolNode, Workflow, WorkflowNode, asRunnableRoot, commonPrefixOf, createNodeErrorEvent, createNodeState, createSubBranch, isNodeErrorEvent, isNodeReportedError, isNodeSchemaValidationError, isNodeState, isNodeTimeoutError, isRequestInput, isRunnableRoot, isWorkflow, node, normalizeRetryExceptions, prepareRetryConfig, } from './workflow/index.js';
|
|
183
|
+
export type { BaseNodeConfig, BuildNodeOptions, ChainElement, CreateNodeErrorEventParams, DynamicEntry, EdgeItem, ErrorClass, FunctionNodeConfig, FunctionNodeHandler, FunctionNodeResult, NodeContextOptions, NodeErrorEvent, NodeLike, NodeOptions, NodeResult, NodeState, ParallelWorkerConfig, PreparedRetryConfig, RequestInputParams, RetryConfig, RouteValue, RoutingMap, RunNodeOptions, RunnableNode, RunnableRoot, ScheduleDynamicNode, ScheduleDynamicNodeOptions, ToolNodeConfig, WorkflowConfig, } from './workflow/index.js';
|
|
172
184
|
export * from './apps/app.js';
|
|
173
185
|
export * from './artifacts/base_artifact_service.js';
|
|
174
186
|
export * from './features/feature_registry.js';
|
|
@@ -4,6 +4,14 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Event } from '../events/event.js';
|
|
7
|
+
/**
|
|
8
|
+
* Filters the events to return only the active events since the latest compaction.
|
|
9
|
+
* If no compaction has occurred, returns all events.
|
|
10
|
+
*
|
|
11
|
+
* @param events The full history of events.
|
|
12
|
+
* @returns The active events, starting with the latest CompactedEvent if present.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getActiveEvents(events: Event[]): Event[];
|
|
7
15
|
/**
|
|
8
16
|
* Determines the baseline index to retain from active raw events,
|
|
9
17
|
* ensuring we don't split between a function call and its response.
|
|
@@ -32,7 +32,6 @@ export declare class TokenBasedContextCompactor implements BaseContextCompactor
|
|
|
32
32
|
private readonly eventRetentionSize;
|
|
33
33
|
private readonly summarizer;
|
|
34
34
|
constructor(options: TokenBasedContextCompactorOptions);
|
|
35
|
-
private getActiveEvents;
|
|
36
35
|
shouldCompact(invocationContext: InvocationContext): boolean | Promise<boolean>;
|
|
37
36
|
compact(invocationContext: InvocationContext): Promise<void>;
|
|
38
37
|
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Result of a shell command executed in a {@link BaseEnvironment}.
|
|
8
|
+
*
|
|
9
|
+
* This is distinct from `CodeExecutionResult`, which is produced by the code
|
|
10
|
+
* executors: a code executor runs a code *snippet* and reports the files it
|
|
11
|
+
* produced, whereas an environment runs a *shell command* inside a working
|
|
12
|
+
* directory and reports its process exit status.
|
|
13
|
+
*
|
|
14
|
+
* A command that succeeds with no output yields
|
|
15
|
+
* `{exitCode: 0, stdout: '', stderr: '', timedOut: false}`.
|
|
16
|
+
*/
|
|
17
|
+
export interface ExecutionResult {
|
|
18
|
+
/** The exit code of the process. `0` on success. */
|
|
19
|
+
exitCode: number;
|
|
20
|
+
/** Standard output captured from the process. `''` when nothing was written. */
|
|
21
|
+
stdout: string;
|
|
22
|
+
/** Standard error captured from the process. `''` when nothing was written. */
|
|
23
|
+
stderr: string;
|
|
24
|
+
/** Whether the execution exceeded the timeout. `false` when it completed. */
|
|
25
|
+
timedOut: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Abstract base class for code execution environments.
|
|
29
|
+
*
|
|
30
|
+
* An environment provides the ability to execute shell commands, read files,
|
|
31
|
+
* and write files within a working directory. Concrete implementations include
|
|
32
|
+
* local subprocess execution, sandboxed execution, container environments, and
|
|
33
|
+
* cloud-hosted environments.
|
|
34
|
+
*
|
|
35
|
+
* Lifecycle:
|
|
36
|
+
* 1. Construct the environment.
|
|
37
|
+
* 2. Call {@link initialize} before first use.
|
|
38
|
+
* 3. Use {@link execute}, {@link readFile}, {@link writeFile}.
|
|
39
|
+
* 4. Call {@link close} when done.
|
|
40
|
+
*/
|
|
41
|
+
export declare abstract class BaseEnvironment {
|
|
42
|
+
/**
|
|
43
|
+
* Backing flag for {@link isInitialized}.
|
|
44
|
+
*
|
|
45
|
+
* Subclasses own this flag: set it in {@link initialize} and clear it in
|
|
46
|
+
* {@link close}.
|
|
47
|
+
*/
|
|
48
|
+
protected initialized: boolean;
|
|
49
|
+
/** Whether the environment has been initialized. */
|
|
50
|
+
get isInitialized(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Initializes the environment (e.g. creates the working directory).
|
|
53
|
+
*
|
|
54
|
+
* Called before first use. The default implementation is a no-op and leaves
|
|
55
|
+
* {@link isInitialized} `false`. Subclasses must be idempotent and must set
|
|
56
|
+
* {@link initialized}.
|
|
57
|
+
*/
|
|
58
|
+
initialize(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Releases resources held by the environment.
|
|
61
|
+
*
|
|
62
|
+
* The default implementation is a no-op. Subclasses must be idempotent and
|
|
63
|
+
* must clear {@link initialized}.
|
|
64
|
+
*/
|
|
65
|
+
close(): Promise<void>;
|
|
66
|
+
/** The absolute path to the environment's working directory. */
|
|
67
|
+
abstract get workingDir(): string;
|
|
68
|
+
/**
|
|
69
|
+
* Executes a shell command in the working directory.
|
|
70
|
+
*
|
|
71
|
+
* @param command The shell command string to execute.
|
|
72
|
+
* @param timeoutSeconds Maximum execution time in seconds. `undefined` means
|
|
73
|
+
* no limit.
|
|
74
|
+
* @returns The exit code, stdout, stderr, and timeout status. A non-zero exit
|
|
75
|
+
* code is reported in the result, not thrown.
|
|
76
|
+
*/
|
|
77
|
+
abstract execute(command: string, timeoutSeconds?: number): Promise<ExecutionResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Reads a file from the environment's filesystem.
|
|
80
|
+
*
|
|
81
|
+
* @param filePath Absolute or working-dir-relative path to the file.
|
|
82
|
+
* @returns The raw file contents.
|
|
83
|
+
*/
|
|
84
|
+
abstract readFile(filePath: string): Promise<Uint8Array>;
|
|
85
|
+
/**
|
|
86
|
+
* Writes content to a file in the environment's filesystem.
|
|
87
|
+
*
|
|
88
|
+
* Parent directories are created automatically if they do not exist.
|
|
89
|
+
*
|
|
90
|
+
* @param filePath Absolute or working-dir-relative path to the file.
|
|
91
|
+
* @param content The string or raw bytes to write.
|
|
92
|
+
*/
|
|
93
|
+
abstract writeFile(filePath: string, content: string | Uint8Array): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Throws if {@link initialize} has not been called.
|
|
96
|
+
*
|
|
97
|
+
* Implementations should call this at the start of every operation that needs
|
|
98
|
+
* a live working directory.
|
|
99
|
+
*/
|
|
100
|
+
protected assertInitialized(): void;
|
|
101
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseEnvironment, ExecutionResult } from './base_environment.js';
|
|
7
|
+
/** Options for {@link LocalEnvironment}. */
|
|
8
|
+
export interface LocalEnvironmentOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Absolute path to the workspace directory. Created by
|
|
11
|
+
* {@link LocalEnvironment.initialize} if it does not exist, and never deleted
|
|
12
|
+
* by {@link LocalEnvironment.close}. If omitted, a temporary directory is
|
|
13
|
+
* created on `initialize()` and removed on `close()`.
|
|
14
|
+
*/
|
|
15
|
+
workingDir?: string;
|
|
16
|
+
/** Extra variables merged over `process.env` for every executed command. */
|
|
17
|
+
envVars?: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Executes commands via local child processes, scoped to a working directory.
|
|
21
|
+
*
|
|
22
|
+
* When `workingDir` is not specified, a temporary directory is created on
|
|
23
|
+
* {@link initialize} and removed on {@link close}.
|
|
24
|
+
*
|
|
25
|
+
* WARNING: this class runs arbitrary shell strings on the host with **no
|
|
26
|
+
* sandboxing** and no sanitisation — the caller is responsible for trusting the
|
|
27
|
+
* command. It is a building block; tools built on top of it are responsible for
|
|
28
|
+
* gating execution behind an explicit user confirmation.
|
|
29
|
+
*
|
|
30
|
+
* Further limitations, all shared with the adk-python reference implementation:
|
|
31
|
+
* - stdout and stderr are buffered fully in memory with no cap, so a command
|
|
32
|
+
* producing unbounded output will grow the heap until it fails.
|
|
33
|
+
* - The child inherits the whole of `process.env`, so any secret in the parent
|
|
34
|
+
* environment is visible to the command.
|
|
35
|
+
* - A timeout sends `SIGKILL` to the spawned shell; processes it forked itself
|
|
36
|
+
* may survive, and anything they write after the kill is not captured. On
|
|
37
|
+
* Windows such a survivor also keeps the working directory locked, so a
|
|
38
|
+
* {@link close} following a timeout can fail to remove a temporary workspace.
|
|
39
|
+
* - File paths are confined to the working directory by a lexical check only
|
|
40
|
+
* (see {@link readFile} and {@link writeFile}).
|
|
41
|
+
*/
|
|
42
|
+
export declare class LocalEnvironment extends BaseEnvironment {
|
|
43
|
+
private currentWorkingDir?;
|
|
44
|
+
private readonly envVars?;
|
|
45
|
+
private autoCreated;
|
|
46
|
+
constructor(options?: LocalEnvironmentOptions);
|
|
47
|
+
get workingDir(): string;
|
|
48
|
+
initialize(): Promise<void>;
|
|
49
|
+
close(): Promise<void>;
|
|
50
|
+
execute(command: string, timeoutSeconds?: number): Promise<ExecutionResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Reads a file from the working directory.
|
|
53
|
+
*
|
|
54
|
+
* `filePath` is confined to the working directory by a lexical check on the
|
|
55
|
+
* resolved path, which is not a sandbox.
|
|
56
|
+
*
|
|
57
|
+
* @throws If the environment is not initialized, if the path escapes the
|
|
58
|
+
* working directory, or — as `ENOENT` — if the file does not exist.
|
|
59
|
+
*/
|
|
60
|
+
readFile(filePath: string): Promise<Uint8Array>;
|
|
61
|
+
/**
|
|
62
|
+
* Writes a file in the working directory, creating parent directories.
|
|
63
|
+
*
|
|
64
|
+
* `filePath` is confined to the working directory by a lexical check on the
|
|
65
|
+
* resolved path, which is not a sandbox. No newline translation is applied,
|
|
66
|
+
* so explicit CRLF sequences are preserved.
|
|
67
|
+
*
|
|
68
|
+
* @throws If the environment is not initialized or the path escapes the
|
|
69
|
+
* working directory.
|
|
70
|
+
*/
|
|
71
|
+
writeFile(filePath: string, content: string | Uint8Array): Promise<void>;
|
|
72
|
+
}
|
|
@@ -6,6 +6,53 @@
|
|
|
6
6
|
import { FunctionCall, FunctionResponse } from '@google/genai';
|
|
7
7
|
import { LlmResponse } from '../models/llm_response.js';
|
|
8
8
|
import { EventActions } from './event_actions.js';
|
|
9
|
+
/**
|
|
10
|
+
* A unique symbol identifying ADK Event objects.
|
|
11
|
+
*
|
|
12
|
+
* Events are plain objects produced by {@link createEvent} rather than class
|
|
13
|
+
* instances, so they carry this signature as a brand and `isEvent` checks for
|
|
14
|
+
* it — mirroring the `Symbol.for('google.adk.*')` guards used across ADK (e.g.
|
|
15
|
+
* `isBaseTool`, `isBaseAgent`).
|
|
16
|
+
*/
|
|
17
|
+
declare const EVENT_SIGNATURE_SYMBOL: unique symbol;
|
|
18
|
+
/**
|
|
19
|
+
* A single route key emitted by a routing node and matched against graph edge
|
|
20
|
+
* routes. Mirrors the graph's `RouteValue`.
|
|
21
|
+
*/
|
|
22
|
+
export type RouteKey = string | number | boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The route(s) a routing node emits: a single key fires one branch; an array
|
|
25
|
+
* fires every branch whose route matches any listed key (multi-route dispatch).
|
|
26
|
+
*/
|
|
27
|
+
export type Route = RouteKey | RouteKey[];
|
|
28
|
+
/**
|
|
29
|
+
* Workflow-node provenance attached to an event.
|
|
30
|
+
*
|
|
31
|
+
* Mirrors `google/adk-python` `Event.node_info`. Present only on events emitted
|
|
32
|
+
* from within a workflow node.
|
|
33
|
+
*/
|
|
34
|
+
export interface NodeInfo {
|
|
35
|
+
/** The workflow node path that produced this event (e.g. `wf.child.0`). */
|
|
36
|
+
path?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The node paths this event's output serves as the output for: the emitting
|
|
39
|
+
* node first, then any ancestor that delegated its own output to it.
|
|
40
|
+
*
|
|
41
|
+
* A node that runs a child with `useAsOutput` takes the child's output as its
|
|
42
|
+
* own, so one event is the result for several nodes at once. Recording that
|
|
43
|
+
* on the event is what lets a resumed run tell which nodes already produced a
|
|
44
|
+
* result, instead of re-running an ancestor whose output only ever existed on
|
|
45
|
+
* a descendant's event.
|
|
46
|
+
*
|
|
47
|
+
* Mirrors adk-python's `node_info.output_for`, which is likewise a list.
|
|
48
|
+
*/
|
|
49
|
+
outputFor?: string[];
|
|
50
|
+
/**
|
|
51
|
+
* Whether the event's textual content should be promoted to the node's
|
|
52
|
+
* structured output.
|
|
53
|
+
*/
|
|
54
|
+
messageAsOutput?: boolean;
|
|
55
|
+
}
|
|
9
56
|
/**
|
|
10
57
|
* Represents an event in a conversation between agents and users.
|
|
11
58
|
|
|
@@ -13,6 +60,14 @@ import { EventActions } from './event_actions.js';
|
|
|
13
60
|
taken by the agents like function calls, etc.
|
|
14
61
|
*/
|
|
15
62
|
export interface Event extends LlmResponse {
|
|
63
|
+
/**
|
|
64
|
+
* Signature brand identifying this object as an ADK {@link Event}.
|
|
65
|
+
*
|
|
66
|
+
* Set by {@link createEvent} and checked by `isEvent`. Optional because
|
|
67
|
+
* events are also reconstructed from storage/session payloads, where the
|
|
68
|
+
* (non-serializable) brand is absent.
|
|
69
|
+
*/
|
|
70
|
+
readonly [EVENT_SIGNATURE_SYMBOL]?: true;
|
|
16
71
|
/**
|
|
17
72
|
* The unique identifier of the event.
|
|
18
73
|
* Do not assign the ID. It will be assigned by the session.
|
|
@@ -51,6 +106,36 @@ export interface Event extends LlmResponse {
|
|
|
51
106
|
* The timestamp of the event.
|
|
52
107
|
*/
|
|
53
108
|
timestamp: number;
|
|
109
|
+
/**
|
|
110
|
+
* Workflow: the structured output produced by the emitting node, if any.
|
|
111
|
+
*
|
|
112
|
+
* First-class field mirroring `google/adk-python` `Event.output`. Used by the
|
|
113
|
+
* workflow engine to carry a node's return value alongside its content.
|
|
114
|
+
*/
|
|
115
|
+
output?: unknown;
|
|
116
|
+
/**
|
|
117
|
+
* Workflow: the route key(s) emitted by a routing node, used by the graph to
|
|
118
|
+
* select the matching outgoing edge(s). A single value fires one branch; an
|
|
119
|
+
* array fires every branch whose route matches any listed value (multi-route
|
|
120
|
+
* dispatch). Mirrors Python `Event.route`.
|
|
121
|
+
*/
|
|
122
|
+
route?: Route;
|
|
123
|
+
/**
|
|
124
|
+
* Workflow: provenance of the emitting node. Mirrors Python `Event.node_info`.
|
|
125
|
+
*/
|
|
126
|
+
nodeInfo?: NodeInfo;
|
|
127
|
+
/**
|
|
128
|
+
* Workflow: scope tag used to isolate multi-agent conversations so peer
|
|
129
|
+
* scopes don't see each other's events. Mirrors Python
|
|
130
|
+
* `Event.isolation_scope`.
|
|
131
|
+
*/
|
|
132
|
+
isolationScope?: string;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Parameters for creating an event with partial fields.
|
|
136
|
+
*/
|
|
137
|
+
export interface CreateEventParams extends Omit<Partial<Event>, 'actions'> {
|
|
138
|
+
actions?: Partial<EventActions>;
|
|
54
139
|
}
|
|
55
140
|
/**
|
|
56
141
|
* Creates an event from a partial event.
|
|
@@ -58,7 +143,7 @@ export interface Event extends LlmResponse {
|
|
|
58
143
|
* @param params The partial event to create the event from.
|
|
59
144
|
* @returns The event.
|
|
60
145
|
*/
|
|
61
|
-
export declare function createEvent(params?:
|
|
146
|
+
export declare function createEvent(params?: CreateEventParams): Event;
|
|
62
147
|
/**
|
|
63
148
|
* Returns whether the event is the final response of the agent.
|
|
64
149
|
*/
|
|
@@ -103,6 +188,13 @@ export declare function hasThoughts(event: Event): boolean;
|
|
|
103
188
|
* Returns a copy of the event with all thought parts removed.
|
|
104
189
|
*/
|
|
105
190
|
export declare function pruneThoughts(event: Event): Event;
|
|
191
|
+
/**
|
|
192
|
+
* Type guard to check if an object is an instance of Event.
|
|
193
|
+
*
|
|
194
|
+
* @param obj The object to check.
|
|
195
|
+
* @returns True if the object matches the Event structure.
|
|
196
|
+
*/
|
|
197
|
+
export declare function isEvent(obj: unknown): obj is Event;
|
|
106
198
|
/**
|
|
107
199
|
* Generates a new unique ID for the event.
|
|
108
200
|
*/
|
|
@@ -121,3 +213,4 @@ export declare function transformToCamelCaseEvent(event: Record<string, unknown>
|
|
|
121
213
|
* @returns The snake_cased Event object.
|
|
122
214
|
*/
|
|
123
215
|
export declare function transformToSnakeCaseEvent(event: Event): Record<string, unknown>;
|
|
216
|
+
export {};
|
|
@@ -56,6 +56,16 @@ export interface EventActions {
|
|
|
56
56
|
requestedToolConfirmations: {
|
|
57
57
|
[key: string]: ToolConfirmation;
|
|
58
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Workflow: a serialized node/agent state snapshot used for resumable
|
|
61
|
+
* checkpointing. Mirrors Python `EventActions.agent_state`.
|
|
62
|
+
*/
|
|
63
|
+
agentState?: Record<string, unknown>;
|
|
64
|
+
/**
|
|
65
|
+
* Workflow: marks that the emitting agent/workflow has reached the end of its
|
|
66
|
+
* execution for this invocation. Mirrors Python `EventActions.end_of_agent`.
|
|
67
|
+
*/
|
|
68
|
+
endOfAgent?: boolean;
|
|
59
69
|
}
|
|
60
70
|
/**
|
|
61
71
|
* Creates an {@link EventActions} object with default empty-dict values for
|