@google/adk 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +66 -6
- package/dist/cjs/a2a/agent_executor.js +18 -6
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +21 -6
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +15 -7
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_credential.js +12 -2
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +5 -5
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/cjs/common.js +119 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -0
- package/dist/cjs/events/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/examples/example.js +92 -0
- package/dist/cjs/examples/example_util.js +28 -4
- package/dist/cjs/examples/index.js +39 -0
- package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
- package/dist/cjs/index.js +93 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +1 -1
- package/dist/cjs/models/base_llm.js +2 -7
- package/dist/cjs/models/chrome_prompt_llm.js +318 -0
- package/dist/cjs/models/chrome_prompt_utils.js +281 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -4
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/planners/base_planner.js +56 -0
- package/dist/cjs/planners/built_in_planner.js +85 -0
- package/dist/cjs/planners/plan_re_act_planner.js +172 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +46 -61
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- package/dist/cjs/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/example_tool.js +1 -1
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
- package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/skill/skill_toolset.js +2 -0
- package/dist/cjs/tools/tool_context.js +41 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/tools/webmcp/index.js +37 -0
- package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
- package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
- package/dist/cjs/utils/case_utils.js +52 -2
- package/dist/cjs/utils/client_labels.js +67 -0
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +103 -9
- package/dist/cjs/utils/hash_utils.js +73 -0
- package/dist/cjs/utils/live_connection_utils.js +10 -9
- package/dist/cjs/utils/logger.js +15 -50
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/model_name.js +17 -2
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/simple_zod_to_json.js +5 -0
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +71 -6
- package/dist/esm/a2a/agent_executor.js +18 -6
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +24 -6
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +15 -7
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_credential.js +11 -1
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +5 -5
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/esm/common.js +111 -40
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -0
- package/dist/esm/events/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/examples/example.js +85 -0
- package/dist/esm/examples/example_util.js +25 -3
- package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
- package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
- package/dist/esm/index.js +87 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +1 -1
- package/dist/esm/models/base_llm.js +3 -8
- package/dist/esm/models/chrome_prompt_llm.js +302 -0
- package/dist/esm/models/chrome_prompt_utils.js +241 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -5
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/planners/base_planner.js +28 -0
- package/dist/esm/planners/built_in_planner.js +57 -0
- package/dist/esm/planners/plan_re_act_planner.js +145 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +46 -61
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- package/dist/esm/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/example_tool.js +1 -1
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
- package/dist/esm/tools/openapi_tool/common/common.js +112 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/skill/skill_toolset.js +2 -0
- package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
- package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
- package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
- package/dist/esm/utils/case_utils.js +49 -1
- package/dist/esm/utils/client_labels.js +65 -0
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +102 -9
- package/dist/esm/utils/hash_utils.js +45 -0
- package/dist/esm/utils/live_connection_utils.js +11 -10
- package/dist/esm/utils/logger.js +14 -40
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/model_name.js +15 -2
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/simple_zod_to_json.js +5 -0
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- package/dist/types/a2a/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +20 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +22 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +37 -23
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event_actions.d.ts +13 -0
- package/dist/types/examples/base_example_provider.d.ts +2 -2
- package/dist/types/examples/example.d.ts +75 -0
- package/dist/types/examples/example_util.d.ts +13 -2
- package/dist/types/examples/index.d.ts +18 -0
- package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
- package/dist/types/index.d.ts +31 -1
- package/dist/types/memory/memory_entry.d.ts +15 -0
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/planners/base_planner.d.ts +50 -0
- package/dist/types/planners/built_in_planner.d.ts +53 -0
- package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -62
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
- package/dist/types/runner/runner.d.ts +7 -8
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/skills/skill_registry.d.ts +8 -0
- package/dist/types/tools/base_tool.d.ts +11 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
- package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
- package/dist/types/tools/tool_context.d.ts +19 -0
- package/dist/types/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- package/dist/types/tools/webmcp/index.d.ts +12 -0
- package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
- package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
- package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
- package/dist/types/utils/case_utils.d.ts +36 -0
- package/dist/types/utils/client_labels.d.ts +33 -0
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +18 -7
- package/dist/types/utils/hash_utils.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +33 -3
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/model_name.d.ts +30 -2
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +337 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +24 -15
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -0,0 +1,281 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var chrome_prompt_utils_exports = {};
|
|
27
|
+
__export(chrome_prompt_utils_exports, {
|
|
28
|
+
TRUNCATED_REPLY: () => TRUNCATED_REPLY,
|
|
29
|
+
buildToolChoiceSchema: () => buildToolChoiceSchema,
|
|
30
|
+
collectFunctionDeclarations: () => collectFunctionDeclarations,
|
|
31
|
+
contentsToMessages: () => contentsToMessages,
|
|
32
|
+
errorResponse: () => errorResponse,
|
|
33
|
+
extractSystemInstruction: () => extractSystemInstruction,
|
|
34
|
+
finalText: () => finalText,
|
|
35
|
+
isAbortError: () => isAbortError,
|
|
36
|
+
isRecord: () => isRecord,
|
|
37
|
+
looksLikeEnvelope: () => looksLikeEnvelope,
|
|
38
|
+
renderToolInstructions: () => renderToolInstructions,
|
|
39
|
+
renderToolResult: () => renderToolResult,
|
|
40
|
+
salvageFinalText: () => salvageFinalText,
|
|
41
|
+
stripAdkIdentityPreamble: () => stripAdkIdentityPreamble
|
|
42
|
+
});
|
|
43
|
+
module.exports = __toCommonJS(chrome_prompt_utils_exports);
|
|
44
|
+
var import_genai_schema_to_json = require("../utils/genai_schema_to_json.js");
|
|
45
|
+
/**
|
|
46
|
+
* @license
|
|
47
|
+
* Copyright 2026 Google LLC
|
|
48
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
49
|
+
*/
|
|
50
|
+
function isRecord(value) {
|
|
51
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
52
|
+
}
|
|
53
|
+
__name(isRecord, "isRecord");
|
|
54
|
+
function argumentSchema(declaration) {
|
|
55
|
+
if (isRecord(declaration.parametersJsonSchema)) {
|
|
56
|
+
return declaration.parametersJsonSchema;
|
|
57
|
+
}
|
|
58
|
+
if (declaration.parameters) {
|
|
59
|
+
return (0, import_genai_schema_to_json.genaiSchemaToJsonSchema)(declaration.parameters);
|
|
60
|
+
}
|
|
61
|
+
return { type: "object", properties: {} };
|
|
62
|
+
}
|
|
63
|
+
__name(argumentSchema, "argumentSchema");
|
|
64
|
+
function collectFunctionDeclarations(llmRequest) {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
const declarations = [];
|
|
67
|
+
for (const tool of (_b = (_a = llmRequest.config) == null ? void 0 : _a.tools) != null ? _b : []) {
|
|
68
|
+
if (isRecord(tool) && Array.isArray(tool["functionDeclarations"])) {
|
|
69
|
+
declarations.push(
|
|
70
|
+
...tool["functionDeclarations"]
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return declarations;
|
|
75
|
+
}
|
|
76
|
+
__name(collectFunctionDeclarations, "collectFunctionDeclarations");
|
|
77
|
+
function buildToolChoiceSchema(declarations) {
|
|
78
|
+
const branches = [
|
|
79
|
+
{
|
|
80
|
+
type: "object",
|
|
81
|
+
properties: {
|
|
82
|
+
kind: { type: "string", enum: ["final"] },
|
|
83
|
+
text: { type: "string" }
|
|
84
|
+
},
|
|
85
|
+
required: ["kind", "text"],
|
|
86
|
+
additionalProperties: false
|
|
87
|
+
}
|
|
88
|
+
];
|
|
89
|
+
for (const declaration of declarations) {
|
|
90
|
+
if (!declaration.name) continue;
|
|
91
|
+
branches.push({
|
|
92
|
+
type: "object",
|
|
93
|
+
properties: {
|
|
94
|
+
kind: { type: "string", enum: ["tool"] },
|
|
95
|
+
name: { type: "string", enum: [declaration.name] },
|
|
96
|
+
args: argumentSchema(declaration)
|
|
97
|
+
},
|
|
98
|
+
required: ["kind", "name", "args"],
|
|
99
|
+
additionalProperties: false
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return branches.length === 1 ? branches[0] : { anyOf: branches };
|
|
103
|
+
}
|
|
104
|
+
__name(buildToolChoiceSchema, "buildToolChoiceSchema");
|
|
105
|
+
function renderToolInstructions(declarations) {
|
|
106
|
+
if (!declarations.length) return "";
|
|
107
|
+
const lines = declarations.map(
|
|
108
|
+
(declaration) => {
|
|
109
|
+
var _a;
|
|
110
|
+
return `- ${declaration.name}: ${(_a = declaration.description) != null ? _a : ""}
|
|
111
|
+
arguments: ${JSON.stringify(argumentSchema(declaration))}`;
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
return [
|
|
115
|
+
"You can call these tools:",
|
|
116
|
+
...lines,
|
|
117
|
+
"",
|
|
118
|
+
'Reply with JSON only. To call a tool use {"kind":"tool","name":<tool>,"args":{...}}.',
|
|
119
|
+
'When you have the answer use {"kind":"final","text":<answer>}.'
|
|
120
|
+
].join("\n");
|
|
121
|
+
}
|
|
122
|
+
__name(renderToolInstructions, "renderToolInstructions");
|
|
123
|
+
function renderToolResult(response) {
|
|
124
|
+
if (response == null) return "{}";
|
|
125
|
+
let value = response;
|
|
126
|
+
if (isRecord(value) && Object.keys(value).length === 1 && "result" in value) {
|
|
127
|
+
value = value["result"];
|
|
128
|
+
}
|
|
129
|
+
if (typeof value === "string") {
|
|
130
|
+
const trimmed = value.trim();
|
|
131
|
+
if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
|
|
132
|
+
try {
|
|
133
|
+
return JSON.stringify(JSON.parse(trimmed));
|
|
134
|
+
} catch {
|
|
135
|
+
return trimmed;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return trimmed;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
return JSON.stringify(value);
|
|
142
|
+
} catch {
|
|
143
|
+
return String(value);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
__name(renderToolResult, "renderToolResult");
|
|
147
|
+
function contentsToMessages(contents) {
|
|
148
|
+
var _a, _b;
|
|
149
|
+
const messages = [];
|
|
150
|
+
for (const content of contents != null ? contents : []) {
|
|
151
|
+
const role = content.role === "model" ? "assistant" : "user";
|
|
152
|
+
const chunks = [];
|
|
153
|
+
for (const part of (_a = content.parts) != null ? _a : []) {
|
|
154
|
+
if (part.text) chunks.push(part.text);
|
|
155
|
+
if (part.functionCall) {
|
|
156
|
+
const args = JSON.stringify((_b = part.functionCall.args) != null ? _b : {});
|
|
157
|
+
chunks.push(`[tool_call] ${part.functionCall.name}(${args})`);
|
|
158
|
+
}
|
|
159
|
+
if (part.functionResponse) {
|
|
160
|
+
const rendered = renderToolResult(part.functionResponse.response);
|
|
161
|
+
chunks.push(
|
|
162
|
+
`[tool_result] ${part.functionResponse.name} -> ${rendered}`
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (chunks.length) {
|
|
167
|
+
messages.push({ role, content: chunks.join("\n") });
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return messages;
|
|
171
|
+
}
|
|
172
|
+
__name(contentsToMessages, "contentsToMessages");
|
|
173
|
+
function extractSystemInstruction(llmRequest) {
|
|
174
|
+
var _a;
|
|
175
|
+
const instruction = (_a = llmRequest.config) == null ? void 0 : _a.systemInstruction;
|
|
176
|
+
if (!instruction) return "";
|
|
177
|
+
if (typeof instruction === "string") return instruction;
|
|
178
|
+
if (Array.isArray(instruction)) {
|
|
179
|
+
return instruction.map(
|
|
180
|
+
(entry) => {
|
|
181
|
+
var _a2;
|
|
182
|
+
return typeof entry === "string" ? entry : (_a2 = entry == null ? void 0 : entry.text) != null ? _a2 : "";
|
|
183
|
+
}
|
|
184
|
+
).filter(Boolean).join("\n");
|
|
185
|
+
}
|
|
186
|
+
if (isRecord(instruction) && Array.isArray(instruction["parts"])) {
|
|
187
|
+
return instruction["parts"].map((part) => {
|
|
188
|
+
var _a2;
|
|
189
|
+
return (_a2 = part.text) != null ? _a2 : "";
|
|
190
|
+
}).filter(Boolean).join("\n");
|
|
191
|
+
}
|
|
192
|
+
return String(instruction);
|
|
193
|
+
}
|
|
194
|
+
__name(extractSystemInstruction, "extractSystemInstruction");
|
|
195
|
+
function stripAdkIdentityPreamble(systemPrompt) {
|
|
196
|
+
return systemPrompt.replace(/^You are an agent\. Your internal name is "[^"]*"\.\s*/m, "").replace(/^The description about you is "[^"]*"\s*/m, "").trimStart();
|
|
197
|
+
}
|
|
198
|
+
__name(stripAdkIdentityPreamble, "stripAdkIdentityPreamble");
|
|
199
|
+
function isAbortError(error) {
|
|
200
|
+
return isRecord(error) && error["name"] === "AbortError";
|
|
201
|
+
}
|
|
202
|
+
__name(isAbortError, "isAbortError");
|
|
203
|
+
function finalText(text) {
|
|
204
|
+
return { content: { role: "model", parts: [{ text }] }, turnComplete: true };
|
|
205
|
+
}
|
|
206
|
+
__name(finalText, "finalText");
|
|
207
|
+
function errorResponse(error) {
|
|
208
|
+
const details = isRecord(error) ? error : {};
|
|
209
|
+
const name = typeof details["name"] === "string" ? details["name"] : "UnknownError";
|
|
210
|
+
const message = typeof details["message"] === "string" ? details["message"] : String(error);
|
|
211
|
+
if (name === "QuotaExceededError") {
|
|
212
|
+
return {
|
|
213
|
+
errorCode: name,
|
|
214
|
+
errorMessage: `Prompt exceeded the context window (requested ${details["requested"]} of ${details["quota"]} tokens).`,
|
|
215
|
+
turnComplete: true
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
return { errorCode: name, errorMessage: message, turnComplete: true };
|
|
219
|
+
}
|
|
220
|
+
__name(errorResponse, "errorResponse");
|
|
221
|
+
const TRUNCATED_REPLY = "The model started an answer and did not finish it. Ask again.";
|
|
222
|
+
function looksLikeEnvelope(raw) {
|
|
223
|
+
return /^\s*[[{]/.test(raw) || /"kind"\s*:/.test(raw);
|
|
224
|
+
}
|
|
225
|
+
__name(looksLikeEnvelope, "looksLikeEnvelope");
|
|
226
|
+
function salvageFinalText(raw) {
|
|
227
|
+
var _a;
|
|
228
|
+
const key = raw.match(/"text"\s*:\s*"/);
|
|
229
|
+
if ((key == null ? void 0 : key.index) === void 0) return void 0;
|
|
230
|
+
const escapes = {
|
|
231
|
+
n: "\n",
|
|
232
|
+
t: " ",
|
|
233
|
+
r: "\r",
|
|
234
|
+
b: "\b",
|
|
235
|
+
f: "\f",
|
|
236
|
+
'"': '"',
|
|
237
|
+
"\\": "\\",
|
|
238
|
+
"/": "/"
|
|
239
|
+
};
|
|
240
|
+
let out = "";
|
|
241
|
+
for (let i = key.index + key[0].length; i < raw.length; i++) {
|
|
242
|
+
const char = raw[i];
|
|
243
|
+
if (char === '"') break;
|
|
244
|
+
if (char !== "\\") {
|
|
245
|
+
out += char;
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
const next = raw[i + 1];
|
|
249
|
+
if (next === void 0) break;
|
|
250
|
+
if (next === "u") {
|
|
251
|
+
const hex = raw.slice(i + 2, i + 6);
|
|
252
|
+
if (/^[0-9a-fA-F]{4}$/.test(hex)) {
|
|
253
|
+
out += String.fromCharCode(parseInt(hex, 16));
|
|
254
|
+
i += 5;
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
out += (_a = escapes[next]) != null ? _a : next;
|
|
259
|
+
i++;
|
|
260
|
+
}
|
|
261
|
+
const text = out.trim();
|
|
262
|
+
return text.length ? text : void 0;
|
|
263
|
+
}
|
|
264
|
+
__name(salvageFinalText, "salvageFinalText");
|
|
265
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
266
|
+
0 && (module.exports = {
|
|
267
|
+
TRUNCATED_REPLY,
|
|
268
|
+
buildToolChoiceSchema,
|
|
269
|
+
collectFunctionDeclarations,
|
|
270
|
+
contentsToMessages,
|
|
271
|
+
errorResponse,
|
|
272
|
+
extractSystemInstruction,
|
|
273
|
+
finalText,
|
|
274
|
+
isAbortError,
|
|
275
|
+
isRecord,
|
|
276
|
+
looksLikeEnvelope,
|
|
277
|
+
renderToolInstructions,
|
|
278
|
+
renderToolResult,
|
|
279
|
+
salvageFinalText,
|
|
280
|
+
stripAdkIdentityPreamble
|
|
281
|
+
});
|
|
@@ -59,7 +59,7 @@ const _GeminiLlmConnection = class _GeminiLlmConnection {
|
|
|
59
59
|
}
|
|
60
60
|
);
|
|
61
61
|
if (contents.length > 0) {
|
|
62
|
-
const isGemini3x = (0, import_model_name.
|
|
62
|
+
const isGemini3x = (0, import_model_name.isGemini3xLive)(this.modelVersion);
|
|
63
63
|
this.geminiSession.sendClientContent({
|
|
64
64
|
turns: contents,
|
|
65
65
|
turnComplete: isGemini3x ? true : contents[contents.length - 1].role === "user"
|
|
@@ -89,7 +89,7 @@ const _GeminiLlmConnection = class _GeminiLlmConnection {
|
|
|
89
89
|
});
|
|
90
90
|
} else {
|
|
91
91
|
import_logger.logger.debug("Sending LLM new content", content);
|
|
92
|
-
const isGemini3x = (0, import_model_name.
|
|
92
|
+
const isGemini3x = (0, import_model_name.isGemini3xLive)(this.modelVersion);
|
|
93
93
|
if (isGemini3x && content.parts.length === 1 && content.parts[0].text) {
|
|
94
94
|
import_logger.logger.debug("Using sendRealtimeInput for Gemini 3.x text input");
|
|
95
95
|
this.geminiSession.sendRealtimeInput({ text: content.parts[0].text });
|
|
@@ -109,9 +109,10 @@ const _GeminiLlmConnection = class _GeminiLlmConnection {
|
|
|
109
109
|
async sendRealtime(blob) {
|
|
110
110
|
var _a, _b, _c;
|
|
111
111
|
import_logger.logger.debug("Sending LLM Blob:", blob);
|
|
112
|
-
const isGemini3x = (0, import_model_name.
|
|
112
|
+
const isGemini3x = (0, import_model_name.isGemini3xLive)(this.modelVersion);
|
|
113
113
|
const isNativeAudio = (_a = this.modelVersion) == null ? void 0 : _a.includes("native-audio");
|
|
114
|
-
|
|
114
|
+
const isLiveTranslate = (0, import_model_name.isGemini35LiveTranslate)(this.modelVersion);
|
|
115
|
+
if (isGemini3x || isNativeAudio || isLiveTranslate) {
|
|
115
116
|
if ((_b = blob.mimeType) == null ? void 0 : _b.startsWith("audio/")) {
|
|
116
117
|
this.geminiSession.sendRealtimeInput({ audio: blob });
|
|
117
118
|
} else if ((_c = blob.mimeType) == null ? void 0 : _c.startsWith("image/")) {
|
|
@@ -46,7 +46,7 @@ var import_llm_response = require("./llm_response.js");
|
|
|
46
46
|
* SPDX-License-Identifier: Apache-2.0
|
|
47
47
|
*/
|
|
48
48
|
var _a, _b;
|
|
49
|
-
const GEMINI_MODEL_SYMBOL = Symbol.for("google.adk.geminiModel");
|
|
49
|
+
const GEMINI_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.geminiModel");
|
|
50
50
|
function isGemini(obj) {
|
|
51
51
|
return typeof obj === "object" && obj !== null && GEMINI_MODEL_SYMBOL in obj && obj[GEMINI_MODEL_SYMBOL] === true;
|
|
52
52
|
}
|
|
@@ -91,9 +91,14 @@ const _Gemini = class _Gemini extends (_b = import_base_llm.BaseLlm, _a = GEMINI
|
|
|
91
91
|
/**
|
|
92
92
|
* Sends a request to the Gemini model.
|
|
93
93
|
*
|
|
94
|
-
* @param llmRequest
|
|
95
|
-
* @param stream
|
|
96
|
-
* @yields LlmResponse
|
|
94
|
+
* @param llmRequest The request to send to the Gemini model.
|
|
95
|
+
* @param stream Whether to make a streaming call. Defaults to `false`.
|
|
96
|
+
* @yields Each {@link LlmResponse} produced by the model. A non-streaming
|
|
97
|
+
* call yields exactly one; a streaming call yields the partial responses
|
|
98
|
+
* as they arrive, then a final aggregated response whenever the stream
|
|
99
|
+
* carried either content or usage/grounding/citation metadata. A
|
|
100
|
+
* metadata-only stream therefore still ends with one, holding the
|
|
101
|
+
* metadata and no `content`; only a stream with neither ends silently.
|
|
97
102
|
*/
|
|
98
103
|
async *generateContentAsync(llmRequest, stream = false, abortSignal) {
|
|
99
104
|
var _a2, _b2, _c;
|
|
@@ -695,13 +695,12 @@ async function* generateContentViaInteractions(apiClient, llmRequest, stream) {
|
|
|
695
695
|
});
|
|
696
696
|
const aggregatedParts = [];
|
|
697
697
|
for await (const event of responses) {
|
|
698
|
-
const
|
|
699
|
-
const interactionId = extractStreamInteractionId(sseEvent);
|
|
698
|
+
const interactionId = extractStreamInteractionId(event);
|
|
700
699
|
if (interactionId) {
|
|
701
700
|
currentInteractionId = interactionId;
|
|
702
701
|
}
|
|
703
702
|
const llmResponse = convertInteractionEventToLlmResponse(
|
|
704
|
-
|
|
703
|
+
event,
|
|
705
704
|
aggregatedParts,
|
|
706
705
|
currentInteractionId
|
|
707
706
|
);
|
|
@@ -30,6 +30,7 @@ __export(registry_exports, {
|
|
|
30
30
|
module.exports = __toCommonJS(registry_exports);
|
|
31
31
|
var import_logger = require("../utils/logger.js");
|
|
32
32
|
var import_apigee_llm = require("./apigee_llm.js");
|
|
33
|
+
var import_chrome_prompt_llm = require("./chrome_prompt_llm.js");
|
|
33
34
|
var import_google_llm = require("./google_llm.js");
|
|
34
35
|
/**
|
|
35
36
|
* @license
|
|
@@ -121,6 +122,7 @@ _LLMRegistry.resolveCache = new LRUCache(32);
|
|
|
121
122
|
let LLMRegistry = _LLMRegistry;
|
|
122
123
|
LLMRegistry.register(import_google_llm.Gemini);
|
|
123
124
|
LLMRegistry.register(import_apigee_llm.ApigeeLlm);
|
|
125
|
+
LLMRegistry.register(import_chrome_prompt_llm.ChromeBuiltInLlm);
|
|
124
126
|
// Annotate the CommonJS export names for ESM import in node:
|
|
125
127
|
0 && (module.exports = {
|
|
126
128
|
LLMRegistry
|
|
@@ -0,0 +1,56 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var base_planner_exports = {};
|
|
27
|
+
__export(base_planner_exports, {
|
|
28
|
+
BasePlanner: () => BasePlanner,
|
|
29
|
+
isBasePlanner: () => isBasePlanner
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(base_planner_exports);
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2026 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
36
|
+
*/
|
|
37
|
+
var _a;
|
|
38
|
+
const BASE_PLANNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.basePlanner");
|
|
39
|
+
function isBasePlanner(obj) {
|
|
40
|
+
return typeof obj === "object" && obj !== null && BASE_PLANNER_SIGNATURE_SYMBOL in obj && obj[BASE_PLANNER_SIGNATURE_SYMBOL] === true;
|
|
41
|
+
}
|
|
42
|
+
__name(isBasePlanner, "isBasePlanner");
|
|
43
|
+
_a = BASE_PLANNER_SIGNATURE_SYMBOL;
|
|
44
|
+
const _BasePlanner = class _BasePlanner {
|
|
45
|
+
constructor() {
|
|
46
|
+
/** A unique symbol to identify ADK base planner class. */
|
|
47
|
+
this[_a] = true;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
__name(_BasePlanner, "BasePlanner");
|
|
51
|
+
let BasePlanner = _BasePlanner;
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
BasePlanner,
|
|
55
|
+
isBasePlanner
|
|
56
|
+
});
|
|
@@ -0,0 +1,85 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var built_in_planner_exports = {};
|
|
27
|
+
__export(built_in_planner_exports, {
|
|
28
|
+
BuiltInPlanner: () => BuiltInPlanner,
|
|
29
|
+
isBuiltInPlanner: () => isBuiltInPlanner
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(built_in_planner_exports);
|
|
32
|
+
var import_base_planner = require("./base_planner.js");
|
|
33
|
+
/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2026 Google LLC
|
|
36
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
+
*/
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const BUILT_IN_PLANNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
40
|
+
"google.adk.builtInPlanner"
|
|
41
|
+
);
|
|
42
|
+
function isBuiltInPlanner(obj) {
|
|
43
|
+
return typeof obj === "object" && obj !== null && BUILT_IN_PLANNER_SIGNATURE_SYMBOL in obj && obj[BUILT_IN_PLANNER_SIGNATURE_SYMBOL] === true;
|
|
44
|
+
}
|
|
45
|
+
__name(isBuiltInPlanner, "isBuiltInPlanner");
|
|
46
|
+
const _BuiltInPlanner = class _BuiltInPlanner extends (_b = import_base_planner.BasePlanner, _a = BUILT_IN_PLANNER_SIGNATURE_SYMBOL, _b) {
|
|
47
|
+
/**
|
|
48
|
+
* Initializes the built-in planner.
|
|
49
|
+
*
|
|
50
|
+
* @param options.thinkingConfig Config for model built-in thinking features.
|
|
51
|
+
* An error will be returned if this field is set for models that don't
|
|
52
|
+
* support thinking.
|
|
53
|
+
*/
|
|
54
|
+
constructor(options) {
|
|
55
|
+
super();
|
|
56
|
+
/** A unique symbol to identify ADK built-in planner class. */
|
|
57
|
+
this[_a] = true;
|
|
58
|
+
this.thinkingConfig = options.thinkingConfig;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Applies the thinking config to the LLM request.
|
|
62
|
+
*
|
|
63
|
+
* @param llmRequest The LLM request to apply the thinking config to.
|
|
64
|
+
*/
|
|
65
|
+
applyThinkingConfig(llmRequest) {
|
|
66
|
+
var _a2;
|
|
67
|
+
if (this.thinkingConfig) {
|
|
68
|
+
llmRequest.config = (_a2 = llmRequest.config) != null ? _a2 : {};
|
|
69
|
+
llmRequest.config.thinkingConfig = this.thinkingConfig;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
buildPlanningInstruction(_readonlyContext, _llmRequest) {
|
|
73
|
+
return void 0;
|
|
74
|
+
}
|
|
75
|
+
processPlanningResponse(_callbackContext, _responseParts) {
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
__name(_BuiltInPlanner, "BuiltInPlanner");
|
|
80
|
+
let BuiltInPlanner = _BuiltInPlanner;
|
|
81
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
82
|
+
0 && (module.exports = {
|
|
83
|
+
BuiltInPlanner,
|
|
84
|
+
isBuiltInPlanner
|
|
85
|
+
});
|
|
@@ -0,0 +1,172 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var plan_re_act_planner_exports = {};
|
|
27
|
+
__export(plan_re_act_planner_exports, {
|
|
28
|
+
PlanReActPlanner: () => PlanReActPlanner
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(plan_re_act_planner_exports);
|
|
31
|
+
var import_base_planner = require("./base_planner.js");
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2026 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
36
|
+
*/
|
|
37
|
+
const PLANNING_TAG = "/*PLANNING*/";
|
|
38
|
+
const REPLANNING_TAG = "/*REPLANNING*/";
|
|
39
|
+
const REASONING_TAG = "/*REASONING*/";
|
|
40
|
+
const ACTION_TAG = "/*ACTION*/";
|
|
41
|
+
const FINAL_ANSWER_TAG = "/*FINAL_ANSWER*/";
|
|
42
|
+
const THOUGHT_PREFIX_TAGS = [
|
|
43
|
+
PLANNING_TAG,
|
|
44
|
+
REASONING_TAG,
|
|
45
|
+
ACTION_TAG,
|
|
46
|
+
REPLANNING_TAG
|
|
47
|
+
];
|
|
48
|
+
const _PlanReActPlanner = class _PlanReActPlanner extends import_base_planner.BasePlanner {
|
|
49
|
+
buildPlanningInstruction(_readonlyContext, _llmRequest) {
|
|
50
|
+
return buildNlPlannerInstruction();
|
|
51
|
+
}
|
|
52
|
+
processPlanningResponse(_callbackContext, responseParts) {
|
|
53
|
+
if (!responseParts || responseParts.length === 0) {
|
|
54
|
+
return void 0;
|
|
55
|
+
}
|
|
56
|
+
const preservedParts = [];
|
|
57
|
+
let firstFcPartIndex = -1;
|
|
58
|
+
for (let i = 0; i < responseParts.length; i++) {
|
|
59
|
+
const part = responseParts[i];
|
|
60
|
+
if (part.functionCall) {
|
|
61
|
+
if (!part.functionCall.name) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
preservedParts.push(part);
|
|
65
|
+
firstFcPartIndex = i;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
handleNonFunctionCallPart(part, preservedParts);
|
|
69
|
+
}
|
|
70
|
+
if (firstFcPartIndex > 0) {
|
|
71
|
+
for (let j = firstFcPartIndex + 1; j < responseParts.length; j++) {
|
|
72
|
+
if (!responseParts[j].functionCall) {
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
preservedParts.push(responseParts[j]);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return preservedParts;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
__name(_PlanReActPlanner, "PlanReActPlanner");
|
|
82
|
+
let PlanReActPlanner = _PlanReActPlanner;
|
|
83
|
+
function splitByLastPattern(text, separator) {
|
|
84
|
+
const index = text.lastIndexOf(separator);
|
|
85
|
+
if (index === -1) {
|
|
86
|
+
return [text, ""];
|
|
87
|
+
}
|
|
88
|
+
const end = index + separator.length;
|
|
89
|
+
return [text.slice(0, end), text.slice(end)];
|
|
90
|
+
}
|
|
91
|
+
__name(splitByLastPattern, "splitByLastPattern");
|
|
92
|
+
function handleNonFunctionCallPart(responsePart, preservedParts) {
|
|
93
|
+
var _a;
|
|
94
|
+
if (responsePart.text && responsePart.text.includes(FINAL_ANSWER_TAG)) {
|
|
95
|
+
const [reasoningText, finalAnswerText] = splitByLastPattern(
|
|
96
|
+
responsePart.text,
|
|
97
|
+
FINAL_ANSWER_TAG
|
|
98
|
+
);
|
|
99
|
+
if (reasoningText) {
|
|
100
|
+
preservedParts.push(markAsThought({ text: reasoningText }));
|
|
101
|
+
}
|
|
102
|
+
if (finalAnswerText) {
|
|
103
|
+
preservedParts.push({ text: finalAnswerText });
|
|
104
|
+
}
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const responseText = (_a = responsePart.text) != null ? _a : "";
|
|
108
|
+
if (responseText && THOUGHT_PREFIX_TAGS.some((tag) => responseText.startsWith(tag))) {
|
|
109
|
+
preservedParts.push(markAsThought(responsePart));
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
preservedParts.push(responsePart);
|
|
113
|
+
}
|
|
114
|
+
__name(handleNonFunctionCallPart, "handleNonFunctionCallPart");
|
|
115
|
+
function markAsThought(responsePart) {
|
|
116
|
+
if (responsePart.text) {
|
|
117
|
+
return { ...responsePart, thought: true };
|
|
118
|
+
}
|
|
119
|
+
return responsePart;
|
|
120
|
+
}
|
|
121
|
+
__name(markAsThought, "markAsThought");
|
|
122
|
+
function buildNlPlannerInstruction() {
|
|
123
|
+
const highLevelPreamble = `
|
|
124
|
+
When answering the question, try to leverage the available tools to gather the information instead of your memorized knowledge.
|
|
125
|
+
|
|
126
|
+
Follow this process when answering the question: (1) first come up with a plan in natural language text format; (2) Then use tools to execute the plan and provide reasoning between tool code snippets to make a summary of current state and next step. Tool code snippets and reasoning should be interleaved with each other. (3) In the end, return one final answer.
|
|
127
|
+
|
|
128
|
+
Follow this format when answering the question: (1) The planning part should be under ${PLANNING_TAG}. (2) The tool code snippets should be under ${ACTION_TAG}, and the reasoning parts should be under ${REASONING_TAG}. (3) The final answer part should be under ${FINAL_ANSWER_TAG}.
|
|
129
|
+
`;
|
|
130
|
+
const planningPreamble = `
|
|
131
|
+
Below are the requirements for the planning:
|
|
132
|
+
The plan is made to answer the user query if following the plan. The plan is coherent and covers all aspects of information from user query, and only involves the tools that are accessible by the agent. The plan contains the decomposed steps as a numbered list where each step should use one or multiple available tools. By reading the plan, you can intuitively know which tools to trigger or what actions to take.
|
|
133
|
+
If the initial plan cannot be successfully executed, you should learn from previous execution results and revise your plan. The revised plan should be be under ${REPLANNING_TAG}. Then use tools to follow the new plan.
|
|
134
|
+
`;
|
|
135
|
+
const reasoningPreamble = `
|
|
136
|
+
Below are the requirements for the reasoning:
|
|
137
|
+
The reasoning makes a summary of the current trajectory based on the user query and tool outputs. Based on the tool outputs and plan, the reasoning also comes up with instructions to the next steps, making the trajectory closer to the final answer.
|
|
138
|
+
`;
|
|
139
|
+
const finalAnswerPreamble = `
|
|
140
|
+
Below are the requirements for the final answer:
|
|
141
|
+
The final answer should be precise and follow query formatting requirements. Some queries may not be answerable with the available tools and information. In those cases, inform the user why you cannot process their query and ask for more information.
|
|
142
|
+
`;
|
|
143
|
+
const toolCodeWithoutPythonLibrariesPreamble = `
|
|
144
|
+
Below are the requirements for the tool code:
|
|
145
|
+
|
|
146
|
+
**Custom Tools:** The available tools are described in the context and can be directly used.
|
|
147
|
+
- Code must be valid self-contained Python snippets with no imports and no references to tools or Python libraries that are not in the context.
|
|
148
|
+
- You cannot use any parameters or fields that are not explicitly defined in the APIs in the context.
|
|
149
|
+
- The code snippets should be readable, efficient, and directly relevant to the user query and reasoning steps.
|
|
150
|
+
- When using the tools, you should use the library name together with the function name, e.g., vertex_search.search().
|
|
151
|
+
- If Python libraries are not provided in the context, NEVER write your own code other than the function calls using the provided tools.
|
|
152
|
+
`;
|
|
153
|
+
const userInputPreamble = `
|
|
154
|
+
VERY IMPORTANT instruction that you MUST follow in addition to the above instructions:
|
|
155
|
+
|
|
156
|
+
You should ask for clarification if you need more information to answer the question.
|
|
157
|
+
You should prefer using the information available in the context instead of repeated tool use.
|
|
158
|
+
`;
|
|
159
|
+
return [
|
|
160
|
+
highLevelPreamble,
|
|
161
|
+
planningPreamble,
|
|
162
|
+
reasoningPreamble,
|
|
163
|
+
finalAnswerPreamble,
|
|
164
|
+
toolCodeWithoutPythonLibrariesPreamble,
|
|
165
|
+
userInputPreamble
|
|
166
|
+
].join("\n\n");
|
|
167
|
+
}
|
|
168
|
+
__name(buildNlPlannerInstruction, "buildNlPlannerInstruction");
|
|
169
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
170
|
+
0 && (module.exports = {
|
|
171
|
+
PlanReActPlanner
|
|
172
|
+
});
|