@google/adk 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +58 -6
- package/dist/cjs/a2a/agent_executor.js +10 -3
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +6 -5
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +2 -2
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/cjs/common.js +74 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -0
- package/dist/cjs/events/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +1 -1
- package/dist/cjs/models/base_llm.js +1 -1
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- package/dist/cjs/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +0 -6
- package/dist/cjs/utils/logger.js +15 -50
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +63 -6
- package/dist/esm/a2a/agent_executor.js +10 -3
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +6 -5
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +5 -5
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +2 -2
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/esm/common.js +73 -38
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -0
- package/dist/esm/events/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/index.js +37 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +1 -1
- package/dist/esm/models/base_llm.js +1 -1
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- package/dist/esm/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +0 -6
- package/dist/esm/utils/logger.js +14 -40
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- package/dist/types/a2a/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +9 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +13 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +22 -20
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event_actions.d.ts +13 -0
- package/dist/types/index.d.ts +22 -1
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +12 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
- package/dist/types/runner/runner.d.ts +7 -8
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/tools/base_tool.d.ts +11 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
- package/dist/types/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/logger.d.ts +23 -1
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +17 -14
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/base_auth_provider.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/crypto_shim.js +0 -18
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/version.js +0 -11
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -1,747 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __defProps = Object.defineProperties;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
10
|
-
var __typeError = (msg) => {
|
|
11
|
-
throw TypeError(msg);
|
|
12
|
-
};
|
|
13
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
-
var __spreadValues = (a, b) => {
|
|
15
|
-
for (var prop in b || (b = {}))
|
|
16
|
-
if (__hasOwnProp.call(b, prop))
|
|
17
|
-
__defNormalProp(a, prop, b[prop]);
|
|
18
|
-
if (__getOwnPropSymbols)
|
|
19
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
20
|
-
if (__propIsEnum.call(b, prop))
|
|
21
|
-
__defNormalProp(a, prop, b[prop]);
|
|
22
|
-
}
|
|
23
|
-
return a;
|
|
24
|
-
};
|
|
25
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
26
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
27
|
-
var __await = function(promise, isYieldStar) {
|
|
28
|
-
this[0] = promise;
|
|
29
|
-
this[1] = isYieldStar;
|
|
30
|
-
};
|
|
31
|
-
var __asyncGenerator = (__this, __arguments, generator) => {
|
|
32
|
-
var resume = (k, v, yes, no) => {
|
|
33
|
-
try {
|
|
34
|
-
var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
|
|
35
|
-
Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
|
|
36
|
-
} catch (e) {
|
|
37
|
-
no(e);
|
|
38
|
-
}
|
|
39
|
-
}, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
|
|
40
|
-
return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
|
|
41
|
-
};
|
|
42
|
-
var __yieldStar = (value) => {
|
|
43
|
-
var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
|
|
44
|
-
if (obj == null) {
|
|
45
|
-
obj = value[__knownSymbol("iterator")]();
|
|
46
|
-
method = (k) => it[k] = (x) => obj[k](x);
|
|
47
|
-
} else {
|
|
48
|
-
obj = obj.call(value);
|
|
49
|
-
method = (k) => it[k] = (v) => {
|
|
50
|
-
if (isAwait) {
|
|
51
|
-
isAwait = false;
|
|
52
|
-
if (k === "throw") throw v;
|
|
53
|
-
return v;
|
|
54
|
-
}
|
|
55
|
-
isAwait = true;
|
|
56
|
-
return {
|
|
57
|
-
done: false,
|
|
58
|
-
value: new __await(new Promise((resolve) => {
|
|
59
|
-
var x = obj[k](v);
|
|
60
|
-
if (!(x instanceof Object)) __typeError("Object expected");
|
|
61
|
-
resolve(x);
|
|
62
|
-
}), 1)
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
|
|
67
|
-
throw x;
|
|
68
|
-
}, "return" in obj && method("return"), it;
|
|
69
|
-
};
|
|
70
|
-
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
71
|
-
/**
|
|
72
|
-
* @license
|
|
73
|
-
* Copyright 2025 Google LLC
|
|
74
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
75
|
-
*/
|
|
76
|
-
var _a;
|
|
77
|
-
import { createPartFromText, Modality } from "@google/genai";
|
|
78
|
-
import { context, trace } from "@opentelemetry/api";
|
|
79
|
-
import { isBaseAgent } from "../agents/base_agent.js";
|
|
80
|
-
import { reservedFunctionCallName } from "../agents/framework_function_calls.js";
|
|
81
|
-
import { findMatchingFunctionCall } from "../agents/functions.js";
|
|
82
|
-
import {
|
|
83
|
-
InvocationContext,
|
|
84
|
-
newInvocationContextId,
|
|
85
|
-
requireAgent
|
|
86
|
-
} from "../agents/invocation_context.js";
|
|
87
|
-
import { isLlmAgent } from "../agents/llm_agent.js";
|
|
88
|
-
import { createRunConfig } from "../agents/run_config.js";
|
|
89
|
-
import { ScopedArtifactService } from "../artifacts/scoped_artifact_service.js";
|
|
90
|
-
import {
|
|
91
|
-
BuiltInCodeExecutor,
|
|
92
|
-
isBuiltInCodeExecutor
|
|
93
|
-
} from "../code_executors/built_in_code_executor.js";
|
|
94
|
-
import { createEvent } from "../events/event.js";
|
|
95
|
-
import { createEventActions } from "../events/event_actions.js";
|
|
96
|
-
import { PluginManager } from "../plugins/plugin_manager.js";
|
|
97
|
-
import {
|
|
98
|
-
runAsyncGeneratorWithOtelContext,
|
|
99
|
-
tracer
|
|
100
|
-
} from "../telemetry/tracing.js";
|
|
101
|
-
import { isBaseToolset } from "../tools/base_toolset.js";
|
|
102
|
-
import { logger } from "../utils/logger.js";
|
|
103
|
-
import { isGemini2OrAbove } from "../utils/model_name.js";
|
|
104
|
-
import {
|
|
105
|
-
asRunnableRoot,
|
|
106
|
-
runNodeAsInvocation
|
|
107
|
-
} from "../workflow/run_node_as_invocation.js";
|
|
108
|
-
const RUNNER_SIGNATURE_SYMBOL = Symbol.for("google.adk.runner");
|
|
109
|
-
function isRunner(obj) {
|
|
110
|
-
return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
|
|
111
|
-
}
|
|
112
|
-
__name(isRunner, "isRunner");
|
|
113
|
-
_a = RUNNER_SIGNATURE_SYMBOL;
|
|
114
|
-
const _Runner = class _Runner {
|
|
115
|
-
/**
|
|
116
|
-
* Creates a new Runner instance.
|
|
117
|
-
*
|
|
118
|
-
* @param input The configuration for the runner.
|
|
119
|
-
*/
|
|
120
|
-
constructor(input) {
|
|
121
|
-
this[_a] = true;
|
|
122
|
-
var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
123
|
-
const appName = (_b = (_a2 = input.app) == null ? void 0 : _a2.name) != null ? _b : input.appName;
|
|
124
|
-
const agent = (_d = (_c = input.app) == null ? void 0 : _c.rootAgent) != null ? _d : input.agent;
|
|
125
|
-
if (!agent) {
|
|
126
|
-
throw new Error(
|
|
127
|
-
"agent must be provided in runner constructor (or via app.rootAgent)"
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
this.appName = appName;
|
|
131
|
-
this.agent = asRunnableRoot(agent);
|
|
132
|
-
const appPlugins = (_f = (_e = input.app) == null ? void 0 : _e.plugins) != null ? _f : [];
|
|
133
|
-
const configPlugins = (_g = input.plugins) != null ? _g : [];
|
|
134
|
-
this.pluginManager = new PluginManager([...appPlugins, ...configPlugins]);
|
|
135
|
-
this.artifactService = input.artifactService;
|
|
136
|
-
this.sessionService = input.sessionService;
|
|
137
|
-
this.memoryService = input.memoryService;
|
|
138
|
-
this.credentialService = input.credentialService;
|
|
139
|
-
this.resumabilityConfig = (_i = (_h = input.app) == null ? void 0 : _h.resumabilityConfig) != null ? _i : input.resumabilityConfig;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Runs the agent with a new, ephemeral session.
|
|
143
|
-
*
|
|
144
|
-
* @param params.userId The user ID of the session.
|
|
145
|
-
* @param params.newMessage A new message to append to the session.
|
|
146
|
-
* @param params.stateDelta An optional state delta to apply to the session.
|
|
147
|
-
* @param params.runConfig The run config for the agent.
|
|
148
|
-
* @yields The Events generated by the agent.
|
|
149
|
-
*/
|
|
150
|
-
runEphemeral(params) {
|
|
151
|
-
return __asyncGenerator(this, null, function* () {
|
|
152
|
-
const session = yield new __await(this.sessionService.createSession({
|
|
153
|
-
appName: this.appName,
|
|
154
|
-
userId: params.userId
|
|
155
|
-
}));
|
|
156
|
-
const sessionId = session.id;
|
|
157
|
-
try {
|
|
158
|
-
yield* __yieldStar(this.runAsync({
|
|
159
|
-
userId: params.userId,
|
|
160
|
-
sessionId,
|
|
161
|
-
newMessage: params.newMessage,
|
|
162
|
-
stateDelta: params.stateDelta,
|
|
163
|
-
runConfig: params.runConfig,
|
|
164
|
-
customMetadata: params.customMetadata
|
|
165
|
-
}));
|
|
166
|
-
} finally {
|
|
167
|
-
yield new __await(this.sessionService.deleteSession({
|
|
168
|
-
appName: this.appName,
|
|
169
|
-
userId: params.userId,
|
|
170
|
-
sessionId
|
|
171
|
-
}));
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Runs the agent with the given message, and returns an async generator of
|
|
177
|
-
* events.
|
|
178
|
-
*
|
|
179
|
-
* @param params.userId The user ID of the session.
|
|
180
|
-
* @param params.sessionId The session ID of the session.
|
|
181
|
-
* @param params.newMessage A new message to append to the session.
|
|
182
|
-
* @param params.stateDelta An optional state delta to apply to the session.
|
|
183
|
-
* @param params.runConfig The run config for the agent.
|
|
184
|
-
* @yields The events generated by the agent.
|
|
185
|
-
*/
|
|
186
|
-
// TODO - b/425992518: user, sessionId, and runConfig can be internalized.
|
|
187
|
-
runAsync(params) {
|
|
188
|
-
return __asyncGenerator(this, null, function* () {
|
|
189
|
-
const { userId, sessionId, stateDelta } = params;
|
|
190
|
-
const runConfig = createRunConfig(params.runConfig);
|
|
191
|
-
let newMessage = params.newMessage;
|
|
192
|
-
if (newMessage && !newMessage.role) {
|
|
193
|
-
newMessage.role = "user";
|
|
194
|
-
}
|
|
195
|
-
rejectReservedFunctionCalls(newMessage);
|
|
196
|
-
const span = tracer.startSpan("invocation");
|
|
197
|
-
const ctx = trace.setSpan(context.active(), span);
|
|
198
|
-
try {
|
|
199
|
-
yield* __yieldStar(runAsyncGeneratorWithOtelContext(
|
|
200
|
-
ctx,
|
|
201
|
-
this,
|
|
202
|
-
function() {
|
|
203
|
-
return __asyncGenerator(this, null, function* () {
|
|
204
|
-
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
205
|
-
const session = yield new __await(this.sessionService.getSession({
|
|
206
|
-
appName: this.appName,
|
|
207
|
-
userId,
|
|
208
|
-
sessionId
|
|
209
|
-
}));
|
|
210
|
-
if ((_a2 = params.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
if (!session) {
|
|
214
|
-
if (!this.appName) {
|
|
215
|
-
throw new Error(
|
|
216
|
-
"Session lookup failed: appName must be provided in runner constructor (or via app.name)"
|
|
217
|
-
);
|
|
218
|
-
}
|
|
219
|
-
throw new Error("Session not found: ".concat(sessionId));
|
|
220
|
-
}
|
|
221
|
-
if (runConfig.supportCfc && isLlmAgent(this.agent)) {
|
|
222
|
-
const modelName = this.agent.canonicalModel.model;
|
|
223
|
-
if (!isGemini2OrAbove(modelName)) {
|
|
224
|
-
throw new Error(
|
|
225
|
-
"CFC is not supported for model: ".concat(modelName, " in agent: ").concat(this.agent.name)
|
|
226
|
-
);
|
|
227
|
-
}
|
|
228
|
-
if (!isBuiltInCodeExecutor(this.agent.codeExecutor)) {
|
|
229
|
-
this.agent.codeExecutor = new BuiltInCodeExecutor();
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
const invocationContext = new InvocationContext({
|
|
233
|
-
artifactService: this.artifactService ? new ScopedArtifactService(
|
|
234
|
-
this.artifactService,
|
|
235
|
-
this.appName,
|
|
236
|
-
userId,
|
|
237
|
-
sessionId
|
|
238
|
-
) : void 0,
|
|
239
|
-
sessionService: this.sessionService,
|
|
240
|
-
memoryService: this.memoryService,
|
|
241
|
-
credentialService: this.credentialService,
|
|
242
|
-
invocationId: newInvocationContextId(),
|
|
243
|
-
agent: isBaseAgent(this.agent) ? this.agent : void 0,
|
|
244
|
-
session,
|
|
245
|
-
userContent: newMessage,
|
|
246
|
-
runConfig,
|
|
247
|
-
pluginManager: this.pluginManager,
|
|
248
|
-
abortSignal: params.abortSignal
|
|
249
|
-
});
|
|
250
|
-
const pluginUserMessage = yield new __await(this.pluginManager.runOnUserMessageCallback({
|
|
251
|
-
userMessage: newMessage,
|
|
252
|
-
invocationContext
|
|
253
|
-
}));
|
|
254
|
-
if ((_b = params.abortSignal) == null ? void 0 : _b.aborted) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
if (pluginUserMessage) {
|
|
258
|
-
newMessage = pluginUserMessage;
|
|
259
|
-
}
|
|
260
|
-
if (newMessage) {
|
|
261
|
-
if (!((_c = newMessage.parts) == null ? void 0 : _c.length)) {
|
|
262
|
-
throw new Error("No parts in the newMessage.");
|
|
263
|
-
}
|
|
264
|
-
if (runConfig.saveInputBlobsAsArtifacts) {
|
|
265
|
-
newMessage = yield new __await(this.saveArtifacts(
|
|
266
|
-
invocationContext.invocationId,
|
|
267
|
-
session.userId,
|
|
268
|
-
session.id,
|
|
269
|
-
newMessage
|
|
270
|
-
));
|
|
271
|
-
if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
yield new __await(this.sessionService.appendEvent({
|
|
276
|
-
session,
|
|
277
|
-
event: createEvent({
|
|
278
|
-
invocationId: invocationContext.invocationId,
|
|
279
|
-
author: "user",
|
|
280
|
-
actions: stateDelta ? createEventActions({ stateDelta }) : void 0,
|
|
281
|
-
content: newMessage,
|
|
282
|
-
customMetadata: params.customMetadata
|
|
283
|
-
})
|
|
284
|
-
}));
|
|
285
|
-
if ((_e = params.abortSignal) == null ? void 0 : _e.aborted) {
|
|
286
|
-
return;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
if (isBaseAgent(this.agent)) {
|
|
290
|
-
invocationContext.agent = this.determineAgentForResumption(
|
|
291
|
-
session,
|
|
292
|
-
this.agent
|
|
293
|
-
);
|
|
294
|
-
}
|
|
295
|
-
if (newMessage) {
|
|
296
|
-
const beforeRunCallbackResponse = yield new __await(this.pluginManager.runBeforeRunCallback({
|
|
297
|
-
invocationContext
|
|
298
|
-
}));
|
|
299
|
-
if ((_f = params.abortSignal) == null ? void 0 : _f.aborted) {
|
|
300
|
-
return;
|
|
301
|
-
}
|
|
302
|
-
if (beforeRunCallbackResponse) {
|
|
303
|
-
const earlyExitEvent = createEvent({
|
|
304
|
-
invocationId: invocationContext.invocationId,
|
|
305
|
-
author: "model",
|
|
306
|
-
content: beforeRunCallbackResponse
|
|
307
|
-
});
|
|
308
|
-
yield new __await(this.sessionService.appendEvent({
|
|
309
|
-
session,
|
|
310
|
-
event: earlyExitEvent
|
|
311
|
-
}));
|
|
312
|
-
if ((_g = params.abortSignal) == null ? void 0 : _g.aborted) {
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
yield earlyExitEvent;
|
|
316
|
-
} else {
|
|
317
|
-
try {
|
|
318
|
-
for (var iter = __forAwait(this.runRoot(invocationContext)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
|
|
319
|
-
const event = temp.value;
|
|
320
|
-
if ((_h = params.abortSignal) == null ? void 0 : _h.aborted) {
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
323
|
-
const modifiedEvent = yield new __await(this.pluginManager.runOnEventCallback({
|
|
324
|
-
invocationContext,
|
|
325
|
-
event
|
|
326
|
-
}));
|
|
327
|
-
const outputEvent = modifiedEvent ? __spreadProps(__spreadValues({}, modifiedEvent), {
|
|
328
|
-
id: event.id,
|
|
329
|
-
invocationId: event.invocationId,
|
|
330
|
-
timestamp: event.timestamp,
|
|
331
|
-
author: modifiedEvent.author || event.author,
|
|
332
|
-
branch: (_i = modifiedEvent.branch) != null ? _i : event.branch
|
|
333
|
-
}) : event;
|
|
334
|
-
if (!event.partial) {
|
|
335
|
-
yield new __await(this.sessionService.appendEvent({
|
|
336
|
-
session,
|
|
337
|
-
event: outputEvent
|
|
338
|
-
}));
|
|
339
|
-
}
|
|
340
|
-
if ((_j = params.abortSignal) == null ? void 0 : _j.aborted) {
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
yield outputEvent;
|
|
344
|
-
}
|
|
345
|
-
} catch (temp) {
|
|
346
|
-
error = [temp];
|
|
347
|
-
} finally {
|
|
348
|
-
try {
|
|
349
|
-
more && (temp = iter.return) && (yield new __await(temp.call(iter)));
|
|
350
|
-
} finally {
|
|
351
|
-
if (error)
|
|
352
|
-
throw error[0];
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
yield new __await(this.pluginManager.runAfterRunCallback({ invocationContext }));
|
|
356
|
-
if ((_k = params.abortSignal) == null ? void 0 : _k.aborted) {
|
|
357
|
-
return;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
));
|
|
364
|
-
} finally {
|
|
365
|
-
span.end();
|
|
366
|
-
const toolsets = isBaseAgent(this.agent) ? getAllToolsets(this.agent) : [];
|
|
367
|
-
yield new __await(Promise.allSettled(toolsets.map((t) => t.close())));
|
|
368
|
-
}
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Runs whatever this runner was given as its root.
|
|
373
|
-
*
|
|
374
|
-
* An agent is run through `runAsync`, as always. A bare node — a `Workflow`
|
|
375
|
-
* handed to the runner directly — is driven by {@link runNodeAsInvocation}.
|
|
376
|
-
*
|
|
377
|
-
* Only the execution differs. Everything around it (the run callbacks, event
|
|
378
|
-
* persistence, cancellation) is shared, so the node path cannot drift from
|
|
379
|
-
* the agent path on the things that are not about execution. adk-python has
|
|
380
|
-
* two separate loops here and a TODO noting its node one lacks tracing and
|
|
381
|
-
* plugins; there is nothing to lack if there is only one loop.
|
|
382
|
-
*/
|
|
383
|
-
runRoot(invocationContext) {
|
|
384
|
-
return __asyncGenerator(this, null, function* () {
|
|
385
|
-
if (isBaseAgent(this.agent)) {
|
|
386
|
-
yield* __yieldStar(requireAgent(invocationContext).runAsync(invocationContext));
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
389
|
-
yield* __yieldStar(runNodeAsInvocation(this.agent, invocationContext));
|
|
390
|
-
});
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* Saves artifacts from the message parts and replaces the inline data with
|
|
394
|
-
* a file name placeholder and optional file reference.
|
|
395
|
-
*
|
|
396
|
-
* @param invocationId The current invocation ID.
|
|
397
|
-
* @param userId The user ID of the session.
|
|
398
|
-
* @param sessionId The session ID of the session.
|
|
399
|
-
* @param message The message containing parts to process.
|
|
400
|
-
*/
|
|
401
|
-
async saveArtifacts(invocationId, userId, sessionId, message) {
|
|
402
|
-
var _a2;
|
|
403
|
-
if (!this.artifactService || !((_a2 = message.parts) == null ? void 0 : _a2.length)) {
|
|
404
|
-
return message;
|
|
405
|
-
}
|
|
406
|
-
const sessionKey = {
|
|
407
|
-
appName: this.appName,
|
|
408
|
-
userId,
|
|
409
|
-
sessionId
|
|
410
|
-
};
|
|
411
|
-
const newParts = [];
|
|
412
|
-
let modified = false;
|
|
413
|
-
for (let i = 0; i < message.parts.length; i++) {
|
|
414
|
-
const part = message.parts[i];
|
|
415
|
-
if (!part.inlineData) {
|
|
416
|
-
newParts.push(part);
|
|
417
|
-
continue;
|
|
418
|
-
}
|
|
419
|
-
try {
|
|
420
|
-
const inlineData = part.inlineData;
|
|
421
|
-
const fileName = inlineData.displayName || "artifact_".concat(invocationId, "_").concat(i);
|
|
422
|
-
const version = await this.artifactService.saveArtifact(__spreadProps(__spreadValues({}, sessionKey), {
|
|
423
|
-
filename: fileName,
|
|
424
|
-
artifact: part
|
|
425
|
-
}));
|
|
426
|
-
newParts.push(createPartFromText('[Uploaded Artifact: "'.concat(fileName, '"]')));
|
|
427
|
-
try {
|
|
428
|
-
const artifactVersion = await this.artifactService.getArtifactVersion(
|
|
429
|
-
__spreadProps(__spreadValues({}, sessionKey), {
|
|
430
|
-
filename: fileName,
|
|
431
|
-
version
|
|
432
|
-
})
|
|
433
|
-
);
|
|
434
|
-
if ((artifactVersion == null ? void 0 : artifactVersion.canonicalUri) && /^(gs|https?):/i.test(artifactVersion.canonicalUri)) {
|
|
435
|
-
newParts.push({
|
|
436
|
-
fileData: {
|
|
437
|
-
fileUri: artifactVersion.canonicalUri,
|
|
438
|
-
mimeType: artifactVersion.mimeType || inlineData.mimeType || "",
|
|
439
|
-
displayName: fileName
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
} catch (error) {
|
|
444
|
-
logger.warn(
|
|
445
|
-
"Failed to resolve artifact version for ".concat(fileName, ":"),
|
|
446
|
-
error
|
|
447
|
-
);
|
|
448
|
-
}
|
|
449
|
-
modified = true;
|
|
450
|
-
logger.info("Successfully saved artifact: ".concat(fileName));
|
|
451
|
-
} catch (error) {
|
|
452
|
-
logger.error("Failed to save artifact for part ".concat(i, ":"), error);
|
|
453
|
-
newParts.push(part);
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
if (!modified) {
|
|
457
|
-
return message;
|
|
458
|
-
}
|
|
459
|
-
return __spreadProps(__spreadValues({}, message), {
|
|
460
|
-
parts: newParts
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
/**
|
|
464
|
-
* Determines the next agent to run to continue the session. This is primarily
|
|
465
|
-
* used for session resumption.
|
|
466
|
-
*/
|
|
467
|
-
/**
|
|
468
|
-
* Determines the next agent to run to continue the session. This is primarily
|
|
469
|
-
* used for session resumption across tool and LRO boundaries.
|
|
470
|
-
*/
|
|
471
|
-
determineAgentForResumption(session, rootAgent) {
|
|
472
|
-
return determineAgentForResumption(
|
|
473
|
-
session,
|
|
474
|
-
rootAgent,
|
|
475
|
-
this.resumabilityConfig
|
|
476
|
-
);
|
|
477
|
-
}
|
|
478
|
-
/**
|
|
479
|
-
* Whether the agent to run can transfer to any other agent in the agent tree.
|
|
480
|
-
*
|
|
481
|
-
* @param agentToRun The agent to check for transferability.
|
|
482
|
-
* @returns True if the agent can transfer, False otherwise.
|
|
483
|
-
*/
|
|
484
|
-
isRoutableLlmAgent(agentToRun) {
|
|
485
|
-
return isRoutableLlmAgent(agentToRun);
|
|
486
|
-
}
|
|
487
|
-
/**
|
|
488
|
-
* Runs the agent in the live (bidirectional streaming) mode.
|
|
489
|
-
*
|
|
490
|
-
* Model media events that carry raw inline bytes (audio, video, or image)
|
|
491
|
-
* are yielded but not appended to the session to avoid persisting large
|
|
492
|
-
* blobs; events with `fileData` references and most other live events
|
|
493
|
-
* (transcriptions, tool calls, usage) are persisted as in `runAsync`.
|
|
494
|
-
*
|
|
495
|
-
* This feature is **experimental** and its API may change.
|
|
496
|
-
*
|
|
497
|
-
* @param params.userId The user ID of the session.
|
|
498
|
-
* @param params.sessionId The session ID of the session.
|
|
499
|
-
* @param params.liveRequestQueue The queue used to feed the live model.
|
|
500
|
-
* @param params.runConfig The run config for the agent.
|
|
501
|
-
* @param params.abortSignal Optional signal to abort the live run.
|
|
502
|
-
* @param params.liveSessionResumptionHandle Optional session resumption
|
|
503
|
-
* handle observed from a prior `runLive` cycle on the same conversation.
|
|
504
|
-
* When set, the agent's live flow opens the connection with
|
|
505
|
-
* `liveConnectConfig.sessionResumption.handle` so the server restores its
|
|
506
|
-
* state instead of relying on client-side history replay.
|
|
507
|
-
* @yields The events generated by the agent.
|
|
508
|
-
*/
|
|
509
|
-
runLive(params) {
|
|
510
|
-
return __asyncGenerator(this, null, function* () {
|
|
511
|
-
var _a2, _b, _c, _d;
|
|
512
|
-
if (!params.liveRequestQueue) {
|
|
513
|
-
throw new Error("liveRequestQueue is required for runLive.");
|
|
514
|
-
}
|
|
515
|
-
if (!isBaseAgent(this.agent)) {
|
|
516
|
-
throw new Error("runLive is only supported for agents.");
|
|
517
|
-
}
|
|
518
|
-
const agent = this.agent;
|
|
519
|
-
const runConfig = createRunConfig(params.runConfig);
|
|
520
|
-
if (!((_a2 = runConfig.responseModalities) == null ? void 0 : _a2.length)) {
|
|
521
|
-
runConfig.responseModalities = [Modality.AUDIO];
|
|
522
|
-
}
|
|
523
|
-
if ((_b = agent.subAgents) == null ? void 0 : _b.length) {
|
|
524
|
-
if (runConfig.responseModalities.includes(Modality.AUDIO)) {
|
|
525
|
-
(_c = runConfig.outputAudioTranscription) != null ? _c : runConfig.outputAudioTranscription = {};
|
|
526
|
-
}
|
|
527
|
-
(_d = runConfig.inputAudioTranscription) != null ? _d : runConfig.inputAudioTranscription = {};
|
|
528
|
-
}
|
|
529
|
-
const span = tracer.startSpan("invocation");
|
|
530
|
-
const ctx = trace.setSpan(context.active(), span);
|
|
531
|
-
try {
|
|
532
|
-
yield* __yieldStar(runAsyncGeneratorWithOtelContext(
|
|
533
|
-
ctx,
|
|
534
|
-
this,
|
|
535
|
-
function() {
|
|
536
|
-
return __asyncGenerator(this, null, function* () {
|
|
537
|
-
var _a3, _b2, _c2, _d2;
|
|
538
|
-
const session = yield new __await(this.sessionService.getOrCreateSession({
|
|
539
|
-
appName: this.appName,
|
|
540
|
-
userId: params.userId,
|
|
541
|
-
sessionId: params.sessionId
|
|
542
|
-
}));
|
|
543
|
-
if ((_a3 = params.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
544
|
-
return;
|
|
545
|
-
}
|
|
546
|
-
const invocationContext = new InvocationContext({
|
|
547
|
-
artifactService: this.artifactService ? new ScopedArtifactService(
|
|
548
|
-
this.artifactService,
|
|
549
|
-
this.appName,
|
|
550
|
-
params.userId,
|
|
551
|
-
params.sessionId
|
|
552
|
-
) : void 0,
|
|
553
|
-
sessionService: this.sessionService,
|
|
554
|
-
memoryService: this.memoryService,
|
|
555
|
-
credentialService: this.credentialService,
|
|
556
|
-
invocationId: newInvocationContextId(),
|
|
557
|
-
agent,
|
|
558
|
-
session,
|
|
559
|
-
runConfig,
|
|
560
|
-
pluginManager: this.pluginManager,
|
|
561
|
-
liveRequestQueue: params.liveRequestQueue,
|
|
562
|
-
abortSignal: params.abortSignal,
|
|
563
|
-
liveSessionResumptionHandle: params.liveSessionResumptionHandle
|
|
564
|
-
});
|
|
565
|
-
invocationContext.agent = this.determineAgentForResumption(
|
|
566
|
-
session,
|
|
567
|
-
agent
|
|
568
|
-
);
|
|
569
|
-
const beforeRunCallbackResponse = yield new __await(this.pluginManager.runBeforeRunCallback({
|
|
570
|
-
invocationContext
|
|
571
|
-
}));
|
|
572
|
-
if ((_b2 = params.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
573
|
-
return;
|
|
574
|
-
}
|
|
575
|
-
if (beforeRunCallbackResponse) {
|
|
576
|
-
const earlyExitEvent = createEvent({
|
|
577
|
-
invocationId: invocationContext.invocationId,
|
|
578
|
-
author: "model",
|
|
579
|
-
content: beforeRunCallbackResponse
|
|
580
|
-
});
|
|
581
|
-
yield new __await(this.sessionService.appendEvent({
|
|
582
|
-
session,
|
|
583
|
-
event: earlyExitEvent
|
|
584
|
-
}));
|
|
585
|
-
yield earlyExitEvent;
|
|
586
|
-
return;
|
|
587
|
-
}
|
|
588
|
-
try {
|
|
589
|
-
for (var iter = __forAwait(requireAgent(invocationContext).runLive(
|
|
590
|
-
invocationContext
|
|
591
|
-
)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
|
|
592
|
-
const event = temp.value;
|
|
593
|
-
if ((_c2 = params.abortSignal) == null ? void 0 : _c2.aborted) {
|
|
594
|
-
return;
|
|
595
|
-
}
|
|
596
|
-
const modifiedEvent = yield new __await(this.pluginManager.runOnEventCallback({
|
|
597
|
-
invocationContext,
|
|
598
|
-
event
|
|
599
|
-
}));
|
|
600
|
-
if ((_d2 = params.abortSignal) == null ? void 0 : _d2.aborted) {
|
|
601
|
-
return;
|
|
602
|
-
}
|
|
603
|
-
const eventToProcess = modifiedEvent != null ? modifiedEvent : event;
|
|
604
|
-
if (!eventToProcess.partial && !isLiveModelMediaEventWithInlineData(eventToProcess)) {
|
|
605
|
-
yield new __await(this.sessionService.appendEvent({
|
|
606
|
-
session,
|
|
607
|
-
event: eventToProcess
|
|
608
|
-
}));
|
|
609
|
-
}
|
|
610
|
-
yield eventToProcess;
|
|
611
|
-
}
|
|
612
|
-
} catch (temp) {
|
|
613
|
-
error = [temp];
|
|
614
|
-
} finally {
|
|
615
|
-
try {
|
|
616
|
-
more && (temp = iter.return) && (yield new __await(temp.call(iter)));
|
|
617
|
-
} finally {
|
|
618
|
-
if (error)
|
|
619
|
-
throw error[0];
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
yield new __await(this.pluginManager.runAfterRunCallback({ invocationContext }));
|
|
623
|
-
});
|
|
624
|
-
}
|
|
625
|
-
));
|
|
626
|
-
} finally {
|
|
627
|
-
span.end();
|
|
628
|
-
}
|
|
629
|
-
});
|
|
630
|
-
}
|
|
631
|
-
};
|
|
632
|
-
__name(_Runner, "Runner");
|
|
633
|
-
let Runner = _Runner;
|
|
634
|
-
function isLiveModelMediaEventWithInlineData(event) {
|
|
635
|
-
var _a2;
|
|
636
|
-
const parts = (_a2 = event.content) == null ? void 0 : _a2.parts;
|
|
637
|
-
if (!(parts == null ? void 0 : parts.length)) {
|
|
638
|
-
return false;
|
|
639
|
-
}
|
|
640
|
-
return parts.some((part) => {
|
|
641
|
-
var _a3, _b;
|
|
642
|
-
const mimeType = (_b = (_a3 = part.inlineData) == null ? void 0 : _a3.mimeType) == null ? void 0 : _b.toLowerCase();
|
|
643
|
-
return mimeType !== void 0 && (mimeType.startsWith("audio/") || mimeType.startsWith("video/") || mimeType.startsWith("image/"));
|
|
644
|
-
});
|
|
645
|
-
}
|
|
646
|
-
__name(isLiveModelMediaEventWithInlineData, "isLiveModelMediaEventWithInlineData");
|
|
647
|
-
function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
648
|
-
const event = findEventByLastFunctionResponseId(session.events);
|
|
649
|
-
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
650
|
-
if (event && event.author && isResumable) {
|
|
651
|
-
const resumedAgent = rootAgent.findAgent(event.author);
|
|
652
|
-
if (resumedAgent) {
|
|
653
|
-
return resumedAgent;
|
|
654
|
-
}
|
|
655
|
-
if (!isWorkflowNodeEvent(event)) {
|
|
656
|
-
logger.warn(
|
|
657
|
-
"Function response from an unknown agent: ".concat(event.author, ", event id: ").concat(event.id)
|
|
658
|
-
);
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
662
|
-
logger.debug("event:", JSON.stringify(session.events[i]));
|
|
663
|
-
const event2 = session.events[i];
|
|
664
|
-
if (event2.author === "user" || !event2.author) {
|
|
665
|
-
continue;
|
|
666
|
-
}
|
|
667
|
-
if (event2.author === rootAgent.name) {
|
|
668
|
-
return rootAgent;
|
|
669
|
-
}
|
|
670
|
-
const agent = rootAgent.findSubAgent(event2.author);
|
|
671
|
-
if (!agent) {
|
|
672
|
-
if (!isWorkflowNodeEvent(event2)) {
|
|
673
|
-
logger.warn(
|
|
674
|
-
"Event from an unknown agent: ".concat(event2.author, ", event id: ").concat(event2.id)
|
|
675
|
-
);
|
|
676
|
-
}
|
|
677
|
-
continue;
|
|
678
|
-
}
|
|
679
|
-
if (isRoutableLlmAgent(agent)) {
|
|
680
|
-
return agent;
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
return rootAgent;
|
|
684
|
-
}
|
|
685
|
-
__name(determineAgentForResumption, "determineAgentForResumption");
|
|
686
|
-
function isWorkflowNodeEvent(event) {
|
|
687
|
-
var _a2;
|
|
688
|
-
return Boolean((_a2 = event.nodeInfo) == null ? void 0 : _a2.path);
|
|
689
|
-
}
|
|
690
|
-
__name(isWorkflowNodeEvent, "isWorkflowNodeEvent");
|
|
691
|
-
function isRoutableLlmAgent(agentToRun) {
|
|
692
|
-
let agent = agentToRun;
|
|
693
|
-
while (agent) {
|
|
694
|
-
if (!isLlmAgent(agent)) {
|
|
695
|
-
return false;
|
|
696
|
-
}
|
|
697
|
-
if (agent.disallowTransferToParent) {
|
|
698
|
-
return false;
|
|
699
|
-
}
|
|
700
|
-
agent = agent.parentAgent;
|
|
701
|
-
}
|
|
702
|
-
return true;
|
|
703
|
-
}
|
|
704
|
-
__name(isRoutableLlmAgent, "isRoutableLlmAgent");
|
|
705
|
-
function findEventByLastFunctionResponseId(events) {
|
|
706
|
-
var _a2;
|
|
707
|
-
return (_a2 = findMatchingFunctionCall(events)) != null ? _a2 : null;
|
|
708
|
-
}
|
|
709
|
-
__name(findEventByLastFunctionResponseId, "findEventByLastFunctionResponseId");
|
|
710
|
-
function getAllToolsets(agent) {
|
|
711
|
-
const toolsets = [];
|
|
712
|
-
const visited = /* @__PURE__ */ new Set();
|
|
713
|
-
function traverse(curr) {
|
|
714
|
-
if (visited.has(curr)) return;
|
|
715
|
-
visited.add(curr);
|
|
716
|
-
if (isLlmAgent(curr)) {
|
|
717
|
-
for (const tool of curr.tools) {
|
|
718
|
-
if (isBaseToolset(tool)) {
|
|
719
|
-
toolsets.push(tool);
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
for (const sub of curr.subAgents) {
|
|
724
|
-
traverse(sub);
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
__name(traverse, "traverse");
|
|
728
|
-
traverse(agent);
|
|
729
|
-
return toolsets;
|
|
730
|
-
}
|
|
731
|
-
__name(getAllToolsets, "getAllToolsets");
|
|
732
|
-
function rejectReservedFunctionCalls(newMessage) {
|
|
733
|
-
const reserved = reservedFunctionCallName(newMessage);
|
|
734
|
-
if (reserved) {
|
|
735
|
-
throw new Error(
|
|
736
|
-
"A client message may not contain a '".concat(reserved, "' function call: it is ") + "raised by the framework, and can only be answered with a function response."
|
|
737
|
-
);
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
__name(rejectReservedFunctionCalls, "rejectReservedFunctionCalls");
|
|
741
|
-
export {
|
|
742
|
-
Runner,
|
|
743
|
-
determineAgentForResumption,
|
|
744
|
-
findEventByLastFunctionResponseId,
|
|
745
|
-
isRoutableLlmAgent,
|
|
746
|
-
isRunner
|
|
747
|
-
};
|