@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,91 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
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);
|
|
7
|
-
/**
|
|
8
|
-
* @license
|
|
9
|
-
* Copyright 2026 Google LLC
|
|
10
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
11
|
-
*/
|
|
12
|
-
import {
|
|
13
|
-
createCompactedEvent
|
|
14
|
-
} from "../../events/compacted_event.js";
|
|
15
|
-
import { stringifyContent } from "../../events/event.js";
|
|
16
|
-
const DEFAULT_PROMPT = "The following is a conversation history between a user and an AI agent. Please summarize the conversation, focusing on key information and decisions made, as well as any unresolved questions or tasks. The summary should be concise and capture the essence of the interaction.";
|
|
17
|
-
const _LlmSummarizer = class _LlmSummarizer {
|
|
18
|
-
/**
|
|
19
|
-
* @param options - Configuration specifying the LLM and optional prompt.
|
|
20
|
-
*/
|
|
21
|
-
constructor(options) {
|
|
22
|
-
this.llm = options.llm;
|
|
23
|
-
this.prompt = options.prompt || DEFAULT_PROMPT;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Summarizes a list of events into a single {@link CompactedEvent} using the
|
|
27
|
-
* configured LLM.
|
|
28
|
-
*
|
|
29
|
-
* @param events - The events to summarize. Must be non-empty.
|
|
30
|
-
* @returns A promise resolving to the compacted representation.
|
|
31
|
-
* @throws {Error} If `events` is empty or the LLM returns no content.
|
|
32
|
-
*/
|
|
33
|
-
async summarize(events) {
|
|
34
|
-
var _a, _b, _c, _d, _e, _f;
|
|
35
|
-
if (events.length === 0) {
|
|
36
|
-
throw new Error("Cannot summarize an empty list of events.");
|
|
37
|
-
}
|
|
38
|
-
const startTime = events[0].timestamp;
|
|
39
|
-
const endTime = events[events.length - 1].timestamp;
|
|
40
|
-
let formattedEvents = "";
|
|
41
|
-
for (let i = 0; i < events.length; i++) {
|
|
42
|
-
formattedEvents += "[Event ".concat(i + 1, " - Author: ").concat(events[i].author, "]\n");
|
|
43
|
-
formattedEvents += "".concat(stringifyContent(events[i]), "\n\n");
|
|
44
|
-
}
|
|
45
|
-
const fullPrompt = "".concat(this.prompt, "\n\n").concat(formattedEvents);
|
|
46
|
-
const request = {
|
|
47
|
-
contents: [{ role: "user", parts: [{ text: fullPrompt }] }],
|
|
48
|
-
toolsDict: {},
|
|
49
|
-
liveConnectConfig: {}
|
|
50
|
-
};
|
|
51
|
-
const responseGen = this.llm.generateContentAsync(request, false);
|
|
52
|
-
let compactedContent = "";
|
|
53
|
-
const firstResponse = await responseGen.next();
|
|
54
|
-
if (firstResponse.done || !((_c = (_b = (_a = firstResponse.value.content) == null ? void 0 : _a.parts) == null ? void 0 : _b[0]) == null ? void 0 : _c.text)) {
|
|
55
|
-
throw new Error("LLM failed to return a valid summary.");
|
|
56
|
-
}
|
|
57
|
-
compactedContent += firstResponse.value.content.parts[0].text;
|
|
58
|
-
try {
|
|
59
|
-
for (var iter = __forAwait(responseGen), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
|
|
60
|
-
const chunk = temp.value;
|
|
61
|
-
if ((_f = (_e = (_d = chunk.content) == null ? void 0 : _d.parts) == null ? void 0 : _e[0]) == null ? void 0 : _f.text) {
|
|
62
|
-
compactedContent += chunk.content.parts[0].text;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
} catch (temp) {
|
|
66
|
-
error = [temp];
|
|
67
|
-
} finally {
|
|
68
|
-
try {
|
|
69
|
-
more && (temp = iter.return) && await temp.call(iter);
|
|
70
|
-
} finally {
|
|
71
|
-
if (error)
|
|
72
|
-
throw error[0];
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return createCompactedEvent({
|
|
76
|
-
author: "system",
|
|
77
|
-
content: {
|
|
78
|
-
role: "model",
|
|
79
|
-
parts: [{ text: compactedContent }]
|
|
80
|
-
},
|
|
81
|
-
startTime,
|
|
82
|
-
endTime,
|
|
83
|
-
compactedContent
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
__name(_LlmSummarizer, "LlmSummarizer");
|
|
88
|
-
let LlmSummarizer = _LlmSummarizer;
|
|
89
|
-
export {
|
|
90
|
-
LlmSummarizer
|
|
91
|
-
};
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
/**
|
|
6
|
-
* @license
|
|
7
|
-
* Copyright 2026 Google LLC
|
|
8
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { requireAgent } from "../agents/invocation_context.js";
|
|
11
|
-
import { getContents } from "../agents/processors/content_processor_utils.js";
|
|
12
|
-
import { isCompactedEvent } from "../events/compacted_event.js";
|
|
13
|
-
import {
|
|
14
|
-
calculateRetainStartIndex,
|
|
15
|
-
getActiveEvents
|
|
16
|
-
} from "./compaction_utils.js";
|
|
17
|
-
const CHARS_PER_TOKEN = 4;
|
|
18
|
-
const _TokenBasedContextCompactor = class _TokenBasedContextCompactor {
|
|
19
|
-
constructor(options) {
|
|
20
|
-
this.tokenThreshold = options.tokenThreshold;
|
|
21
|
-
this.eventRetentionSize = options.eventRetentionSize;
|
|
22
|
-
this.summarizer = options.summarizer;
|
|
23
|
-
}
|
|
24
|
-
shouldCompact(invocationContext) {
|
|
25
|
-
const events = invocationContext.session.events;
|
|
26
|
-
const activeEvents = getActiveEvents(events);
|
|
27
|
-
const rawEvents = activeEvents.filter((e) => !isCompactedEvent(e));
|
|
28
|
-
if (rawEvents.length <= this.eventRetentionSize) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
const retainStartIndex = calculateRetainStartIndex(
|
|
32
|
-
rawEvents,
|
|
33
|
-
this.eventRetentionSize
|
|
34
|
-
);
|
|
35
|
-
if (retainStartIndex === 0) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
const promptTokenCount = latestPromptTokenCount(
|
|
39
|
-
activeEvents,
|
|
40
|
-
invocationContext
|
|
41
|
-
);
|
|
42
|
-
if (promptTokenCount === void 0) {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
return promptTokenCount > this.tokenThreshold;
|
|
46
|
-
}
|
|
47
|
-
async compact(invocationContext) {
|
|
48
|
-
const events = invocationContext.session.events;
|
|
49
|
-
const activeEvents = getActiveEvents(events);
|
|
50
|
-
const rawEvents = activeEvents.filter((e) => !isCompactedEvent(e));
|
|
51
|
-
if (rawEvents.length <= this.eventRetentionSize) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const retainStartIndex = calculateRetainStartIndex(
|
|
55
|
-
rawEvents,
|
|
56
|
-
this.eventRetentionSize
|
|
57
|
-
);
|
|
58
|
-
if (retainStartIndex === 0) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const rawEventsToCompact = rawEvents.slice(0, retainStartIndex);
|
|
62
|
-
const compactedEventPresent = activeEvents.find(isCompactedEvent);
|
|
63
|
-
const eventsToCompact = compactedEventPresent ? [compactedEventPresent, ...rawEventsToCompact] : rawEventsToCompact;
|
|
64
|
-
const compactedEvent = await this.summarizer.summarize(eventsToCompact);
|
|
65
|
-
if (!compactedEvent.actions) {
|
|
66
|
-
compactedEvent.actions = {
|
|
67
|
-
stateDelta: {},
|
|
68
|
-
artifactDelta: {},
|
|
69
|
-
requestedAuthConfigs: {},
|
|
70
|
-
requestedToolConfirmations: {}
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
invocationContext.session.events.push(compactedEvent);
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
__name(_TokenBasedContextCompactor, "TokenBasedContextCompactor");
|
|
77
|
-
let TokenBasedContextCompactor = _TokenBasedContextCompactor;
|
|
78
|
-
function latestPromptTokenCount(activeEvents, invocationContext) {
|
|
79
|
-
var _a;
|
|
80
|
-
for (let i = activeEvents.length - 1; i >= 0; i--) {
|
|
81
|
-
const count = (_a = activeEvents[i].usageMetadata) == null ? void 0 : _a.promptTokenCount;
|
|
82
|
-
if (count !== void 0) {
|
|
83
|
-
return count;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return estimatePromptTokenCount(activeEvents, invocationContext);
|
|
87
|
-
}
|
|
88
|
-
__name(latestPromptTokenCount, "latestPromptTokenCount");
|
|
89
|
-
function estimatePromptTokenCount(activeEvents, invocationContext) {
|
|
90
|
-
var _a;
|
|
91
|
-
const contents = getContents(
|
|
92
|
-
activeEvents,
|
|
93
|
-
requireAgent(invocationContext).name,
|
|
94
|
-
invocationContext.branch
|
|
95
|
-
);
|
|
96
|
-
let totalChars = 0;
|
|
97
|
-
for (const content of contents) {
|
|
98
|
-
for (const part of (_a = content.parts) != null ? _a : []) {
|
|
99
|
-
if (part.text) {
|
|
100
|
-
totalChars += part.text.length;
|
|
101
|
-
}
|
|
102
|
-
if (part.functionCall) {
|
|
103
|
-
totalChars += JSON.stringify(part.functionCall).length;
|
|
104
|
-
}
|
|
105
|
-
if (part.functionResponse) {
|
|
106
|
-
totalChars += JSON.stringify(part.functionResponse).length;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (totalChars <= 0) {
|
|
111
|
-
return void 0;
|
|
112
|
-
}
|
|
113
|
-
return Math.ceil(totalChars / CHARS_PER_TOKEN);
|
|
114
|
-
}
|
|
115
|
-
__name(estimatePromptTokenCount, "estimatePromptTokenCount");
|
|
116
|
-
export {
|
|
117
|
-
TokenBasedContextCompactor
|
|
118
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
/**
|
|
6
|
-
* @license
|
|
7
|
-
* Copyright 2026 Google LLC
|
|
8
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { hasThoughts, pruneThoughts } from "../events/event.js";
|
|
11
|
-
const _TrajectoryThoughtPruningCompactor = class _TrajectoryThoughtPruningCompactor {
|
|
12
|
-
constructor(options) {
|
|
13
|
-
if (options.eventRetentionSize < 0) {
|
|
14
|
-
throw new Error("eventRetentionSize must be a non-negative integer.");
|
|
15
|
-
}
|
|
16
|
-
this.eventRetentionSize = options.eventRetentionSize;
|
|
17
|
-
}
|
|
18
|
-
shouldCompact(invocationContext) {
|
|
19
|
-
const events = invocationContext.session.events;
|
|
20
|
-
if (events.length <= this.eventRetentionSize) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const olderEvents = events.slice(
|
|
24
|
-
0,
|
|
25
|
-
events.length - this.eventRetentionSize
|
|
26
|
-
);
|
|
27
|
-
return olderEvents.some((event) => hasThoughts(event));
|
|
28
|
-
}
|
|
29
|
-
compact(invocationContext) {
|
|
30
|
-
const events = invocationContext.session.events;
|
|
31
|
-
if (events.length <= this.eventRetentionSize) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const pruneLimit = events.length - this.eventRetentionSize;
|
|
35
|
-
for (let i = 0; i < pruneLimit; i++) {
|
|
36
|
-
const event = events[i];
|
|
37
|
-
if (hasThoughts(event)) {
|
|
38
|
-
events[i] = pruneThoughts(event);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
__name(_TrajectoryThoughtPruningCompactor, "TrajectoryThoughtPruningCompactor");
|
|
44
|
-
let TrajectoryThoughtPruningCompactor = _TrajectoryThoughtPruningCompactor;
|
|
45
|
-
export {
|
|
46
|
-
TrajectoryThoughtPruningCompactor
|
|
47
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
/**
|
|
6
|
-
* @license
|
|
7
|
-
* Copyright 2026 Google LLC
|
|
8
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
const _TruncatingContextCompactor = class _TruncatingContextCompactor {
|
|
11
|
-
constructor(options) {
|
|
12
|
-
var _a;
|
|
13
|
-
this.threshold = options.threshold;
|
|
14
|
-
this.preserveLeadingEvents = (_a = options.preserveLeadingEvents) != null ? _a : 0;
|
|
15
|
-
}
|
|
16
|
-
shouldCompact(invocationContext) {
|
|
17
|
-
const eventsLength = invocationContext.session.events.length;
|
|
18
|
-
return eventsLength > this.threshold + Math.max(0, this.preserveLeadingEvents);
|
|
19
|
-
}
|
|
20
|
-
compact(invocationContext) {
|
|
21
|
-
const events = invocationContext.session.events;
|
|
22
|
-
const excess = events.length - this.threshold - Math.max(0, this.preserveLeadingEvents);
|
|
23
|
-
if (excess <= 0) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const startIndexToRemove = Math.max(0, this.preserveLeadingEvents);
|
|
27
|
-
events.splice(startIndexToRemove, excess);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
__name(_TruncatingContextCompactor, "TruncatingContextCompactor");
|
|
31
|
-
let TruncatingContextCompactor = _TruncatingContextCompactor;
|
|
32
|
-
export {
|
|
33
|
-
TruncatingContextCompactor
|
|
34
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
7
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
8
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
9
|
-
if (decorator = decorators[i])
|
|
10
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
11
|
-
if (kind && result) __defProp(target, key, result);
|
|
12
|
-
return result;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* @license
|
|
16
|
-
* Copyright 2026 Google LLC
|
|
17
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
18
|
-
*/
|
|
19
|
-
import { experimental } from "../utils/experimental.js";
|
|
20
|
-
let BaseEnvironment = class {
|
|
21
|
-
constructor() {
|
|
22
|
-
/**
|
|
23
|
-
* Backing flag for {@link isInitialized}.
|
|
24
|
-
*
|
|
25
|
-
* Subclasses own this flag: set it in {@link initialize} and clear it in
|
|
26
|
-
* {@link close}.
|
|
27
|
-
*/
|
|
28
|
-
this.initialized = false;
|
|
29
|
-
}
|
|
30
|
-
/** Whether the environment has been initialized. */
|
|
31
|
-
get isInitialized() {
|
|
32
|
-
return this.initialized;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Initializes the environment (e.g. creates the working directory).
|
|
36
|
-
*
|
|
37
|
-
* Called before first use. The default implementation is a no-op and leaves
|
|
38
|
-
* {@link isInitialized} `false`. Subclasses must be idempotent and must set
|
|
39
|
-
* {@link initialized}.
|
|
40
|
-
*/
|
|
41
|
-
async initialize() {
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Releases resources held by the environment.
|
|
45
|
-
*
|
|
46
|
-
* The default implementation is a no-op. Subclasses must be idempotent and
|
|
47
|
-
* must clear {@link initialized}.
|
|
48
|
-
*/
|
|
49
|
-
async close() {
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Throws if {@link initialize} has not been called.
|
|
53
|
-
*
|
|
54
|
-
* Implementations should call this at the start of every operation that needs
|
|
55
|
-
* a live working directory.
|
|
56
|
-
*/
|
|
57
|
-
assertInitialized() {
|
|
58
|
-
if (!this.initialized) {
|
|
59
|
-
throw new Error(
|
|
60
|
-
"Environment is not initialized. Call initialize() first."
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
__name(BaseEnvironment, "BaseEnvironment");
|
|
66
|
-
BaseEnvironment = __decorateClass([
|
|
67
|
-
experimental
|
|
68
|
-
], BaseEnvironment);
|
|
69
|
-
export {
|
|
70
|
-
BaseEnvironment
|
|
71
|
-
};
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
-
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
21
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
22
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
23
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
24
|
-
if (decorator = decorators[i])
|
|
25
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
26
|
-
if (kind && result) __defProp(target, key, result);
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* @license
|
|
31
|
-
* Copyright 2026 Google LLC
|
|
32
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
33
|
-
*/
|
|
34
|
-
import { spawn } from "node:child_process";
|
|
35
|
-
import * as fs from "node:fs/promises";
|
|
36
|
-
import * as os from "node:os";
|
|
37
|
-
import * as path from "node:path";
|
|
38
|
-
import { experimental } from "../utils/experimental.js";
|
|
39
|
-
import { logger } from "../utils/logger.js";
|
|
40
|
-
import { BaseEnvironment } from "./base_environment.js";
|
|
41
|
-
const TEMP_WORKSPACE_PREFIX = "adk_workspace_";
|
|
42
|
-
function resolvePathInWorkingDir(workingDir, filePath) {
|
|
43
|
-
const base = path.resolve(workingDir);
|
|
44
|
-
const resolved = path.resolve(base, filePath);
|
|
45
|
-
const relative = path.relative(base, resolved);
|
|
46
|
-
if (relative === ".." || relative.startsWith("..".concat(path.sep)) || // `path.relative` returns an absolute path across Windows drives.
|
|
47
|
-
path.isAbsolute(relative)) {
|
|
48
|
-
throw new Error("Path escapes working directory: ".concat(filePath));
|
|
49
|
-
}
|
|
50
|
-
return resolved;
|
|
51
|
-
}
|
|
52
|
-
__name(resolvePathInWorkingDir, "resolvePathInWorkingDir");
|
|
53
|
-
let LocalEnvironment = class extends BaseEnvironment {
|
|
54
|
-
constructor(options = {}) {
|
|
55
|
-
super();
|
|
56
|
-
this.autoCreated = false;
|
|
57
|
-
this.currentWorkingDir = options.workingDir;
|
|
58
|
-
this.envVars = options.envVars;
|
|
59
|
-
}
|
|
60
|
-
get workingDir() {
|
|
61
|
-
if (this.currentWorkingDir === void 0) {
|
|
62
|
-
throw new Error("`workingDir` is not set. Call initialize() first.");
|
|
63
|
-
}
|
|
64
|
-
return this.currentWorkingDir;
|
|
65
|
-
}
|
|
66
|
-
async initialize() {
|
|
67
|
-
if (this.currentWorkingDir === void 0) {
|
|
68
|
-
this.currentWorkingDir = await fs.mkdtemp(
|
|
69
|
-
path.join(os.tmpdir(), TEMP_WORKSPACE_PREFIX)
|
|
70
|
-
);
|
|
71
|
-
this.autoCreated = true;
|
|
72
|
-
logger.debug("Created temporary workspace: ".concat(this.currentWorkingDir));
|
|
73
|
-
} else {
|
|
74
|
-
await fs.mkdir(this.currentWorkingDir, { recursive: true });
|
|
75
|
-
}
|
|
76
|
-
this.initialized = true;
|
|
77
|
-
}
|
|
78
|
-
async close() {
|
|
79
|
-
if (this.autoCreated && this.currentWorkingDir !== void 0) {
|
|
80
|
-
await fs.rm(this.currentWorkingDir, { recursive: true, force: true });
|
|
81
|
-
logger.debug("Removed temporary workspace: ".concat(this.currentWorkingDir));
|
|
82
|
-
this.currentWorkingDir = void 0;
|
|
83
|
-
}
|
|
84
|
-
this.initialized = false;
|
|
85
|
-
}
|
|
86
|
-
async execute(command, timeoutSeconds) {
|
|
87
|
-
this.assertInitialized();
|
|
88
|
-
const child = spawn(command, {
|
|
89
|
-
shell: true,
|
|
90
|
-
cwd: this.workingDir,
|
|
91
|
-
env: __spreadValues(__spreadValues({}, process.env), this.envVars)
|
|
92
|
-
});
|
|
93
|
-
const stdoutChunks = [];
|
|
94
|
-
const stderrChunks = [];
|
|
95
|
-
child.stdout.on("data", (chunk) => stdoutChunks.push(chunk));
|
|
96
|
-
child.stderr.on("data", (chunk) => stderrChunks.push(chunk));
|
|
97
|
-
let timedOut = false;
|
|
98
|
-
let timer;
|
|
99
|
-
if (timeoutSeconds !== void 0) {
|
|
100
|
-
timer = setTimeout(() => {
|
|
101
|
-
timedOut = true;
|
|
102
|
-
child.kill("SIGKILL");
|
|
103
|
-
child.stdout.destroy();
|
|
104
|
-
child.stderr.destroy();
|
|
105
|
-
}, timeoutSeconds * 1e3);
|
|
106
|
-
}
|
|
107
|
-
try {
|
|
108
|
-
const exitCode = await new Promise((resolve, reject) => {
|
|
109
|
-
child.on("close", (code, signal) => {
|
|
110
|
-
resolve(
|
|
111
|
-
signal === null ? code != null ? code : 0 : -os.constants.signals[signal]
|
|
112
|
-
);
|
|
113
|
-
});
|
|
114
|
-
child.on("error", reject);
|
|
115
|
-
});
|
|
116
|
-
return {
|
|
117
|
-
exitCode,
|
|
118
|
-
// Decode once, so a multi-byte character split across two chunks is
|
|
119
|
-
// not corrupted. Invalid bytes become U+FFFD, matching Python's
|
|
120
|
-
// `errors='replace'`.
|
|
121
|
-
stdout: Buffer.concat(stdoutChunks).toString("utf-8"),
|
|
122
|
-
stderr: Buffer.concat(stderrChunks).toString("utf-8"),
|
|
123
|
-
timedOut
|
|
124
|
-
};
|
|
125
|
-
} finally {
|
|
126
|
-
clearTimeout(timer);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Reads a file from the working directory.
|
|
131
|
-
*
|
|
132
|
-
* `filePath` is confined to the working directory by a lexical check on the
|
|
133
|
-
* resolved path, which is not a sandbox.
|
|
134
|
-
*
|
|
135
|
-
* @throws If the environment is not initialized, if the path escapes the
|
|
136
|
-
* working directory, or — as `ENOENT` — if the file does not exist.
|
|
137
|
-
*/
|
|
138
|
-
async readFile(filePath) {
|
|
139
|
-
this.assertInitialized();
|
|
140
|
-
return fs.readFile(resolvePathInWorkingDir(this.workingDir, filePath));
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Writes a file in the working directory, creating parent directories.
|
|
144
|
-
*
|
|
145
|
-
* `filePath` is confined to the working directory by a lexical check on the
|
|
146
|
-
* resolved path, which is not a sandbox. No newline translation is applied,
|
|
147
|
-
* so explicit CRLF sequences are preserved.
|
|
148
|
-
*
|
|
149
|
-
* @throws If the environment is not initialized or the path escapes the
|
|
150
|
-
* working directory.
|
|
151
|
-
*/
|
|
152
|
-
async writeFile(filePath, content) {
|
|
153
|
-
this.assertInitialized();
|
|
154
|
-
const resolved = resolvePathInWorkingDir(this.workingDir, filePath);
|
|
155
|
-
await fs.mkdir(path.dirname(resolved), { recursive: true });
|
|
156
|
-
await fs.writeFile(resolved, content);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
__name(LocalEnvironment, "LocalEnvironment");
|
|
160
|
-
LocalEnvironment = __decorateClass([
|
|
161
|
-
experimental
|
|
162
|
-
], LocalEnvironment);
|
|
163
|
-
export {
|
|
164
|
-
LocalEnvironment
|
|
165
|
-
};
|
|
@@ -1,51 +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 __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __spreadValues = (a, b) => {
|
|
11
|
-
for (var prop in b || (b = {}))
|
|
12
|
-
if (__hasOwnProp.call(b, prop))
|
|
13
|
-
__defNormalProp(a, prop, b[prop]);
|
|
14
|
-
if (__getOwnPropSymbols)
|
|
15
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
-
if (__propIsEnum.call(b, prop))
|
|
17
|
-
__defNormalProp(a, prop, b[prop]);
|
|
18
|
-
}
|
|
19
|
-
return a;
|
|
20
|
-
};
|
|
21
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
23
|
-
/**
|
|
24
|
-
* @license
|
|
25
|
-
* Copyright 2026 Google LLC
|
|
26
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
27
|
-
*/
|
|
28
|
-
import { createEvent } from "./event.js";
|
|
29
|
-
function isCompactedEvent(event) {
|
|
30
|
-
return "isCompacted" in event && event.isCompacted === true;
|
|
31
|
-
}
|
|
32
|
-
__name(isCompactedEvent, "isCompactedEvent");
|
|
33
|
-
function isScratchpadEvent(event) {
|
|
34
|
-
return isCompactedEvent(event) && event.isScratchpad === true;
|
|
35
|
-
}
|
|
36
|
-
__name(isScratchpadEvent, "isScratchpadEvent");
|
|
37
|
-
function createCompactedEvent(params = {}) {
|
|
38
|
-
return __spreadProps(__spreadValues({}, createEvent(params)), {
|
|
39
|
-
isCompacted: params.isCompacted || true,
|
|
40
|
-
startTime: params.startTime,
|
|
41
|
-
endTime: params.endTime,
|
|
42
|
-
compactedContent: params.compactedContent,
|
|
43
|
-
isScratchpad: params.isScratchpad
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
__name(createCompactedEvent, "createCompactedEvent");
|
|
47
|
-
export {
|
|
48
|
-
createCompactedEvent,
|
|
49
|
-
isCompactedEvent,
|
|
50
|
-
isScratchpadEvent
|
|
51
|
-
};
|