@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,722 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var llm_agent_exports = {};
|
|
26
|
+
__export(llm_agent_exports, {
|
|
27
|
+
LlmAgent: () => LlmAgent,
|
|
28
|
+
isLlmAgent: () => isLlmAgent
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(llm_agent_exports);
|
|
31
|
+
var import_api = require("@opentelemetry/api");
|
|
32
|
+
var import_event = require("../events/event.js");
|
|
33
|
+
var import_base_llm = require("../models/base_llm.js");
|
|
34
|
+
var import_registry = require("../models/registry.js");
|
|
35
|
+
var import_base_tool = require("../tools/base_tool.js");
|
|
36
|
+
var import_logger = require("../utils/logger.js");
|
|
37
|
+
var import_context = require("./context.js");
|
|
38
|
+
var import_tracing = require("../telemetry/tracing.js");
|
|
39
|
+
var import_simple_zod_to_json = require("../utils/simple_zod_to_json.js");
|
|
40
|
+
var import_base_agent = require("./base_agent.js");
|
|
41
|
+
var import_functions = require("./functions.js");
|
|
42
|
+
var import_agent_transfer_llm_request_processor = require("./processors/agent_transfer_llm_request_processor.js");
|
|
43
|
+
var import_basic_llm_request_processor = require("./processors/basic_llm_request_processor.js");
|
|
44
|
+
var import_code_execution_request_processor = require("./processors/code_execution_request_processor.js");
|
|
45
|
+
var import_content_request_processor = require("./processors/content_request_processor.js");
|
|
46
|
+
var import_context_compactor_request_processor = require("./processors/context_compactor_request_processor.js");
|
|
47
|
+
var import_identity_llm_request_processor = require("./processors/identity_llm_request_processor.js");
|
|
48
|
+
var import_instructions_llm_request_processor = require("./processors/instructions_llm_request_processor.js");
|
|
49
|
+
var import_request_confirmation_llm_request_processor = require("./processors/request_confirmation_llm_request_processor.js");
|
|
50
|
+
var import_tool_filter_request_processor = require("./processors/tool_filter_request_processor.js");
|
|
51
|
+
var import_readonly_context = require("./readonly_context.js");
|
|
52
|
+
var import_run_config = require("./run_config.js");
|
|
53
|
+
/**
|
|
54
|
+
* @license
|
|
55
|
+
* Copyright 2025 Google LLC
|
|
56
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
57
|
+
*/
|
|
58
|
+
var _a, _b;
|
|
59
|
+
const ADK_AGENT_NAME_LABEL_KEY = "adk_agent_name";
|
|
60
|
+
async function convertToolUnionToTools(toolUnion, context2) {
|
|
61
|
+
if ((0, import_base_tool.isBaseTool)(toolUnion)) {
|
|
62
|
+
return [toolUnion];
|
|
63
|
+
}
|
|
64
|
+
return await toolUnion.getTools(context2);
|
|
65
|
+
}
|
|
66
|
+
const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
|
|
67
|
+
function isLlmAgent(obj) {
|
|
68
|
+
return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
|
|
69
|
+
}
|
|
70
|
+
class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
71
|
+
constructor(config) {
|
|
72
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
|
|
73
|
+
super(config);
|
|
74
|
+
/** A unique symbol to identify ADK LLM agent class. */
|
|
75
|
+
this[_a] = true;
|
|
76
|
+
this.model = config.model;
|
|
77
|
+
this.instruction = (_a2 = config.instruction) != null ? _a2 : "";
|
|
78
|
+
this.globalInstruction = (_b2 = config.globalInstruction) != null ? _b2 : "";
|
|
79
|
+
this.tools = (_c = config.tools) != null ? _c : [];
|
|
80
|
+
this.generateContentConfig = config.generateContentConfig;
|
|
81
|
+
this.disallowTransferToParent = (_d = config.disallowTransferToParent) != null ? _d : false;
|
|
82
|
+
this.disallowTransferToPeers = (_e = config.disallowTransferToPeers) != null ? _e : false;
|
|
83
|
+
this.includeContents = (_f = config.includeContents) != null ? _f : "default";
|
|
84
|
+
this.inputSchema = (0, import_simple_zod_to_json.isZodObject)(config.inputSchema) ? (0, import_simple_zod_to_json.zodObjectToSchema)(config.inputSchema) : config.inputSchema;
|
|
85
|
+
this.outputSchema = (0, import_simple_zod_to_json.isZodObject)(config.outputSchema) ? (0, import_simple_zod_to_json.zodObjectToSchema)(config.outputSchema) : config.outputSchema;
|
|
86
|
+
this.outputKey = config.outputKey;
|
|
87
|
+
this.beforeModelCallback = config.beforeModelCallback;
|
|
88
|
+
this.afterModelCallback = config.afterModelCallback;
|
|
89
|
+
this.beforeToolCallback = config.beforeToolCallback;
|
|
90
|
+
this.afterToolCallback = config.afterToolCallback;
|
|
91
|
+
this.codeExecutor = config.codeExecutor;
|
|
92
|
+
this.requestProcessors = (_g = config.requestProcessors) != null ? _g : [
|
|
93
|
+
import_basic_llm_request_processor.BASIC_LLM_REQUEST_PROCESSOR,
|
|
94
|
+
import_identity_llm_request_processor.IDENTITY_LLM_REQUEST_PROCESSOR,
|
|
95
|
+
import_instructions_llm_request_processor.INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
|
|
96
|
+
import_request_confirmation_llm_request_processor.REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
|
|
97
|
+
import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
|
|
98
|
+
import_code_execution_request_processor.CODE_EXECUTION_REQUEST_PROCESSOR,
|
|
99
|
+
import_tool_filter_request_processor.TOOL_FILTER_REQUEST_PROCESSOR
|
|
100
|
+
];
|
|
101
|
+
if (!config.requestProcessors && config.contextCompactors && config.contextCompactors.length > 0) {
|
|
102
|
+
const contentIndex = this.requestProcessors.indexOf(
|
|
103
|
+
import_content_request_processor.CONTENT_REQUEST_PROCESSOR
|
|
104
|
+
);
|
|
105
|
+
if (contentIndex !== -1) {
|
|
106
|
+
this.requestProcessors.splice(
|
|
107
|
+
contentIndex,
|
|
108
|
+
0,
|
|
109
|
+
new import_context_compactor_request_processor.ContextCompactorRequestProcessor(config.contextCompactors)
|
|
110
|
+
);
|
|
111
|
+
} else {
|
|
112
|
+
this.requestProcessors.push(
|
|
113
|
+
new import_context_compactor_request_processor.ContextCompactorRequestProcessor(config.contextCompactors)
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
this.responseProcessors = (_h = config.responseProcessors) != null ? _h : [];
|
|
118
|
+
const agentTransferDisabled = this.disallowTransferToParent && this.disallowTransferToPeers && !((_i = this.subAgents) == null ? void 0 : _i.length);
|
|
119
|
+
if (!agentTransferDisabled) {
|
|
120
|
+
this.requestProcessors.push(import_agent_transfer_llm_request_processor.AGENT_TRANSFER_LLM_REQUEST_PROCESSOR);
|
|
121
|
+
}
|
|
122
|
+
if (config.generateContentConfig) {
|
|
123
|
+
if (config.generateContentConfig.tools) {
|
|
124
|
+
throw new Error("All tools must be set via LlmAgent.tools.");
|
|
125
|
+
}
|
|
126
|
+
if (config.generateContentConfig.systemInstruction) {
|
|
127
|
+
throw new Error(
|
|
128
|
+
"System instruction must be set via LlmAgent.instruction."
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
if (config.generateContentConfig.responseSchema) {
|
|
132
|
+
throw new Error(
|
|
133
|
+
"Response schema must be set via LlmAgent.output_schema."
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
} else {
|
|
137
|
+
this.generateContentConfig = {};
|
|
138
|
+
}
|
|
139
|
+
if (this.outputSchema) {
|
|
140
|
+
if (!this.disallowTransferToParent || !this.disallowTransferToPeers) {
|
|
141
|
+
import_logger.logger.warn(
|
|
142
|
+
`Invalid config for agent ${this.name}: outputSchema cannot co-exist with agent transfer configurations. Setting disallowTransferToParent=true, disallowTransferToPeers=true`
|
|
143
|
+
);
|
|
144
|
+
this.disallowTransferToParent = true;
|
|
145
|
+
this.disallowTransferToPeers = true;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The resolved BaseLlm instance.
|
|
151
|
+
*
|
|
152
|
+
* When not set, the agent will inherit the model from its ancestor.
|
|
153
|
+
*/
|
|
154
|
+
get canonicalModel() {
|
|
155
|
+
if ((0, import_base_llm.isBaseLlm)(this.model)) {
|
|
156
|
+
return this.model;
|
|
157
|
+
}
|
|
158
|
+
if (typeof this.model === "string" && this.model) {
|
|
159
|
+
return import_registry.LLMRegistry.newLlm(this.model);
|
|
160
|
+
}
|
|
161
|
+
let ancestorAgent = this.parentAgent;
|
|
162
|
+
while (ancestorAgent) {
|
|
163
|
+
if (isLlmAgent(ancestorAgent)) {
|
|
164
|
+
return ancestorAgent.canonicalModel;
|
|
165
|
+
}
|
|
166
|
+
ancestorAgent = ancestorAgent.parentAgent;
|
|
167
|
+
}
|
|
168
|
+
throw new Error(`No model found for ${this.name}.`);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The resolved instruction field to construct instruction for this
|
|
172
|
+
* agent.
|
|
173
|
+
*
|
|
174
|
+
* This method is only for use by Agent Development Kit.
|
|
175
|
+
* @param context The context to retrieve the session state.
|
|
176
|
+
* @returns The resolved instruction field.
|
|
177
|
+
*/
|
|
178
|
+
async canonicalInstruction(context2) {
|
|
179
|
+
if (typeof this.instruction === "string") {
|
|
180
|
+
return { instruction: this.instruction, requireStateInjection: true };
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
instruction: await this.instruction(context2),
|
|
184
|
+
requireStateInjection: false
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* The resolved globalInstruction field to construct global instruction.
|
|
189
|
+
*
|
|
190
|
+
* This method is only for use by Agent Development Kit.
|
|
191
|
+
* @param context The context to retrieve the session state.
|
|
192
|
+
* @returns The resolved globalInstruction field.
|
|
193
|
+
*/
|
|
194
|
+
async canonicalGlobalInstruction(context2) {
|
|
195
|
+
if (typeof this.globalInstruction === "string") {
|
|
196
|
+
return {
|
|
197
|
+
instruction: this.globalInstruction,
|
|
198
|
+
requireStateInjection: true
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
instruction: await this.globalInstruction(context2),
|
|
203
|
+
requireStateInjection: false
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* The resolved tools field as a list of BaseTool based on the context.
|
|
208
|
+
*
|
|
209
|
+
* This method is only for use by Agent Development Kit.
|
|
210
|
+
*/
|
|
211
|
+
async canonicalTools(context2) {
|
|
212
|
+
const resolvedTools = [];
|
|
213
|
+
for (const toolUnion of this.tools) {
|
|
214
|
+
const tools = await convertToolUnionToTools(toolUnion, context2);
|
|
215
|
+
resolvedTools.push(...tools);
|
|
216
|
+
}
|
|
217
|
+
return resolvedTools;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Normalizes a callback or an array of callbacks into an array of callbacks.
|
|
221
|
+
*
|
|
222
|
+
* @param callback The callback or an array of callbacks.
|
|
223
|
+
* @returns An array of callbacks.
|
|
224
|
+
*/
|
|
225
|
+
static normalizeCallbackArray(callback) {
|
|
226
|
+
if (!callback) {
|
|
227
|
+
return [];
|
|
228
|
+
}
|
|
229
|
+
if (Array.isArray(callback)) {
|
|
230
|
+
return callback;
|
|
231
|
+
}
|
|
232
|
+
return [callback];
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* The resolved beforeModelCallback field as a list of
|
|
236
|
+
* SingleBeforeModelCallback.
|
|
237
|
+
*
|
|
238
|
+
* This method is only for use by Agent Development Kit.
|
|
239
|
+
*/
|
|
240
|
+
get canonicalBeforeModelCallbacks() {
|
|
241
|
+
return LlmAgent.normalizeCallbackArray(this.beforeModelCallback);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The resolved afterModelCallback field as a list of
|
|
245
|
+
* SingleAfterModelCallback.
|
|
246
|
+
*
|
|
247
|
+
* This method is only for use by Agent Development Kit.
|
|
248
|
+
*/
|
|
249
|
+
get canonicalAfterModelCallbacks() {
|
|
250
|
+
return LlmAgent.normalizeCallbackArray(this.afterModelCallback);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* The resolved beforeToolCallback field as a list of
|
|
254
|
+
* BeforeToolCallback.
|
|
255
|
+
*
|
|
256
|
+
* This method is only for use by Agent Development Kit.
|
|
257
|
+
*/
|
|
258
|
+
get canonicalBeforeToolCallbacks() {
|
|
259
|
+
return LlmAgent.normalizeCallbackArray(this.beforeToolCallback);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* The resolved afterToolCallback field as a list of AfterToolCallback.
|
|
263
|
+
*
|
|
264
|
+
* This method is only for use by Agent Development Kit.
|
|
265
|
+
*/
|
|
266
|
+
get canonicalAfterToolCallbacks() {
|
|
267
|
+
return LlmAgent.normalizeCallbackArray(this.afterToolCallback);
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Saves the agent's final response to the session state if configured.
|
|
271
|
+
*
|
|
272
|
+
* It extracts the text content from the final response event, optionally
|
|
273
|
+
* parses it as JSON based on the output schema, and stores the result in the
|
|
274
|
+
* session state using the specified output key.
|
|
275
|
+
*
|
|
276
|
+
* @param event The event to process.
|
|
277
|
+
*/
|
|
278
|
+
maybeSaveOutputToState(event) {
|
|
279
|
+
var _a2, _b2;
|
|
280
|
+
if (event.author !== this.name) {
|
|
281
|
+
import_logger.logger.debug(
|
|
282
|
+
`Skipping output save for agent ${this.name}: event authored by ${event.author}`
|
|
283
|
+
);
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
if (!this.outputKey) {
|
|
287
|
+
import_logger.logger.debug(
|
|
288
|
+
`Skipping output save for agent ${this.name}: outputKey is not set`
|
|
289
|
+
);
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
if (!(0, import_event.isFinalResponse)(event)) {
|
|
293
|
+
import_logger.logger.debug(
|
|
294
|
+
`Skipping output save for agent ${this.name}: event is not a final response`
|
|
295
|
+
);
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
if (!((_b2 = (_a2 = event.content) == null ? void 0 : _a2.parts) == null ? void 0 : _b2.length)) {
|
|
299
|
+
import_logger.logger.debug(
|
|
300
|
+
`Skipping output save for agent ${this.name}: event content is empty`
|
|
301
|
+
);
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
const resultStr = event.content.parts.map((part) => part.text ? part.text : "").join("");
|
|
305
|
+
let result = resultStr;
|
|
306
|
+
if (this.outputSchema) {
|
|
307
|
+
if (!resultStr.trim()) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
try {
|
|
311
|
+
result = JSON.parse(resultStr);
|
|
312
|
+
} catch (e) {
|
|
313
|
+
import_logger.logger.error(`Error parsing output for agent ${this.name}`, e);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
event.actions.stateDelta[this.outputKey] = result;
|
|
317
|
+
}
|
|
318
|
+
async *runAsyncImpl(context2) {
|
|
319
|
+
var _a2;
|
|
320
|
+
while (true) {
|
|
321
|
+
let lastEvent = void 0;
|
|
322
|
+
for await (const event of this.runOneStepAsync(context2)) {
|
|
323
|
+
if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
lastEvent = event;
|
|
327
|
+
this.maybeSaveOutputToState(event);
|
|
328
|
+
yield event;
|
|
329
|
+
}
|
|
330
|
+
if (!lastEvent || (0, import_event.isFinalResponse)(lastEvent)) {
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
if (lastEvent.partial) {
|
|
334
|
+
import_logger.logger.warn("The last event is partial, which is not expected.");
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
async *runLiveImpl(context2) {
|
|
340
|
+
var _a2;
|
|
341
|
+
for await (const event of this.runLiveFlow(context2)) {
|
|
342
|
+
if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
this.maybeSaveOutputToState(event);
|
|
346
|
+
yield event;
|
|
347
|
+
}
|
|
348
|
+
if (context2.endInvocation) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
// --------------------------------------------------------------------------
|
|
353
|
+
// #START LlmFlow Logic
|
|
354
|
+
// --------------------------------------------------------------------------
|
|
355
|
+
// eslint-disable-next-line require-yield
|
|
356
|
+
async *runLiveFlow(_invocationContext) {
|
|
357
|
+
await Promise.resolve();
|
|
358
|
+
throw new Error("LlmAgent.runLiveFlow not implemented");
|
|
359
|
+
}
|
|
360
|
+
async *runOneStepAsync(invocationContext) {
|
|
361
|
+
var _a2, _b2, _c;
|
|
362
|
+
const llmRequest = {
|
|
363
|
+
contents: [],
|
|
364
|
+
toolsDict: {},
|
|
365
|
+
liveConnectConfig: {}
|
|
366
|
+
};
|
|
367
|
+
for (const processor of this.requestProcessors) {
|
|
368
|
+
for await (const event of processor.runAsync(
|
|
369
|
+
invocationContext,
|
|
370
|
+
llmRequest
|
|
371
|
+
)) {
|
|
372
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
yield event;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
for (const toolUnion of this.tools) {
|
|
379
|
+
const toolContext = new import_context.Context({ invocationContext });
|
|
380
|
+
const tools = (await convertToolUnionToTools(
|
|
381
|
+
toolUnion,
|
|
382
|
+
new import_readonly_context.ReadonlyContext(invocationContext)
|
|
383
|
+
)).filter((tool) => {
|
|
384
|
+
return !llmRequest.allowedTools || llmRequest.allowedTools.includes(tool.name);
|
|
385
|
+
});
|
|
386
|
+
for (const tool of tools) {
|
|
387
|
+
await tool.processLlmRequest({ toolContext, llmRequest });
|
|
388
|
+
if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
if (invocationContext.endInvocation || ((_c = invocationContext.abortSignal) == null ? void 0 : _c.aborted)) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
const modelResponseEvent = (0, import_event.createEvent)({
|
|
397
|
+
invocationId: invocationContext.invocationId,
|
|
398
|
+
author: this.name,
|
|
399
|
+
branch: invocationContext.branch
|
|
400
|
+
});
|
|
401
|
+
const span = import_tracing.tracer.startSpan("call_llm");
|
|
402
|
+
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
403
|
+
yield* (0, import_tracing.runAsyncGeneratorWithOtelContext)(
|
|
404
|
+
ctx,
|
|
405
|
+
this,
|
|
406
|
+
async function* () {
|
|
407
|
+
const responsesGenerator = async function* () {
|
|
408
|
+
var _a3, _b3;
|
|
409
|
+
for await (const llmResponse of this.callLlmAsync(
|
|
410
|
+
invocationContext,
|
|
411
|
+
llmRequest,
|
|
412
|
+
modelResponseEvent
|
|
413
|
+
)) {
|
|
414
|
+
if ((_a3 = invocationContext.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
for await (const event of this.postprocess(
|
|
418
|
+
invocationContext,
|
|
419
|
+
llmRequest,
|
|
420
|
+
llmResponse,
|
|
421
|
+
modelResponseEvent
|
|
422
|
+
)) {
|
|
423
|
+
if ((_b3 = invocationContext.abortSignal) == null ? void 0 : _b3.aborted) {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
modelResponseEvent.id = (0, import_event.createNewEventId)();
|
|
427
|
+
modelResponseEvent.timestamp = (/* @__PURE__ */ new Date()).getTime();
|
|
428
|
+
yield event;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
};
|
|
432
|
+
yield* this.runAndHandleError(
|
|
433
|
+
responsesGenerator.call(this),
|
|
434
|
+
invocationContext,
|
|
435
|
+
llmRequest,
|
|
436
|
+
modelResponseEvent
|
|
437
|
+
);
|
|
438
|
+
}
|
|
439
|
+
);
|
|
440
|
+
span.end();
|
|
441
|
+
}
|
|
442
|
+
async *postprocess(invocationContext, llmRequest, llmResponse, modelResponseEvent) {
|
|
443
|
+
var _a2, _b2, _c, _d, _e, _f;
|
|
444
|
+
for (const processor of this.responseProcessors) {
|
|
445
|
+
for await (const event of processor.runAsync(
|
|
446
|
+
invocationContext,
|
|
447
|
+
llmResponse
|
|
448
|
+
)) {
|
|
449
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
yield event;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
if (!llmResponse.content && !llmResponse.errorCode && !llmResponse.interrupted) {
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
const mergedEvent = (0, import_event.createEvent)({
|
|
459
|
+
...modelResponseEvent,
|
|
460
|
+
...llmResponse
|
|
461
|
+
});
|
|
462
|
+
if (mergedEvent.content) {
|
|
463
|
+
const functionCalls = (0, import_event.getFunctionCalls)(mergedEvent);
|
|
464
|
+
if (functionCalls == null ? void 0 : functionCalls.length) {
|
|
465
|
+
(0, import_functions.populateClientFunctionCallId)(mergedEvent);
|
|
466
|
+
mergedEvent.longRunningToolIds = Array.from(
|
|
467
|
+
(0, import_functions.getLongRunningFunctionCalls)(functionCalls, llmRequest.toolsDict)
|
|
468
|
+
);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
yield mergedEvent;
|
|
472
|
+
if (!((_b2 = (0, import_event.getFunctionCalls)(mergedEvent)) == null ? void 0 : _b2.length)) {
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
if ((_c = invocationContext.runConfig) == null ? void 0 : _c.pauseOnToolCalls) {
|
|
476
|
+
invocationContext.endInvocation = true;
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
let functionResponseEvent = null;
|
|
480
|
+
let pendingEvent = null;
|
|
481
|
+
for await (const event of (0, import_functions.handleFunctionCallsStreamingAsync)({
|
|
482
|
+
invocationContext,
|
|
483
|
+
functionCallEvent: mergedEvent,
|
|
484
|
+
toolsDict: llmRequest.toolsDict,
|
|
485
|
+
beforeToolCallbacks: this.canonicalBeforeToolCallbacks,
|
|
486
|
+
afterToolCallbacks: this.canonicalAfterToolCallbacks
|
|
487
|
+
})) {
|
|
488
|
+
if ((_d = invocationContext.abortSignal) == null ? void 0 : _d.aborted) {
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
if (pendingEvent) {
|
|
492
|
+
yield pendingEvent;
|
|
493
|
+
}
|
|
494
|
+
pendingEvent = event;
|
|
495
|
+
}
|
|
496
|
+
functionResponseEvent = pendingEvent;
|
|
497
|
+
if (!functionResponseEvent || ((_e = invocationContext.abortSignal) == null ? void 0 : _e.aborted)) {
|
|
498
|
+
return;
|
|
499
|
+
}
|
|
500
|
+
const authEvent = (0, import_functions.generateAuthEvent)(
|
|
501
|
+
invocationContext,
|
|
502
|
+
functionResponseEvent
|
|
503
|
+
);
|
|
504
|
+
if (authEvent) {
|
|
505
|
+
yield authEvent;
|
|
506
|
+
}
|
|
507
|
+
const toolConfirmationEvent = (0, import_functions.generateRequestConfirmationEvent)({
|
|
508
|
+
invocationContext,
|
|
509
|
+
functionCallEvent: mergedEvent,
|
|
510
|
+
functionResponseEvent
|
|
511
|
+
});
|
|
512
|
+
if (toolConfirmationEvent) {
|
|
513
|
+
yield toolConfirmationEvent;
|
|
514
|
+
invocationContext.endInvocation = true;
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
yield functionResponseEvent;
|
|
518
|
+
const nextAgentName = functionResponseEvent.actions.transferToAgent;
|
|
519
|
+
if (nextAgentName) {
|
|
520
|
+
const nextAgent = this.getAgentByName(invocationContext, nextAgentName);
|
|
521
|
+
for await (const event of nextAgent.runAsync(invocationContext)) {
|
|
522
|
+
if ((_f = invocationContext.abortSignal) == null ? void 0 : _f.aborted) {
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
yield event;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* Retrieves an agent from the agent tree by its name.
|
|
531
|
+
*
|
|
532
|
+
* Performing a depth-first search to locate the agent with the given name.
|
|
533
|
+
* - Starts searching from the root agent of the current invocation context.
|
|
534
|
+
* - Traverses down the agent tree to find the specified agent.
|
|
535
|
+
*
|
|
536
|
+
* @param invocationContext The current invocation context.
|
|
537
|
+
* @param agentName The name of the agent to retrieve.
|
|
538
|
+
* @returns The agent with the given name.
|
|
539
|
+
* @throws Error if the agent is not found.
|
|
540
|
+
*/
|
|
541
|
+
getAgentByName(invocationContext, agentName) {
|
|
542
|
+
const rootAgent = invocationContext.agent.rootAgent;
|
|
543
|
+
const agentToRun = rootAgent.findAgent(agentName);
|
|
544
|
+
if (!agentToRun) {
|
|
545
|
+
throw new Error(`Agent ${agentName} not found in the agent tree.`);
|
|
546
|
+
}
|
|
547
|
+
return agentToRun;
|
|
548
|
+
}
|
|
549
|
+
async *callLlmAsync(invocationContext, llmRequest, modelResponseEvent) {
|
|
550
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
551
|
+
const beforeModelResponse = await this.handleBeforeModelCallback(
|
|
552
|
+
invocationContext,
|
|
553
|
+
llmRequest,
|
|
554
|
+
modelResponseEvent
|
|
555
|
+
);
|
|
556
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
557
|
+
return;
|
|
558
|
+
}
|
|
559
|
+
if (beforeModelResponse) {
|
|
560
|
+
yield beforeModelResponse;
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
(_b2 = llmRequest.config) != null ? _b2 : llmRequest.config = {};
|
|
564
|
+
(_d = (_c = llmRequest.config).labels) != null ? _d : _c.labels = {};
|
|
565
|
+
if (!llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY]) {
|
|
566
|
+
llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY] = this.name;
|
|
567
|
+
}
|
|
568
|
+
const llm = this.canonicalModel;
|
|
569
|
+
if ((_e = invocationContext.runConfig) == null ? void 0 : _e.supportCfc) {
|
|
570
|
+
throw new Error("CFC is not yet supported in callLlmAsync");
|
|
571
|
+
} else {
|
|
572
|
+
invocationContext.incrementLlmCallCount();
|
|
573
|
+
const responsesGenerator = llm.generateContentAsync(
|
|
574
|
+
llmRequest,
|
|
575
|
+
/* stream= */
|
|
576
|
+
((_f = invocationContext.runConfig) == null ? void 0 : _f.streamingMode) === import_run_config.StreamingMode.SSE,
|
|
577
|
+
invocationContext.abortSignal
|
|
578
|
+
);
|
|
579
|
+
for await (const llmResponse of responsesGenerator) {
|
|
580
|
+
(0, import_tracing.traceCallLlm)({
|
|
581
|
+
invocationContext,
|
|
582
|
+
eventId: modelResponseEvent.id,
|
|
583
|
+
llmRequest,
|
|
584
|
+
llmResponse
|
|
585
|
+
});
|
|
586
|
+
if ((_g = invocationContext.abortSignal) == null ? void 0 : _g.aborted) {
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
const alteredLlmResponse = await this.handleAfterModelCallback(
|
|
590
|
+
invocationContext,
|
|
591
|
+
llmResponse,
|
|
592
|
+
modelResponseEvent
|
|
593
|
+
);
|
|
594
|
+
if ((_h = invocationContext.abortSignal) == null ? void 0 : _h.aborted) {
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
yield alteredLlmResponse != null ? alteredLlmResponse : llmResponse;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
async handleBeforeModelCallback(invocationContext, llmRequest, modelResponseEvent) {
|
|
602
|
+
var _a2, _b2;
|
|
603
|
+
const callbackContext = new import_context.Context({
|
|
604
|
+
invocationContext,
|
|
605
|
+
eventActions: modelResponseEvent.actions
|
|
606
|
+
});
|
|
607
|
+
const beforeModelCallbackResponse = await invocationContext.pluginManager.runBeforeModelCallback({
|
|
608
|
+
callbackContext,
|
|
609
|
+
llmRequest
|
|
610
|
+
});
|
|
611
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
if (beforeModelCallbackResponse) {
|
|
615
|
+
return beforeModelCallbackResponse;
|
|
616
|
+
}
|
|
617
|
+
for (const callback of this.canonicalBeforeModelCallbacks) {
|
|
618
|
+
const callbackResponse = await callback({
|
|
619
|
+
context: callbackContext,
|
|
620
|
+
request: llmRequest
|
|
621
|
+
});
|
|
622
|
+
if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
623
|
+
return;
|
|
624
|
+
}
|
|
625
|
+
if (callbackResponse) {
|
|
626
|
+
return callbackResponse;
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
return void 0;
|
|
630
|
+
}
|
|
631
|
+
async handleAfterModelCallback(invocationContext, llmResponse, modelResponseEvent) {
|
|
632
|
+
var _a2;
|
|
633
|
+
const callbackContext = new import_context.Context({
|
|
634
|
+
invocationContext,
|
|
635
|
+
eventActions: modelResponseEvent.actions
|
|
636
|
+
});
|
|
637
|
+
const afterModelCallbackResponse = await invocationContext.pluginManager.runAfterModelCallback({
|
|
638
|
+
callbackContext,
|
|
639
|
+
llmResponse
|
|
640
|
+
});
|
|
641
|
+
if (afterModelCallbackResponse) {
|
|
642
|
+
return afterModelCallbackResponse;
|
|
643
|
+
}
|
|
644
|
+
for (const callback of this.canonicalAfterModelCallbacks) {
|
|
645
|
+
const callbackResponse = await callback({
|
|
646
|
+
context: callbackContext,
|
|
647
|
+
response: llmResponse
|
|
648
|
+
});
|
|
649
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
if (callbackResponse) {
|
|
653
|
+
return callbackResponse;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
return void 0;
|
|
657
|
+
}
|
|
658
|
+
async *runAndHandleError(responseGenerator, invocationContext, llmRequest, modelResponseEvent) {
|
|
659
|
+
var _a2;
|
|
660
|
+
try {
|
|
661
|
+
for await (const response of responseGenerator) {
|
|
662
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
663
|
+
return;
|
|
664
|
+
}
|
|
665
|
+
yield response;
|
|
666
|
+
}
|
|
667
|
+
} catch (modelError) {
|
|
668
|
+
const callbackContext = new import_context.Context({
|
|
669
|
+
invocationContext,
|
|
670
|
+
eventActions: modelResponseEvent.actions
|
|
671
|
+
});
|
|
672
|
+
if (modelError instanceof Error) {
|
|
673
|
+
const onModelErrorCallbackResponse = await invocationContext.pluginManager.runOnModelErrorCallback({
|
|
674
|
+
callbackContext,
|
|
675
|
+
llmRequest,
|
|
676
|
+
error: modelError
|
|
677
|
+
});
|
|
678
|
+
if (onModelErrorCallbackResponse) {
|
|
679
|
+
yield onModelErrorCallbackResponse;
|
|
680
|
+
} else {
|
|
681
|
+
let errorCode = "UNKNOWN_ERROR";
|
|
682
|
+
let errorMessage = modelError.message;
|
|
683
|
+
try {
|
|
684
|
+
const errorResponse = JSON.parse(modelError.message);
|
|
685
|
+
if (errorResponse == null ? void 0 : errorResponse.error) {
|
|
686
|
+
errorCode = String(errorResponse.error.code || "UNKNOWN_ERROR");
|
|
687
|
+
errorMessage = errorResponse.error.message || errorMessage;
|
|
688
|
+
}
|
|
689
|
+
} catch {
|
|
690
|
+
}
|
|
691
|
+
if (modelResponseEvent.actions) {
|
|
692
|
+
yield (0, import_event.createEvent)({
|
|
693
|
+
invocationId: invocationContext.invocationId,
|
|
694
|
+
author: this.name,
|
|
695
|
+
errorCode,
|
|
696
|
+
errorMessage
|
|
697
|
+
});
|
|
698
|
+
} else {
|
|
699
|
+
yield {
|
|
700
|
+
errorCode,
|
|
701
|
+
errorMessage
|
|
702
|
+
};
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
} else {
|
|
706
|
+
import_logger.logger.error("Unknown error during response generation", modelError);
|
|
707
|
+
throw modelError;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
// --------------------------------------------------------------------------
|
|
712
|
+
// #END LlmFlow Logic
|
|
713
|
+
// --------------------------------------------------------------------------
|
|
714
|
+
// TODO - b/425992518: omitted Py LlmAgent features.
|
|
715
|
+
// - code_executor
|
|
716
|
+
// - configurable agents by yaml config
|
|
717
|
+
}
|
|
718
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
719
|
+
0 && (module.exports = {
|
|
720
|
+
LlmAgent,
|
|
721
|
+
isLlmAgent
|
|
722
|
+
});
|