@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
|
@@ -41,6 +41,7 @@ var import_invocation_context = require("../agents/invocation_context.js");
|
|
|
41
41
|
var import_llm_agent = require("../agents/llm_agent.js");
|
|
42
42
|
var import_run_config = require("../agents/run_config.js");
|
|
43
43
|
var import_scoped_artifact_service = require("../artifacts/scoped_artifact_service.js");
|
|
44
|
+
var import_session_artifact_service = require("../artifacts/session_artifact_service.js");
|
|
44
45
|
var import_built_in_code_executor = require("../code_executors/built_in_code_executor.js");
|
|
45
46
|
var import_event = require("../events/event.js");
|
|
46
47
|
var import_event_actions = require("../events/event_actions.js");
|
|
@@ -49,6 +50,7 @@ var import_tracing = require("../telemetry/tracing.js");
|
|
|
49
50
|
var import_base_toolset = require("../tools/base_toolset.js");
|
|
50
51
|
var import_logger = require("../utils/logger.js");
|
|
51
52
|
var import_model_name = require("../utils/model_name.js");
|
|
53
|
+
var import_redact_inline_data = require("../utils/redact_inline_data.js");
|
|
52
54
|
var import_run_node_as_invocation = require("../workflow/run_node_as_invocation.js");
|
|
53
55
|
/**
|
|
54
56
|
* @license
|
|
@@ -56,7 +58,7 @@ var import_run_node_as_invocation = require("../workflow/run_node_as_invocation.
|
|
|
56
58
|
* SPDX-License-Identifier: Apache-2.0
|
|
57
59
|
*/
|
|
58
60
|
var _a;
|
|
59
|
-
const RUNNER_SIGNATURE_SYMBOL = Symbol.for("google.adk.runner");
|
|
61
|
+
const RUNNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.runner");
|
|
60
62
|
function isRunner(obj) {
|
|
61
63
|
return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
|
|
62
64
|
}
|
|
@@ -163,7 +165,9 @@ const _Runner = class _Runner {
|
|
|
163
165
|
`Session lookup failed: appName must be provided in runner constructor (or via app.name)`
|
|
164
166
|
);
|
|
165
167
|
}
|
|
166
|
-
throw new Error(
|
|
168
|
+
throw new Error(
|
|
169
|
+
`Session not found: ${sessionId} (appName=${this.appName}, userId=${userId})`
|
|
170
|
+
);
|
|
167
171
|
}
|
|
168
172
|
if (runConfig.supportCfc && (0, import_llm_agent.isLlmAgent)(this.agent)) {
|
|
169
173
|
const modelName = this.agent.canonicalModel.model;
|
|
@@ -177,7 +181,7 @@ const _Runner = class _Runner {
|
|
|
177
181
|
}
|
|
178
182
|
}
|
|
179
183
|
const invocationContext = new import_invocation_context.InvocationContext({
|
|
180
|
-
artifactService: this.artifactService ? new import_scoped_artifact_service.ScopedArtifactService(
|
|
184
|
+
artifactService: this.artifactService ? (0, import_session_artifact_service.isSessionArtifactService)(this.artifactService) ? this.artifactService : new import_scoped_artifact_service.ScopedArtifactService(
|
|
181
185
|
this.artifactService,
|
|
182
186
|
this.appName,
|
|
183
187
|
userId,
|
|
@@ -191,6 +195,7 @@ const _Runner = class _Runner {
|
|
|
191
195
|
session,
|
|
192
196
|
userContent: newMessage,
|
|
193
197
|
runConfig,
|
|
198
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
194
199
|
pluginManager: this.pluginManager,
|
|
195
200
|
abortSignal: params.abortSignal
|
|
196
201
|
});
|
|
@@ -210,9 +215,8 @@ const _Runner = class _Runner {
|
|
|
210
215
|
}
|
|
211
216
|
if (runConfig.saveInputBlobsAsArtifacts) {
|
|
212
217
|
newMessage = await this.saveArtifacts(
|
|
218
|
+
invocationContext.artifactService,
|
|
213
219
|
invocationContext.invocationId,
|
|
214
|
-
session.userId,
|
|
215
|
-
session.id,
|
|
216
220
|
newMessage
|
|
217
221
|
);
|
|
218
222
|
if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
|
|
@@ -325,21 +329,15 @@ const _Runner = class _Runner {
|
|
|
325
329
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
326
330
|
* a file name placeholder and optional file reference.
|
|
327
331
|
*
|
|
332
|
+
* @param artifactService The session-scoped artifact service to save to.
|
|
328
333
|
* @param invocationId The current invocation ID.
|
|
329
|
-
* @param userId The user ID of the session.
|
|
330
|
-
* @param sessionId The session ID of the session.
|
|
331
334
|
* @param message The message containing parts to process.
|
|
332
335
|
*/
|
|
333
|
-
async saveArtifacts(
|
|
336
|
+
async saveArtifacts(artifactService, invocationId, message) {
|
|
334
337
|
var _a2;
|
|
335
|
-
if (!
|
|
338
|
+
if (!artifactService || !((_a2 = message.parts) == null ? void 0 : _a2.length)) {
|
|
336
339
|
return message;
|
|
337
340
|
}
|
|
338
|
-
const sessionKey = {
|
|
339
|
-
appName: this.appName,
|
|
340
|
-
userId,
|
|
341
|
-
sessionId
|
|
342
|
-
};
|
|
343
341
|
const newParts = [];
|
|
344
342
|
let modified = false;
|
|
345
343
|
for (let i = 0; i < message.parts.length; i++) {
|
|
@@ -351,20 +349,16 @@ const _Runner = class _Runner {
|
|
|
351
349
|
try {
|
|
352
350
|
const inlineData = part.inlineData;
|
|
353
351
|
const fileName = inlineData.displayName || `artifact_${invocationId}_${i}`;
|
|
354
|
-
const version = await
|
|
355
|
-
...sessionKey,
|
|
352
|
+
const version = await artifactService.saveArtifact({
|
|
356
353
|
filename: fileName,
|
|
357
354
|
artifact: part
|
|
358
355
|
});
|
|
359
356
|
newParts.push((0, import_genai.createPartFromText)(`[Uploaded Artifact: "${fileName}"]`));
|
|
360
357
|
try {
|
|
361
|
-
const artifactVersion = await
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
version
|
|
366
|
-
}
|
|
367
|
-
);
|
|
358
|
+
const artifactVersion = await artifactService.getArtifactVersion({
|
|
359
|
+
filename: fileName,
|
|
360
|
+
version
|
|
361
|
+
});
|
|
368
362
|
if ((artifactVersion == null ? void 0 : artifactVersion.canonicalUri) && /^(gs|https?):/i.test(artifactVersion.canonicalUri)) {
|
|
369
363
|
newParts.push({
|
|
370
364
|
fileData: {
|
|
@@ -414,7 +408,7 @@ const _Runner = class _Runner {
|
|
|
414
408
|
* Whether the agent to run can transfer to any other agent in the agent tree.
|
|
415
409
|
*
|
|
416
410
|
* @param agentToRun The agent to check for transferability.
|
|
417
|
-
* @returns True if the agent can transfer,
|
|
411
|
+
* @returns True if the agent can transfer, false otherwise.
|
|
418
412
|
*/
|
|
419
413
|
isRoutableLlmAgent(agentToRun) {
|
|
420
414
|
return isRoutableLlmAgent(agentToRun);
|
|
@@ -477,7 +471,7 @@ const _Runner = class _Runner {
|
|
|
477
471
|
return;
|
|
478
472
|
}
|
|
479
473
|
const invocationContext = new import_invocation_context.InvocationContext({
|
|
480
|
-
artifactService: this.artifactService ? new import_scoped_artifact_service.ScopedArtifactService(
|
|
474
|
+
artifactService: this.artifactService ? (0, import_session_artifact_service.isSessionArtifactService)(this.artifactService) ? this.artifactService : new import_scoped_artifact_service.ScopedArtifactService(
|
|
481
475
|
this.artifactService,
|
|
482
476
|
this.appName,
|
|
483
477
|
params.userId,
|
|
@@ -490,6 +484,7 @@ const _Runner = class _Runner {
|
|
|
490
484
|
agent,
|
|
491
485
|
session,
|
|
492
486
|
runConfig,
|
|
487
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
493
488
|
pluginManager: this.pluginManager,
|
|
494
489
|
liveRequestQueue: params.liveRequestQueue,
|
|
495
490
|
abortSignal: params.abortSignal,
|
|
@@ -567,6 +562,14 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
567
562
|
const event = findEventByLastFunctionResponseId(session.events);
|
|
568
563
|
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
569
564
|
if (event && event.author && isResumable) {
|
|
565
|
+
const conflictingAuthors = (0, import_functions.getConflictingFunctionResponseAuthors)(
|
|
566
|
+
session.events
|
|
567
|
+
);
|
|
568
|
+
if (conflictingAuthors) {
|
|
569
|
+
throw new Error(
|
|
570
|
+
`Function responses in the last event resolve to function calls from more than one agent (at least "${conflictingAuthors[0]}" and "${conflictingAuthors[1]}"); cannot determine a single agent to resume.`
|
|
571
|
+
);
|
|
572
|
+
}
|
|
570
573
|
const resumedAgent = rootAgent.findAgent(event.author);
|
|
571
574
|
if (resumedAgent) {
|
|
572
575
|
return resumedAgent;
|
|
@@ -578,7 +581,7 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
578
581
|
}
|
|
579
582
|
}
|
|
580
583
|
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
581
|
-
import_logger.logger.debug("event:",
|
|
584
|
+
import_logger.logger.debug("event:", (0, import_redact_inline_data.stringifyWithRedactedInlineData)(session.events[i]));
|
|
582
585
|
const event2 = session.events[i];
|
|
583
586
|
if (event2.author === "user" || !event2.author) {
|
|
584
587
|
continue;
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
"use strict";
|
|
8
|
+
var __create = Object.create;
|
|
8
9
|
var __defProp = Object.defineProperty;
|
|
9
10
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
11
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
11
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
14
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
15
|
var __export = (target, all) => {
|
|
@@ -22,6 +24,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
22
24
|
}
|
|
23
25
|
return to;
|
|
24
26
|
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
25
35
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
36
|
var database_session_service_exports = {};
|
|
27
37
|
__export(database_session_service_exports, {
|
|
@@ -29,11 +39,8 @@ __export(database_session_service_exports, {
|
|
|
29
39
|
isDatabaseConnectionString: () => isDatabaseConnectionString
|
|
30
40
|
});
|
|
31
41
|
module.exports = __toCommonJS(database_session_service_exports);
|
|
32
|
-
var import_core = require("@mikro-orm/core");
|
|
33
42
|
var import_env_aware_utils = require("../utils/env_aware_utils.js");
|
|
34
43
|
var import_base_session_service = require("./base_session_service.js");
|
|
35
|
-
var import_operations = require("./db/operations.js");
|
|
36
|
-
var import_schema = require("./db/schema.js");
|
|
37
44
|
var import_session = require("./session.js");
|
|
38
45
|
var import_state = require("./state.js");
|
|
39
46
|
/**
|
|
@@ -41,6 +48,37 @@ var import_state = require("./state.js");
|
|
|
41
48
|
* Copyright 2026 Google LLC
|
|
42
49
|
* SPDX-License-Identifier: Apache-2.0
|
|
43
50
|
*/
|
|
51
|
+
let MikroORM;
|
|
52
|
+
let LockMode;
|
|
53
|
+
let ENTITIES;
|
|
54
|
+
let StorageAppState;
|
|
55
|
+
let StorageEvent;
|
|
56
|
+
let StorageSession;
|
|
57
|
+
let StorageUserState;
|
|
58
|
+
let ensureDatabaseCreated;
|
|
59
|
+
let getConnectionOptionsFromUri;
|
|
60
|
+
let validateDatabaseSchemaVersion;
|
|
61
|
+
let mikroOrmLoad;
|
|
62
|
+
function loadMikroOrm() {
|
|
63
|
+
mikroOrmLoad != null ? mikroOrmLoad : mikroOrmLoad = importMikroOrm();
|
|
64
|
+
return mikroOrmLoad;
|
|
65
|
+
}
|
|
66
|
+
__name(loadMikroOrm, "loadMikroOrm");
|
|
67
|
+
async function importMikroOrm() {
|
|
68
|
+
const [core, schema, operations] = await Promise.all([
|
|
69
|
+
Promise.resolve().then(() => __toESM(require("@mikro-orm/core"), 1)),
|
|
70
|
+
Promise.resolve().then(() => __toESM(require("./db/schema.js"), 1)),
|
|
71
|
+
Promise.resolve().then(() => __toESM(require("./db/operations.js"), 1))
|
|
72
|
+
]);
|
|
73
|
+
({ MikroORM, LockMode } = core);
|
|
74
|
+
({ ENTITIES, StorageAppState, StorageEvent, StorageSession, StorageUserState } = schema);
|
|
75
|
+
({
|
|
76
|
+
ensureDatabaseCreated,
|
|
77
|
+
getConnectionOptionsFromUri,
|
|
78
|
+
validateDatabaseSchemaVersion
|
|
79
|
+
} = operations);
|
|
80
|
+
}
|
|
81
|
+
__name(importMikroOrm, "importMikroOrm");
|
|
44
82
|
function isDatabaseConnectionString(uri) {
|
|
45
83
|
if (!uri) {
|
|
46
84
|
return false;
|
|
@@ -58,22 +96,19 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
58
96
|
if (!connectionStringOrOptions.driver) {
|
|
59
97
|
throw new Error("Driver is required when passing options object.");
|
|
60
98
|
}
|
|
61
|
-
this.options =
|
|
62
|
-
...connectionStringOrOptions,
|
|
63
|
-
entities: import_schema.ENTITIES
|
|
64
|
-
};
|
|
99
|
+
this.options = connectionStringOrOptions;
|
|
65
100
|
}
|
|
66
101
|
}
|
|
67
102
|
async init() {
|
|
68
103
|
if (this.initialized) {
|
|
69
104
|
return;
|
|
70
105
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.orm = await
|
|
75
|
-
await
|
|
76
|
-
await
|
|
106
|
+
await loadMikroOrm();
|
|
107
|
+
const options = this.connectionString ? await getConnectionOptionsFromUri(this.connectionString) : { ...this.options, entities: ENTITIES };
|
|
108
|
+
this.options = options;
|
|
109
|
+
this.orm = await MikroORM.init(options);
|
|
110
|
+
await ensureDatabaseCreated(this.orm);
|
|
111
|
+
await validateDatabaseSchemaVersion(this.orm);
|
|
77
112
|
this.initialized = true;
|
|
78
113
|
}
|
|
79
114
|
async createSession({
|
|
@@ -86,7 +121,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
86
121
|
const em = this.orm.em.fork();
|
|
87
122
|
const id = sessionId || (0, import_env_aware_utils.randomUUID)();
|
|
88
123
|
const now = /* @__PURE__ */ new Date();
|
|
89
|
-
const existing = await em.findOne(
|
|
124
|
+
const existing = await em.findOne(StorageSession, {
|
|
90
125
|
id,
|
|
91
126
|
appName,
|
|
92
127
|
userId
|
|
@@ -94,18 +129,18 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
94
129
|
if (existing) {
|
|
95
130
|
throw new Error(`Session with id ${id} already exists.`);
|
|
96
131
|
}
|
|
97
|
-
let appStateModel = await em.findOne(
|
|
132
|
+
let appStateModel = await em.findOne(StorageAppState, { appName });
|
|
98
133
|
if (!appStateModel) {
|
|
99
|
-
appStateModel = em.create(
|
|
134
|
+
appStateModel = em.create(StorageAppState, {
|
|
100
135
|
appName,
|
|
101
136
|
state: {},
|
|
102
137
|
updateTime: now
|
|
103
138
|
});
|
|
104
139
|
em.persist(appStateModel);
|
|
105
140
|
}
|
|
106
|
-
let userStateModel = await em.findOne(
|
|
141
|
+
let userStateModel = await em.findOne(StorageUserState, { appName, userId });
|
|
107
142
|
if (!userStateModel) {
|
|
108
|
-
userStateModel = em.create(
|
|
143
|
+
userStateModel = em.create(StorageUserState, {
|
|
109
144
|
appName,
|
|
110
145
|
userId,
|
|
111
146
|
state: {}
|
|
@@ -132,7 +167,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
132
167
|
if (Object.keys(userStateDelta).length > 0) {
|
|
133
168
|
userStateModel.state = { ...userStateModel.state, ...userStateDelta };
|
|
134
169
|
}
|
|
135
|
-
const storageSession = em.create(
|
|
170
|
+
const storageSession = em.create(StorageSession, {
|
|
136
171
|
id,
|
|
137
172
|
appName,
|
|
138
173
|
userId,
|
|
@@ -164,7 +199,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
164
199
|
}) {
|
|
165
200
|
await this.init();
|
|
166
201
|
const em = this.orm.em.fork();
|
|
167
|
-
const storageSession = await em.findOne(
|
|
202
|
+
const storageSession = await em.findOne(StorageSession, {
|
|
168
203
|
appName,
|
|
169
204
|
userId,
|
|
170
205
|
id: sessionId
|
|
@@ -180,13 +215,13 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
180
215
|
if (config == null ? void 0 : config.afterTimestamp) {
|
|
181
216
|
eventWhere.timestamp = { $gt: new Date(config.afterTimestamp) };
|
|
182
217
|
}
|
|
183
|
-
const storageEvents = await em.find(
|
|
218
|
+
const storageEvents = await em.find(StorageEvent, eventWhere, {
|
|
184
219
|
orderBy: { timestamp: "DESC" },
|
|
185
220
|
limit: config == null ? void 0 : config.numRecentEvents
|
|
186
221
|
});
|
|
187
222
|
storageEvents.reverse();
|
|
188
|
-
const appStateModel = await em.findOne(
|
|
189
|
-
const userStateModel = await em.findOne(
|
|
223
|
+
const appStateModel = await em.findOne(StorageAppState, { appName });
|
|
224
|
+
const userStateModel = await em.findOne(StorageUserState, {
|
|
190
225
|
appName,
|
|
191
226
|
userId
|
|
192
227
|
});
|
|
@@ -222,7 +257,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
222
257
|
let storageSessions;
|
|
223
258
|
let paginationMeta;
|
|
224
259
|
if (limit !== void 0) {
|
|
225
|
-
const totalItems = await em.count(
|
|
260
|
+
const totalItems = await em.count(StorageSession, where);
|
|
226
261
|
const totalPages = limit === 0 ? 0 : Math.ceil(totalItems / limit);
|
|
227
262
|
let effectiveOffset;
|
|
228
263
|
let effectivePage;
|
|
@@ -233,15 +268,15 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
233
268
|
effectiveOffset = offset != null ? offset : 0;
|
|
234
269
|
effectivePage = limit === 0 ? 1 : Math.floor(effectiveOffset / limit) + 1;
|
|
235
270
|
}
|
|
236
|
-
storageSessions = await em.find(
|
|
271
|
+
storageSessions = await em.find(StorageSession, where, {
|
|
237
272
|
orderBy,
|
|
238
273
|
limit,
|
|
239
274
|
offset: effectiveOffset
|
|
240
275
|
});
|
|
241
276
|
paginationMeta = { page: effectivePage, limit, totalItems, totalPages };
|
|
242
277
|
} else if (offset) {
|
|
243
|
-
const totalItems = await em.count(
|
|
244
|
-
storageSessions = await em.find(
|
|
278
|
+
const totalItems = await em.count(StorageSession, where);
|
|
279
|
+
storageSessions = await em.find(StorageSession, where, {
|
|
245
280
|
orderBy,
|
|
246
281
|
offset
|
|
247
282
|
});
|
|
@@ -252,7 +287,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
252
287
|
totalPages: totalItems === 0 ? 0 : 1
|
|
253
288
|
};
|
|
254
289
|
} else {
|
|
255
|
-
storageSessions = await em.find(
|
|
290
|
+
storageSessions = await em.find(StorageSession, where, { orderBy });
|
|
256
291
|
const totalItems = storageSessions.length;
|
|
257
292
|
paginationMeta = {
|
|
258
293
|
page: 1,
|
|
@@ -261,14 +296,14 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
261
296
|
totalPages: totalItems === 0 ? 0 : 1
|
|
262
297
|
};
|
|
263
298
|
}
|
|
264
|
-
const appStateModel = await em.findOne(
|
|
299
|
+
const appStateModel = await em.findOne(StorageAppState, { appName });
|
|
265
300
|
const appState = (appStateModel == null ? void 0 : appStateModel.state) || {};
|
|
266
301
|
const userStateMap = {};
|
|
267
302
|
if (userId) {
|
|
268
|
-
const u = await em.findOne(
|
|
303
|
+
const u = await em.findOne(StorageUserState, { appName, userId });
|
|
269
304
|
if (u) userStateMap[userId] = u.state;
|
|
270
305
|
} else {
|
|
271
|
-
const allUserStates = await em.find(
|
|
306
|
+
const allUserStates = await em.find(StorageUserState, { appName });
|
|
272
307
|
for (const u of allUserStates) {
|
|
273
308
|
userStateMap[u.userId] = u.state;
|
|
274
309
|
}
|
|
@@ -294,8 +329,8 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
294
329
|
}) {
|
|
295
330
|
await this.init();
|
|
296
331
|
const em = this.orm.em.fork();
|
|
297
|
-
await em.nativeDelete(
|
|
298
|
-
await em.nativeDelete(
|
|
332
|
+
await em.nativeDelete(StorageSession, { appName, userId, id: sessionId });
|
|
333
|
+
await em.nativeDelete(StorageEvent, { appName, userId, sessionId });
|
|
299
334
|
}
|
|
300
335
|
async appendEvent({
|
|
301
336
|
session,
|
|
@@ -309,34 +344,34 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
309
344
|
const trimmedEvent = (0, import_base_session_service.trimTempDeltaState)(event);
|
|
310
345
|
await em.transactional(async (txEm) => {
|
|
311
346
|
const storageSession = await txEm.findOne(
|
|
312
|
-
|
|
347
|
+
StorageSession,
|
|
313
348
|
{
|
|
314
349
|
appName: session.appName,
|
|
315
350
|
userId: session.userId,
|
|
316
351
|
id: session.id
|
|
317
352
|
},
|
|
318
|
-
{ lockMode:
|
|
353
|
+
{ lockMode: LockMode.PESSIMISTIC_WRITE }
|
|
319
354
|
);
|
|
320
355
|
if (!storageSession) {
|
|
321
356
|
throw new Error(`Session ${session.id} not found for appendEvent`);
|
|
322
357
|
}
|
|
323
|
-
let appStateModel = await txEm.findOne(
|
|
358
|
+
let appStateModel = await txEm.findOne(StorageAppState, {
|
|
324
359
|
appName: session.appName
|
|
325
360
|
});
|
|
326
361
|
if (!appStateModel) {
|
|
327
|
-
appStateModel = txEm.create(
|
|
362
|
+
appStateModel = txEm.create(StorageAppState, {
|
|
328
363
|
appName: session.appName,
|
|
329
364
|
state: {},
|
|
330
365
|
updateTime: /* @__PURE__ */ new Date()
|
|
331
366
|
});
|
|
332
367
|
txEm.persist(appStateModel);
|
|
333
368
|
}
|
|
334
|
-
let userStateModel = await txEm.findOne(
|
|
369
|
+
let userStateModel = await txEm.findOne(StorageUserState, {
|
|
335
370
|
appName: session.appName,
|
|
336
371
|
userId: session.userId
|
|
337
372
|
});
|
|
338
373
|
if (!userStateModel) {
|
|
339
|
-
userStateModel = txEm.create(
|
|
374
|
+
userStateModel = txEm.create(StorageUserState, {
|
|
340
375
|
appName: session.appName,
|
|
341
376
|
userId: session.userId,
|
|
342
377
|
state: {}
|
|
@@ -345,7 +380,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
345
380
|
}
|
|
346
381
|
if (storageSession.updateTime.getTime() > session.lastUpdateTime) {
|
|
347
382
|
const events = await txEm.find(
|
|
348
|
-
|
|
383
|
+
StorageEvent,
|
|
349
384
|
{
|
|
350
385
|
appName: session.appName,
|
|
351
386
|
userId: session.userId,
|
|
@@ -384,7 +419,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
384
419
|
storageSession.state = { ...storageSession.state, ...sessionDelta };
|
|
385
420
|
}
|
|
386
421
|
}
|
|
387
|
-
const existingStorageEvent = await txEm.findOne(
|
|
422
|
+
const existingStorageEvent = await txEm.findOne(StorageEvent, {
|
|
388
423
|
id: trimmedEvent.id,
|
|
389
424
|
appName: session.appName,
|
|
390
425
|
userId: session.userId,
|
|
@@ -395,7 +430,7 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
395
430
|
existingStorageEvent.timestamp = new Date(trimmedEvent.timestamp);
|
|
396
431
|
txEm.persist(existingStorageEvent);
|
|
397
432
|
} else {
|
|
398
|
-
const newStorageEvent = txEm.create(
|
|
433
|
+
const newStorageEvent = txEm.create(StorageEvent, {
|
|
399
434
|
id: trimmedEvent.id,
|
|
400
435
|
appName: session.appName,
|
|
401
436
|
userId: session.userId,
|
|
@@ -406,8 +441,8 @@ const _DatabaseSessionService = class _DatabaseSessionService extends import_bas
|
|
|
406
441
|
});
|
|
407
442
|
txEm.persist(newStorageEvent);
|
|
408
443
|
}
|
|
409
|
-
await txEm.commit();
|
|
410
444
|
storageSession.updateTime = new Date(event.timestamp);
|
|
445
|
+
txEm.persist([appStateModel, userStateModel, storageSession]);
|
|
411
446
|
const newMergedState = (0, import_base_session_service.mergeStates)(
|
|
412
447
|
appStateModel.state,
|
|
413
448
|
userStateModel.state,
|