@google/adk 1.6.0 → 2.1.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 +17 -28
- package/dist/cjs/a2a/a2a_remote_agent.js +13 -7
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +111 -2
- package/dist/cjs/a2a/agent_card.js +90 -8
- package/dist/cjs/a2a/agent_executor.js +34 -18
- package/dist/cjs/a2a/agent_to_a2a.js +28 -11
- package/dist/cjs/a2a/auth.js +3 -0
- package/dist/cjs/a2a/event_converter_utils.js +10 -0
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +6 -2
- package/dist/cjs/a2a/index.js +57 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +55 -17
- package/dist/cjs/agents/context.js +12 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +185 -60
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +43 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +541 -50
- package/dist/cjs/agents/loop_agent.js +20 -3
- package/dist/cjs/agents/parallel_agent.js +22 -3
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +32 -8
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
- package/dist/cjs/agents/processors/code_execution_request_processor.js +20 -7
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +13 -5
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +320 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +214 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +13 -3
- package/dist/cjs/agents/routed_agent.js +7 -14
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +21 -4
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +12 -12
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +22 -4
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +14 -2
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +49 -10
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +6 -3
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +23 -2
- 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 +7 -3
- package/dist/cjs/code_executors/built_in_code_executor.js +7 -3
- package/dist/cjs/code_executors/code_execution_utils.js +8 -2
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +19 -8
- package/dist/cjs/common.js +180 -46
- package/dist/cjs/context/agent_controlled_context_compactor.js +15 -7
- package/dist/cjs/context/anchored_context_compactor.js +46 -20
- package/dist/cjs/context/compaction_utils.js +18 -6
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +19 -5
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +22 -12
- package/dist/cjs/context/truncating_context_compactor.js +22 -7
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -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 +12 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +7 -3
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +54 -25
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +10 -6
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +8 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -4
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +10 -4
- package/dist/cjs/models/base_llm.js +8 -4
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +33 -16
- package/dist/cjs/models/interactions_utils.js +18 -3
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +8 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +39 -5
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- 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 +236 -43
- package/dist/cjs/sessions/base_session_service.js +13 -2
- package/dist/cjs/sessions/database_session_service.js +84 -45
- package/dist/cjs/sessions/db/operations.js +259 -24
- package/dist/cjs/sessions/db/schema.js +118 -156
- package/dist/cjs/sessions/in_memory_session_service.js +22 -14
- package/dist/cjs/sessions/registry.js +9 -2
- 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 +112 -17
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +22 -10
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +6 -1
- package/dist/cjs/telemetry/tracing.js +71 -5
- package/dist/cjs/tools/agent_tool.js +10 -7
- package/dist/cjs/tools/base_tool.js +38 -6
- package/dist/cjs/tools/base_toolset.js +10 -6
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +8 -7
- 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 +23 -15
- package/dist/cjs/tools/function_tool.js +79 -11
- package/dist/cjs/tools/get_user_choice_tool.js +3 -2
- package/dist/cjs/tools/google_maps_grounding_tool.js +8 -7
- package/dist/cjs/tools/google_search_tool.js +7 -7
- package/dist/cjs/tools/load_artifacts_tool.js +55 -25
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +14 -160
- 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 +39 -7
- package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +15 -2
- 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 +3 -1
- 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 +39 -23
- package/dist/cjs/tools/preload_memory_tool.js +6 -3
- package/dist/cjs/tools/request_input_tool.js +6 -4
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -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 +7 -7
- package/dist/cjs/tools/vertex_ai_search_tool.js +8 -9
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +7 -11
- 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 +18 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +41 -0
- package/dist/cjs/utils/error_utils.js +8 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +7 -2
- package/dist/cjs/utils/gemini_schema_util.js +6 -8
- 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 +28 -54
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +2 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +80 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +3 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +147 -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 +18 -27
- package/dist/esm/a2a/a2a_remote_agent.js +16 -7
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +110 -2
- package/dist/esm/a2a/agent_card.js +96 -8
- package/dist/esm/a2a/agent_executor.js +36 -19
- package/dist/esm/a2a/agent_to_a2a.js +52 -17
- package/dist/esm/a2a/auth.js +4 -0
- package/dist/esm/a2a/event_converter_utils.js +11 -0
- package/dist/esm/a2a/event_processor_utils.js +74 -35
- package/dist/esm/a2a/executor_context.js +7 -2
- package/dist/esm/a2a/index.js +26 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +56 -17
- package/dist/esm/agents/context.js +13 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +191 -58
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +42 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +542 -50
- package/dist/esm/agents/loop_agent.js +22 -3
- package/dist/esm/agents/parallel_agent.js +24 -3
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +33 -8
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
- package/dist/esm/agents/processors/code_execution_request_processor.js +21 -7
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +14 -5
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +325 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +193 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +14 -3
- package/dist/esm/agents/routed_agent.js +7 -15
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +23 -4
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +15 -12
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +23 -4
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +15 -2
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +53 -10
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +7 -3
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +22 -2
- 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 +8 -3
- package/dist/esm/code_executors/built_in_code_executor.js +8 -3
- package/dist/esm/code_executors/code_execution_utils.js +9 -2
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +20 -8
- package/dist/esm/common.js +181 -41
- package/dist/esm/context/agent_controlled_context_compactor.js +16 -7
- package/dist/esm/context/anchored_context_compactor.js +51 -21
- package/dist/esm/context/compaction_utils.js +17 -5
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +20 -5
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +23 -12
- package/dist/esm/context/truncating_context_compactor.js +23 -7
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/esm/errors/not_found_error.js +23 -0
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -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 +12 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +8 -3
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +41 -15
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +11 -6
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +9 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +20 -4
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +11 -4
- package/dist/esm/models/base_llm.js +9 -4
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +35 -17
- package/dist/esm/models/interactions_utils.js +19 -3
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +9 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +39 -5
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- 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 +249 -46
- package/dist/esm/sessions/base_session_service.js +14 -2
- package/dist/esm/sessions/database_session_service.js +65 -27
- package/dist/esm/sessions/db/operations.js +259 -24
- package/dist/esm/sessions/db/schema.js +116 -157
- package/dist/esm/sessions/in_memory_session_service.js +23 -14
- package/dist/esm/sessions/registry.js +10 -2
- 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 +111 -16
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +23 -10
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +7 -1
- package/dist/esm/telemetry/tracing.js +70 -5
- package/dist/esm/tools/agent_tool.js +11 -7
- package/dist/esm/tools/base_tool.js +36 -5
- package/dist/esm/tools/base_toolset.js +11 -6
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +9 -7
- 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 +24 -15
- package/dist/esm/tools/function_tool.js +80 -11
- package/dist/esm/tools/get_user_choice_tool.js +4 -2
- package/dist/esm/tools/google_maps_grounding_tool.js +9 -7
- package/dist/esm/tools/google_search_tool.js +8 -7
- package/dist/esm/tools/load_artifacts_tool.js +57 -26
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +19 -158
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/{web/context/summarizers/base_summarizer.js → esm/tools/mcp/index.js} +4 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +40 -7
- package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +18 -2
- 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 +3 -1
- 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 +39 -23
- package/dist/esm/tools/preload_memory_tool.js +7 -3
- package/dist/esm/tools/request_input_tool.js +7 -4
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -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 +8 -7
- package/dist/esm/tools/vertex_ai_search_tool.js +9 -9
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +8 -11
- 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 +17 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +41 -0
- package/dist/esm/utils/error_utils.js +9 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +8 -2
- package/dist/esm/utils/gemini_schema_util.js +7 -8
- 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 +28 -44
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +3 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +53 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/ssrf_guard.js +230 -0
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +5 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +122 -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/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/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +12 -3
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +6 -4
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +56 -25
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +73 -8
- package/dist/types/agents/invocation_context.d.ts +106 -6
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +86 -8
- 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/agent_transfer_llm_request_processor.d.ts +16 -1
- 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/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +72 -4
- 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/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +13 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +39 -27
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +23 -0
- package/dist/types/index.d.ts +27 -14
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
- package/dist/types/models/google_llm.d.ts +10 -4
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +47 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -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 +64 -9
- package/dist/types/sessions/base_session_service.d.ts +2 -2
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +26 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +88 -10
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +12 -11
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +6 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -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/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- 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 +16 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +23 -1
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +32 -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/ssrf_guard.d.ts +32 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +97 -20
- package/dist/web/a2a/a2a_event.js +0 -271
- package/dist/web/a2a/a2a_remote_agent.js +0 -196
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -184
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -133
- package/dist/web/a2a/agent_card.js +0 -342
- package/dist/web/a2a/agent_executor.js +0 -218
- package/dist/web/a2a/agent_to_a2a.js +0 -97
- package/dist/web/a2a/auth.js +0 -37
- package/dist/web/a2a/event_converter_utils.js +0 -232
- package/dist/web/a2a/event_processor_utils.js +0 -170
- package/dist/web/a2a/executor_context.js +0 -25
- package/dist/web/a2a/metadata_converter_utils.js +0 -110
- package/dist/web/a2a/part_converter_utils.js +0 -188
- package/dist/web/agents/active_streaming_tool.js +0 -21
- package/dist/web/agents/base_agent.js +0 -423
- package/dist/web/agents/context.js +0 -142
- package/dist/web/agents/functions.js +0 -433
- package/dist/web/agents/instructions.js +0 -148
- package/dist/web/agents/invocation_context.js +0 -77
- package/dist/web/agents/live_request_queue.js +0 -126
- package/dist/web/agents/llm_agent.js +0 -936
- package/dist/web/agents/loop_agent.js +0 -112
- package/dist/web/agents/parallel_agent.js +0 -101
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -109
- package/dist/web/agents/processors/base_llm_processor.js +0 -15
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -81
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -367
- package/dist/web/agents/processors/content_processor_utils.js +0 -361
- package/dist/web/agents/processors/content_request_processor.js +0 -67
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -74
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -50
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -81
- package/dist/web/agents/processors/interactions_request_processor.js +0 -52
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -168
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -68
- package/dist/web/agents/readonly_context.js +0 -55
- package/dist/web/agents/routed_agent.js +0 -169
- package/dist/web/agents/run_config.js +0 -62
- package/dist/web/agents/sequential_agent.js +0 -122
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/apps/app.js +0 -49
- package/dist/web/apps/resumability_config.js +0 -31
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -548
- package/dist/web/artifacts/gcs_artifact_service.js +0 -253
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -164
- package/dist/web/artifacts/registry.js +0 -30
- package/dist/web/artifacts/scoped_artifact_service.js +0 -86
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -148
- package/dist/web/auth/auth_preprocessor.js +0 -175
- package/dist/web/auth/auth_provider_registry.js +0 -33
- package/dist/web/auth/auth_schemes.js +0 -33
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -46
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -23
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -12
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -31
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -188
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -102
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -190
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -98
- package/dist/web/auth/refresher/base_credential_refresher.js +0 -16
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -40
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -281
- package/dist/web/code_executors/base_code_executor.js +0 -63
- package/dist/web/code_executors/built_in_code_executor.js +0 -45
- package/dist/web/code_executors/code_execution_utils.js +0 -124
- package/dist/web/code_executors/code_executor_context.js +0 -170
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -214
- package/dist/web/common.js +0 -347
- package/dist/web/context/agent_controlled_context_compactor.js +0 -72
- package/dist/web/context/anchored_context_compactor.js +0 -117
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -38
- package/dist/web/context/summarizers/llm_summarizer.js +0 -87
- package/dist/web/context/token_based_context_compactor.js +0 -111
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -43
- package/dist/web/context/truncating_context_compactor.js +0 -30
- package/dist/web/events/compacted_event.js +0 -47
- package/dist/web/events/event.js +0 -174
- package/dist/web/events/event_actions.js +0 -69
- package/dist/web/events/structured_events.js +0 -76
- package/dist/web/examples/base_example_provider.js +0 -27
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -79
- package/dist/web/features/feature_registry.js +0 -107
- package/dist/web/index.js +0 -68
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -333
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -117
- package/dist/web/integrations/agent_registry/helpers.js +0 -28
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -82
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -481
- package/dist/web/models/apigee_llm.js +0 -221
- package/dist/web/models/base_llm.js +0 -73
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -179
- package/dist/web/models/google_llm.js +0 -384
- package/dist/web/models/interactions_utils.js +0 -728
- package/dist/web/models/llm_request.js +0 -52
- package/dist/web/models/llm_response.js +0 -45
- package/dist/web/models/registry.js +0 -95
- package/dist/web/models/routed_llm.js +0 -122
- package/dist/web/plugins/base_plugin.js +0 -271
- package/dist/web/plugins/global_instruction_plugin.js +0 -67
- package/dist/web/plugins/logging_plugin.js +0 -235
- package/dist/web/plugins/plugin_manager.js +0 -282
- package/dist/web/plugins/security_plugin.js +0 -140
- package/dist/web/runner/in_memory_runner.js +0 -46
- package/dist/web/runner/runner.js +0 -535
- package/dist/web/sessions/base_session_service.js +0 -111
- package/dist/web/sessions/database_session_service.js +0 -436
- package/dist/web/sessions/db/operations.js +0 -96
- package/dist/web/sessions/db/schema.js +0 -208
- package/dist/web/sessions/in_memory_session_service.js +0 -242
- package/dist/web/sessions/registry.js +0 -34
- package/dist/web/sessions/session.js +0 -20
- package/dist/web/sessions/state.js +0 -89
- package/dist/web/sessions/vertex_ai_session_service.js +0 -443
- package/dist/web/skills/gcp_skill_registry.js +0 -78
- package/dist/web/skills/loader.js +0 -360
- package/dist/web/skills/prompt.js +0 -30
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -54
- package/dist/web/telemetry/setup.js +0 -83
- package/dist/web/telemetry/tracing.js +0 -234
- package/dist/web/tools/agent_tool.js +0 -145
- package/dist/web/tools/base_tool.js +0 -93
- package/dist/web/tools/base_toolset.js +0 -57
- package/dist/web/tools/consolidate_context_tool.js +0 -51
- package/dist/web/tools/enterprise_web_search_tool.js +0 -55
- package/dist/web/tools/example_tool.js +0 -42
- package/dist/web/tools/exit_loop_tool.js +0 -43
- package/dist/web/tools/forwarding_artifact_service.js +0 -47
- package/dist/web/tools/function_tool.js +0 -85
- package/dist/web/tools/get_user_choice_tool.js +0 -25
- package/dist/web/tools/google_maps_grounding_tool.js +0 -54
- package/dist/web/tools/google_search_tool.js +0 -51
- package/dist/web/tools/load_artifacts_tool.js +0 -152
- package/dist/web/tools/load_memory_tool.js +0 -79
- package/dist/web/tools/load_web_page.js +0 -221
- package/dist/web/tools/long_running_tool.js +0 -55
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -107
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -78
- package/dist/web/tools/mcp/mcp_tool.js +0 -43
- package/dist/web/tools/mcp/mcp_toolset.js +0 -141
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -48
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -60
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -111
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -221
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -198
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -94
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -97
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -229
- package/dist/web/tools/preload_memory_tool.js +0 -77
- package/dist/web/tools/request_input_tool.js +0 -26
- package/dist/web/tools/skill/list_skills_tool.js +0 -50
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -190
- package/dist/web/tools/skill/load_skill_tool.js +0 -93
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -167
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -201
- package/dist/web/tools/skill/search_skills_tool.js +0 -82
- package/dist/web/tools/skill/skill_toolset.js +0 -160
- package/dist/web/tools/tool_confirmation.js +0 -21
- package/dist/web/tools/url_context_tool.js +0 -44
- package/dist/web/tools/vertex_ai_search_tool.js +0 -103
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -36
- package/dist/web/utils/async_hooks_shim.js +0 -24
- package/dist/web/utils/async_queue.js +0 -60
- package/dist/web/utils/branch_trie.js +0 -13
- package/dist/web/utils/case_utils.js +0 -25
- package/dist/web/utils/client_labels.js +0 -64
- package/dist/web/utils/crypto_shim.js +0 -15
- package/dist/web/utils/env_aware_utils.js +0 -74
- package/dist/web/utils/error_utils.js +0 -92
- package/dist/web/utils/experimental.js +0 -46
- package/dist/web/utils/failover_utils.js +0 -96
- package/dist/web/utils/file_extension_utils.js +0 -51
- package/dist/web/utils/file_utils.js +0 -103
- package/dist/web/utils/gemini_schema_util.js +0 -173
- package/dist/web/utils/live_connection_utils.js +0 -254
- package/dist/web/utils/logger.js +0 -130
- package/dist/web/utils/model_name.js +0 -66
- package/dist/web/utils/object_notation_utils.js +0 -49
- package/dist/web/utils/output_schema_utils.js +0 -15
- package/dist/web/utils/partial_copy.js +0 -23
- package/dist/web/utils/simple_zod_to_json.js +0 -123
- package/dist/web/utils/streaming_utils.js +0 -430
- package/dist/web/utils/task.js +0 -34
- package/dist/web/utils/variant_utils.js +0 -20
- package/dist/web/utils/vertex_ai_utils.js +0 -24
- package/dist/web/version.js +0 -11
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
- /package/dist/{web/auth/base_auth_provider.js → esm/workflow/trigger.js} +0 -0
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Content } from '@google/genai';
|
|
7
7
|
import { BaseAgent } from '../agents/base_agent.js';
|
|
8
|
+
import { LiveRequestQueue } from '../agents/live_request_queue.js';
|
|
8
9
|
import { RunConfig } from '../agents/run_config.js';
|
|
9
10
|
import { App } from '../apps/app.js';
|
|
10
11
|
import { ResumabilityConfig } from '../apps/resumability_config.js';
|
|
11
12
|
import { BaseArtifactService } from '../artifacts/base_artifact_service.js';
|
|
13
|
+
import { SessionArtifactService } from '../artifacts/session_artifact_service.js';
|
|
12
14
|
import { BaseCredentialService } from '../auth/credential_service/base_credential_service.js';
|
|
13
15
|
import { Event } from '../events/event.js';
|
|
14
16
|
import { BaseMemoryService } from '../memory/base_memory_service.js';
|
|
@@ -16,6 +18,8 @@ import { BasePlugin } from '../plugins/base_plugin.js';
|
|
|
16
18
|
import { PluginManager } from '../plugins/plugin_manager.js';
|
|
17
19
|
import { BaseSessionService } from '../sessions/base_session_service.js';
|
|
18
20
|
import { Session } from '../sessions/session.js';
|
|
21
|
+
import type { RunnableNode } from '../workflow/graph.js';
|
|
22
|
+
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
19
23
|
/**
|
|
20
24
|
* The configuration parameters for the Runner.
|
|
21
25
|
*/
|
|
@@ -29,9 +33,14 @@ export interface RunnerConfig {
|
|
|
29
33
|
*/
|
|
30
34
|
appName?: string;
|
|
31
35
|
/**
|
|
32
|
-
* The agent to run. Required if `app` is not provided.
|
|
36
|
+
* The agent or workflow to run. Required if `app` is not provided.
|
|
37
|
+
*
|
|
38
|
+
* A bare node — a `Workflow`, most usefully — is accepted as the root and
|
|
39
|
+
* driven directly, so a graph does not have to be wrapped by hand to be run.
|
|
40
|
+
* The accepted set is the one an edge takes: any other node-like value
|
|
41
|
+
* becomes the single node of a one-node workflow.
|
|
33
42
|
*/
|
|
34
|
-
agent?:
|
|
43
|
+
agent?: RunnableNode;
|
|
35
44
|
/**
|
|
36
45
|
* An optional list of plugins to apply globally across all agents.
|
|
37
46
|
*/
|
|
@@ -39,7 +48,7 @@ export interface RunnerConfig {
|
|
|
39
48
|
/**
|
|
40
49
|
* An optional service for storing and retrieving artifacts.
|
|
41
50
|
*/
|
|
42
|
-
artifactService?: BaseArtifactService;
|
|
51
|
+
artifactService?: BaseArtifactService | SessionArtifactService;
|
|
43
52
|
/**
|
|
44
53
|
* The service for managing sessions.
|
|
45
54
|
*/
|
|
@@ -96,9 +105,13 @@ export declare function isRunner(obj: unknown): obj is Runner;
|
|
|
96
105
|
export declare class Runner {
|
|
97
106
|
readonly [RUNNER_SIGNATURE_SYMBOL] = true;
|
|
98
107
|
readonly appName: string;
|
|
99
|
-
|
|
108
|
+
/**
|
|
109
|
+
* The root being run: an agent, or a bare node (a `Workflow`) that the
|
|
110
|
+
* runner drives directly.
|
|
111
|
+
*/
|
|
112
|
+
readonly agent: RunnableRoot;
|
|
100
113
|
readonly pluginManager: PluginManager;
|
|
101
|
-
readonly artifactService?: BaseArtifactService;
|
|
114
|
+
readonly artifactService?: BaseArtifactService | SessionArtifactService;
|
|
102
115
|
readonly sessionService: BaseSessionService;
|
|
103
116
|
readonly memoryService?: BaseMemoryService;
|
|
104
117
|
readonly credentialService?: BaseCredentialService;
|
|
@@ -145,13 +158,25 @@ export declare class Runner {
|
|
|
145
158
|
abortSignal?: AbortSignal;
|
|
146
159
|
customMetadata?: Record<string, unknown>;
|
|
147
160
|
}): AsyncGenerator<Event, void, undefined>;
|
|
161
|
+
/**
|
|
162
|
+
* Runs whatever this runner was given as its root.
|
|
163
|
+
*
|
|
164
|
+
* An agent is run through `runAsync`, as always. A bare node — a `Workflow`
|
|
165
|
+
* handed to the runner directly — is driven by {@link runNodeAsInvocation}.
|
|
166
|
+
*
|
|
167
|
+
* Only the execution differs. Everything around it (the run callbacks, event
|
|
168
|
+
* persistence, cancellation) is shared, so the node path cannot drift from
|
|
169
|
+
* the agent path on the things that are not about execution. adk-python has
|
|
170
|
+
* two separate loops here and a TODO noting its node one lacks tracing and
|
|
171
|
+
* plugins; there is nothing to lack if there is only one loop.
|
|
172
|
+
*/
|
|
173
|
+
private runRoot;
|
|
148
174
|
/**
|
|
149
175
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
150
176
|
* a file name placeholder and optional file reference.
|
|
151
177
|
*
|
|
178
|
+
* @param artifactService The session-scoped artifact service to save to.
|
|
152
179
|
* @param invocationId The current invocation ID.
|
|
153
|
-
* @param userId The user ID of the session.
|
|
154
|
-
* @param sessionId The session ID of the session.
|
|
155
180
|
* @param message The message containing parts to process.
|
|
156
181
|
*/
|
|
157
182
|
private saveArtifacts;
|
|
@@ -168,9 +193,39 @@ export declare class Runner {
|
|
|
168
193
|
* Whether the agent to run can transfer to any other agent in the agent tree.
|
|
169
194
|
*
|
|
170
195
|
* @param agentToRun The agent to check for transferability.
|
|
171
|
-
* @returns True if the agent can transfer,
|
|
196
|
+
* @returns True if the agent can transfer, false otherwise.
|
|
172
197
|
*/
|
|
173
198
|
private isRoutableLlmAgent;
|
|
199
|
+
/**
|
|
200
|
+
* Runs the agent in the live (bidirectional streaming) mode.
|
|
201
|
+
*
|
|
202
|
+
* Model media events that carry raw inline bytes (audio, video, or image)
|
|
203
|
+
* are yielded but not appended to the session to avoid persisting large
|
|
204
|
+
* blobs; events with `fileData` references and most other live events
|
|
205
|
+
* (transcriptions, tool calls, usage) are persisted as in `runAsync`.
|
|
206
|
+
*
|
|
207
|
+
* This feature is **experimental** and its API may change.
|
|
208
|
+
*
|
|
209
|
+
* @param params.userId The user ID of the session.
|
|
210
|
+
* @param params.sessionId The session ID of the session.
|
|
211
|
+
* @param params.liveRequestQueue The queue used to feed the live model.
|
|
212
|
+
* @param params.runConfig The run config for the agent.
|
|
213
|
+
* @param params.abortSignal Optional signal to abort the live run.
|
|
214
|
+
* @param params.liveSessionResumptionHandle Optional session resumption
|
|
215
|
+
* handle observed from a prior `runLive` cycle on the same conversation.
|
|
216
|
+
* When set, the agent's live flow opens the connection with
|
|
217
|
+
* `liveConnectConfig.sessionResumption.handle` so the server restores its
|
|
218
|
+
* state instead of relying on client-side history replay.
|
|
219
|
+
* @yields The events generated by the agent.
|
|
220
|
+
*/
|
|
221
|
+
runLive(params: {
|
|
222
|
+
userId: string;
|
|
223
|
+
sessionId: string;
|
|
224
|
+
liveRequestQueue: LiveRequestQueue;
|
|
225
|
+
runConfig?: RunConfig;
|
|
226
|
+
abortSignal?: AbortSignal;
|
|
227
|
+
liveSessionResumptionHandle?: string;
|
|
228
|
+
}): AsyncGenerator<Event, void, undefined>;
|
|
174
229
|
}
|
|
175
230
|
/**
|
|
176
231
|
* Determines the next agent to run to continue the session. This is primarily
|
|
@@ -186,7 +241,7 @@ export declare function determineAgentForResumption(session: Session, rootAgent:
|
|
|
186
241
|
* `disallowTransferToParent` set to false).
|
|
187
242
|
*
|
|
188
243
|
* @param agentToRun The agent to check for transferability.
|
|
189
|
-
* @returns True if the agent can transfer,
|
|
244
|
+
* @returns True if the agent can transfer, false otherwise.
|
|
190
245
|
*/
|
|
191
246
|
export declare function isRoutableLlmAgent(agentToRun: BaseAgent): boolean;
|
|
192
247
|
/**
|
|
@@ -40,8 +40,8 @@ export interface GetSessionRequest extends CompositeSessionKey {
|
|
|
40
40
|
export interface ListSessionsRequest {
|
|
41
41
|
/** The name of the application. */
|
|
42
42
|
appName: string;
|
|
43
|
-
/** The ID of the user. */
|
|
44
|
-
userId
|
|
43
|
+
/** The ID of the user. Sessions of every user are listed if omitted. */
|
|
44
|
+
userId?: string;
|
|
45
45
|
/** Maximum number of sessions to return. */
|
|
46
46
|
limit?: number;
|
|
47
47
|
/** Zero-based index of the first session to return. Ignored if `page` is set. */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import type { MikroORMOptions as MikroDBOptions } from './db/operations.js';
|
|
7
7
|
import { Event } from '../events/event.js';
|
|
8
8
|
import { AppendEventRequest, BaseSessionService, CreateSessionRequest, DeleteSessionRequest, GetSessionRequest, ListSessionsRequest, ListSessionsResponse } from './base_session_service.js';
|
|
9
9
|
import { Session } from './session.js';
|
|
@@ -3,10 +3,22 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { MikroORM, Options
|
|
6
|
+
import type { MikroORM, Options } from '@mikro-orm/core';
|
|
7
|
+
/**
|
|
8
|
+
* The user-facing MikroORM config shape. Since v7 `Options` marks every key
|
|
9
|
+
* that has a default as required, so a partial config has to be described as
|
|
10
|
+
* `Partial<Options>`.
|
|
11
|
+
*/
|
|
12
|
+
export type MikroORMOptions = Partial<Options>;
|
|
7
13
|
/**
|
|
8
14
|
* Parses a database connection URI and returns MikroORM Options.
|
|
9
15
|
*
|
|
16
|
+
* Dialect drivers are imported dynamically so that installing `@google/adk`
|
|
17
|
+
* does not pull in five database drivers. Adding a dialect here therefore also
|
|
18
|
+
* means adding it to core's `peerDependencies` and to dev's `dependencies` (see
|
|
19
|
+
* "Dependency declarations" in CONTRIBUTING.md);
|
|
20
|
+
* `tests/integration/lazy_load_db_drivers/driver_manifest_test.ts` enforces it.
|
|
21
|
+
*
|
|
10
22
|
* @param uri The database connection URI (e.g., "postgres://user:password@host:port/database")
|
|
11
23
|
* @returns MikroORM Options configured for the database
|
|
12
24
|
* @throws Error if the URI is invalid or unsupported
|
|
@@ -3,38 +3,50 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { EntitySchema, type Opt, PrimaryKeyProp } from '@mikro-orm/core';
|
|
7
7
|
import { Event } from '../../events/event.js';
|
|
8
8
|
export declare const SCHEMA_VERSION_KEY = "schema_version";
|
|
9
9
|
export declare const SCHEMA_VERSION_1_JSON = "1";
|
|
10
10
|
export declare const STORAGE_KEY_COLUMN_LENGTH = 191;
|
|
11
|
+
/**
|
|
12
|
+
* Fractional-second digits requested for the stored event timestamp.
|
|
13
|
+
*
|
|
14
|
+
* MySQL and MariaDB round a `datetime` column to whole seconds unless a
|
|
15
|
+
* precision is given. That collapses events written in the same second onto one
|
|
16
|
+
* value and leaves their order undefined. Other backends are unaffected:
|
|
17
|
+
* PostgreSQL already defaults to six digits and SQLite ignores the precision.
|
|
18
|
+
*/
|
|
19
|
+
export declare const EVENT_TIMESTAMP_PRECISION = 6;
|
|
11
20
|
export declare class StorageMetadata {
|
|
12
21
|
key: string;
|
|
13
22
|
value: string;
|
|
14
23
|
}
|
|
24
|
+
export declare const storageMetadataSchema: EntitySchema<StorageMetadata, never, import("@mikro-orm/core").EntityCtor<StorageMetadata>>;
|
|
15
25
|
export declare class StorageAppState {
|
|
16
26
|
appName: string;
|
|
17
27
|
state: Record<string, unknown>;
|
|
18
|
-
updateTime: Date
|
|
28
|
+
updateTime: Opt<Date>;
|
|
19
29
|
}
|
|
30
|
+
export declare const storageAppStateSchema: EntitySchema<StorageAppState, never, import("@mikro-orm/core").EntityCtor<StorageAppState>>;
|
|
20
31
|
export declare class StorageUserState {
|
|
21
|
-
[PrimaryKey.name]?: [string, string] | undefined;
|
|
22
32
|
appName: string;
|
|
23
33
|
userId: string;
|
|
24
34
|
state: Record<string, unknown>;
|
|
25
|
-
updateTime: Date
|
|
35
|
+
updateTime: Opt<Date>;
|
|
36
|
+
[PrimaryKeyProp]?: ['appName', 'userId'];
|
|
26
37
|
}
|
|
38
|
+
export declare const storageUserStateSchema: EntitySchema<StorageUserState, never, import("@mikro-orm/core").EntityCtor<StorageUserState>>;
|
|
27
39
|
export declare class StorageSession {
|
|
28
|
-
[PrimaryKey.name]?: [string, string, string] | undefined;
|
|
29
40
|
id: string;
|
|
30
41
|
appName: string;
|
|
31
42
|
userId: string;
|
|
32
43
|
state: Record<string, unknown>;
|
|
33
|
-
createTime: Date
|
|
34
|
-
updateTime: Date
|
|
44
|
+
createTime: Opt<Date>;
|
|
45
|
+
updateTime: Opt<Date>;
|
|
46
|
+
[PrimaryKeyProp]?: ['id', 'appName', 'userId'];
|
|
35
47
|
}
|
|
48
|
+
export declare const storageSessionSchema: EntitySchema<StorageSession, never, import("@mikro-orm/core").EntityCtor<StorageSession>>;
|
|
36
49
|
export declare class StorageEvent {
|
|
37
|
-
[PrimaryKey.name]?: [string, string, string, string] | undefined;
|
|
38
50
|
id: string;
|
|
39
51
|
appName: string;
|
|
40
52
|
userId: string;
|
|
@@ -42,5 +54,7 @@ export declare class StorageEvent {
|
|
|
42
54
|
invocationId: string;
|
|
43
55
|
timestamp: Date;
|
|
44
56
|
eventData: Event;
|
|
57
|
+
[PrimaryKeyProp]?: ['id', 'appName', 'userId', 'sessionId'];
|
|
45
58
|
}
|
|
46
|
-
export declare const
|
|
59
|
+
export declare const storageEventSchema: EntitySchema<StorageEvent, never, import("@mikro-orm/core").EntityCtor<StorageEvent>>;
|
|
60
|
+
export declare const ENTITIES: (EntitySchema<StorageMetadata, never, import("@mikro-orm/core").EntityCtor<StorageMetadata>> | EntitySchema<StorageAppState, never, import("@mikro-orm/core").EntityCtor<StorageAppState>> | EntitySchema<StorageUserState, never, import("@mikro-orm/core").EntityCtor<StorageUserState>> | EntitySchema<StorageSession, never, import("@mikro-orm/core").EntityCtor<StorageSession>> | EntitySchema<StorageEvent, never, import("@mikro-orm/core").EntityCtor<StorageEvent>>)[];
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { SchemaLike } from '../utils/schema.js';
|
|
7
|
+
/** Raised when a state mutation violates the declared state schema. */
|
|
8
|
+
export declare class StateSchemaError extends TypeError {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
/** Type guard for {@link StateSchemaError}. */
|
|
12
|
+
export declare function isStateSchemaError(e: unknown): e is StateSchemaError;
|
|
6
13
|
/**
|
|
7
14
|
* A state mapping that maintains the current value and the pending-commit
|
|
8
15
|
* delta.
|
|
@@ -12,6 +19,11 @@ export declare class State {
|
|
|
12
19
|
private value;
|
|
13
20
|
/** The delta change to the current value that hasn't been committed. */
|
|
14
21
|
private delta;
|
|
22
|
+
/**
|
|
23
|
+
* Declares the keys this state may hold and their types. When set, every
|
|
24
|
+
* mutation is checked against it; prefixed keys are exempt.
|
|
25
|
+
*/
|
|
26
|
+
readonly schema?: SchemaLike | undefined;
|
|
15
27
|
static readonly APP_PREFIX = "app:";
|
|
16
28
|
static readonly USER_PREFIX = "user:";
|
|
17
29
|
static readonly TEMP_PREFIX = "temp:";
|
|
@@ -19,7 +31,28 @@ export declare class State {
|
|
|
19
31
|
/** The current value of the state. */
|
|
20
32
|
value?: Record<string, unknown>,
|
|
21
33
|
/** The delta change to the current value that hasn't been committed. */
|
|
22
|
-
delta?: Record<string, unknown
|
|
34
|
+
delta?: Record<string, unknown>,
|
|
35
|
+
/**
|
|
36
|
+
* Declares the keys this state may hold and their types. When set, every
|
|
37
|
+
* mutation is checked against it; prefixed keys are exempt.
|
|
38
|
+
*/
|
|
39
|
+
schema?: SchemaLike | undefined);
|
|
40
|
+
/**
|
|
41
|
+
* Checks a whole delta against {@link schema}, for writes that reach the
|
|
42
|
+
* session without passing through this object — a node emitting an event
|
|
43
|
+
* that carries its own `stateDelta`.
|
|
44
|
+
*/
|
|
45
|
+
validateDelta(delta: Record<string, unknown>): void;
|
|
46
|
+
/**
|
|
47
|
+
* Checks one key/value pair against {@link schema}, throwing
|
|
48
|
+
* {@link StateSchemaError} when the key is undeclared or its value does not
|
|
49
|
+
* match the declared type.
|
|
50
|
+
*
|
|
51
|
+
* Prefixed keys (`app:`, `user:`, `temp:`, or any other namespace) belong to
|
|
52
|
+
* a scope wider than this state and are never validated — the same carve-out
|
|
53
|
+
* adk-python makes.
|
|
54
|
+
*/
|
|
55
|
+
private validate;
|
|
23
56
|
/**
|
|
24
57
|
* Returns the value of the state dict for the given key.
|
|
25
58
|
*
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Records a direct write of `key` into `state`, and — when the same write is
|
|
8
|
+
* being recorded in `delta` for later commit — stamps it there too, so the
|
|
9
|
+
* commit can tell whether it has since been superseded.
|
|
10
|
+
*/
|
|
11
|
+
export declare function recordStateWrite(state: object, delta: object | undefined, key: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* Copies the stamp `delta` holds for `key` onto `state`, for a writer that
|
|
14
|
+
* mirrors one logical write into more than one state object (a workflow node
|
|
15
|
+
* writes through to `session.state` as well as to its own view). Both objects
|
|
16
|
+
* then carry the same stamp, so neither can roll the other back.
|
|
17
|
+
*/
|
|
18
|
+
export declare function adoptDeltaStamp(state: object, delta: object, key: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Whether committing `key` from `delta` into `state` should go ahead, recording
|
|
21
|
+
* the write when it should.
|
|
22
|
+
*
|
|
23
|
+
* Returns false only when the delta entry is stamped and a newer write to that
|
|
24
|
+
* key has already landed — the rollback this module exists to prevent.
|
|
25
|
+
*/
|
|
26
|
+
export declare function shouldApplyDeltaWrite(state: object, delta: object, key: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Carries the stamp for one key from one delta object to another.
|
|
29
|
+
*
|
|
30
|
+
* A delta is copied several times between the write and the commit — a node
|
|
31
|
+
* drains its pending entries into a fresh map, `createEventActions` copies that
|
|
32
|
+
* into the event, `trimTempDeltaState` rebuilds it again — and each copy is a
|
|
33
|
+
* new object, so the stamps have to be carried with it. An entry that arrives
|
|
34
|
+
* at the commit unstamped is applied unconditionally, which is the old
|
|
35
|
+
* behaviour, so a missed hop degrades rather than breaks.
|
|
36
|
+
*/
|
|
37
|
+
export declare function carryDeltaStamp(from: object, to: object, key: string): void;
|
|
38
|
+
/** {@link carryDeltaStamp} for every key `from` carries a stamp for. */
|
|
39
|
+
export declare function carryDeltaStamps(from: object, to: object): void;
|
|
@@ -44,6 +44,21 @@ export interface TraceAgentInvocationParams {
|
|
|
44
44
|
* `server.*` attributes are not set pending confirmation from aabmass.
|
|
45
45
|
*/
|
|
46
46
|
export declare function traceAgentInvocation({ agent, invocationContext, }: TraceAgentInvocationParams): void;
|
|
47
|
+
export interface TraceWorkflowInvocationParams {
|
|
48
|
+
workflowName: string;
|
|
49
|
+
nodePath: string;
|
|
50
|
+
sessionId: string;
|
|
51
|
+
}
|
|
52
|
+
export declare function traceWorkflowInvocation({ workflowName, nodePath, sessionId, }: TraceWorkflowInvocationParams): void;
|
|
53
|
+
export type NodeExecutionStatus = 'completed' | 'waiting' | 'failed';
|
|
54
|
+
export interface TraceNodeExecutionParams {
|
|
55
|
+
nodePath: string;
|
|
56
|
+
runId: string;
|
|
57
|
+
attempt: number;
|
|
58
|
+
status: NodeExecutionStatus;
|
|
59
|
+
interruptCount: number;
|
|
60
|
+
}
|
|
61
|
+
export declare function traceNodeExecution({ nodePath, runId, attempt, status, interruptCount, }: TraceNodeExecutionParams): void;
|
|
47
62
|
export interface TraceToolCallParams {
|
|
48
63
|
tool: BaseTool;
|
|
49
64
|
args: Record<string, unknown>;
|
|
@@ -33,6 +33,17 @@ export interface BaseToolParams {
|
|
|
33
33
|
* Defined once and shared by all BaseTool instances.
|
|
34
34
|
*/
|
|
35
35
|
declare const BASE_TOOL_SIGNATURE_SYMBOL: unique symbol;
|
|
36
|
+
/**
|
|
37
|
+
* Marks a tool the model runs itself rather than the framework — see
|
|
38
|
+
* `BuiltInTool`. Such a tool claims its name in the `toolsDict` only so a
|
|
39
|
+
* function call naming it can be routed, so a genuinely callable tool of the
|
|
40
|
+
* same name takes precedence over it.
|
|
41
|
+
*/
|
|
42
|
+
export declare const IN_MODEL_TOOL_SYMBOL: unique symbol;
|
|
43
|
+
/**
|
|
44
|
+
* Whether `tool` is one the model runs itself.
|
|
45
|
+
*/
|
|
46
|
+
export declare function isInModelTool(tool: unknown): boolean;
|
|
36
47
|
/**
|
|
37
48
|
* Type guard to check if an object is an instance of BaseTool.
|
|
38
49
|
* @param obj The object to check.
|
|
@@ -80,6 +91,21 @@ export declare abstract class BaseTool {
|
|
|
80
91
|
* @return A promise that resolves to the tool response.
|
|
81
92
|
*/
|
|
82
93
|
abstract runAsync(request: RunAsyncToolRequest): Promise<unknown>;
|
|
94
|
+
/**
|
|
95
|
+
* Whether this tool needs a human to approve `args` before it runs.
|
|
96
|
+
*
|
|
97
|
+
* The gate itself lives in the tool that owns it (see `FunctionTool`), but
|
|
98
|
+
* the resume path has to ask the same question a turn later, to check that an
|
|
99
|
+
* approval it is about to honour belongs to a tool that gates at all. A tool
|
|
100
|
+
* that never gates returns false here, which is the safe default: an approval
|
|
101
|
+
* naming it is meaningless and gets rejected rather than executed. Mirrors
|
|
102
|
+
* Python's `BaseTool.check_require_confirmation`.
|
|
103
|
+
*
|
|
104
|
+
* @param _args The arguments the tool would run with.
|
|
105
|
+
* @param _toolContext The context of the call, when there is one.
|
|
106
|
+
* @return Whether the call requires confirmation.
|
|
107
|
+
*/
|
|
108
|
+
checkRequireConfirmation(_args: Record<string, unknown>, _toolContext?: Context): Promise<boolean>;
|
|
83
109
|
/**
|
|
84
110
|
* Processes the outgoing LLM request for this tool.
|
|
85
111
|
*
|
|
@@ -65,10 +65,9 @@ export declare abstract class BaseToolset {
|
|
|
65
65
|
* process the llm request. e.g. ComputerUseToolset can add computer use
|
|
66
66
|
* tool to the llm request.
|
|
67
67
|
*
|
|
68
|
-
* @param
|
|
69
|
-
* @param
|
|
68
|
+
* @param _toolContext The context of the tool.
|
|
69
|
+
* @param _llmRequest The outgoing LLM request, mutable this method.
|
|
70
70
|
*/
|
|
71
|
-
processLlmRequest(
|
|
72
|
-
llmRequest: LlmRequest): Promise<void>;
|
|
71
|
+
processLlmRequest(_toolContext: Context, _llmRequest: LlmRequest): Promise<void>;
|
|
73
72
|
}
|
|
74
73
|
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseTool, IN_MODEL_TOOL_SYMBOL, ToolProcessLlmRequest } from './base_tool.js';
|
|
7
|
+
/**
|
|
8
|
+
* A tool the model runs itself. It is switched on through request parameters
|
|
9
|
+
* — Google Search, URL context, the grounding and retrieval tools — and never
|
|
10
|
+
* executes here.
|
|
11
|
+
*
|
|
12
|
+
* Such a tool has no function declaration, so `BaseTool.processLlmRequest`
|
|
13
|
+
* returns before the line that registers it in `llmRequest.toolsDict`. That
|
|
14
|
+
* left the model primed with a name the framework could not route: a model
|
|
15
|
+
* that returns one as an explicit function call, rather than running it,
|
|
16
|
+
* produced a call that failed to resolve even though the user had registered
|
|
17
|
+
* the tool. Registering the name here keeps the call resolvable, and
|
|
18
|
+
* `runAsync` answers it by telling the model the tool is not callable.
|
|
19
|
+
*
|
|
20
|
+
* A tool whose `applyBuiltInConfig` returns without configuring anything —
|
|
21
|
+
* every one of them does when the request carries no model — still claims its
|
|
22
|
+
* name. That request never reaches a model, so no function call can come back
|
|
23
|
+
* for it and the registration is inert.
|
|
24
|
+
*/
|
|
25
|
+
export declare abstract class BuiltInTool extends BaseTool {
|
|
26
|
+
/** Marks this tool as one the model runs itself. */
|
|
27
|
+
readonly [IN_MODEL_TOOL_SYMBOL] = true;
|
|
28
|
+
/**
|
|
29
|
+
* Adds this tool's configuration to the request.
|
|
30
|
+
*
|
|
31
|
+
* @param request The request to process the LLM request.
|
|
32
|
+
*/
|
|
33
|
+
protected abstract applyBuiltInConfig(request: ToolProcessLlmRequest): Promise<void>;
|
|
34
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Answers a function call the model should not have made. The tool is
|
|
37
|
+
* already configured on the request and its results arrive as grounding
|
|
38
|
+
* metadata, so the model is told to use those rather than call again.
|
|
39
|
+
*/
|
|
40
|
+
runAsync(): Promise<unknown>;
|
|
41
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LlmRequest } from '../models/llm_request.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ToolProcessLlmRequest } from './base_tool.js';
|
|
3
|
+
import { BuiltInTool } from './built_in_tool.js';
|
|
3
4
|
/**
|
|
4
5
|
* Appends the Enterprise Web Search built-in tool to the LLM request when the
|
|
5
6
|
* target model supports it.
|
|
@@ -15,10 +16,9 @@ export declare function applyEnterpriseWebSearch(llmRequest: LlmRequest): void;
|
|
|
15
16
|
* This tool operates internally within the model and does not require or
|
|
16
17
|
* perform local code execution.
|
|
17
18
|
*/
|
|
18
|
-
export declare class EnterpriseWebSearchTool extends
|
|
19
|
+
export declare class EnterpriseWebSearchTool extends BuiltInTool {
|
|
19
20
|
constructor();
|
|
20
|
-
|
|
21
|
-
processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
21
|
+
protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* A global instance of {@link EnterpriseWebSearchTool}.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration, Schema } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest, ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
/** The name of the finish_task tool. */
|
|
9
|
+
export declare const FINISH_TASK_TOOL_NAME = "finish_task";
|
|
10
|
+
/**
|
|
11
|
+
* The result returned by {@link FinishTaskTool.runAsync} when validation passes.
|
|
12
|
+
* The task-mode wrapper uses this to distinguish a successful completion from a
|
|
13
|
+
* validation-error retry signal.
|
|
14
|
+
*/
|
|
15
|
+
export declare const FINISH_TASK_SUCCESS_RESULT = "Task completed.";
|
|
16
|
+
/**
|
|
17
|
+
* Tool for signaling that a task-mode {@link LlmAgent} has completed its task.
|
|
18
|
+
*
|
|
19
|
+
* The tool's parameters mirror the agent's `outputSchema` (or a default single
|
|
20
|
+
* `result` string). The task-mode wrapper sniffs the `finish_task` function call
|
|
21
|
+
* and, on a successful function response, promotes the call's arguments to the
|
|
22
|
+
* node's output.
|
|
23
|
+
*
|
|
24
|
+
* Ported from `google/adk-python`
|
|
25
|
+
* `agents/llm/task/_finish_task_tool.py::FinishTaskTool`.
|
|
26
|
+
*/
|
|
27
|
+
export declare class FinishTaskTool extends BaseTool {
|
|
28
|
+
/** The schema describing the expected task output. */
|
|
29
|
+
private readonly outputSchema;
|
|
30
|
+
/**
|
|
31
|
+
* When the output schema is a non-object (primitive/array), the value is
|
|
32
|
+
* wrapped under this key (the GenAI API requires object-typed parameters).
|
|
33
|
+
* `undefined` for object schemas (the value lives at the top level of args).
|
|
34
|
+
*/
|
|
35
|
+
readonly wrapperKey?: string;
|
|
36
|
+
constructor(outputSchema?: Schema);
|
|
37
|
+
_getDeclaration(): FunctionDeclaration;
|
|
38
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Extracts the task output from a `finish_task` call's arguments, applying the
|
|
41
|
+
* wrapper-key unwrapping when the schema is a non-object.
|
|
42
|
+
*/
|
|
43
|
+
extractOutput(args: Record<string, unknown>): unknown;
|
|
44
|
+
runAsync({ args }: RunAsyncToolRequest): Promise<unknown>;
|
|
45
|
+
/** Returns any `required` keys the schema declares that are absent. */
|
|
46
|
+
private missingRequiredKeys;
|
|
47
|
+
}
|
|
@@ -4,21 +4,34 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Part } from '@google/genai';
|
|
7
|
-
import { ArtifactVersion
|
|
7
|
+
import { ArtifactVersion } from '../artifacts/base_artifact_service.js';
|
|
8
|
+
import { SessionArtifactService, SessionLoadArtifactRequest, SessionSaveArtifactRequest } from '../artifacts/session_artifact_service.js';
|
|
8
9
|
import { Context } from '../agents/context.js';
|
|
10
|
+
/**
|
|
11
|
+
* A unique symbol to identify session-scoped artifact services.
|
|
12
|
+
*
|
|
13
|
+
* Resolves to the same symbol as the one used by `isSessionArtifactService` in
|
|
14
|
+
* `session_artifact_service.ts` because `Symbol.for` looks up the global
|
|
15
|
+
* symbol registry.
|
|
16
|
+
*/
|
|
17
|
+
declare const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL: unique symbol;
|
|
9
18
|
/**
|
|
10
19
|
* Artifact service that forwards to the parent tool context.
|
|
11
20
|
*/
|
|
12
|
-
export declare class ForwardingArtifactService implements
|
|
21
|
+
export declare class ForwardingArtifactService implements SessionArtifactService {
|
|
13
22
|
private readonly toolContext;
|
|
14
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Brands this class as a session-scoped artifact service.
|
|
25
|
+
*/
|
|
26
|
+
readonly [SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] = true;
|
|
15
27
|
constructor(toolContext: Context);
|
|
16
|
-
saveArtifact(request:
|
|
17
|
-
loadArtifact(request:
|
|
18
|
-
listArtifactKeys(
|
|
28
|
+
saveArtifact(request: SessionSaveArtifactRequest): Promise<number>;
|
|
29
|
+
loadArtifact(request: SessionLoadArtifactRequest): Promise<Part | undefined>;
|
|
30
|
+
listArtifactKeys(): Promise<string[]>;
|
|
19
31
|
private getArtifactService;
|
|
20
|
-
deleteArtifact(
|
|
21
|
-
listVersions(
|
|
22
|
-
listArtifactVersions(
|
|
23
|
-
getArtifactVersion(request:
|
|
32
|
+
deleteArtifact(filename: string): Promise<void>;
|
|
33
|
+
listVersions(filename: string): Promise<number[]>;
|
|
34
|
+
listArtifactVersions(filename: string): Promise<ArtifactVersion[]>;
|
|
35
|
+
getArtifactVersion(request: SessionLoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
24
36
|
}
|
|
37
|
+
export {};
|