@softactivate/adk 1.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/LICENSE +202 -0
- package/README.md +3 -0
- package/dist/cjs/a2a/a2a_event.js +317 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +179 -0
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +205 -0
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +165 -0
- package/dist/cjs/a2a/agent_card.js +380 -0
- package/dist/cjs/a2a/agent_executor.js +221 -0
- package/dist/cjs/a2a/agent_to_a2a.js +115 -0
- package/dist/cjs/a2a/event_converter_utils.js +201 -0
- package/dist/cjs/a2a/event_processor_utils.js +180 -0
- package/dist/cjs/a2a/executor_context.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +126 -0
- package/dist/cjs/a2a/part_converter_utils.js +223 -0
- package/dist/cjs/agents/active_streaming_tool.js +44 -0
- package/dist/cjs/agents/base_agent.js +294 -0
- package/dist/cjs/agents/context.js +180 -0
- package/dist/cjs/agents/functions.js +525 -0
- package/dist/cjs/agents/instructions.js +110 -0
- package/dist/cjs/agents/invocation_context.js +110 -0
- package/dist/cjs/agents/live_request_queue.js +136 -0
- package/dist/cjs/agents/llm_agent.js +722 -0
- package/dist/cjs/agents/loop_agent.js +84 -0
- package/dist/cjs/agents/parallel_agent.js +95 -0
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +132 -0
- package/dist/cjs/agents/processors/base_llm_processor.js +44 -0
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +68 -0
- package/dist/cjs/agents/processors/code_execution_request_processor.js +391 -0
- package/dist/cjs/agents/processors/content_processor_utils.js +338 -0
- package/dist/cjs/agents/processors/content_request_processor.js +87 -0
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +70 -0
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +54 -0
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +85 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +165 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
- package/dist/cjs/agents/readonly_context.js +83 -0
- package/dist/cjs/agents/routed_agent.js +97 -0
- package/dist/cjs/agents/run_config.js +71 -0
- package/dist/cjs/agents/sequential_agent.js +106 -0
- package/dist/cjs/agents/transcription_entry.js +27 -0
- package/dist/cjs/artifacts/base_artifact_service.js +27 -0
- package/dist/cjs/artifacts/file_artifact_service.js +522 -0
- package/dist/cjs/artifacts/gcs_artifact_service.js +227 -0
- package/dist/cjs/artifacts/in_memory_artifact_service.js +181 -0
- package/dist/cjs/artifacts/registry.js +55 -0
- package/dist/cjs/auth/auth_credential.js +46 -0
- package/dist/cjs/auth/auth_handler.js +159 -0
- package/dist/cjs/auth/auth_preprocessor.js +178 -0
- package/dist/cjs/auth/auth_provider_registry.js +61 -0
- package/dist/cjs/auth/auth_schemes.js +62 -0
- package/dist/cjs/auth/auth_tool.js +27 -0
- package/dist/cjs/auth/base_auth_provider.js +27 -0
- package/dist/cjs/auth/credential_service/base_credential_service.js +27 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +63 -0
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +40 -0
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +59 -0
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
- package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
- package/dist/cjs/code_executors/base_code_executor.js +92 -0
- package/dist/cjs/code_executors/built_in_code_executor.js +74 -0
- package/dist/cjs/code_executors/code_execution_utils.js +161 -0
- package/dist/cjs/code_executors/code_executor_context.js +198 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
- package/dist/cjs/common.js +362 -0
- package/dist/cjs/context/base_context_compactor.js +27 -0
- package/dist/cjs/context/summarizers/base_summarizer.js +27 -0
- package/dist/cjs/context/summarizers/llm_summarizer.js +93 -0
- package/dist/cjs/context/token_based_context_compactor.js +135 -0
- package/dist/cjs/context/truncating_context_compactor.js +58 -0
- package/dist/cjs/events/compacted_event.js +53 -0
- package/dist/cjs/events/event.js +146 -0
- package/dist/cjs/events/event_actions.js +83 -0
- package/dist/cjs/events/structured_events.js +105 -0
- package/dist/cjs/examples/base_example_provider.js +56 -0
- package/dist/cjs/examples/example.js +27 -0
- package/dist/cjs/examples/example_util.js +107 -0
- package/dist/cjs/features/feature_registry.js +141 -0
- package/dist/cjs/index.js +94 -0
- package/dist/cjs/index_web.js +33 -0
- package/dist/cjs/memory/base_memory_service.js +27 -0
- package/dist/cjs/memory/in_memory_memory_service.js +99 -0
- package/dist/cjs/memory/memory_entry.js +27 -0
- package/dist/cjs/models/apigee_llm.js +182 -0
- package/dist/cjs/models/base_llm.js +102 -0
- package/dist/cjs/models/base_llm_connection.js +27 -0
- package/dist/cjs/models/gemini_llm_connection.js +133 -0
- package/dist/cjs/models/google_llm.js +291 -0
- package/dist/cjs/models/llm_request.js +82 -0
- package/dist/cjs/models/llm_response.js +73 -0
- package/dist/cjs/models/registry.js +123 -0
- package/dist/cjs/models/routed_llm.js +99 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugins/base_plugin.js +295 -0
- package/dist/cjs/plugins/logging_plugin.js +259 -0
- package/dist/cjs/plugins/plugin_manager.js +310 -0
- package/dist/cjs/plugins/security_plugin.js +156 -0
- package/dist/cjs/runner/in_memory_runner.js +58 -0
- package/dist/cjs/runner/runner.js +380 -0
- package/dist/cjs/sessions/base_session_service.js +121 -0
- package/dist/cjs/sessions/database_session_service.js +367 -0
- package/dist/cjs/sessions/db/operations.js +109 -0
- package/dist/cjs/sessions/db/schema.js +204 -0
- package/dist/cjs/sessions/in_memory_session_service.js +210 -0
- package/dist/cjs/sessions/registry.js +49 -0
- package/dist/cjs/sessions/session.js +48 -0
- package/dist/cjs/sessions/state.js +101 -0
- package/dist/cjs/skills/loader.js +283 -0
- package/dist/cjs/skills/prompt.js +58 -0
- package/dist/cjs/skills/skill.js +78 -0
- package/dist/cjs/telemetry/google_cloud.js +83 -0
- package/dist/cjs/telemetry/setup.js +105 -0
- package/dist/cjs/telemetry/tracing.js +253 -0
- package/dist/cjs/tools/agent_tool.js +219 -0
- package/dist/cjs/tools/base_tool.js +122 -0
- package/dist/cjs/tools/base_toolset.js +86 -0
- package/dist/cjs/tools/exit_loop_tool.js +63 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +87 -0
- package/dist/cjs/tools/function_tool.js +109 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +80 -0
- package/dist/cjs/tools/google_search_tool.js +80 -0
- package/dist/cjs/tools/load_artifacts_tool.js +188 -0
- package/dist/cjs/tools/load_memory_tool.js +107 -0
- package/dist/cjs/tools/long_running_tool.js +63 -0
- package/dist/cjs/tools/mcp/mcp_session_manager.js +77 -0
- package/dist/cjs/tools/mcp/mcp_tool.js +68 -0
- package/dist/cjs/tools/mcp/mcp_toolset.js +80 -0
- package/dist/cjs/tools/preload_memory_tool.js +109 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
- package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
- package/dist/cjs/tools/skill/skill_toolset.js +163 -0
- package/dist/cjs/tools/tool_confirmation.js +49 -0
- package/dist/cjs/tools/url_context_tool.js +73 -0
- package/dist/cjs/tools/vertex_ai_search_tool.js +127 -0
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +64 -0
- package/dist/cjs/utils/client_labels.js +56 -0
- package/dist/cjs/utils/env_aware_utils.js +92 -0
- package/dist/cjs/utils/experimental.js +74 -0
- package/dist/cjs/utils/failover_utils.js +93 -0
- package/dist/cjs/utils/file_extension_utils.js +77 -0
- package/dist/cjs/utils/file_utils.js +94 -0
- package/dist/cjs/utils/gemini_schema_util.js +152 -0
- package/dist/cjs/utils/logger.js +173 -0
- package/dist/cjs/utils/model_name.js +90 -0
- package/dist/cjs/utils/object_notation_utils.js +78 -0
- package/dist/cjs/utils/simple_zod_to_json.js +150 -0
- package/dist/cjs/utils/streaming_utils.js +330 -0
- package/dist/cjs/utils/variant_utils.js +49 -0
- package/dist/cjs/version.js +39 -0
- package/dist/esm/a2a/a2a_event.js +271 -0
- package/dist/esm/a2a/a2a_remote_agent.js +155 -0
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +184 -0
- package/dist/esm/a2a/a2a_remote_agent_utils.js +133 -0
- package/dist/esm/a2a/agent_card.js +342 -0
- package/dist/esm/a2a/agent_executor.js +204 -0
- package/dist/esm/a2a/agent_to_a2a.js +82 -0
- package/dist/esm/a2a/event_converter_utils.js +189 -0
- package/dist/esm/a2a/event_processor_utils.js +161 -0
- package/dist/esm/a2a/executor_context.js +25 -0
- package/dist/esm/a2a/metadata_converter_utils.js +93 -0
- package/dist/esm/a2a/part_converter_utils.js +188 -0
- package/dist/esm/agents/active_streaming_tool.js +16 -0
- package/dist/esm/agents/base_agent.js +268 -0
- package/dist/esm/agents/context.js +152 -0
- package/dist/esm/agents/functions.js +489 -0
- package/dist/esm/agents/instructions.js +82 -0
- package/dist/esm/agents/invocation_context.js +81 -0
- package/dist/esm/agents/live_request_queue.js +108 -0
- package/dist/esm/agents/llm_agent.js +708 -0
- package/dist/esm/agents/loop_agent.js +55 -0
- package/dist/esm/agents/parallel_agent.js +66 -0
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +103 -0
- package/dist/esm/agents/processors/base_llm_processor.js +15 -0
- package/dist/esm/agents/processors/basic_llm_request_processor.js +39 -0
- package/dist/esm/agents/processors/code_execution_request_processor.js +368 -0
- package/dist/esm/agents/processors/content_processor_utils.js +319 -0
- package/dist/esm/agents/processors/content_request_processor.js +61 -0
- package/dist/esm/agents/processors/context_compactor_request_processor.js +42 -0
- package/dist/esm/agents/processors/identity_llm_request_processor.js +25 -0
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +56 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +142 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
- package/dist/esm/agents/readonly_context.js +55 -0
- package/dist/esm/agents/routed_agent.js +70 -0
- package/dist/esm/agents/run_config.js +42 -0
- package/dist/esm/agents/sequential_agent.js +77 -0
- package/dist/esm/agents/transcription_entry.js +7 -0
- package/dist/esm/artifacts/base_artifact_service.js +7 -0
- package/dist/esm/artifacts/file_artifact_service.js +480 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +199 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +152 -0
- package/dist/esm/artifacts/registry.js +30 -0
- package/dist/esm/auth/auth_credential.js +18 -0
- package/dist/esm/auth/auth_handler.js +131 -0
- package/dist/esm/auth/auth_preprocessor.js +155 -0
- package/dist/esm/auth/auth_provider_registry.js +33 -0
- package/dist/esm/auth/auth_schemes.js +33 -0
- package/dist/esm/auth/auth_tool.js +7 -0
- package/dist/esm/auth/base_auth_provider.js +7 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +7 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +35 -0
- package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +12 -0
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +31 -0
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
- package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
- package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
- package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
- package/dist/esm/code_executors/base_code_executor.js +63 -0
- package/dist/esm/code_executors/built_in_code_executor.js +45 -0
- package/dist/esm/code_executors/code_execution_utils.js +127 -0
- package/dist/esm/code_executors/code_executor_context.js +170 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
- package/dist/esm/common.js +245 -0
- package/dist/esm/context/base_context_compactor.js +7 -0
- package/dist/esm/context/summarizers/base_summarizer.js +7 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +67 -0
- package/dist/esm/context/token_based_context_compactor.js +107 -0
- package/dist/esm/context/truncating_context_compactor.js +30 -0
- package/dist/esm/events/compacted_event.js +24 -0
- package/dist/esm/events/event.js +110 -0
- package/dist/esm/events/event_actions.js +54 -0
- package/dist/esm/events/structured_events.js +76 -0
- package/dist/esm/examples/base_example_provider.js +27 -0
- package/dist/esm/examples/example.js +7 -0
- package/dist/esm/examples/example_util.js +80 -0
- package/dist/esm/features/feature_registry.js +107 -0
- package/dist/esm/index.js +50 -0
- package/dist/esm/index_web.js +8 -0
- package/dist/esm/memory/base_memory_service.js +7 -0
- package/dist/esm/memory/in_memory_memory_service.js +71 -0
- package/dist/esm/memory/memory_entry.js +7 -0
- package/dist/esm/models/apigee_llm.js +154 -0
- package/dist/esm/models/base_llm.js +73 -0
- package/dist/esm/models/base_llm_connection.js +7 -0
- package/dist/esm/models/gemini_llm_connection.js +105 -0
- package/dist/esm/models/google_llm.js +265 -0
- package/dist/esm/models/llm_request.js +52 -0
- package/dist/esm/models/llm_response.js +45 -0
- package/dist/esm/models/registry.js +95 -0
- package/dist/esm/models/routed_llm.js +73 -0
- package/dist/esm/plugins/base_plugin.js +268 -0
- package/dist/esm/plugins/logging_plugin.js +235 -0
- package/dist/esm/plugins/plugin_manager.js +282 -0
- package/dist/esm/plugins/security_plugin.js +124 -0
- package/dist/esm/runner/in_memory_runner.js +30 -0
- package/dist/esm/runner/runner.js +360 -0
- package/dist/esm/sessions/base_session_service.js +91 -0
- package/dist/esm/sessions/database_session_service.js +355 -0
- package/dist/esm/sessions/db/operations.js +96 -0
- package/dist/esm/sessions/db/schema.js +174 -0
- package/dist/esm/sessions/in_memory_session_service.js +184 -0
- package/dist/esm/sessions/registry.js +27 -0
- package/dist/esm/sessions/session.js +20 -0
- package/dist/esm/sessions/state.js +73 -0
- package/dist/esm/skills/loader.js +244 -0
- package/dist/esm/skills/prompt.js +30 -0
- package/dist/esm/skills/skill.js +49 -0
- package/dist/esm/telemetry/google_cloud.js +54 -0
- package/dist/esm/telemetry/setup.js +83 -0
- package/dist/esm/telemetry/tracing.js +219 -0
- package/dist/esm/tools/agent_tool.js +190 -0
- package/dist/esm/tools/base_tool.js +93 -0
- package/dist/esm/tools/base_toolset.js +57 -0
- package/dist/esm/tools/exit_loop_tool.js +34 -0
- package/dist/esm/tools/forwarding_artifact_service.js +59 -0
- package/dist/esm/tools/function_tool.js +80 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +54 -0
- package/dist/esm/tools/google_search_tool.js +51 -0
- package/dist/esm/tools/load_artifacts_tool.js +161 -0
- package/dist/esm/tools/load_memory_tool.js +80 -0
- package/dist/esm/tools/long_running_tool.js +37 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +53 -0
- package/dist/esm/tools/mcp/mcp_tool.js +40 -0
- package/dist/esm/tools/mcp/mcp_toolset.js +52 -0
- package/dist/esm/tools/preload_memory_tool.js +82 -0
- package/dist/esm/tools/skill/list_skills_tool.js +50 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
- package/dist/esm/tools/skill/load_skill_tool.js +82 -0
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
- package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
- package/dist/esm/tools/skill/skill_toolset.js +137 -0
- package/dist/esm/tools/tool_confirmation.js +21 -0
- package/dist/esm/tools/url_context_tool.js +44 -0
- package/dist/esm/tools/vertex_ai_search_tool.js +103 -0
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +36 -0
- package/dist/esm/utils/client_labels.js +28 -0
- package/dist/esm/utils/env_aware_utils.js +59 -0
- package/dist/esm/utils/experimental.js +46 -0
- package/dist/esm/utils/failover_utils.js +65 -0
- package/dist/esm/utils/file_extension_utils.js +51 -0
- package/dist/esm/utils/file_utils.js +56 -0
- package/dist/esm/utils/gemini_schema_util.js +124 -0
- package/dist/esm/utils/logger.js +130 -0
- package/dist/esm/utils/model_name.js +58 -0
- package/dist/esm/utils/object_notation_utils.js +49 -0
- package/dist/esm/utils/simple_zod_to_json.js +123 -0
- package/dist/esm/utils/streaming_utils.js +304 -0
- package/dist/esm/utils/variant_utils.js +20 -0
- package/dist/esm/version.js +11 -0
- package/dist/types/a2a/a2a_event.d.ts +139 -0
- package/dist/types/a2a/a2a_remote_agent.d.ts +67 -0
- package/dist/types/a2a/a2a_remote_agent_run_processor.d.ts +31 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +38 -0
- package/dist/types/a2a/agent_card.d.ts +23 -0
- package/dist/types/a2a/agent_executor.d.ts +52 -0
- package/dist/types/a2a/agent_to_a2a.d.ts +45 -0
- package/dist/types/a2a/event_converter_utils.d.ts +20 -0
- package/dist/types/a2a/event_processor_utils.d.ts +24 -0
- package/dist/types/a2a/executor_context.d.ts +33 -0
- package/dist/types/a2a/metadata_converter_utils.d.ts +63 -0
- package/dist/types/a2a/part_converter_utils.d.ts +48 -0
- package/dist/types/agents/active_streaming_tool.d.ts +29 -0
- package/dist/types/agents/base_agent.d.ts +194 -0
- package/dist/types/agents/context.d.ts +99 -0
- package/dist/types/agents/functions.d.ts +112 -0
- package/dist/types/agents/instructions.d.ts +32 -0
- package/dist/types/agents/invocation_context.d.ts +162 -0
- package/dist/types/agents/live_request_queue.d.ts +67 -0
- package/dist/types/agents/llm_agent.d.ts +351 -0
- package/dist/types/agents/loop_agent.d.ts +47 -0
- package/dist/types/agents/parallel_agent.d.ts +37 -0
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +18 -0
- package/dist/types/agents/processors/base_llm_processor.d.ts +27 -0
- package/dist/types/agents/processors/basic_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/code_execution_request_processor.d.ts +34 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +36 -0
- package/dist/types/agents/processors/content_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/context_compactor_request_processor.d.ts +22 -0
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/instructions_llm_request_processor.d.ts +16 -0
- package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
- package/dist/types/agents/readonly_context.d.ts +39 -0
- package/dist/types/agents/routed_agent.d.ts +59 -0
- package/dist/types/agents/run_config.d.ts +94 -0
- package/dist/types/agents/sequential_agent.d.ts +42 -0
- package/dist/types/agents/transcription_entry.d.ts +17 -0
- package/dist/types/artifacts/base_artifact_service.d.ts +158 -0
- package/dist/types/artifacts/file_artifact_service.d.ts +47 -0
- package/dist/types/artifacts/gcs_artifact_service.d.ts +18 -0
- package/dist/types/artifacts/in_memory_artifact_service.d.ts +21 -0
- package/dist/types/artifacts/registry.d.ts +7 -0
- package/dist/types/auth/auth_credential.d.ts +244 -0
- package/dist/types/auth/auth_handler.d.ts +28 -0
- package/dist/types/auth/auth_preprocessor.d.ts +12 -0
- package/dist/types/auth/auth_provider_registry.d.ts +27 -0
- package/dist/types/auth/auth_schemes.d.ts +39 -0
- package/dist/types/auth/auth_tool.d.ts +51 -0
- package/dist/types/auth/base_auth_provider.d.ts +20 -0
- package/dist/types/auth/credential_service/base_credential_service.d.ts +27 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +19 -0
- package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
- package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +39 -0
- package/dist/types/auth/exchanger/credential_exchanger_registry.d.ts +28 -0
- package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
- package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
- package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
- package/dist/types/code_executors/base_code_executor.d.ts +74 -0
- package/dist/types/code_executors/built_in_code_executor.d.ts +32 -0
- package/dist/types/code_executors/code_execution_utils.d.ts +127 -0
- package/dist/types/code_executors/code_executor_context.d.ts +85 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
- package/dist/types/common.d.ts +137 -0
- package/dist/types/context/base_context_compactor.d.ts +24 -0
- package/dist/types/context/summarizers/base_summarizer.d.ts +19 -0
- package/dist/types/context/summarizers/llm_summarizer.d.ts +23 -0
- package/dist/types/context/token_based_context_compactor.d.ts +33 -0
- package/dist/types/context/truncating_context_compactor.d.ts +24 -0
- package/dist/types/events/compacted_event.d.ts +33 -0
- package/dist/types/events/event.d.ts +102 -0
- package/dist/types/events/event_actions.d.ts +74 -0
- package/dist/types/events/structured_events.d.ts +106 -0
- package/dist/types/examples/base_example_provider.d.ts +36 -0
- package/dist/types/examples/example.d.ts +19 -0
- package/dist/types/examples/example_util.d.ts +13 -0
- package/dist/types/features/feature_registry.d.ts +66 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/index_web.d.ts +6 -0
- package/dist/types/memory/base_memory_service.d.ts +53 -0
- package/dist/types/memory/in_memory_memory_service.d.ts +18 -0
- package/dist/types/memory/memory_entry.d.ts +30 -0
- package/dist/types/models/apigee_llm.d.ts +59 -0
- package/dist/types/models/base_llm.d.ts +66 -0
- package/dist/types/models/base_llm_connection.d.ts +51 -0
- package/dist/types/models/gemini_llm_connection.d.ts +54 -0
- package/dist/types/models/google_llm.d.ts +90 -0
- package/dist/types/models/llm_request.d.ts +53 -0
- package/dist/types/models/llm_response.d.ts +83 -0
- package/dist/types/models/registry.d.ts +49 -0
- package/dist/types/models/routed_llm.d.ts +38 -0
- package/dist/types/plugins/base_plugin.d.ts +368 -0
- package/dist/types/plugins/logging_plugin.d.ts +103 -0
- package/dist/types/plugins/plugin_manager.d.ts +175 -0
- package/dist/types/plugins/security_plugin.d.ts +60 -0
- package/dist/types/runner/in_memory_runner.d.ts +15 -0
- package/dist/types/runner/runner.d.ts +117 -0
- package/dist/types/sessions/base_session_service.d.ts +149 -0
- package/dist/types/sessions/database_session_service.d.ts +32 -0
- package/dist/types/sessions/db/operations.d.ts +28 -0
- package/dist/types/sessions/db/schema.d.ts +45 -0
- package/dist/types/sessions/in_memory_session_service.d.ts +30 -0
- package/dist/types/sessions/registry.d.ts +7 -0
- package/dist/types/sessions/session.d.ts +46 -0
- package/dist/types/sessions/state.d.ts +57 -0
- package/dist/types/skills/loader.d.ts +38 -0
- package/dist/types/skills/prompt.d.ts +13 -0
- package/dist/types/skills/skill.d.ts +48 -0
- package/dist/types/telemetry/google_cloud.d.ts +9 -0
- package/dist/types/telemetry/setup.d.ts +48 -0
- package/dist/types/telemetry/tracing.d.ts +112 -0
- package/dist/types/tools/agent_tool.d.ts +73 -0
- package/dist/types/tools/base_tool.d.ts +98 -0
- package/dist/types/tools/base_toolset.d.ts +74 -0
- package/dist/types/tools/exit_loop_tool.d.ts +24 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -0
- package/dist/types/tools/function_tool.d.ts +62 -0
- package/dist/types/tools/google_maps_grounding_tool.d.ts +22 -0
- package/dist/types/tools/google_search_tool.d.ts +17 -0
- package/dist/types/tools/load_artifacts_tool.d.ts +21 -0
- package/dist/types/tools/load_memory_tool.d.ts +22 -0
- package/dist/types/tools/long_running_tool.d.ts +18 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +64 -0
- package/dist/types/tools/mcp/mcp_tool.d.ts +36 -0
- package/dist/types/tools/mcp/mcp_toolset.d.ts +44 -0
- package/dist/types/tools/preload_memory_tool.d.ts +23 -0
- package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
- package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
- package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
- package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
- package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
- package/dist/types/tools/tool_confirmation.d.ts +25 -0
- package/dist/types/tools/url_context_tool.d.ts +17 -0
- package/dist/types/tools/vertex_ai_search_tool.d.ts +55 -0
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +42 -0
- package/dist/types/utils/client_labels.d.ts +9 -0
- package/dist/types/utils/env_aware_utils.d.ts +38 -0
- package/dist/types/utils/experimental.d.ts +11 -0
- package/dist/types/utils/failover_utils.d.ts +17 -0
- package/dist/types/utils/file_extension_utils.d.ts +21 -0
- package/dist/types/utils/file_utils.d.ts +11 -0
- package/dist/types/utils/gemini_schema_util.d.ts +15 -0
- package/dist/types/utils/logger.d.ts +38 -0
- package/dist/types/utils/model_name.d.ts +38 -0
- package/dist/types/utils/object_notation_utils.d.ts +21 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +13 -0
- package/dist/types/utils/streaming_utils.d.ts +40 -0
- package/dist/types/utils/variant_utils.d.ts +24 -0
- package/dist/types/version.d.ts +6 -0
- package/dist/web/a2a/a2a_event.js +271 -0
- package/dist/web/a2a/a2a_remote_agent.js +186 -0
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +184 -0
- package/dist/web/a2a/a2a_remote_agent_utils.js +133 -0
- package/dist/web/a2a/agent_card.js +342 -0
- package/dist/web/a2a/agent_executor.js +218 -0
- package/dist/web/a2a/agent_to_a2a.js +82 -0
- package/dist/web/a2a/event_converter_utils.js +203 -0
- package/dist/web/a2a/event_processor_utils.js +170 -0
- package/dist/web/a2a/executor_context.js +25 -0
- package/dist/web/a2a/metadata_converter_utils.js +110 -0
- package/dist/web/a2a/part_converter_utils.js +188 -0
- package/dist/web/agents/active_streaming_tool.js +16 -0
- package/dist/web/agents/base_agent.js +354 -0
- package/dist/web/agents/context.js +152 -0
- package/dist/web/agents/functions.js +520 -0
- package/dist/web/agents/instructions.js +82 -0
- package/dist/web/agents/invocation_context.js +81 -0
- package/dist/web/agents/live_request_queue.js +126 -0
- package/dist/web/agents/llm_agent.js +907 -0
- package/dist/web/agents/loop_agent.js +88 -0
- package/dist/web/agents/parallel_agent.js +101 -0
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +102 -0
- package/dist/web/agents/processors/base_llm_processor.js +15 -0
- package/dist/web/agents/processors/basic_llm_request_processor.js +73 -0
- package/dist/web/agents/processors/code_execution_request_processor.js +370 -0
- package/dist/web/agents/processors/content_processor_utils.js +318 -0
- package/dist/web/agents/processors/content_request_processor.js +79 -0
- package/dist/web/agents/processors/context_compactor_request_processor.js +60 -0
- package/dist/web/agents/processors/identity_llm_request_processor.js +43 -0
- package/dist/web/agents/processors/instructions_llm_request_processor.js +74 -0
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +160 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
- package/dist/web/agents/readonly_context.js +55 -0
- package/dist/web/agents/routed_agent.js +138 -0
- package/dist/web/agents/run_config.js +57 -0
- package/dist/web/agents/sequential_agent.js +122 -0
- package/dist/web/agents/transcription_entry.js +7 -0
- package/dist/web/artifacts/base_artifact_service.js +7 -0
- package/dist/web/artifacts/file_artifact_service.js +535 -0
- package/dist/web/artifacts/gcs_artifact_service.js +213 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +152 -0
- package/dist/web/artifacts/registry.js +30 -0
- package/dist/web/auth/auth_credential.js +18 -0
- package/dist/web/auth/auth_handler.js +148 -0
- package/dist/web/auth/auth_preprocessor.js +173 -0
- package/dist/web/auth/auth_provider_registry.js +33 -0
- package/dist/web/auth/auth_schemes.js +33 -0
- package/dist/web/auth/auth_tool.js +7 -0
- package/dist/web/auth/base_auth_provider.js +7 -0
- package/dist/web/auth/credential_service/base_credential_service.js +7 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +35 -0
- package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/web/auth/exchanger/base_credential_exchanger.js +12 -0
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +31 -0
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
- package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
- package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
- package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
- package/dist/web/code_executors/base_code_executor.js +63 -0
- package/dist/web/code_executors/built_in_code_executor.js +45 -0
- package/dist/web/code_executors/code_execution_utils.js +124 -0
- package/dist/web/code_executors/code_executor_context.js +170 -0
- package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
- package/dist/web/common.js +245 -0
- package/dist/web/context/base_context_compactor.js +7 -0
- package/dist/web/context/summarizers/base_summarizer.js +7 -0
- package/dist/web/context/summarizers/llm_summarizer.js +76 -0
- package/dist/web/context/token_based_context_compactor.js +107 -0
- package/dist/web/context/truncating_context_compactor.js +30 -0
- package/dist/web/events/compacted_event.js +42 -0
- package/dist/web/events/event.js +128 -0
- package/dist/web/events/event_actions.js +69 -0
- package/dist/web/events/structured_events.js +76 -0
- package/dist/web/examples/base_example_provider.js +27 -0
- package/dist/web/examples/example.js +7 -0
- package/dist/web/examples/example_util.js +79 -0
- package/dist/web/features/feature_registry.js +107 -0
- package/dist/web/index.js +50 -0
- package/dist/web/index_web.js +8 -0
- package/dist/web/memory/base_memory_service.js +7 -0
- package/dist/web/memory/in_memory_memory_service.js +71 -0
- package/dist/web/memory/memory_entry.js +7 -0
- package/dist/web/models/apigee_llm.js +221 -0
- package/dist/web/models/base_llm.js +73 -0
- package/dist/web/models/base_llm_connection.js +7 -0
- package/dist/web/models/gemini_llm_connection.js +123 -0
- package/dist/web/models/google_llm.js +321 -0
- package/dist/web/models/llm_request.js +52 -0
- package/dist/web/models/llm_response.js +45 -0
- package/dist/web/models/registry.js +95 -0
- package/dist/web/models/routed_llm.js +122 -0
- package/dist/web/plugins/base_plugin.js +268 -0
- package/dist/web/plugins/logging_plugin.js +235 -0
- package/dist/web/plugins/plugin_manager.js +282 -0
- package/dist/web/plugins/security_plugin.js +124 -0
- package/dist/web/runner/in_memory_runner.js +30 -0
- package/dist/web/runner/runner.js +426 -0
- package/dist/web/sessions/base_session_service.js +91 -0
- package/dist/web/sessions/database_session_service.js +373 -0
- package/dist/web/sessions/db/operations.js +96 -0
- package/dist/web/sessions/db/schema.js +174 -0
- package/dist/web/sessions/in_memory_session_service.js +184 -0
- package/dist/web/sessions/registry.js +27 -0
- package/dist/web/sessions/session.js +20 -0
- package/dist/web/sessions/state.js +89 -0
- package/dist/web/skills/loader.js +262 -0
- package/dist/web/skills/prompt.js +30 -0
- package/dist/web/skills/skill.js +67 -0
- package/dist/web/telemetry/google_cloud.js +54 -0
- package/dist/web/telemetry/setup.js +83 -0
- package/dist/web/telemetry/tracing.js +234 -0
- package/dist/web/tools/agent_tool.js +233 -0
- package/dist/web/tools/base_tool.js +93 -0
- package/dist/web/tools/base_toolset.js +57 -0
- package/dist/web/tools/exit_loop_tool.js +34 -0
- package/dist/web/tools/forwarding_artifact_service.js +59 -0
- package/dist/web/tools/function_tool.js +80 -0
- package/dist/web/tools/google_maps_grounding_tool.js +54 -0
- package/dist/web/tools/google_search_tool.js +51 -0
- package/dist/web/tools/load_artifacts_tool.js +152 -0
- package/dist/web/tools/load_memory_tool.js +79 -0
- package/dist/web/tools/long_running_tool.js +54 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +53 -0
- package/dist/web/tools/mcp/mcp_tool.js +40 -0
- package/dist/web/tools/mcp/mcp_toolset.js +70 -0
- package/dist/web/tools/preload_memory_tool.js +77 -0
- package/dist/web/tools/skill/list_skills_tool.js +50 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
- package/dist/web/tools/skill/load_skill_tool.js +82 -0
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
- package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
- package/dist/web/tools/skill/skill_toolset.js +123 -0
- package/dist/web/tools/tool_confirmation.js +21 -0
- package/dist/web/tools/url_context_tool.js +44 -0
- package/dist/web/tools/vertex_ai_search_tool.js +103 -0
- package/dist/web/tools/vertex_rag_retrieval_tool.js +36 -0
- package/dist/web/utils/client_labels.js +28 -0
- package/dist/web/utils/env_aware_utils.js +59 -0
- package/dist/web/utils/experimental.js +46 -0
- package/dist/web/utils/failover_utils.js +96 -0
- package/dist/web/utils/file_extension_utils.js +51 -0
- package/dist/web/utils/file_utils.js +74 -0
- package/dist/web/utils/gemini_schema_util.js +155 -0
- package/dist/web/utils/logger.js +130 -0
- package/dist/web/utils/model_name.js +58 -0
- package/dist/web/utils/object_notation_utils.js +49 -0
- package/dist/web/utils/simple_zod_to_json.js +123 -0
- package/dist/web/utils/streaming_utils.js +322 -0
- package/dist/web/utils/variant_utils.js +20 -0
- package/dist/web/version.js +11 -0
- package/package.json +84 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Event } from '../events/event.js';
|
|
7
|
+
/**
|
|
8
|
+
* Represents a session in a conversation between agents and users.
|
|
9
|
+
*/
|
|
10
|
+
export interface Session {
|
|
11
|
+
/**
|
|
12
|
+
* The unique identifier of the session.
|
|
13
|
+
*/
|
|
14
|
+
id: string;
|
|
15
|
+
/**
|
|
16
|
+
* The name of the app.
|
|
17
|
+
*/
|
|
18
|
+
appName: string;
|
|
19
|
+
/**
|
|
20
|
+
* The id of the user.
|
|
21
|
+
*/
|
|
22
|
+
userId: string;
|
|
23
|
+
/**
|
|
24
|
+
* The state of the session.
|
|
25
|
+
*/
|
|
26
|
+
state: Record<string, unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* The events of the session, e.g. user input, model response, function
|
|
29
|
+
* call/response, etc.
|
|
30
|
+
*/
|
|
31
|
+
events: Event[];
|
|
32
|
+
/**
|
|
33
|
+
* The last update time of the session.
|
|
34
|
+
*/
|
|
35
|
+
lastUpdateTime: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates a session from a partial session.
|
|
39
|
+
*
|
|
40
|
+
* @param params The partial session to create the session from.
|
|
41
|
+
* @returns The session.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createSession(params: Partial<Session> & {
|
|
44
|
+
id: string;
|
|
45
|
+
appName: string;
|
|
46
|
+
}): Session;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A state mapping that maintains the current value and the pending-commit
|
|
8
|
+
* delta.
|
|
9
|
+
*/
|
|
10
|
+
export declare class State {
|
|
11
|
+
/** The current value of the state. */
|
|
12
|
+
private value;
|
|
13
|
+
/** The delta change to the current value that hasn't been committed. */
|
|
14
|
+
private delta;
|
|
15
|
+
static readonly APP_PREFIX = "app:";
|
|
16
|
+
static readonly USER_PREFIX = "user:";
|
|
17
|
+
static readonly TEMP_PREFIX = "temp:";
|
|
18
|
+
constructor(
|
|
19
|
+
/** The current value of the state. */
|
|
20
|
+
value?: Record<string, unknown>,
|
|
21
|
+
/** The delta change to the current value that hasn't been committed. */
|
|
22
|
+
delta?: Record<string, unknown>);
|
|
23
|
+
/**
|
|
24
|
+
* Returns the value of the state dict for the given key.
|
|
25
|
+
*
|
|
26
|
+
* @param key The key to get the value for.
|
|
27
|
+
* @param defaultValue The default value to return if the key is not found.
|
|
28
|
+
* @return The value of the state for the given key, or the default value if
|
|
29
|
+
* not found.
|
|
30
|
+
*/
|
|
31
|
+
get<T>(key: string, defaultValue?: T): T | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Sets the value of the state dict for the given key.
|
|
34
|
+
*
|
|
35
|
+
* @param key The key to set the value for.
|
|
36
|
+
* @param value The value to set.
|
|
37
|
+
*/
|
|
38
|
+
set(key: string, value: unknown): void;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the state has pending delta.
|
|
41
|
+
*/
|
|
42
|
+
has(key: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the state has pending delta.
|
|
45
|
+
*/
|
|
46
|
+
hasDelta(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Updates the state dict with the given delta.
|
|
49
|
+
*
|
|
50
|
+
* @param delta The delta to update the state with.
|
|
51
|
+
*/
|
|
52
|
+
update(delta: Record<string, unknown>): void;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the state as a plain JSON object.
|
|
55
|
+
*/
|
|
56
|
+
toRecord(): Record<string, unknown>;
|
|
57
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Frontmatter, Skill } from './skill.js';
|
|
7
|
+
/**
|
|
8
|
+
* Parses SKILL.md from a raw content string, extracting the YAML frontmatter and the body.
|
|
9
|
+
*
|
|
10
|
+
* @param content - The raw content of the SKILL.md file.
|
|
11
|
+
* @returns An object containing the parsed frontmatter and the remaining markdown body.
|
|
12
|
+
* @throws {Error} If the content is not properly formatted with YAML frontmatter.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseSkillMdContent(content: string): {
|
|
15
|
+
frontmatter: Frontmatter;
|
|
16
|
+
body: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Load a complete skill, including its instructions and resources, from a directory.
|
|
20
|
+
*
|
|
21
|
+
* @param skillDir - The path to the directory containing the skill definition.
|
|
22
|
+
* @returns A promise that resolves to the fully loaded Skill object.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadSkillFromDir(skillDir: string): Promise<Skill>;
|
|
25
|
+
/**
|
|
26
|
+
* Validates a skill directory structure and frontmatter without fully loading all resources.
|
|
27
|
+
*
|
|
28
|
+
* @param skillDir - The path to the skill directory to validate.
|
|
29
|
+
* @returns A promise that resolves to an array of validation error messages, or an empty array if valid.
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateSkillDir(skillDir: string): Promise<string[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Loads all skills located within subdirectories of a given base path.
|
|
34
|
+
*
|
|
35
|
+
* @param skillsBasePath - The base directory containing individual skill subdirectories.
|
|
36
|
+
* @returns A promise that resolves to a map of skill names to their corresponding Skill objects.
|
|
37
|
+
*/
|
|
38
|
+
export declare function loadAllSkillsInDir(skillsBasePath: string): Promise<Record<string, Skill>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Frontmatter, Skill } from './skill.js';
|
|
7
|
+
/**
|
|
8
|
+
* Formats available skills into a standard XML string.
|
|
9
|
+
*
|
|
10
|
+
* @param skills A list of skill frontmatter or full skill objects.
|
|
11
|
+
* @returns XML string with <available_skills> block.
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatSkillsAsXml(skills: Array<Skill | Frontmatter>): string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
export declare const SNAKE_OR_KEBAB_NAME_PATTERN: RegExp;
|
|
8
|
+
/**
|
|
9
|
+
* Schema and Type for Skill Frontmatter metadata.
|
|
10
|
+
*/
|
|
11
|
+
export declare const FrontmatterSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
12
|
+
name: z.ZodString;
|
|
13
|
+
description: z.ZodString;
|
|
14
|
+
license: z.ZodOptional<z.ZodString>;
|
|
15
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
16
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
17
|
+
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
18
|
+
}, z.core.$loose>>;
|
|
19
|
+
export interface Frontmatter {
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
license?: string;
|
|
23
|
+
compatibility?: string;
|
|
24
|
+
allowedTools?: string;
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Wrapper for script content.
|
|
29
|
+
*/
|
|
30
|
+
export interface Script {
|
|
31
|
+
src: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* L3 skill content: additional instructions, assets, and scripts.
|
|
35
|
+
*/
|
|
36
|
+
export interface Resources {
|
|
37
|
+
references?: Record<string, string | Buffer>;
|
|
38
|
+
assets?: Record<string, string | Buffer>;
|
|
39
|
+
scripts?: Record<string, Script>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Complete skill representation including frontmatter, instructions, and resources.
|
|
43
|
+
*/
|
|
44
|
+
export interface Skill {
|
|
45
|
+
frontmatter: Frontmatter;
|
|
46
|
+
instructions: string;
|
|
47
|
+
resources?: Resources;
|
|
48
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Resource } from '@opentelemetry/resources';
|
|
7
|
+
import { OtelExportersConfig, OTelHooks } from './setup.js';
|
|
8
|
+
export declare function getGcpExporters(config?: OtelExportersConfig): Promise<OTelHooks>;
|
|
9
|
+
export declare function getGcpResource(): Resource;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Resource } from '@opentelemetry/resources';
|
|
7
|
+
import { LogRecordProcessor } from '@opentelemetry/sdk-logs';
|
|
8
|
+
import { MetricReader } from '@opentelemetry/sdk-metrics';
|
|
9
|
+
import { SpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
10
|
+
export interface OtelExportersConfig {
|
|
11
|
+
enableTracing?: boolean;
|
|
12
|
+
enableMetrics?: boolean;
|
|
13
|
+
enableLogging?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Configuration hooks for OpenTelemetry setup.
|
|
17
|
+
*
|
|
18
|
+
* This interface defines the structure for configuring OpenTelemetry
|
|
19
|
+
* components including span processors, metric readers, and log record processors.
|
|
20
|
+
*/
|
|
21
|
+
export interface OTelHooks {
|
|
22
|
+
spanProcessors?: SpanProcessor[];
|
|
23
|
+
metricReaders?: MetricReader[];
|
|
24
|
+
logRecordProcessors?: LogRecordProcessor[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Sets up OTel providers if hooks for a given telemetry type were passed.
|
|
28
|
+
*
|
|
29
|
+
* Additionally adds generic OTLP exporters based on following env variables:
|
|
30
|
+
* OTEL_EXPORTER_OTLP_ENDPOINT
|
|
31
|
+
* OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
|
|
32
|
+
* OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
|
|
33
|
+
* OTEL_EXPORTER_OTLP_LOGS_ENDPOINT
|
|
34
|
+
* See https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/
|
|
35
|
+
* for how they are used.
|
|
36
|
+
*
|
|
37
|
+
* If a provider for a specific telemetry type was already globally set -
|
|
38
|
+
* this function will not override it or register more exporters.
|
|
39
|
+
*
|
|
40
|
+
* @experimental (Experimental, subject to change)
|
|
41
|
+
*
|
|
42
|
+
* @param otelHooksToSetup per-telemetry-type processors and readers to be added
|
|
43
|
+
* to OTel providers. If no hooks for a specific telemetry type are passed -
|
|
44
|
+
* provider will not be set.
|
|
45
|
+
* @param otelResource OTel resource to use in providers.
|
|
46
|
+
* If empty - default OTel resource detection will be used.
|
|
47
|
+
*/
|
|
48
|
+
export declare function maybeSetOtelProviders(otelHooksToSetup?: OTelHooks[], otelResource?: Resource): void;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* NOTE:
|
|
8
|
+
*
|
|
9
|
+
* We expect that the underlying GenAI SDK will provide a certain
|
|
10
|
+
* level of tracing and logging telemetry aligned with Open Telemetry
|
|
11
|
+
* Semantic Conventions (such as logging prompts, responses,
|
|
12
|
+
* request properties, etc.) and so the information that is recorded by the
|
|
13
|
+
* Agent Development Kit should be focused on the higher-level
|
|
14
|
+
* constructs of the framework that are not observable by the SDK.
|
|
15
|
+
*/
|
|
16
|
+
import { Content } from '@google/genai';
|
|
17
|
+
import { Context } from '@opentelemetry/api';
|
|
18
|
+
import { BaseAgent } from '../agents/base_agent.js';
|
|
19
|
+
import { InvocationContext } from '../agents/invocation_context.js';
|
|
20
|
+
import { Event } from '../events/event.js';
|
|
21
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
22
|
+
import { LlmResponse } from '../models/llm_response.js';
|
|
23
|
+
import { BaseTool } from '../tools/base_tool.js';
|
|
24
|
+
export declare const tracer: import("@opentelemetry/api").Tracer;
|
|
25
|
+
export interface TraceAgentInvocationParams {
|
|
26
|
+
agent: BaseAgent;
|
|
27
|
+
invocationContext: InvocationContext;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Sets span attributes immediately available on agent invocation according to OTEL semconv version 1.37.
|
|
31
|
+
*
|
|
32
|
+
* @param params The parameters object containing agent and invocation context.
|
|
33
|
+
*
|
|
34
|
+
* Inference related fields are not set, due to their planned removal from invoke_agent span:
|
|
35
|
+
* https://github.com/open-telemetry/semantic-conventions/issues/2632
|
|
36
|
+
*
|
|
37
|
+
* `gen_ai.agent.id` is not set because currently it's unclear what attributes this field should have, specifically:
|
|
38
|
+
* - In which scope should it be unique (globally, given project, given agentic flow, given deployment).
|
|
39
|
+
* - Should it be unchanging between deployments, and how this should this be achieved.
|
|
40
|
+
*
|
|
41
|
+
* `gen_ai.data_source.id` is not set because it's not available.
|
|
42
|
+
* Closest type which could contain this information is types.GroundingMetadata, which does not have an ID.
|
|
43
|
+
*
|
|
44
|
+
* `server.*` attributes are not set pending confirmation from aabmass.
|
|
45
|
+
*/
|
|
46
|
+
export declare function traceAgentInvocation({ agent, invocationContext, }: TraceAgentInvocationParams): void;
|
|
47
|
+
export interface TraceToolCallParams {
|
|
48
|
+
tool: BaseTool;
|
|
49
|
+
args: Record<string, unknown>;
|
|
50
|
+
functionResponseEvent: Event;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Traces tool call.
|
|
54
|
+
*
|
|
55
|
+
* @param params The parameters object containing tool, args, and function response event.
|
|
56
|
+
*/
|
|
57
|
+
export declare function traceToolCall({ tool, args, functionResponseEvent, }: TraceToolCallParams): void;
|
|
58
|
+
export interface TraceMergedToolCallsParams {
|
|
59
|
+
responseEventId: string;
|
|
60
|
+
functionResponseEvent: Event;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Traces merged tool call events.
|
|
64
|
+
*
|
|
65
|
+
* Calling this function is not needed for telemetry purposes. This is provided
|
|
66
|
+
* for preventing /debug/trace requests (typically sent by web UI).
|
|
67
|
+
*
|
|
68
|
+
* @param params The parameters object containing response event ID and function response event.
|
|
69
|
+
*/
|
|
70
|
+
export declare function traceMergedToolCalls({ responseEventId, functionResponseEvent, }: TraceMergedToolCallsParams): void;
|
|
71
|
+
export interface TraceCallLlmParams {
|
|
72
|
+
invocationContext: InvocationContext;
|
|
73
|
+
eventId: string;
|
|
74
|
+
llmRequest: LlmRequest;
|
|
75
|
+
llmResponse: LlmResponse;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Traces a call to the LLM.
|
|
79
|
+
*
|
|
80
|
+
* This function records details about the LLM request and response as
|
|
81
|
+
* attributes on the current OpenTelemetry span.
|
|
82
|
+
*
|
|
83
|
+
* @param params The parameters object containing invocationContext, eventId, llmRequest, and llmResponse.
|
|
84
|
+
*/
|
|
85
|
+
export declare function traceCallLlm({ invocationContext, eventId, llmRequest, llmResponse, }: TraceCallLlmParams): void;
|
|
86
|
+
export interface TraceSendDataParams {
|
|
87
|
+
/** The invocation context for the current agent run. */
|
|
88
|
+
invocationContext: InvocationContext;
|
|
89
|
+
/** The ID of the event. */
|
|
90
|
+
eventId: string;
|
|
91
|
+
/** A list of content objects. */
|
|
92
|
+
data: Content[];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Traces the sending of data to the agent.
|
|
96
|
+
*
|
|
97
|
+
* This function records details about the data sent to the agent as
|
|
98
|
+
* attributes on the current OpenTelemetry span.
|
|
99
|
+
*
|
|
100
|
+
* @param params The parameters object containing invocationContext, eventId, and data.
|
|
101
|
+
*/
|
|
102
|
+
export declare function traceSendData({ invocationContext, eventId, data, }: TraceSendDataParams): void;
|
|
103
|
+
/**
|
|
104
|
+
* Runs an async generator function with both OTEL context and JavaScript 'this' context.
|
|
105
|
+
*
|
|
106
|
+
* @param otelContext - The OpenTelemetry context to bind the generator to
|
|
107
|
+
* @param generatorFnContext - The 'this' context to bind to the generator function
|
|
108
|
+
* @param generatorFn - The generator function to execute
|
|
109
|
+
*
|
|
110
|
+
* @returns A new async generator that executes within both contexts
|
|
111
|
+
*/
|
|
112
|
+
export declare function runAsyncGeneratorWithOtelContext<TThis, T>(otelContext: Context, generatorFnContext: TThis, generatorFn: (this: TThis) => AsyncGenerator<T, void, void>): AsyncGenerator<T, void, void>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Content, FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseAgent } from '../agents/base_agent.js';
|
|
8
|
+
import { Event } from '../events/event.js';
|
|
9
|
+
import { BaseTool, RunAsyncToolRequest } from './base_tool.js';
|
|
10
|
+
/**
|
|
11
|
+
* The configuration of the agent tool.
|
|
12
|
+
*/
|
|
13
|
+
export interface AgentToolConfig {
|
|
14
|
+
/**
|
|
15
|
+
* The reference to the agent instance.
|
|
16
|
+
*/
|
|
17
|
+
agent: BaseAgent;
|
|
18
|
+
/**
|
|
19
|
+
* Whether to skip summarization of the agent output.
|
|
20
|
+
*/
|
|
21
|
+
skipSummarization?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A unique symbol to identify ADK agent classes.
|
|
25
|
+
* Defined once and shared by all BaseTool instances.
|
|
26
|
+
*/
|
|
27
|
+
declare const AGENT_TOOL_SIGNATURE_SYMBOL: unique symbol;
|
|
28
|
+
/**
|
|
29
|
+
* Type guard to check if an object is an instance of BaseTool.
|
|
30
|
+
* @param obj The object to check.
|
|
31
|
+
* @returns True if the object is an instance of BaseTool, false otherwise.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isAgentTool(obj: unknown): obj is AgentTool;
|
|
34
|
+
/**
|
|
35
|
+
* A tool that wraps an agent.
|
|
36
|
+
*
|
|
37
|
+
* This tool allows an agent to be called as a tool within a larger
|
|
38
|
+
* application. The agent's input schema is used to define the tool's input
|
|
39
|
+
* parameters, and the agent's output is returned as the tool's result.
|
|
40
|
+
*
|
|
41
|
+
* @param config: The configuration of the agent tool.
|
|
42
|
+
*/
|
|
43
|
+
export declare class AgentTool extends BaseTool {
|
|
44
|
+
/** A unique symbol to identify ADK agent tool class. */
|
|
45
|
+
readonly [AGENT_TOOL_SIGNATURE_SYMBOL] = true;
|
|
46
|
+
private readonly agent;
|
|
47
|
+
private readonly skipSummarization;
|
|
48
|
+
constructor(config: AgentToolConfig);
|
|
49
|
+
_getDeclaration(): FunctionDeclaration;
|
|
50
|
+
/**
|
|
51
|
+
* Sets up the Runner and Session for sub-agent execution.
|
|
52
|
+
*
|
|
53
|
+
* Shared by {@link runAsync} and {@link runAsyncWithEvents}.
|
|
54
|
+
*/
|
|
55
|
+
private setupRunnerAndSession;
|
|
56
|
+
/**
|
|
57
|
+
* Builds the tool result from the last content event of the sub-agent.
|
|
58
|
+
*
|
|
59
|
+
* Excludes thought parts and applies the output schema (if any).
|
|
60
|
+
*/
|
|
61
|
+
buildToolResultFromContent(lastContent: Content | undefined): unknown;
|
|
62
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
63
|
+
/**
|
|
64
|
+
* Runs the wrapped agent and yields the sub-agent's events as they are
|
|
65
|
+
* produced, providing real-time visibility into sub-agent progress.
|
|
66
|
+
*
|
|
67
|
+
* Counterpart to {@link runAsync}; the caller is responsible for tracking
|
|
68
|
+
* the last content event and building the final tool result via
|
|
69
|
+
* {@link buildToolResultFromContent}.
|
|
70
|
+
*/
|
|
71
|
+
runAsyncWithEvents({ args, toolContext, }: RunAsyncToolRequest): AsyncGenerator<Event>;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
8
|
+
import { Context } from '../agents/context.js';
|
|
9
|
+
/**
|
|
10
|
+
* The parameters for `runAsync`.
|
|
11
|
+
*/
|
|
12
|
+
export interface RunAsyncToolRequest {
|
|
13
|
+
args: Record<string, unknown>;
|
|
14
|
+
toolContext: Context;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The parameters for `processLlmRequest`.
|
|
18
|
+
*/
|
|
19
|
+
export interface ToolProcessLlmRequest {
|
|
20
|
+
toolContext: Context;
|
|
21
|
+
llmRequest: LlmRequest;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parameters for the BaseTool constructor.
|
|
25
|
+
*/
|
|
26
|
+
export interface BaseToolParams {
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
isLongRunning?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A unique symbol to identify ADK agent classes.
|
|
33
|
+
* Defined once and shared by all BaseTool instances.
|
|
34
|
+
*/
|
|
35
|
+
declare const BASE_TOOL_SIGNATURE_SYMBOL: unique symbol;
|
|
36
|
+
/**
|
|
37
|
+
* Type guard to check if an object is an instance of BaseTool.
|
|
38
|
+
* @param obj The object to check.
|
|
39
|
+
* @returns True if the object is an instance of BaseTool, false otherwise.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isBaseTool(obj: unknown): obj is BaseTool;
|
|
42
|
+
/**
|
|
43
|
+
* The base class for all tools.
|
|
44
|
+
*/
|
|
45
|
+
export declare abstract class BaseTool {
|
|
46
|
+
/** A unique symbol to identify ADK base tool class. */
|
|
47
|
+
readonly [BASE_TOOL_SIGNATURE_SYMBOL] = true;
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly description: string;
|
|
50
|
+
readonly isLongRunning: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Base constructor for a tool.
|
|
53
|
+
*
|
|
54
|
+
* @param params The parameters for `BaseTool`.
|
|
55
|
+
*/
|
|
56
|
+
constructor(params: BaseToolParams);
|
|
57
|
+
/**
|
|
58
|
+
* Gets the OpenAPI specification of this tool in the form of a
|
|
59
|
+
* FunctionDeclaration.
|
|
60
|
+
*
|
|
61
|
+
* NOTE
|
|
62
|
+
* - Required if subclass uses the default implementation of
|
|
63
|
+
* `processLlmRequest` to add function declaration to LLM request.
|
|
64
|
+
* - Otherwise, can be skipped, e.g. for a built-in GoogleSearch tool for
|
|
65
|
+
* Gemini.
|
|
66
|
+
*
|
|
67
|
+
* @return The FunctionDeclaration of this tool, or undefined if it doesn't
|
|
68
|
+
* need to be added to LlmRequest.config.
|
|
69
|
+
*/
|
|
70
|
+
_getDeclaration(): FunctionDeclaration | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Runs the tool with the given arguments and context.
|
|
73
|
+
*
|
|
74
|
+
* NOTE
|
|
75
|
+
* - Required if this tool needs to run at the client side.
|
|
76
|
+
* - Otherwise, can be skipped, e.g. for a built-in GoogleSearch tool for
|
|
77
|
+
* Gemini.
|
|
78
|
+
*
|
|
79
|
+
* @param request The request to run the tool.
|
|
80
|
+
* @return A promise that resolves to the tool response.
|
|
81
|
+
*/
|
|
82
|
+
abstract runAsync(request: RunAsyncToolRequest): Promise<unknown>;
|
|
83
|
+
/**
|
|
84
|
+
* Processes the outgoing LLM request for this tool.
|
|
85
|
+
*
|
|
86
|
+
* Use cases:
|
|
87
|
+
* - Most common use case is adding this tool to the LLM request.
|
|
88
|
+
* - Some tools may just preprocess the LLM request before it's sent out.
|
|
89
|
+
*
|
|
90
|
+
* @param request The request to process the LLM request.
|
|
91
|
+
*/
|
|
92
|
+
processLlmRequest({ llmRequest }: ToolProcessLlmRequest): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* The Google API LLM variant to use.
|
|
95
|
+
*/
|
|
96
|
+
get apiVariant(): import("../utils/variant_utils.js").GoogleLLMVariant;
|
|
97
|
+
}
|
|
98
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ReadonlyContext } from '../agents/readonly_context.js';
|
|
7
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
8
|
+
import { Context } from '../agents/context.js';
|
|
9
|
+
import { BaseTool } from './base_tool.js';
|
|
10
|
+
/**
|
|
11
|
+
* Function to decide whether a tool should be exposed to LLM. Toolset
|
|
12
|
+
* implementer could consider whether to accept such instance in the toolset's
|
|
13
|
+
* constructor and apply the predicate in getTools method.
|
|
14
|
+
*/
|
|
15
|
+
export type ToolPredicate = (tool: BaseTool, readonlyContext: ReadonlyContext) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* A unique symbol to identify ADK agent classes.
|
|
18
|
+
* Defined once and shared by all BaseTool instances.
|
|
19
|
+
*/
|
|
20
|
+
declare const BASE_TOOLSET_SIGNATURE_SYMBOL: unique symbol;
|
|
21
|
+
export declare function isBaseToolset(obj: unknown): obj is BaseToolset;
|
|
22
|
+
/**
|
|
23
|
+
* Base class for toolset.
|
|
24
|
+
*
|
|
25
|
+
* A toolset is a collection of tools that can be used by an agent.
|
|
26
|
+
*/
|
|
27
|
+
export declare abstract class BaseToolset {
|
|
28
|
+
readonly toolFilter: ToolPredicate | string[];
|
|
29
|
+
readonly prefix?: string | undefined;
|
|
30
|
+
readonly [BASE_TOOLSET_SIGNATURE_SYMBOL] = true;
|
|
31
|
+
constructor(toolFilter: ToolPredicate | string[], prefix?: string | undefined);
|
|
32
|
+
/**
|
|
33
|
+
* Returns the tools that should be exposed to LLM.
|
|
34
|
+
*
|
|
35
|
+
* @param context Context used to filter tools available to the agent. If
|
|
36
|
+
* not defined, all tools in the toolset are returned.
|
|
37
|
+
* @return A Promise that resolves to the list of tools.
|
|
38
|
+
*/
|
|
39
|
+
abstract getTools(context?: ReadonlyContext): Promise<BaseTool[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Closes the toolset.
|
|
42
|
+
*
|
|
43
|
+
* NOTE: This method is invoked, for example, at the end of an agent server's
|
|
44
|
+
* lifecycle or when the toolset is no longer needed. Implementations
|
|
45
|
+
* should ensure that any open connections, files, or other managed
|
|
46
|
+
* resources are properly released to prevent leaks.
|
|
47
|
+
*
|
|
48
|
+
* @return A Promise that resolves when the toolset is closed.
|
|
49
|
+
*/
|
|
50
|
+
abstract close(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns whether the tool should be exposed to LLM.
|
|
53
|
+
*
|
|
54
|
+
* @param tool The tool to check.
|
|
55
|
+
* @param context Context used to filter tools available to the agent.
|
|
56
|
+
* @return Whether the tool should be exposed to LLM.
|
|
57
|
+
*/
|
|
58
|
+
protected isToolSelected(tool: BaseTool, context: ReadonlyContext): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Processes the outgoing LLM request for this toolset. This method will be
|
|
61
|
+
* called before each tool processes the llm request.
|
|
62
|
+
*
|
|
63
|
+
* Use cases:
|
|
64
|
+
* - Instead of let each tool process the llm request, we can let the toolset
|
|
65
|
+
* process the llm request. e.g. ComputerUseToolset can add computer use
|
|
66
|
+
* tool to the llm request.
|
|
67
|
+
*
|
|
68
|
+
* @param toolContext The context of the tool.
|
|
69
|
+
* @param llmRequest The outgoing LLM request, mutable this method.
|
|
70
|
+
*/
|
|
71
|
+
processLlmRequest(toolContext: Context, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
72
|
+
llmRequest: LlmRequest): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest } from './base_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* Tool for exiting execution of a {@link LoopAgent}.
|
|
10
|
+
*
|
|
11
|
+
* When called by an LLM agent inside a LoopAgent, this tool sets the
|
|
12
|
+
* `escalate` and `skipSummarization` flags on the event actions,
|
|
13
|
+
* causing the LoopAgent to stop iterating and exit the loop.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
export declare class ExitLoopTool extends BaseTool {
|
|
17
|
+
constructor();
|
|
18
|
+
_getDeclaration(): FunctionDeclaration;
|
|
19
|
+
runAsync({ toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A global instance of {@link ExitLoopTool}.
|
|
23
|
+
*/
|
|
24
|
+
export declare const EXIT_LOOP: ExitLoopTool;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part } from '@google/genai';
|
|
7
|
+
import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from '../artifacts/base_artifact_service.js';
|
|
8
|
+
import { Context } from '../agents/context.js';
|
|
9
|
+
/**
|
|
10
|
+
* Artifact service that forwards to the parent tool context.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ForwardingArtifactService implements BaseArtifactService {
|
|
13
|
+
private readonly toolContext;
|
|
14
|
+
private readonly invocationContext;
|
|
15
|
+
constructor(toolContext: Context);
|
|
16
|
+
saveArtifact(request: SaveArtifactRequest): Promise<number>;
|
|
17
|
+
loadArtifact(request: LoadArtifactRequest): Promise<Part | undefined>;
|
|
18
|
+
listArtifactKeys(): Promise<string[]>;
|
|
19
|
+
deleteArtifact(request: DeleteArtifactRequest): Promise<void>;
|
|
20
|
+
listVersions(request: ListVersionsRequest): Promise<number[]>;
|
|
21
|
+
listArtifactVersions(request: ListVersionsRequest): Promise<ArtifactVersion[]>;
|
|
22
|
+
getArtifactVersion(request: LoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
23
|
+
}
|