@google/adk 2.0.0 → 2.2.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 +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +66 -6
- package/dist/cjs/a2a/agent_executor.js +18 -6
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +21 -6
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +15 -7
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_credential.js +12 -2
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +5 -5
- 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 +11 -6
- package/dist/cjs/common.js +119 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- 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/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/examples/example.js +92 -0
- package/dist/cjs/examples/example_util.js +28 -4
- package/dist/cjs/examples/index.js +39 -0
- package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
- package/dist/cjs/index.js +93 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
- 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 +1 -1
- package/dist/cjs/models/base_llm.js +2 -7
- package/dist/cjs/models/chrome_prompt_llm.js +318 -0
- package/dist/cjs/models/chrome_prompt_utils.js +281 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -4
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/planners/base_planner.js +56 -0
- package/dist/cjs/planners/built_in_planner.js +85 -0
- package/dist/cjs/planners/plan_re_act_planner.js +172 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +46 -61
- 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/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/example_tool.js +1 -1
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
- package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- 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/skill_toolset.js +2 -0
- package/dist/cjs/tools/tool_context.js +41 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/tools/webmcp/index.js +37 -0
- package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
- package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
- package/dist/cjs/utils/case_utils.js +52 -2
- package/dist/cjs/utils/client_labels.js +67 -0
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +103 -9
- package/dist/cjs/utils/hash_utils.js +73 -0
- package/dist/cjs/utils/live_connection_utils.js +10 -9
- package/dist/cjs/utils/logger.js +15 -50
- 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 +17 -2
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/simple_zod_to_json.js +5 -0
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +71 -6
- package/dist/esm/a2a/agent_executor.js +18 -6
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +24 -6
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +15 -7
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_credential.js +11 -1
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +5 -5
- 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 +11 -6
- package/dist/esm/common.js +111 -40
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- 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/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/examples/example.js +85 -0
- package/dist/esm/examples/example_util.js +25 -3
- package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
- package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
- package/dist/esm/index.js +87 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
- 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 +1 -1
- package/dist/esm/models/base_llm.js +3 -8
- package/dist/esm/models/chrome_prompt_llm.js +302 -0
- package/dist/esm/models/chrome_prompt_utils.js +241 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -5
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/planners/base_planner.js +28 -0
- package/dist/esm/planners/built_in_planner.js +57 -0
- package/dist/esm/planners/plan_re_act_planner.js +145 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +46 -61
- 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/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/example_tool.js +1 -1
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
- package/dist/esm/tools/openapi_tool/common/common.js +112 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- 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/skill_toolset.js +2 -0
- package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
- package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
- package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
- package/dist/esm/utils/case_utils.js +49 -1
- package/dist/esm/utils/client_labels.js +65 -0
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +102 -9
- package/dist/esm/utils/hash_utils.js +45 -0
- package/dist/esm/utils/live_connection_utils.js +11 -10
- package/dist/esm/utils/logger.js +14 -40
- 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 +15 -2
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/simple_zod_to_json.js +5 -0
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- 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 +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +20 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- 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 +22 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- 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 +37 -23
- package/dist/types/context/compaction_utils.d.ts +9 -1
- 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_actions.d.ts +13 -0
- package/dist/types/examples/base_example_provider.d.ts +2 -2
- package/dist/types/examples/example.d.ts +75 -0
- package/dist/types/examples/example_util.d.ts +13 -2
- package/dist/types/examples/index.d.ts +18 -0
- package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
- package/dist/types/index.d.ts +31 -1
- package/dist/types/memory/memory_entry.d.ts +15 -0
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -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/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/planners/base_planner.d.ts +50 -0
- package/dist/types/planners/built_in_planner.d.ts +53 -0
- package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -62
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- 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/runner/runner.d.ts +7 -8
- 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/skills/skill_registry.d.ts +8 -0
- package/dist/types/tools/base_tool.d.ts +11 -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/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- 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/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
- package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
- package/dist/types/tools/preload_memory_tool.d.ts +1 -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/tool_context.d.ts +19 -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/tools/webmcp/index.d.ts +12 -0
- package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
- package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
- package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
- package/dist/types/utils/case_utils.d.ts +36 -0
- package/dist/types/utils/client_labels.d.ts +33 -0
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +18 -7
- package/dist/types/utils/hash_utils.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +33 -3
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/model_name.d.ts +30 -2
- 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 +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +337 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +24 -15
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- 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 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- 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 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Content, FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import type { ChromeMessage } from './chrome_prompt_llm.js';
|
|
8
|
+
import type { LlmRequest } from './llm_request.js';
|
|
9
|
+
import type { LlmResponse } from './llm_response.js';
|
|
10
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
11
|
+
/** Pulls function declarations out of a request's tool config. */
|
|
12
|
+
export declare function collectFunctionDeclarations(llmRequest: LlmRequest): FunctionDeclaration[];
|
|
13
|
+
/**
|
|
14
|
+
* Builds the constrained-decoding schema: a union of "final answer" and one
|
|
15
|
+
* branch per available tool, each carrying that tool's exact argument schema.
|
|
16
|
+
*
|
|
17
|
+
* A single-value `enum` is used rather than `const`, because it is semantically
|
|
18
|
+
* identical and more widely supported across constraint engines.
|
|
19
|
+
*
|
|
20
|
+
* Every branch sets `additionalProperties: false`, and that is load-bearing
|
|
21
|
+
* rather than tidy. Omitted, JSON Schema permits extra keys, so a decoder may
|
|
22
|
+
* emit `,"` after the last required key instead of `}`. The object then never
|
|
23
|
+
* has to close: the model keeps writing until the output runs out, and the
|
|
24
|
+
* reply arrives as truncated JSON. Whether it closes in time is left to
|
|
25
|
+
* sampling, which is why one session can answer a question cleanly and mangle
|
|
26
|
+
* the next. Closing the branch makes `}` the only legal token once `text` is
|
|
27
|
+
* written.
|
|
28
|
+
*
|
|
29
|
+
* It is set on the envelope only, never pushed into a tool's own argument
|
|
30
|
+
* schema. Those belong to the caller; some describe objects that legitimately
|
|
31
|
+
* accept keys they do not list, and forbidding those here would make a valid
|
|
32
|
+
* call impossible to express.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildToolChoiceSchema(declarations: FunctionDeclaration[]): Record<string, unknown>;
|
|
35
|
+
/** Renders tool declarations into instructions the model can act on. */
|
|
36
|
+
export declare function renderToolInstructions(declarations: FunctionDeclaration[]): string;
|
|
37
|
+
/**
|
|
38
|
+
* Renders a tool result as text the model can actually read.
|
|
39
|
+
*
|
|
40
|
+
* ADK wraps a tool's string return value as `{result: "<the string>"}`. Naively
|
|
41
|
+
* JSON-stringifying that produces double-encoded output, in which every quote
|
|
42
|
+
* is escaped twice:
|
|
43
|
+
*
|
|
44
|
+
* [tool_result] search -> {"result":"{\"matches\":[{\"id\":8, ...
|
|
45
|
+
*
|
|
46
|
+
* A large model shrugs at this. A small one has to spend attention unpicking
|
|
47
|
+
* the encoding before it can read the payload, and often just fails. Unwrapping
|
|
48
|
+
* the single `result` key and re-emitting plain JSON costs nothing and gives
|
|
49
|
+
* the model something legible:
|
|
50
|
+
*
|
|
51
|
+
* [tool_result] search -> {"matches":[{"id":8, ...
|
|
52
|
+
*/
|
|
53
|
+
export declare function renderToolResult(response: unknown): string;
|
|
54
|
+
/**
|
|
55
|
+
* Maps genai `Content[]` onto Prompt API messages.
|
|
56
|
+
*
|
|
57
|
+
* Function calls and responses have no native representation in a Prompt API
|
|
58
|
+
* message, so they are serialised to text. Without this the model loses the
|
|
59
|
+
* thread of a multi-step tool interaction.
|
|
60
|
+
*/
|
|
61
|
+
export declare function contentsToMessages(contents: Content[]): ChromeMessage[];
|
|
62
|
+
/** Extracts the system instruction from a request as plain text. */
|
|
63
|
+
export declare function extractSystemInstruction(llmRequest: LlmRequest): string;
|
|
64
|
+
/**
|
|
65
|
+
* Removes ADK's per-agent identity preamble from a system prompt.
|
|
66
|
+
*
|
|
67
|
+
* Turns:
|
|
68
|
+
*
|
|
69
|
+
* You are an agent. Your internal name is "rerank_11".
|
|
70
|
+
* The description about you is "..."
|
|
71
|
+
*
|
|
72
|
+
* <the actual instruction>
|
|
73
|
+
*
|
|
74
|
+
* into just the instruction, so that sibling agents sharing one instruction
|
|
75
|
+
* also share one cached session. See
|
|
76
|
+
* {@link ChromeBuiltInLlmParams.normalizeSystemPrompt}.
|
|
77
|
+
*/
|
|
78
|
+
export declare function stripAdkIdentityPreamble(systemPrompt: string): string;
|
|
79
|
+
/** Whether an error is an aborted-operation error from a cancelled signal. */
|
|
80
|
+
export declare function isAbortError(error: unknown): boolean;
|
|
81
|
+
export declare function finalText(text: string): LlmResponse;
|
|
82
|
+
export declare function errorResponse(error: unknown): LlmResponse;
|
|
83
|
+
/** Shown when a reply is JSON, is broken, and holds no readable answer. */
|
|
84
|
+
export declare const TRUNCATED_REPLY = "The model started an answer and did not finish it. Ask again.";
|
|
85
|
+
/** True when a reply is the JSON envelope rather than plain prose. */
|
|
86
|
+
export declare function looksLikeEnvelope(raw: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Reads the answer out of a truncated `{"kind":"final","text":"…` envelope.
|
|
89
|
+
*
|
|
90
|
+
* A constrained reply that stops early is usually still readable: the answer
|
|
91
|
+
* sits in `text` and only the closing quote and brace are missing. Scanning it
|
|
92
|
+
* out by hand beats `JSON.parse`, which needs the whole document, and beats
|
|
93
|
+
* showing the envelope to the caller.
|
|
94
|
+
*
|
|
95
|
+
* Returns undefined when there is no `text` key to read.
|
|
96
|
+
*/
|
|
97
|
+
export declare function salvageFinalText(raw: string): string | undefined;
|
|
@@ -81,9 +81,14 @@ export declare class Gemini extends BaseLlm {
|
|
|
81
81
|
/**
|
|
82
82
|
* Sends a request to the Gemini model.
|
|
83
83
|
*
|
|
84
|
-
* @param llmRequest
|
|
85
|
-
* @param stream
|
|
86
|
-
* @yields LlmResponse
|
|
84
|
+
* @param llmRequest The request to send to the Gemini model.
|
|
85
|
+
* @param stream Whether to make a streaming call. Defaults to `false`.
|
|
86
|
+
* @yields Each {@link LlmResponse} produced by the model. A non-streaming
|
|
87
|
+
* call yields exactly one; a streaming call yields the partial responses
|
|
88
|
+
* as they arrive, then a final aggregated response whenever the stream
|
|
89
|
+
* carried either content or usage/grounding/citation metadata. A
|
|
90
|
+
* metadata-only stream therefore still ends with one, holding the
|
|
91
|
+
* metadata and no `content`; only a stream with neither ends silently.
|
|
87
92
|
*/
|
|
88
93
|
generateContentAsync(llmRequest: LlmRequest, stream?: boolean, abortSignal?: AbortSignal): AsyncGenerator<LlmResponse, void>;
|
|
89
94
|
protected getHttpOptions(): HttpOptions;
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { BaseLlm } from './base_llm.js';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The constructor of a {@link BaseLlm} subclass, rather than an instance of
|
|
9
|
+
* one: a class that can be `new`-ed with a model name, and that also exposes
|
|
10
|
+
* the static `supportedModels` patterns the registry matches against.
|
|
10
11
|
*/
|
|
11
12
|
export type BaseLlmType = (new (params: {
|
|
12
13
|
model: string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part } from '@google/genai';
|
|
7
|
+
import { Context } from '../agents/context.js';
|
|
8
|
+
import { ReadonlyContext } from '../agents/readonly_context.js';
|
|
9
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
10
|
+
/**
|
|
11
|
+
* A unique symbol to identify ADK planner classes.
|
|
12
|
+
* Defined once and shared by all BasePlanner instances.
|
|
13
|
+
*/
|
|
14
|
+
declare const BASE_PLANNER_SIGNATURE_SYMBOL: unique symbol;
|
|
15
|
+
/**
|
|
16
|
+
* Type guard to check if an object is an instance of BasePlanner.
|
|
17
|
+
* @param obj The object to check.
|
|
18
|
+
* @returns True if the object is an instance of BasePlanner, false otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isBasePlanner(obj: unknown): obj is BasePlanner;
|
|
21
|
+
/**
|
|
22
|
+
* Abstract base class for all planners.
|
|
23
|
+
*
|
|
24
|
+
* The planner allows the agent to generate plans for the queries to guide its
|
|
25
|
+
* action.
|
|
26
|
+
*/
|
|
27
|
+
export declare abstract class BasePlanner {
|
|
28
|
+
/** A unique symbol to identify ADK base planner class. */
|
|
29
|
+
readonly [BASE_PLANNER_SIGNATURE_SYMBOL] = true;
|
|
30
|
+
/**
|
|
31
|
+
* Builds the system instruction to be appended to the LLM request for
|
|
32
|
+
* planning.
|
|
33
|
+
*
|
|
34
|
+
* @param readonlyContext The readonly context of the invocation.
|
|
35
|
+
* @param llmRequest The LLM request. Readonly.
|
|
36
|
+
* @returns The planning system instruction, or undefined if no instruction is
|
|
37
|
+
* needed.
|
|
38
|
+
*/
|
|
39
|
+
abstract buildPlanningInstruction(readonlyContext: ReadonlyContext, llmRequest: LlmRequest): string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Processes the LLM response for planning.
|
|
42
|
+
*
|
|
43
|
+
* @param callbackContext The callback context of the invocation.
|
|
44
|
+
* @param responseParts The LLM response parts. Readonly.
|
|
45
|
+
* @returns The processed response parts, or undefined if no processing is
|
|
46
|
+
* needed.
|
|
47
|
+
*/
|
|
48
|
+
abstract processPlanningResponse(callbackContext: Context, responseParts: Part[]): Part[] | undefined;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part, ThinkingConfig } from '@google/genai';
|
|
7
|
+
import { Context } from '../agents/context.js';
|
|
8
|
+
import { ReadonlyContext } from '../agents/readonly_context.js';
|
|
9
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
10
|
+
import { BasePlanner } from './base_planner.js';
|
|
11
|
+
/**
|
|
12
|
+
* A unique symbol to identify ADK built-in planner classes.
|
|
13
|
+
* Defined once and shared by all BuiltInPlanner instances.
|
|
14
|
+
*/
|
|
15
|
+
declare const BUILT_IN_PLANNER_SIGNATURE_SYMBOL: unique symbol;
|
|
16
|
+
/**
|
|
17
|
+
* Type guard to check if an object is an instance of BuiltInPlanner.
|
|
18
|
+
* @param obj The object to check.
|
|
19
|
+
* @returns True if the object is an instance of BuiltInPlanner, false
|
|
20
|
+
* otherwise.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isBuiltInPlanner(obj: unknown): obj is BuiltInPlanner;
|
|
23
|
+
/**
|
|
24
|
+
* The built-in planner that uses model's built-in thinking features.
|
|
25
|
+
*/
|
|
26
|
+
export declare class BuiltInPlanner extends BasePlanner {
|
|
27
|
+
/** A unique symbol to identify ADK built-in planner class. */
|
|
28
|
+
readonly [BUILT_IN_PLANNER_SIGNATURE_SYMBOL] = true;
|
|
29
|
+
/**
|
|
30
|
+
* Config for model built-in thinking features. An error will be returned if
|
|
31
|
+
* this field is set for models that don't support thinking.
|
|
32
|
+
*/
|
|
33
|
+
thinkingConfig: ThinkingConfig;
|
|
34
|
+
/**
|
|
35
|
+
* Initializes the built-in planner.
|
|
36
|
+
*
|
|
37
|
+
* @param options.thinkingConfig Config for model built-in thinking features.
|
|
38
|
+
* An error will be returned if this field is set for models that don't
|
|
39
|
+
* support thinking.
|
|
40
|
+
*/
|
|
41
|
+
constructor(options: {
|
|
42
|
+
thinkingConfig: ThinkingConfig;
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Applies the thinking config to the LLM request.
|
|
46
|
+
*
|
|
47
|
+
* @param llmRequest The LLM request to apply the thinking config to.
|
|
48
|
+
*/
|
|
49
|
+
applyThinkingConfig(llmRequest: LlmRequest): void;
|
|
50
|
+
buildPlanningInstruction(_readonlyContext: ReadonlyContext, _llmRequest: LlmRequest): string | undefined;
|
|
51
|
+
processPlanningResponse(_callbackContext: Context, _responseParts: Part[]): Part[] | undefined;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part } from '@google/genai';
|
|
7
|
+
import { Context } from '../agents/context.js';
|
|
8
|
+
import { ReadonlyContext } from '../agents/readonly_context.js';
|
|
9
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
10
|
+
import { BasePlanner } from './base_planner.js';
|
|
11
|
+
/**
|
|
12
|
+
* Plan-Re-Act planner that constrains the LLM response to generate a plan
|
|
13
|
+
* before any action/observation.
|
|
14
|
+
*
|
|
15
|
+
* Note: this planner does not require the model to support built-in thinking
|
|
16
|
+
* features or setting the thinking config.
|
|
17
|
+
*/
|
|
18
|
+
export declare class PlanReActPlanner extends BasePlanner {
|
|
19
|
+
buildPlanningInstruction(_readonlyContext: ReadonlyContext, _llmRequest: LlmRequest): string;
|
|
20
|
+
processPlanningResponse(_callbackContext: Context, responseParts: Part[]): Part[] | undefined;
|
|
21
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export declare const REFLECT_AND_RETRY_RESPONSE_TYPE = "ERROR_HANDLED_BY_REFLECT_AND_RETRY_PLUGIN";
|
|
7
|
+
export declare const GLOBAL_SCOPE_KEY = "__global_reflect_and_retry_scope__";
|
|
8
|
+
/**
|
|
9
|
+
* Defines the lifecycle scope for tracking failure counts.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum TrackingScope {
|
|
12
|
+
/** Track failures within the current agent invocation. */
|
|
13
|
+
INVOCATION = "invocation",
|
|
14
|
+
/** Track failures globally across all invocations. */
|
|
15
|
+
GLOBAL = "global"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A mapping from an item's (tool or model) name to its consecutive failure count.
|
|
19
|
+
*/
|
|
20
|
+
export type PerItemFailuresCounter = Map<string, number>;
|
|
21
|
+
/**
|
|
22
|
+
* Response containing tool failure details and retry guidance.
|
|
23
|
+
*
|
|
24
|
+
* Field names use snake_case to match the model-facing reflection payload schema
|
|
25
|
+
* and maintain parity with ADK Python.
|
|
26
|
+
*/
|
|
27
|
+
export interface ToolFailureResponse {
|
|
28
|
+
response_type: string;
|
|
29
|
+
error_type: string;
|
|
30
|
+
error_details: string;
|
|
31
|
+
retry_count: number;
|
|
32
|
+
reflection_guidance: string;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolves the scope key based on tracking scope and invocation ID.
|
|
37
|
+
*
|
|
38
|
+
* @param scope - The tracking scope (INVOCATION or GLOBAL).
|
|
39
|
+
* @param invocationId - The invocation ID (required for INVOCATION scope).
|
|
40
|
+
* @returns The resolved scope key string.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveScopeKey(scope: TrackingScope, invocationId?: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Thread-safe failure counter scoped by invocation or global key.
|
|
45
|
+
*/
|
|
46
|
+
export declare class ScopedFailureTracker {
|
|
47
|
+
private readonly scopedFailureCounters;
|
|
48
|
+
private lockPromise;
|
|
49
|
+
private acquireLock;
|
|
50
|
+
/**
|
|
51
|
+
* Atomically increments and returns the failure count for an item.
|
|
52
|
+
*
|
|
53
|
+
* @param scopeKey - The scope identifier (e.g. invocation ID or global key).
|
|
54
|
+
* @param itemName - The name of the tool or model.
|
|
55
|
+
* @returns The updated failure count.
|
|
56
|
+
*/
|
|
57
|
+
increment(scopeKey: string, itemName: string): Promise<number>;
|
|
58
|
+
/**
|
|
59
|
+
* Atomically resets the failure count for an item and cleans up state.
|
|
60
|
+
*
|
|
61
|
+
* @param scopeKey - The scope identifier.
|
|
62
|
+
* @param itemName - The name of the tool or model.
|
|
63
|
+
*/
|
|
64
|
+
reset(scopeKey: string, itemName: string): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Gets the current failure count for an item.
|
|
67
|
+
*
|
|
68
|
+
* @param scopeKey - The scope identifier.
|
|
69
|
+
* @param itemName - The name of the tool or model.
|
|
70
|
+
*/
|
|
71
|
+
getCount(scopeKey: string, itemName: string): Promise<number>;
|
|
72
|
+
}
|
|
@@ -60,38 +60,40 @@ export declare enum ContextCompactionTrigger {
|
|
|
60
60
|
* Example:
|
|
61
61
|
* A simple plugin that logs every tool call.
|
|
62
62
|
* ```typescript
|
|
63
|
+
* import {BasePlugin, BaseTool, Context, getLogger} from '@google/adk';
|
|
64
|
+
*
|
|
65
|
+
* const logger = getLogger();
|
|
66
|
+
*
|
|
63
67
|
* class ToolLoggerPlugin extends BasePlugin {
|
|
64
68
|
* constructor() {
|
|
65
69
|
* super('tool_logger');
|
|
66
70
|
* }
|
|
67
71
|
*
|
|
68
72
|
* override async beforeToolCallback(
|
|
69
|
-
* {tool, toolArgs
|
|
73
|
+
* {tool, toolArgs}: {
|
|
70
74
|
* tool: BaseTool,
|
|
71
75
|
* toolArgs: Record<string, unknown>,
|
|
72
76
|
* toolContext: Context,
|
|
73
77
|
* },
|
|
74
78
|
* ): Promise<Record<string, unknown> | undefined> {
|
|
75
|
-
*
|
|
76
|
-
* `[${this.name}]
|
|
77
|
-
*
|
|
78
|
-
* )}`,
|
|
79
|
+
* logger.info(
|
|
80
|
+
* `[${this.name}] calling tool '${tool.name}' with args: ` +
|
|
81
|
+
* JSON.stringify(toolArgs),
|
|
79
82
|
* );
|
|
80
83
|
* return;
|
|
81
84
|
* }
|
|
82
85
|
*
|
|
83
86
|
* override async afterToolCallback(
|
|
84
|
-
* {tool,
|
|
87
|
+
* {tool, result}: {
|
|
85
88
|
* tool: BaseTool,
|
|
86
89
|
* toolArgs: Record<string, unknown>,
|
|
87
90
|
* toolContext: Context,
|
|
88
91
|
* result: Record<string, unknown>,
|
|
89
92
|
* },
|
|
90
93
|
* ): Promise<Record<string, unknown> | undefined> {
|
|
91
|
-
*
|
|
92
|
-
* `[${this.name}]
|
|
93
|
-
*
|
|
94
|
-
* )}`,
|
|
94
|
+
* logger.info(
|
|
95
|
+
* `[${this.name}] tool '${tool.name}' finished with result: ` +
|
|
96
|
+
* JSON.stringify(result),
|
|
95
97
|
* );
|
|
96
98
|
* return;
|
|
97
99
|
* }
|
|
@@ -119,13 +121,13 @@ export declare abstract class BasePlugin {
|
|
|
119
121
|
* This callback helps logging and modifying the user message before the
|
|
120
122
|
* runner starts the invocation.
|
|
121
123
|
*
|
|
122
|
-
* @param
|
|
123
|
-
* @param
|
|
124
|
+
* @param _params.invocationContext The context for the entire invocation.
|
|
125
|
+
* @param _params.userMessage The message content input by user.
|
|
124
126
|
* @returns An optional `Content` to be returned to the ADK. Returning a
|
|
125
127
|
* value to replace the user message. Returning `undefined` to proceed
|
|
126
128
|
* normally.
|
|
127
129
|
*/
|
|
128
|
-
onUserMessageCallback(
|
|
130
|
+
onUserMessageCallback(_params: {
|
|
129
131
|
invocationContext: InvocationContext;
|
|
130
132
|
userMessage: Content;
|
|
131
133
|
}): Promise<Content | undefined>;
|
|
@@ -135,13 +137,13 @@ export declare abstract class BasePlugin {
|
|
|
135
137
|
* This is the first callback to be called in the lifecycle, ideal for global
|
|
136
138
|
* setup or initialization tasks.
|
|
137
139
|
*
|
|
138
|
-
* @param
|
|
140
|
+
* @param _params.invocationContext The context for the entire invocation, containing
|
|
139
141
|
* session information, the root agent, etc.
|
|
140
142
|
* @returns An optional `Event` to be returned to the ADK. Returning a value
|
|
141
143
|
* to halt execution of the runner and ends the runner with that event.
|
|
142
144
|
* Return `undefined` to proceed normally.
|
|
143
145
|
*/
|
|
144
|
-
beforeRunCallback(
|
|
146
|
+
beforeRunCallback(_params: {
|
|
145
147
|
invocationContext: InvocationContext;
|
|
146
148
|
}): Promise<Content | undefined>;
|
|
147
149
|
/**
|
|
@@ -150,15 +152,15 @@ export declare abstract class BasePlugin {
|
|
|
150
152
|
* This is the ideal place to make modification to the event before the event
|
|
151
153
|
* is handled by the underlying agent app.
|
|
152
154
|
*
|
|
153
|
-
* @param
|
|
154
|
-
* @param
|
|
155
|
+
* @param _params.invocationContext The context for the entire invocation.
|
|
156
|
+
* @param _params.event The event raised by the runner.
|
|
155
157
|
* @returns An optional value. A non-`undefined` return may be used by the
|
|
156
|
-
* framework to modify or replace the response. Copy
|
|
157
|
-
* constructing a replacement to preserve fields that are not
|
|
158
|
-
* modified, such as event actions. Returning `undefined` allows the
|
|
158
|
+
* framework to modify or replace the response. Copy the incoming
|
|
159
|
+
* `event` when constructing a replacement to preserve fields that are not
|
|
160
|
+
* being modified, such as event actions. Returning `undefined` allows the
|
|
159
161
|
* original response to be used.
|
|
160
162
|
*/
|
|
161
|
-
onEventCallback(
|
|
163
|
+
onEventCallback(_params: {
|
|
162
164
|
invocationContext: InvocationContext;
|
|
163
165
|
event: Event;
|
|
164
166
|
}): Promise<Event | undefined>;
|
|
@@ -168,10 +170,10 @@ export declare abstract class BasePlugin {
|
|
|
168
170
|
* This is the final callback in the ADK lifecycle, suitable for cleanup,
|
|
169
171
|
* final logging, or reporting tasks.
|
|
170
172
|
*
|
|
171
|
-
* @param
|
|
173
|
+
* @param _params.invocationContext The context for the entire invocation.
|
|
172
174
|
* @returns undefined
|
|
173
175
|
*/
|
|
174
|
-
afterRunCallback(
|
|
176
|
+
afterRunCallback(_params: {
|
|
175
177
|
invocationContext: InvocationContext;
|
|
176
178
|
}): Promise<void>;
|
|
177
179
|
/**
|
|
@@ -180,13 +182,13 @@ export declare abstract class BasePlugin {
|
|
|
180
182
|
* This callback can be used for logging, setup, or to short-circuit the
|
|
181
183
|
* agent's execution by returning a value.
|
|
182
184
|
*
|
|
183
|
-
* @param
|
|
184
|
-
* @param
|
|
185
|
+
* @param _params.agent The agent that is about to run.
|
|
186
|
+
* @param _params.callbackContext The context for the agent invocation.
|
|
185
187
|
* @returns An optional `Content` object. If a value is returned, it will
|
|
186
188
|
* bypass the agent's callbacks and its execution, and return this value
|
|
187
189
|
* directly. Returning `undefined` allows the agent to proceed normally.
|
|
188
190
|
*/
|
|
189
|
-
beforeAgentCallback(
|
|
191
|
+
beforeAgentCallback(_params: {
|
|
190
192
|
agent: BaseAgent;
|
|
191
193
|
callbackContext: Context;
|
|
192
194
|
}): Promise<Content | undefined>;
|
|
@@ -196,13 +198,13 @@ export declare abstract class BasePlugin {
|
|
|
196
198
|
* This callback can be used to inspect, log, or modify the agent's final
|
|
197
199
|
* result before it is returned.
|
|
198
200
|
*
|
|
199
|
-
* @param
|
|
200
|
-
* @param
|
|
201
|
+
* @param _params.agent The agent that has just run.
|
|
202
|
+
* @param _params.callbackContext The context for the agent invocation.
|
|
201
203
|
* @returns An optional `Content` object. If a value is returned, it will
|
|
202
204
|
* replace the agent's original result. Returning `undefined` uses the
|
|
203
205
|
* original, unmodified result.
|
|
204
206
|
*/
|
|
205
|
-
afterAgentCallback(
|
|
207
|
+
afterAgentCallback(_params: {
|
|
206
208
|
agent: BaseAgent;
|
|
207
209
|
callbackContext: Context;
|
|
208
210
|
}): Promise<Content | undefined>;
|
|
@@ -246,13 +248,13 @@ export declare abstract class BasePlugin {
|
|
|
246
248
|
* object. It can also be used to implement caching by returning a cached
|
|
247
249
|
* `LlmResponse`, which would skip the actual model call.
|
|
248
250
|
*
|
|
249
|
-
* @param
|
|
250
|
-
* @param
|
|
251
|
+
* @param _params.callbackContext The context for the current agent call.
|
|
252
|
+
* @param _params.llmRequest The prepared request object to be sent to the model.
|
|
251
253
|
* @returns An optional value. The interpretation of a non-`undefined`
|
|
252
254
|
* trigger an early exit and returns the response immediately. Returning
|
|
253
255
|
* `undefined` allows the LLM request to proceed normally.
|
|
254
256
|
*/
|
|
255
|
-
beforeModelCallback(
|
|
257
|
+
beforeModelCallback(_params: {
|
|
256
258
|
callbackContext: Context;
|
|
257
259
|
llmRequest: LlmRequest;
|
|
258
260
|
}): Promise<LlmResponse | undefined>;
|
|
@@ -262,13 +264,13 @@ export declare abstract class BasePlugin {
|
|
|
262
264
|
* This is the ideal place to log model responses, collect metrics on token
|
|
263
265
|
* usage, or perform post-processing on the raw `LlmResponse`.
|
|
264
266
|
*
|
|
265
|
-
* @param
|
|
266
|
-
* @param
|
|
267
|
+
* @param _params.callbackContext The context for the current agent call.
|
|
268
|
+
* @param _params.llmResponse The response object received from the model.
|
|
267
269
|
* @returns An optional value. A non-`undefined` return may be used by the
|
|
268
270
|
* framework to modify or replace the response. Returning `undefined`
|
|
269
271
|
* allows the original response to be used.
|
|
270
272
|
*/
|
|
271
|
-
afterModelCallback(
|
|
273
|
+
afterModelCallback(_params: {
|
|
272
274
|
callbackContext: Context;
|
|
273
275
|
llmResponse: LlmResponse;
|
|
274
276
|
}): Promise<LlmResponse | undefined>;
|
|
@@ -278,15 +280,15 @@ export declare abstract class BasePlugin {
|
|
|
278
280
|
* This callback provides an opportunity to handle model errors gracefully,
|
|
279
281
|
* potentially providing alternative responses or recovery mechanisms.
|
|
280
282
|
*
|
|
281
|
-
* @param
|
|
282
|
-
* @param
|
|
283
|
+
* @param _params.callbackContext The context for the current agent call.
|
|
284
|
+
* @param _params.llmRequest The request that was sent to the model when the error
|
|
283
285
|
* occurred.
|
|
284
|
-
* @param
|
|
286
|
+
* @param _params.error The exception that was raised during model execution.
|
|
285
287
|
* @returns An optional LlmResponse. If an LlmResponse is returned, it will be
|
|
286
288
|
* used instead of propagating the error. Returning `undefined` allows
|
|
287
289
|
* the original error to be raised.
|
|
288
290
|
*/
|
|
289
|
-
onModelErrorCallback(
|
|
291
|
+
onModelErrorCallback(_params: {
|
|
290
292
|
callbackContext: Context;
|
|
291
293
|
llmRequest: LlmRequest;
|
|
292
294
|
error: Error;
|
|
@@ -297,13 +299,13 @@ export declare abstract class BasePlugin {
|
|
|
297
299
|
* This callback provides an opportunity to inspect, log, or modify the
|
|
298
300
|
* available tools before they are selected.
|
|
299
301
|
*
|
|
300
|
-
* @param
|
|
301
|
-
* @param
|
|
302
|
+
* @param _params.callbackContext The context for the current agent call.
|
|
303
|
+
* @param _params.tools The available tools.
|
|
302
304
|
* @returns An optional value. A non-`undefined` return may be used by the
|
|
303
305
|
* framework to modify or replace the available tools. Returning
|
|
304
306
|
* `undefined` allows the original tools to be used.
|
|
305
307
|
*/
|
|
306
|
-
beforeToolSelection(
|
|
308
|
+
beforeToolSelection(_params: {
|
|
307
309
|
callbackContext: Context;
|
|
308
310
|
tools: Readonly<Record<string, BaseTool>>;
|
|
309
311
|
}): Promise<Readonly<Record<string, BaseTool>> | undefined>;
|
|
@@ -313,10 +315,10 @@ export declare abstract class BasePlugin {
|
|
|
313
315
|
* This callback provides an opportunity to inspect or modify the context
|
|
314
316
|
* before it is compacted.
|
|
315
317
|
*
|
|
316
|
-
* @param
|
|
317
|
-
* @param
|
|
318
|
+
* @param _params.invocationContext The context for the entire invocation.
|
|
319
|
+
* @param _params.trigger The trigger for the context compaction.
|
|
318
320
|
*/
|
|
319
|
-
beforeContextCompaction(
|
|
321
|
+
beforeContextCompaction(_params: {
|
|
320
322
|
invocationContext: InvocationContext;
|
|
321
323
|
trigger: ContextCompactionTrigger;
|
|
322
324
|
}): Promise<void>;
|
|
@@ -326,10 +328,10 @@ export declare abstract class BasePlugin {
|
|
|
326
328
|
* This callback provides an opportunity to inspect the context
|
|
327
329
|
* after it has been compacted.
|
|
328
330
|
*
|
|
329
|
-
* @param
|
|
330
|
-
* @param
|
|
331
|
+
* @param _params.invocationContext The context for the entire invocation.
|
|
332
|
+
* @param _params.trigger The trigger for the context compaction.
|
|
331
333
|
*/
|
|
332
|
-
afterContextCompaction(
|
|
334
|
+
afterContextCompaction(_params: {
|
|
333
335
|
invocationContext: InvocationContext;
|
|
334
336
|
trigger: ContextCompactionTrigger;
|
|
335
337
|
}): Promise<void>;
|
|
@@ -339,15 +341,15 @@ export declare abstract class BasePlugin {
|
|
|
339
341
|
* This callback is useful for logging tool usage, input validation, or
|
|
340
342
|
* modifying the arguments before they are passed to the tool.
|
|
341
343
|
*
|
|
342
|
-
* @param
|
|
343
|
-
* @param
|
|
344
|
+
* @param _params.tool The tool instance that is about to be executed.
|
|
345
|
+
* @param _params.toolArgs The dictionary of arguments to be used for invoking the
|
|
344
346
|
* tool.
|
|
345
|
-
* @param
|
|
347
|
+
* @param _params.toolContext The context specific to the tool execution.
|
|
346
348
|
* @returns An optional dictionary. If a dictionary is returned, it will stop
|
|
347
349
|
* the tool execution and return this response immediately. Returning
|
|
348
350
|
* `undefined` uses the original, unmodified arguments.
|
|
349
351
|
*/
|
|
350
|
-
beforeToolCallback(
|
|
352
|
+
beforeToolCallback(_params: {
|
|
351
353
|
tool: BaseTool;
|
|
352
354
|
toolArgs: Record<string, unknown>;
|
|
353
355
|
toolContext: Context;
|
|
@@ -358,16 +360,16 @@ export declare abstract class BasePlugin {
|
|
|
358
360
|
* This callback allows for inspecting, logging, or modifying the result
|
|
359
361
|
* returned by a tool.
|
|
360
362
|
*
|
|
361
|
-
* @param
|
|
362
|
-
* @param
|
|
363
|
-
* @param
|
|
364
|
-
* @param
|
|
363
|
+
* @param _params.tool The tool instance that has just been executed.
|
|
364
|
+
* @param _params.toolArgs The original arguments that were passed to the tool.
|
|
365
|
+
* @param _params.toolContext The context specific to the tool execution.
|
|
366
|
+
* @param _params.result The dictionary returned by the tool invocation.
|
|
365
367
|
* @returns An optional dictionary. If a dictionary is returned, it will
|
|
366
368
|
* **replace** the original result from the tool. This allows for
|
|
367
369
|
* post-processing or altering tool outputs. Returning `undefined` uses
|
|
368
370
|
* the original, unmodified result.
|
|
369
371
|
*/
|
|
370
|
-
afterToolCallback(
|
|
372
|
+
afterToolCallback(_params: {
|
|
371
373
|
tool: BaseTool;
|
|
372
374
|
toolArgs: Record<string, unknown>;
|
|
373
375
|
toolContext: Context;
|
|
@@ -389,15 +391,15 @@ export declare abstract class BasePlugin {
|
|
|
389
391
|
* This callback provides an opportunity to handle tool errors gracefully,
|
|
390
392
|
* potentially providing alternative responses or recovery mechanisms.
|
|
391
393
|
*
|
|
392
|
-
* @param
|
|
393
|
-
* @param
|
|
394
|
-
* @param
|
|
395
|
-
* @param
|
|
394
|
+
* @param _params.tool The tool instance that encountered an error.
|
|
395
|
+
* @param _params.toolArgs The arguments that were passed to the tool.
|
|
396
|
+
* @param _params.toolContext The context specific to the tool execution.
|
|
397
|
+
* @param _params.error The exception that was raised during tool execution.
|
|
396
398
|
* @returns An optional dictionary. If a dictionary is returned, it will be
|
|
397
399
|
* used as the tool response instead of propagating the error. Returning
|
|
398
400
|
* `undefined` allows the original error to be raised.
|
|
399
401
|
*/
|
|
400
|
-
onToolErrorCallback(
|
|
402
|
+
onToolErrorCallback(_params: {
|
|
401
403
|
tool: BaseTool;
|
|
402
404
|
toolArgs: Record<string, unknown>;
|
|
403
405
|
toolContext: Context;
|
|
@@ -32,8 +32,9 @@ import { BasePlugin } from './base_plugin.js';
|
|
|
32
32
|
* ```typescript
|
|
33
33
|
* const loggingPlugin = new LoggingPlugin();
|
|
34
34
|
* const runner = new Runner({
|
|
35
|
-
*
|
|
36
|
-
*
|
|
35
|
+
* appName: 'my_app',
|
|
36
|
+
* agent: myAgent,
|
|
37
|
+
* sessionService: new InMemorySessionService(),
|
|
37
38
|
* plugins: [loggingPlugin],
|
|
38
39
|
* });
|
|
39
40
|
* ```
|