@google/adk 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +66 -6
- package/dist/cjs/a2a/agent_executor.js +18 -6
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +21 -6
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +15 -7
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_credential.js +12 -2
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +5 -5
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/cjs/common.js +119 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -0
- package/dist/cjs/events/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/examples/example.js +92 -0
- package/dist/cjs/examples/example_util.js +28 -4
- package/dist/cjs/examples/index.js +39 -0
- package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
- package/dist/cjs/index.js +93 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +1 -1
- package/dist/cjs/models/base_llm.js +2 -7
- package/dist/cjs/models/chrome_prompt_llm.js +318 -0
- package/dist/cjs/models/chrome_prompt_utils.js +281 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -4
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/planners/base_planner.js +56 -0
- package/dist/cjs/planners/built_in_planner.js +85 -0
- package/dist/cjs/planners/plan_re_act_planner.js +172 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +46 -61
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- package/dist/cjs/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/example_tool.js +1 -1
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
- package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/skill/skill_toolset.js +2 -0
- package/dist/cjs/tools/tool_context.js +41 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/tools/webmcp/index.js +37 -0
- package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
- package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
- package/dist/cjs/utils/case_utils.js +52 -2
- package/dist/cjs/utils/client_labels.js +67 -0
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +103 -9
- package/dist/cjs/utils/hash_utils.js +73 -0
- package/dist/cjs/utils/live_connection_utils.js +10 -9
- package/dist/cjs/utils/logger.js +15 -50
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/model_name.js +17 -2
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/simple_zod_to_json.js +5 -0
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +71 -6
- package/dist/esm/a2a/agent_executor.js +18 -6
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +24 -6
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +15 -7
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_credential.js +11 -1
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +5 -5
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/esm/common.js +111 -40
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -0
- package/dist/esm/events/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/examples/example.js +85 -0
- package/dist/esm/examples/example_util.js +25 -3
- package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
- package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
- package/dist/esm/index.js +87 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +1 -1
- package/dist/esm/models/base_llm.js +3 -8
- package/dist/esm/models/chrome_prompt_llm.js +302 -0
- package/dist/esm/models/chrome_prompt_utils.js +241 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -5
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/planners/base_planner.js +28 -0
- package/dist/esm/planners/built_in_planner.js +57 -0
- package/dist/esm/planners/plan_re_act_planner.js +145 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +46 -61
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- package/dist/esm/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/example_tool.js +1 -1
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
- package/dist/esm/tools/openapi_tool/common/common.js +112 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/skill/skill_toolset.js +2 -0
- package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
- package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
- package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
- package/dist/esm/utils/case_utils.js +49 -1
- package/dist/esm/utils/client_labels.js +65 -0
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +102 -9
- package/dist/esm/utils/hash_utils.js +45 -0
- package/dist/esm/utils/live_connection_utils.js +11 -10
- package/dist/esm/utils/logger.js +14 -40
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/model_name.js +15 -2
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/simple_zod_to_json.js +5 -0
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- package/dist/types/a2a/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +20 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +22 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +37 -23
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event_actions.d.ts +13 -0
- package/dist/types/examples/base_example_provider.d.ts +2 -2
- package/dist/types/examples/example.d.ts +75 -0
- package/dist/types/examples/example_util.d.ts +13 -2
- package/dist/types/examples/index.d.ts +18 -0
- package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
- package/dist/types/index.d.ts +31 -1
- package/dist/types/memory/memory_entry.d.ts +15 -0
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/planners/base_planner.d.ts +50 -0
- package/dist/types/planners/built_in_planner.d.ts +53 -0
- package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -62
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
- package/dist/types/runner/runner.d.ts +7 -8
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/skills/skill_registry.d.ts +8 -0
- package/dist/types/tools/base_tool.d.ts +11 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
- package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
- package/dist/types/tools/tool_context.d.ts +19 -0
- package/dist/types/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- package/dist/types/tools/webmcp/index.d.ts +12 -0
- package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
- package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
- package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
- package/dist/types/utils/case_utils.d.ts +36 -0
- package/dist/types/utils/client_labels.d.ts +33 -0
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +18 -7
- package/dist/types/utils/hash_utils.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +33 -3
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/model_name.d.ts +30 -2
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +337 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +24 -15
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -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,
|
|
@@ -40,6 +40,7 @@ __export(operations_exports, {
|
|
|
40
40
|
validateDatabaseSchemaVersion: () => validateDatabaseSchemaVersion
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(operations_exports);
|
|
43
|
+
var import_logger = require("../../utils/logger.js");
|
|
43
44
|
var import_optional_peer = require("../../utils/optional_peer.js");
|
|
44
45
|
var import_redact_uri = require("../../utils/redact_uri.js");
|
|
45
46
|
var import_schema = require("./schema.js");
|
|
@@ -55,58 +56,264 @@ function driverPeer(packageName, scheme) {
|
|
|
55
56
|
};
|
|
56
57
|
}
|
|
57
58
|
__name(driverPeer, "driverPeer");
|
|
59
|
+
function safeDecode(value) {
|
|
60
|
+
try {
|
|
61
|
+
return decodeURIComponent(value);
|
|
62
|
+
} catch {
|
|
63
|
+
return void 0;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
__name(safeDecode, "safeDecode");
|
|
67
|
+
function decodeOrRaw(raw) {
|
|
68
|
+
var _a;
|
|
69
|
+
return ((_a = safeDecode(raw)) != null ? _a : raw) || void 0;
|
|
70
|
+
}
|
|
71
|
+
__name(decodeOrRaw, "decodeOrRaw");
|
|
72
|
+
function remainingParams(params, exclude) {
|
|
73
|
+
const result = {};
|
|
74
|
+
for (const [key, value] of params.entries()) {
|
|
75
|
+
if (!exclude.includes(key)) {
|
|
76
|
+
result[key] = value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
__name(remainingParams, "remainingParams");
|
|
82
|
+
const RESERVED_OPTION_KEYS = [
|
|
83
|
+
"host",
|
|
84
|
+
"schema",
|
|
85
|
+
"socketPath",
|
|
86
|
+
"driver",
|
|
87
|
+
"entities",
|
|
88
|
+
"user",
|
|
89
|
+
"password",
|
|
90
|
+
"dbName",
|
|
91
|
+
"port",
|
|
92
|
+
"clientUrl",
|
|
93
|
+
"driverOptions"
|
|
94
|
+
];
|
|
95
|
+
function parseSocketUri(uri) {
|
|
96
|
+
var _a, _b;
|
|
97
|
+
const schemeEnd = uri.indexOf("://");
|
|
98
|
+
if (schemeEnd === -1) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const afterScheme = uri.slice(schemeEnd + 3);
|
|
102
|
+
const authorityEnd = afterScheme.search(/[/?#]/);
|
|
103
|
+
const authorityRegion = authorityEnd === -1 ? afterScheme : afterScheme.slice(0, authorityEnd);
|
|
104
|
+
const rest = authorityEnd === -1 ? "" : afterScheme.slice(authorityEnd);
|
|
105
|
+
const atIndex = authorityRegion.lastIndexOf("@");
|
|
106
|
+
const rawUserinfo = atIndex === -1 ? void 0 : authorityRegion.slice(0, atIndex);
|
|
107
|
+
const rawAuthority = atIndex === -1 ? authorityRegion : authorityRegion.slice(atIndex + 1);
|
|
108
|
+
const restMatch = /^(\/[^?#]*)?(?:\?([^#]*))?/.exec(rest);
|
|
109
|
+
const rawPath = restMatch == null ? void 0 : restMatch[1];
|
|
110
|
+
const rawQuery = restMatch == null ? void 0 : restMatch[2];
|
|
111
|
+
const params = new URLSearchParams(rawQuery != null ? rawQuery : "");
|
|
112
|
+
const queryHost = params.get("host");
|
|
113
|
+
const decodedAuthority = (_a = safeDecode(rawAuthority)) != null ? _a : "";
|
|
114
|
+
let socketPath;
|
|
115
|
+
let dbNameOverride;
|
|
116
|
+
let matchedBareSocket = false;
|
|
117
|
+
if (queryHost == null ? void 0 : queryHost.startsWith("/")) {
|
|
118
|
+
socketPath = queryHost;
|
|
119
|
+
if (decodedAuthority && !decodedAuthority.startsWith("/")) {
|
|
120
|
+
import_logger.logger.warn(
|
|
121
|
+
`Connection URI names host "${decodedAuthority}" but the ?host= parameter overrides it with the Unix socket "${queryHost}"; connecting to the socket instead. URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
} else if (decodedAuthority.startsWith("/")) {
|
|
125
|
+
socketPath = decodedAuthority;
|
|
126
|
+
} else if (!decodedAuthority && rawPath) {
|
|
127
|
+
const segments = rawPath.split("/");
|
|
128
|
+
const colonIndex = segments.findIndex((segment) => segment.includes(":"));
|
|
129
|
+
if (colonIndex !== -1) {
|
|
130
|
+
socketPath = segments.slice(0, colonIndex + 1).join("/");
|
|
131
|
+
dbNameOverride = segments[colonIndex + 1];
|
|
132
|
+
matchedBareSocket = true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (!socketPath) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
let user;
|
|
139
|
+
let password;
|
|
140
|
+
if (rawUserinfo) {
|
|
141
|
+
const colonIndex = rawUserinfo.indexOf(":");
|
|
142
|
+
const rawUser = colonIndex === -1 ? rawUserinfo : rawUserinfo.slice(0, colonIndex);
|
|
143
|
+
const rawPassword = colonIndex === -1 ? void 0 : rawUserinfo.slice(colonIndex + 1);
|
|
144
|
+
user = rawUser ? decodeOrRaw(rawUser) : void 0;
|
|
145
|
+
password = rawPassword ? decodeOrRaw(rawPassword) : void 0;
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
socketPath,
|
|
149
|
+
user,
|
|
150
|
+
password,
|
|
151
|
+
dbName: matchedBareSocket ? dbNameOverride ? decodeOrRaw(dbNameOverride) : void 0 : rawPath ? decodeOrRaw(rawPath.slice(1)) : void 0,
|
|
152
|
+
schema: (_b = params.get("schema")) != null ? _b : void 0,
|
|
153
|
+
extraParams: remainingParams(params, RESERVED_OPTION_KEYS)
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
__name(parseSocketUri, "parseSocketUri");
|
|
157
|
+
function buildPostgresOptions(uri, driver) {
|
|
158
|
+
let parsedUrl;
|
|
159
|
+
try {
|
|
160
|
+
parsedUrl = new URL(uri);
|
|
161
|
+
} catch {
|
|
162
|
+
parsedUrl = null;
|
|
163
|
+
}
|
|
164
|
+
if (parsedUrl) {
|
|
165
|
+
const queryHost = parsedUrl.searchParams.get("host");
|
|
166
|
+
const decodedHostname = parsedUrl.hostname ? safeDecode(parsedUrl.hostname) : void 0;
|
|
167
|
+
const socketPath = (queryHost == null ? void 0 : queryHost.startsWith("/")) ? queryHost : (decodedHostname == null ? void 0 : decodedHostname.startsWith("/")) ? decodedHostname : void 0;
|
|
168
|
+
if (socketPath) {
|
|
169
|
+
if ((queryHost == null ? void 0 : queryHost.startsWith("/")) && decodedHostname && !decodedHostname.startsWith("/")) {
|
|
170
|
+
import_logger.logger.warn(
|
|
171
|
+
`Connection URI names host "${decodedHostname}" but the ?host= parameter overrides it with the Unix socket "${queryHost}"; connecting to the socket instead. URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
const schema = parsedUrl.searchParams.get("schema");
|
|
175
|
+
const extraParams = remainingParams(
|
|
176
|
+
parsedUrl.searchParams,
|
|
177
|
+
RESERVED_OPTION_KEYS
|
|
178
|
+
);
|
|
179
|
+
return {
|
|
180
|
+
entities: import_schema.ENTITIES,
|
|
181
|
+
driver,
|
|
182
|
+
host: socketPath,
|
|
183
|
+
user: parsedUrl.username ? decodeOrRaw(parsedUrl.username) : void 0,
|
|
184
|
+
password: parsedUrl.password ? decodeOrRaw(parsedUrl.password) : void 0,
|
|
185
|
+
dbName: decodeOrRaw(parsedUrl.pathname.slice(1)),
|
|
186
|
+
...parsedUrl.port ? { port: Number(parsedUrl.port) } : {},
|
|
187
|
+
...schema ? { schema } : {},
|
|
188
|
+
driverOptions: extraParams
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return { entities: import_schema.ENTITIES, clientUrl: uri, driver };
|
|
192
|
+
}
|
|
193
|
+
const socket = parseSocketUri(uri);
|
|
194
|
+
if (socket) {
|
|
195
|
+
return {
|
|
196
|
+
entities: import_schema.ENTITIES,
|
|
197
|
+
driver,
|
|
198
|
+
host: socket.socketPath,
|
|
199
|
+
user: socket.user,
|
|
200
|
+
password: socket.password,
|
|
201
|
+
dbName: socket.dbName,
|
|
202
|
+
...socket.schema ? { schema: socket.schema } : {},
|
|
203
|
+
driverOptions: socket.extraParams
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
throw new Error(
|
|
207
|
+
`Unrecognized postgres connection URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
__name(buildPostgresOptions, "buildPostgresOptions");
|
|
211
|
+
function buildMySqlFamilyOptions(uri, driver) {
|
|
212
|
+
let parsedUrl = null;
|
|
213
|
+
try {
|
|
214
|
+
parsedUrl = new URL(uri);
|
|
215
|
+
} catch {
|
|
216
|
+
}
|
|
217
|
+
if (parsedUrl) {
|
|
218
|
+
const queryHost = parsedUrl.searchParams.get("host");
|
|
219
|
+
const decodedHostname = parsedUrl.hostname ? safeDecode(parsedUrl.hostname) : void 0;
|
|
220
|
+
const socketPath = (queryHost == null ? void 0 : queryHost.startsWith("/")) ? queryHost : (decodedHostname == null ? void 0 : decodedHostname.startsWith("/")) ? decodedHostname : void 0;
|
|
221
|
+
if (socketPath) {
|
|
222
|
+
if ((queryHost == null ? void 0 : queryHost.startsWith("/")) && decodedHostname && !decodedHostname.startsWith("/")) {
|
|
223
|
+
import_logger.logger.warn(
|
|
224
|
+
`Connection URI names host "${decodedHostname}" but the ?host= parameter overrides it with the Unix socket "${queryHost}"; connecting to the socket instead. URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
const schema = parsedUrl.searchParams.get("schema");
|
|
228
|
+
const extraParams = remainingParams(
|
|
229
|
+
parsedUrl.searchParams,
|
|
230
|
+
RESERVED_OPTION_KEYS
|
|
231
|
+
);
|
|
232
|
+
return {
|
|
233
|
+
entities: import_schema.ENTITIES,
|
|
234
|
+
driver,
|
|
235
|
+
user: parsedUrl.username ? decodeOrRaw(parsedUrl.username) : void 0,
|
|
236
|
+
password: parsedUrl.password ? decodeOrRaw(parsedUrl.password) : void 0,
|
|
237
|
+
dbName: decodeOrRaw(parsedUrl.pathname.slice(1)),
|
|
238
|
+
driverOptions: {
|
|
239
|
+
socketPath,
|
|
240
|
+
...schema ? { schema } : {},
|
|
241
|
+
...extraParams
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
return { entities: import_schema.ENTITIES, clientUrl: uri, driver };
|
|
246
|
+
}
|
|
247
|
+
const socket = parseSocketUri(uri);
|
|
248
|
+
if (socket) {
|
|
249
|
+
return {
|
|
250
|
+
entities: import_schema.ENTITIES,
|
|
251
|
+
driver,
|
|
252
|
+
user: socket.user,
|
|
253
|
+
password: socket.password,
|
|
254
|
+
dbName: socket.dbName,
|
|
255
|
+
driverOptions: {
|
|
256
|
+
socketPath: socket.socketPath,
|
|
257
|
+
...socket.schema ? { schema: socket.schema } : {},
|
|
258
|
+
...socket.extraParams
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
throw new Error(
|
|
263
|
+
`Unrecognized MySQL/MariaDB connection URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`
|
|
264
|
+
);
|
|
265
|
+
}
|
|
266
|
+
__name(buildMySqlFamilyOptions, "buildMySqlFamilyOptions");
|
|
58
267
|
async function getConnectionOptionsFromUri(uri) {
|
|
59
|
-
let driver;
|
|
60
268
|
if (uri.startsWith("postgres://") || uri.startsWith("postgresql://")) {
|
|
61
269
|
const { PostgreSqlDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
62
270
|
driverPeer("@mikro-orm/postgresql", "postgres"),
|
|
63
271
|
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/postgresql"), 1))
|
|
64
272
|
);
|
|
65
|
-
|
|
66
|
-
}
|
|
273
|
+
return buildPostgresOptions(uri, PostgreSqlDriver);
|
|
274
|
+
}
|
|
275
|
+
if (uri.startsWith("mysql://")) {
|
|
67
276
|
const { MySqlDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
68
277
|
driverPeer("@mikro-orm/mysql", "mysql"),
|
|
69
278
|
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/mysql"), 1))
|
|
70
279
|
);
|
|
71
|
-
|
|
72
|
-
}
|
|
280
|
+
return buildMySqlFamilyOptions(uri, MySqlDriver);
|
|
281
|
+
}
|
|
282
|
+
if (uri.startsWith("mariadb://")) {
|
|
73
283
|
const { MariaDbDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
74
284
|
driverPeer("@mikro-orm/mariadb", "mariadb"),
|
|
75
285
|
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/mariadb"), 1))
|
|
76
286
|
);
|
|
77
|
-
|
|
78
|
-
}
|
|
287
|
+
return buildMySqlFamilyOptions(uri, MariaDbDriver);
|
|
288
|
+
}
|
|
289
|
+
if (uri.startsWith("sqlite://")) {
|
|
79
290
|
const { SqliteDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
80
291
|
driverPeer("@mikro-orm/sqlite", "sqlite"),
|
|
81
292
|
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/sqlite"), 1))
|
|
82
293
|
);
|
|
83
|
-
|
|
84
|
-
|
|
294
|
+
return {
|
|
295
|
+
entities: import_schema.ENTITIES,
|
|
296
|
+
dbName: uri === "sqlite://:memory:" ? ":memory:" : uri.substring("sqlite://".length),
|
|
297
|
+
driver: SqliteDriver
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
if (uri.startsWith("mssql://")) {
|
|
85
301
|
const { MsSqlDriver } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
86
302
|
driverPeer("@mikro-orm/mssql", "mssql"),
|
|
87
303
|
() => Promise.resolve().then(() => __toESM(require("@mikro-orm/mssql"), 1))
|
|
88
304
|
);
|
|
89
|
-
driver = MsSqlDriver;
|
|
90
|
-
} else {
|
|
91
|
-
throw new Error(`Unsupported database URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`);
|
|
92
|
-
}
|
|
93
|
-
if (uri.startsWith("sqlite://")) {
|
|
94
305
|
return {
|
|
95
306
|
entities: import_schema.ENTITIES,
|
|
96
|
-
|
|
97
|
-
driver
|
|
307
|
+
clientUrl: uri,
|
|
308
|
+
driver: MsSqlDriver
|
|
98
309
|
};
|
|
99
310
|
}
|
|
100
|
-
|
|
101
|
-
entities: import_schema.ENTITIES,
|
|
102
|
-
clientUrl: uri,
|
|
103
|
-
driver
|
|
104
|
-
};
|
|
311
|
+
throw new Error(`Unsupported database URI: ${(0, import_redact_uri.redactUriPassword)(uri)}`);
|
|
105
312
|
}
|
|
106
313
|
__name(getConnectionOptionsFromUri, "getConnectionOptionsFromUri");
|
|
107
314
|
async function ensureDatabaseCreated(orm) {
|
|
108
315
|
await orm.schema.ensureDatabase();
|
|
109
|
-
await orm.schema.
|
|
316
|
+
await orm.schema.update({ safe: true });
|
|
110
317
|
}
|
|
111
318
|
__name(ensureDatabaseCreated, "ensureDatabaseCreated");
|
|
112
319
|
async function validateDatabaseSchemaVersion(orm) {
|