@creezio/electron-shell 0.22.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/README.md +351 -0
- package/dist/.creezio-src-hash.json +4 -0
- package/dist/admin-window.d.ts +18 -0
- package/dist/admin-window.d.ts.map +1 -0
- package/dist/admin-window.js +75 -0
- package/dist/admin-window.js.map +1 -0
- package/dist/boot.d.ts +36 -0
- package/dist/boot.d.ts.map +1 -0
- package/dist/boot.js +99 -0
- package/dist/boot.js.map +1 -0
- package/dist/desktop/assistant-chrome.d.ts +42 -0
- package/dist/desktop/assistant-chrome.d.ts.map +1 -0
- package/dist/desktop/assistant-chrome.js +178 -0
- package/dist/desktop/assistant-chrome.js.map +1 -0
- package/dist/desktop/brand-desktop-runtime.d.ts +72 -0
- package/dist/desktop/brand-desktop-runtime.d.ts.map +1 -0
- package/dist/desktop/brand-desktop-runtime.js +3926 -0
- package/dist/desktop/brand-desktop-runtime.js.map +1 -0
- package/dist/desktop/desktop-session.d.ts +85 -0
- package/dist/desktop/desktop-session.d.ts.map +1 -0
- package/dist/desktop/desktop-session.js +163 -0
- package/dist/desktop/desktop-session.js.map +1 -0
- package/dist/desktop/error-page-html.d.ts +16 -0
- package/dist/desktop/error-page-html.d.ts.map +1 -0
- package/dist/desktop/error-page-html.js +88 -0
- package/dist/desktop/error-page-html.js.map +1 -0
- package/dist/desktop/legacy-brand-compat.d.ts +45 -0
- package/dist/desktop/legacy-brand-compat.d.ts.map +1 -0
- package/dist/desktop/legacy-brand-compat.js +49 -0
- package/dist/desktop/legacy-brand-compat.js.map +1 -0
- package/dist/desktop/oauth-loopback.d.ts +28 -0
- package/dist/desktop/oauth-loopback.d.ts.map +1 -0
- package/dist/desktop/oauth-loopback.js +137 -0
- package/dist/desktop/oauth-loopback.js.map +1 -0
- package/dist/desktop/profile-picker-html.d.ts +27 -0
- package/dist/desktop/profile-picker-html.d.ts.map +1 -0
- package/dist/desktop/profile-picker-html.js +213 -0
- package/dist/desktop/profile-picker-html.js.map +1 -0
- package/dist/desktop/remote-offline-html.d.ts +14 -0
- package/dist/desktop/remote-offline-html.d.ts.map +1 -0
- package/dist/desktop/remote-offline-html.js +88 -0
- package/dist/desktop/remote-offline-html.js.map +1 -0
- package/dist/factory-reset-runtime.d.ts +11 -0
- package/dist/factory-reset-runtime.d.ts.map +1 -0
- package/dist/factory-reset-runtime.js +77 -0
- package/dist/factory-reset-runtime.js.map +1 -0
- package/dist/host/ai-workspace/actions.d.ts +12 -0
- package/dist/host/ai-workspace/actions.d.ts.map +1 -0
- package/dist/host/ai-workspace/actions.js +243 -0
- package/dist/host/ai-workspace/actions.js.map +1 -0
- package/dist/host/ai-workspace/bindings.d.ts +51 -0
- package/dist/host/ai-workspace/bindings.d.ts.map +1 -0
- package/dist/host/ai-workspace/bindings.js +40 -0
- package/dist/host/ai-workspace/bindings.js.map +1 -0
- package/dist/host/ai-workspace/index.d.ts +11 -0
- package/dist/host/ai-workspace/index.d.ts.map +1 -0
- package/dist/host/ai-workspace/index.js +6 -0
- package/dist/host/ai-workspace/index.js.map +1 -0
- package/dist/host/ai-workspace/manager.d.ts +128 -0
- package/dist/host/ai-workspace/manager.d.ts.map +1 -0
- package/dist/host/ai-workspace/manager.js +519 -0
- package/dist/host/ai-workspace/manager.js.map +1 -0
- package/dist/host/ai-workspace/profile-window.d.ts +37 -0
- package/dist/host/ai-workspace/profile-window.d.ts.map +1 -0
- package/dist/host/ai-workspace/profile-window.js +121 -0
- package/dist/host/ai-workspace/profile-window.js.map +1 -0
- package/dist/host/ai-workspace/screencast.d.ts +56 -0
- package/dist/host/ai-workspace/screencast.d.ts.map +1 -0
- package/dist/host/ai-workspace/screencast.js +245 -0
- package/dist/host/ai-workspace/screencast.js.map +1 -0
- package/dist/host/ai-workspace/types.d.ts +40 -0
- package/dist/host/ai-workspace/types.d.ts.map +1 -0
- package/dist/host/ai-workspace/types.js +6 -0
- package/dist/host/ai-workspace/types.js.map +1 -0
- package/dist/host/brand-host-runtime.d.ts +107 -0
- package/dist/host/brand-host-runtime.d.ts.map +1 -0
- package/dist/host/brand-host-runtime.js +274 -0
- package/dist/host/brand-host-runtime.js.map +1 -0
- package/dist/host/brand-host-stack.d.ts +117 -0
- package/dist/host/brand-host-stack.d.ts.map +1 -0
- package/dist/host/brand-host-stack.js +253 -0
- package/dist/host/brand-host-stack.js.map +1 -0
- package/dist/host/brand-kernel-http.d.ts +34 -0
- package/dist/host/brand-kernel-http.d.ts.map +1 -0
- package/dist/host/brand-kernel-http.js +95 -0
- package/dist/host/brand-kernel-http.js.map +1 -0
- package/dist/host/brand-meili-boot.d.ts +67 -0
- package/dist/host/brand-meili-boot.d.ts.map +1 -0
- package/dist/host/brand-meili-boot.js +100 -0
- package/dist/host/brand-meili-boot.js.map +1 -0
- package/dist/host/bridge-client.d.ts +54 -0
- package/dist/host/bridge-client.d.ts.map +1 -0
- package/dist/host/bridge-client.js +187 -0
- package/dist/host/bridge-client.js.map +1 -0
- package/dist/host/browser-tabs/browser-tab-driver.d.ts +45 -0
- package/dist/host/browser-tabs/browser-tab-driver.d.ts.map +1 -0
- package/dist/host/browser-tabs/browser-tab-driver.js +154 -0
- package/dist/host/browser-tabs/browser-tab-driver.js.map +1 -0
- package/dist/host/browser-tabs/browser-tab-manager.d.ts +208 -0
- package/dist/host/browser-tabs/browser-tab-manager.d.ts.map +1 -0
- package/dist/host/browser-tabs/browser-tab-manager.js +758 -0
- package/dist/host/browser-tabs/browser-tab-manager.js.map +1 -0
- package/dist/host/browser-tabs/browser-tab-preload-path.d.ts +2 -0
- package/dist/host/browser-tabs/browser-tab-preload-path.d.ts.map +1 -0
- package/dist/host/browser-tabs/browser-tab-preload-path.js +29 -0
- package/dist/host/browser-tabs/browser-tab-preload-path.js.map +1 -0
- package/dist/host/browser-tabs/browser-tab-preload.d.ts +11 -0
- package/dist/host/browser-tabs/browser-tab-preload.d.ts.map +1 -0
- package/dist/host/browser-tabs/browser-tab-preload.js +11 -0
- package/dist/host/browser-tabs/browser-tab-preload.js.map +1 -0
- package/dist/host/browser-tabs/chrome-ua.d.ts +19 -0
- package/dist/host/browser-tabs/chrome-ua.d.ts.map +1 -0
- package/dist/host/browser-tabs/chrome-ua.js +37 -0
- package/dist/host/browser-tabs/chrome-ua.js.map +1 -0
- package/dist/host/browser-tabs/fake-cursor-inject.d.ts +7 -0
- package/dist/host/browser-tabs/fake-cursor-inject.d.ts.map +1 -0
- package/dist/host/browser-tabs/fake-cursor-inject.js +7 -0
- package/dist/host/browser-tabs/fake-cursor-inject.js.map +1 -0
- package/dist/host/browser-tabs/index.d.ts +13 -0
- package/dist/host/browser-tabs/index.d.ts.map +1 -0
- package/dist/host/browser-tabs/index.js +13 -0
- package/dist/host/browser-tabs/index.js.map +1 -0
- package/dist/host/browser-tabs/tab-load-state.d.ts +56 -0
- package/dist/host/browser-tabs/tab-load-state.d.ts.map +1 -0
- package/dist/host/browser-tabs/tab-load-state.js +56 -0
- package/dist/host/browser-tabs/tab-load-state.js.map +1 -0
- package/dist/host/browser-tabs/tab-url.d.ts +10 -0
- package/dist/host/browser-tabs/tab-url.d.ts.map +1 -0
- package/dist/host/browser-tabs/tab-url.js +57 -0
- package/dist/host/browser-tabs/tab-url.js.map +1 -0
- package/dist/host/context.d.ts +70 -0
- package/dist/host/context.d.ts.map +1 -0
- package/dist/host/context.js +16 -0
- package/dist/host/context.js.map +1 -0
- package/dist/host/contracts.d.ts +39 -0
- package/dist/host/contracts.d.ts.map +1 -0
- package/dist/host/contracts.js +26 -0
- package/dist/host/contracts.js.map +1 -0
- package/dist/host/crash-reporter.d.ts +65 -0
- package/dist/host/crash-reporter.d.ts.map +1 -0
- package/dist/host/crash-reporter.js +371 -0
- package/dist/host/crash-reporter.js.map +1 -0
- package/dist/host/ensure-kit-binaries.d.ts +17 -0
- package/dist/host/ensure-kit-binaries.d.ts.map +1 -0
- package/dist/host/ensure-kit-binaries.js +205 -0
- package/dist/host/ensure-kit-binaries.js.map +1 -0
- package/dist/host/feature-off-host.d.ts +130 -0
- package/dist/host/feature-off-host.d.ts.map +1 -0
- package/dist/host/feature-off-host.js +138 -0
- package/dist/host/feature-off-host.js.map +1 -0
- package/dist/host/hermes/crm-key.d.ts +49 -0
- package/dist/host/hermes/crm-key.d.ts.map +1 -0
- package/dist/host/hermes/crm-key.js +126 -0
- package/dist/host/hermes/crm-key.js.map +1 -0
- package/dist/host/hermes/ensure-crm-key-db.d.ts +7 -0
- package/dist/host/hermes/ensure-crm-key-db.d.ts.map +1 -0
- package/dist/host/hermes/ensure-crm-key-db.js +84 -0
- package/dist/host/hermes/ensure-crm-key-db.js.map +1 -0
- package/dist/host/hermes/launcher.d.ts +98 -0
- package/dist/host/hermes/launcher.d.ts.map +1 -0
- package/dist/host/hermes/launcher.js +972 -0
- package/dist/host/hermes/launcher.js.map +1 -0
- package/dist/host/hermes/runtime-bootstrap.d.ts +172 -0
- package/dist/host/hermes/runtime-bootstrap.d.ts.map +1 -0
- package/dist/host/hermes/runtime-bootstrap.js +789 -0
- package/dist/host/hermes/runtime-bootstrap.js.map +1 -0
- package/dist/host/hermes/skills-seed.d.ts +40 -0
- package/dist/host/hermes/skills-seed.d.ts.map +1 -0
- package/dist/host/hermes/skills-seed.js +100 -0
- package/dist/host/hermes/skills-seed.js.map +1 -0
- package/dist/host/host-stack.d.ts +35 -0
- package/dist/host/host-stack.d.ts.map +1 -0
- package/dist/host/host-stack.js +38 -0
- package/dist/host/host-stack.js.map +1 -0
- package/dist/host/kit-os-resources.d.ts +6 -0
- package/dist/host/kit-os-resources.d.ts.map +1 -0
- package/dist/host/kit-os-resources.js +88 -0
- package/dist/host/kit-os-resources.js.map +1 -0
- package/dist/host/load-electron.d.ts +2 -0
- package/dist/host/load-electron.d.ts.map +1 -0
- package/dist/host/load-electron.js +44 -0
- package/dist/host/load-electron.js.map +1 -0
- package/dist/host/local-config.d.ts +120 -0
- package/dist/host/local-config.d.ts.map +1 -0
- package/dist/host/local-config.js +633 -0
- package/dist/host/local-config.js.map +1 -0
- package/dist/host/meili/browse.d.ts +58 -0
- package/dist/host/meili/browse.d.ts.map +1 -0
- package/dist/host/meili/browse.js +98 -0
- package/dist/host/meili/browse.js.map +1 -0
- package/dist/host/meili/coherence-db.d.ts +35 -0
- package/dist/host/meili/coherence-db.d.ts.map +1 -0
- package/dist/host/meili/coherence-db.js +129 -0
- package/dist/host/meili/coherence-db.js.map +1 -0
- package/dist/host/meili/coherence-query.d.ts +10 -0
- package/dist/host/meili/coherence-query.d.ts.map +1 -0
- package/dist/host/meili/coherence-query.js +23 -0
- package/dist/host/meili/coherence-query.js.map +1 -0
- package/dist/host/meili/coherence.d.ts +53 -0
- package/dist/host/meili/coherence.d.ts.map +1 -0
- package/dist/host/meili/coherence.js +148 -0
- package/dist/host/meili/coherence.js.map +1 -0
- package/dist/host/meili/feed.d.ts +82 -0
- package/dist/host/meili/feed.d.ts.map +1 -0
- package/dist/host/meili/feed.js +100 -0
- package/dist/host/meili/feed.js.map +1 -0
- package/dist/host/meili/generic-indexer.d.ts +34 -0
- package/dist/host/meili/generic-indexer.d.ts.map +1 -0
- package/dist/host/meili/generic-indexer.js +333 -0
- package/dist/host/meili/generic-indexer.js.map +1 -0
- package/dist/host/meili/index-schema.d.ts +64 -0
- package/dist/host/meili/index-schema.d.ts.map +1 -0
- package/dist/host/meili/index-schema.js +70 -0
- package/dist/host/meili/index-schema.js.map +1 -0
- package/dist/host/meili/index.d.ts +13 -0
- package/dist/host/meili/index.d.ts.map +1 -0
- package/dist/host/meili/index.js +8 -0
- package/dist/host/meili/index.js.map +1 -0
- package/dist/host/meili/indexer.d.ts +31 -0
- package/dist/host/meili/indexer.d.ts.map +1 -0
- package/dist/host/meili/indexer.js +49 -0
- package/dist/host/meili/indexer.js.map +1 -0
- package/dist/host/meili-launcher.d.ts +30 -0
- package/dist/host/meili-launcher.d.ts.map +1 -0
- package/dist/host/meili-launcher.js +115 -0
- package/dist/host/meili-launcher.js.map +1 -0
- package/dist/host/n8n/agent-isolation.d.ts +55 -0
- package/dist/host/n8n/agent-isolation.d.ts.map +1 -0
- package/dist/host/n8n/agent-isolation.js +158 -0
- package/dist/host/n8n/agent-isolation.js.map +1 -0
- package/dist/host/n8n/api-key.d.ts +67 -0
- package/dist/host/n8n/api-key.d.ts.map +1 -0
- package/dist/host/n8n/api-key.js +297 -0
- package/dist/host/n8n/api-key.js.map +1 -0
- package/dist/host/n8n/launcher.d.ts +126 -0
- package/dist/host/n8n/launcher.d.ts.map +1 -0
- package/dist/host/n8n/launcher.js +1170 -0
- package/dist/host/n8n/launcher.js.map +1 -0
- package/dist/host/n8n/runtime-bootstrap.d.ts +44 -0
- package/dist/host/n8n/runtime-bootstrap.d.ts.map +1 -0
- package/dist/host/n8n/runtime-bootstrap.js +230 -0
- package/dist/host/n8n/runtime-bootstrap.js.map +1 -0
- package/dist/host/node-runtime.d.ts +52 -0
- package/dist/host/node-runtime.d.ts.map +1 -0
- package/dist/host/node-runtime.js +257 -0
- package/dist/host/node-runtime.js.map +1 -0
- package/dist/host/npm-cli.d.ts +43 -0
- package/dist/host/npm-cli.d.ts.map +1 -0
- package/dist/host/npm-cli.js +213 -0
- package/dist/host/npm-cli.js.map +1 -0
- package/dist/host/plugins/accept-check.d.ts +19 -0
- package/dist/host/plugins/accept-check.d.ts.map +1 -0
- package/dist/host/plugins/accept-check.js +172 -0
- package/dist/host/plugins/accept-check.js.map +1 -0
- package/dist/host/plugins/brand-bindings.d.ts +103 -0
- package/dist/host/plugins/brand-bindings.d.ts.map +1 -0
- package/dist/host/plugins/brand-bindings.js +65 -0
- package/dist/host/plugins/brand-bindings.js.map +1 -0
- package/dist/host/plugins/control-adapters.d.ts +11 -0
- package/dist/host/plugins/control-adapters.d.ts.map +1 -0
- package/dist/host/plugins/control-adapters.js +83 -0
- package/dist/host/plugins/control-adapters.js.map +1 -0
- package/dist/host/plugins/control-extras.d.ts +61 -0
- package/dist/host/plugins/control-extras.d.ts.map +1 -0
- package/dist/host/plugins/control-extras.js +382 -0
- package/dist/host/plugins/control-extras.js.map +1 -0
- package/dist/host/plugins/control-plane.d.ts +42 -0
- package/dist/host/plugins/control-plane.d.ts.map +1 -0
- package/dist/host/plugins/control-plane.js +124 -0
- package/dist/host/plugins/control-plane.js.map +1 -0
- package/dist/host/plugins/control-token.d.ts +24 -0
- package/dist/host/plugins/control-token.d.ts.map +1 -0
- package/dist/host/plugins/control-token.js +77 -0
- package/dist/host/plugins/control-token.js.map +1 -0
- package/dist/host/plugins/crm-key.d.ts +25 -0
- package/dist/host/plugins/crm-key.d.ts.map +1 -0
- package/dist/host/plugins/crm-key.js +126 -0
- package/dist/host/plugins/crm-key.js.map +1 -0
- package/dist/host/plugins/data.d.ts +21 -0
- package/dist/host/plugins/data.d.ts.map +1 -0
- package/dist/host/plugins/data.js +100 -0
- package/dist/host/plugins/data.js.map +1 -0
- package/dist/host/plugins/events.d.ts +6 -0
- package/dist/host/plugins/events.d.ts.map +1 -0
- package/dist/host/plugins/events.js +6 -0
- package/dist/host/plugins/events.js.map +1 -0
- package/dist/host/plugins/execution-grant.d.ts +6 -0
- package/dist/host/plugins/execution-grant.d.ts.map +1 -0
- package/dist/host/plugins/execution-grant.js +6 -0
- package/dist/host/plugins/execution-grant.js.map +1 -0
- package/dist/host/plugins/git.d.ts +56 -0
- package/dist/host/plugins/git.d.ts.map +1 -0
- package/dist/host/plugins/git.js +357 -0
- package/dist/host/plugins/git.js.map +1 -0
- package/dist/host/plugins/host.d.ts +68 -0
- package/dist/host/plugins/host.d.ts.map +1 -0
- package/dist/host/plugins/host.js +276 -0
- package/dist/host/plugins/host.js.map +1 -0
- package/dist/host/plugins/launcher.d.ts +146 -0
- package/dist/host/plugins/launcher.d.ts.map +1 -0
- package/dist/host/plugins/launcher.js +489 -0
- package/dist/host/plugins/launcher.js.map +1 -0
- package/dist/host/plugins/runtime.d.ts +28 -0
- package/dist/host/plugins/runtime.d.ts.map +1 -0
- package/dist/host/plugins/runtime.js +430 -0
- package/dist/host/plugins/runtime.js.map +1 -0
- package/dist/host/plugins/test-runner.d.ts +15 -0
- package/dist/host/plugins/test-runner.d.ts.map +1 -0
- package/dist/host/plugins/test-runner.js +106 -0
- package/dist/host/plugins/test-runner.js.map +1 -0
- package/dist/host/safe-storage.d.ts +21 -0
- package/dist/host/safe-storage.d.ts.map +1 -0
- package/dist/host/safe-storage.js +55 -0
- package/dist/host/safe-storage.js.map +1 -0
- package/dist/host/sandbox/embed-sandbox.d.ts +133 -0
- package/dist/host/sandbox/embed-sandbox.d.ts.map +1 -0
- package/dist/host/sandbox/embed-sandbox.js +378 -0
- package/dist/host/sandbox/embed-sandbox.js.map +1 -0
- package/dist/host/sandbox/os-sandbox.d.ts +41 -0
- package/dist/host/sandbox/os-sandbox.d.ts.map +1 -0
- package/dist/host/sandbox/os-sandbox.js +98 -0
- package/dist/host/sandbox/os-sandbox.js.map +1 -0
- package/dist/host/server-env.d.ts +50 -0
- package/dist/host/server-env.d.ts.map +1 -0
- package/dist/host/server-env.js +64 -0
- package/dist/host/server-env.js.map +1 -0
- package/dist/host/server-launcher.d.ts +49 -0
- package/dist/host/server-launcher.d.ts.map +1 -0
- package/dist/host/server-launcher.js +43 -0
- package/dist/host/server-launcher.js.map +1 -0
- package/dist/host/tunnel/cloudflared-respawn.d.ts +58 -0
- package/dist/host/tunnel/cloudflared-respawn.d.ts.map +1 -0
- package/dist/host/tunnel/cloudflared-respawn.js +73 -0
- package/dist/host/tunnel/cloudflared-respawn.js.map +1 -0
- package/dist/host/tunnel/tunnel.d.ts +72 -0
- package/dist/host/tunnel/tunnel.d.ts.map +1 -0
- package/dist/host/tunnel/tunnel.js +462 -0
- package/dist/host/tunnel/tunnel.js.map +1 -0
- package/dist/host/web-telemetry.d.ts +16 -0
- package/dist/host/web-telemetry.d.ts.map +1 -0
- package/dist/host/web-telemetry.js +97 -0
- package/dist/host/web-telemetry.js.map +1 -0
- package/dist/index.d.ts +198 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +102 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +44 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +252 -0
- package/dist/logger.js.map +1 -0
- package/dist/main-facade.d.ts +51 -0
- package/dist/main-facade.d.ts.map +1 -0
- package/dist/main-facade.js +96 -0
- package/dist/main-facade.js.map +1 -0
- package/dist/meili.d.ts +19 -0
- package/dist/meili.d.ts.map +1 -0
- package/dist/meili.js +14 -0
- package/dist/meili.js.map +1 -0
- package/dist/splash-ui.d.ts +69 -0
- package/dist/splash-ui.d.ts.map +1 -0
- package/dist/splash-ui.js +431 -0
- package/dist/splash-ui.js.map +1 -0
- package/dist/tray.d.ts +44 -0
- package/dist/tray.d.ts.map +1 -0
- package/dist/tray.js +173 -0
- package/dist/tray.js.map +1 -0
- package/dist/updater.d.ts +36 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +257 -0
- package/dist/updater.js.map +1 -0
- package/dist/window-chrome.d.ts +12 -0
- package/dist/window-chrome.d.ts.map +1 -0
- package/dist/window-chrome.js +93 -0
- package/dist/window-chrome.js.map +1 -0
- package/dist-cjs/admin-window.js +116 -0
- package/dist-cjs/admin-window.js.map +1 -0
- package/dist-cjs/boot.js +139 -0
- package/dist-cjs/boot.js.map +1 -0
- package/dist-cjs/desktop/assistant-chrome.js +184 -0
- package/dist-cjs/desktop/assistant-chrome.js.map +1 -0
- package/dist-cjs/desktop/brand-desktop-runtime.js +3932 -0
- package/dist-cjs/desktop/brand-desktop-runtime.js.map +1 -0
- package/dist-cjs/desktop/desktop-session.js +171 -0
- package/dist-cjs/desktop/desktop-session.js.map +1 -0
- package/dist-cjs/desktop/error-page-html.js +92 -0
- package/dist-cjs/desktop/error-page-html.js.map +1 -0
- package/dist-cjs/desktop/legacy-brand-compat.js +56 -0
- package/dist-cjs/desktop/legacy-brand-compat.js.map +1 -0
- package/dist-cjs/desktop/oauth-loopback.js +144 -0
- package/dist-cjs/desktop/oauth-loopback.js.map +1 -0
- package/dist-cjs/desktop/profile-picker-html.js +216 -0
- package/dist-cjs/desktop/profile-picker-html.js.map +1 -0
- package/dist-cjs/desktop/remote-offline-html.js +91 -0
- package/dist-cjs/desktop/remote-offline-html.js.map +1 -0
- package/dist-cjs/factory-reset-runtime.js +117 -0
- package/dist-cjs/factory-reset-runtime.js.map +1 -0
- package/dist-cjs/host/ai-workspace/actions.js +247 -0
- package/dist-cjs/host/ai-workspace/actions.js.map +1 -0
- package/dist-cjs/host/ai-workspace/bindings.js +49 -0
- package/dist-cjs/host/ai-workspace/bindings.js.map +1 -0
- package/dist-cjs/host/ai-workspace/index.js +21 -0
- package/dist-cjs/host/ai-workspace/index.js.map +1 -0
- package/dist-cjs/host/ai-workspace/manager.js +528 -0
- package/dist-cjs/host/ai-workspace/manager.js.map +1 -0
- package/dist-cjs/host/ai-workspace/profile-window.js +125 -0
- package/dist-cjs/host/ai-workspace/profile-window.js.map +1 -0
- package/dist-cjs/host/ai-workspace/screencast.js +249 -0
- package/dist-cjs/host/ai-workspace/screencast.js.map +1 -0
- package/dist-cjs/host/ai-workspace/types.js +7 -0
- package/dist-cjs/host/ai-workspace/types.js.map +1 -0
- package/dist-cjs/host/brand-host-runtime.js +286 -0
- package/dist-cjs/host/brand-host-runtime.js.map +1 -0
- package/dist-cjs/host/brand-host-stack.js +259 -0
- package/dist-cjs/host/brand-host-stack.js.map +1 -0
- package/dist-cjs/host/brand-kernel-http.js +101 -0
- package/dist-cjs/host/brand-kernel-http.js.map +1 -0
- package/dist-cjs/host/brand-meili-boot.js +106 -0
- package/dist-cjs/host/brand-meili-boot.js.map +1 -0
- package/dist-cjs/host/bridge-client.js +191 -0
- package/dist-cjs/host/bridge-client.js.map +1 -0
- package/dist-cjs/host/browser-tabs/browser-tab-driver.js +158 -0
- package/dist-cjs/host/browser-tabs/browser-tab-driver.js.map +1 -0
- package/dist-cjs/host/browser-tabs/browser-tab-manager.js +766 -0
- package/dist-cjs/host/browser-tabs/browser-tab-manager.js.map +1 -0
- package/dist-cjs/host/browser-tabs/browser-tab-preload-path.js +35 -0
- package/dist-cjs/host/browser-tabs/browser-tab-preload-path.js.map +1 -0
- package/dist-cjs/host/browser-tabs/browser-tab-preload.js +12 -0
- package/dist-cjs/host/browser-tabs/browser-tab-preload.js.map +1 -0
- package/dist-cjs/host/browser-tabs/chrome-ua.js +41 -0
- package/dist-cjs/host/browser-tabs/chrome-ua.js.map +1 -0
- package/dist-cjs/host/browser-tabs/fake-cursor-inject.js +11 -0
- package/dist-cjs/host/browser-tabs/fake-cursor-inject.js.map +1 -0
- package/dist-cjs/host/browser-tabs/index.js +29 -0
- package/dist-cjs/host/browser-tabs/index.js.map +1 -0
- package/dist-cjs/host/browser-tabs/tab-load-state.js +59 -0
- package/dist-cjs/host/browser-tabs/tab-load-state.js.map +1 -0
- package/dist-cjs/host/browser-tabs/tab-url.js +62 -0
- package/dist-cjs/host/browser-tabs/tab-url.js.map +1 -0
- package/dist-cjs/host/context.js +20 -0
- package/dist-cjs/host/context.js.map +1 -0
- package/dist-cjs/host/contracts.js +32 -0
- package/dist-cjs/host/contracts.js.map +1 -0
- package/dist-cjs/host/crash-reporter.js +422 -0
- package/dist-cjs/host/crash-reporter.js.map +1 -0
- package/dist-cjs/host/ensure-kit-binaries.js +212 -0
- package/dist-cjs/host/ensure-kit-binaries.js.map +1 -0
- package/dist-cjs/host/feature-off-host.js +144 -0
- package/dist-cjs/host/feature-off-host.js.map +1 -0
- package/dist-cjs/host/hermes/crm-key.js +137 -0
- package/dist-cjs/host/hermes/crm-key.js.map +1 -0
- package/dist-cjs/host/hermes/ensure-crm-key-db.js +89 -0
- package/dist-cjs/host/hermes/ensure-crm-key-db.js.map +1 -0
- package/dist-cjs/host/hermes/launcher.js +981 -0
- package/dist-cjs/host/hermes/launcher.js.map +1 -0
- package/dist-cjs/host/hermes/runtime-bootstrap.js +853 -0
- package/dist-cjs/host/hermes/runtime-bootstrap.js.map +1 -0
- package/dist-cjs/host/hermes/skills-seed.js +110 -0
- package/dist-cjs/host/hermes/skills-seed.js.map +1 -0
- package/dist-cjs/host/host-stack.js +42 -0
- package/dist-cjs/host/host-stack.js.map +1 -0
- package/dist-cjs/host/kit-os-resources.js +96 -0
- package/dist-cjs/host/kit-os-resources.js.map +1 -0
- package/dist-cjs/host/load-electron.js +47 -0
- package/dist-cjs/host/load-electron.js.map +1 -0
- package/dist-cjs/host/local-config.js +640 -0
- package/dist-cjs/host/local-config.js.map +1 -0
- package/dist-cjs/host/meili/browse.js +103 -0
- package/dist-cjs/host/meili/browse.js.map +1 -0
- package/dist-cjs/host/meili/coherence-db.js +139 -0
- package/dist-cjs/host/meili/coherence-db.js.map +1 -0
- package/dist-cjs/host/meili/coherence-query.js +25 -0
- package/dist-cjs/host/meili/coherence-query.js.map +1 -0
- package/dist-cjs/host/meili/coherence.js +158 -0
- package/dist-cjs/host/meili/coherence.js.map +1 -0
- package/dist-cjs/host/meili/feed.js +108 -0
- package/dist-cjs/host/meili/feed.js.map +1 -0
- package/dist-cjs/host/meili/generic-indexer.js +340 -0
- package/dist-cjs/host/meili/generic-indexer.js.map +1 -0
- package/dist-cjs/host/meili/index-schema.js +79 -0
- package/dist-cjs/host/meili/index-schema.js.map +1 -0
- package/dist-cjs/host/meili/index.js +45 -0
- package/dist-cjs/host/meili/index.js.map +1 -0
- package/dist-cjs/host/meili/indexer.js +85 -0
- package/dist-cjs/host/meili/indexer.js.map +1 -0
- package/dist-cjs/host/meili-launcher.js +121 -0
- package/dist-cjs/host/meili-launcher.js.map +1 -0
- package/dist-cjs/host/n8n/agent-isolation.js +173 -0
- package/dist-cjs/host/n8n/agent-isolation.js.map +1 -0
- package/dist-cjs/host/n8n/api-key.js +314 -0
- package/dist-cjs/host/n8n/api-key.js.map +1 -0
- package/dist-cjs/host/n8n/launcher.js +1209 -0
- package/dist-cjs/host/n8n/launcher.js.map +1 -0
- package/dist-cjs/host/n8n/runtime-bootstrap.js +244 -0
- package/dist-cjs/host/n8n/runtime-bootstrap.js.map +1 -0
- package/dist-cjs/host/node-runtime.js +274 -0
- package/dist-cjs/host/node-runtime.js.map +1 -0
- package/dist-cjs/host/npm-cli.js +224 -0
- package/dist-cjs/host/npm-cli.js.map +1 -0
- package/dist-cjs/host/plugins/accept-check.js +176 -0
- package/dist-cjs/host/plugins/accept-check.js.map +1 -0
- package/dist-cjs/host/plugins/brand-bindings.js +78 -0
- package/dist-cjs/host/plugins/brand-bindings.js.map +1 -0
- package/dist-cjs/host/plugins/control-adapters.js +89 -0
- package/dist-cjs/host/plugins/control-adapters.js.map +1 -0
- package/dist-cjs/host/plugins/control-extras.js +397 -0
- package/dist-cjs/host/plugins/control-extras.js.map +1 -0
- package/dist-cjs/host/plugins/control-plane.js +130 -0
- package/dist-cjs/host/plugins/control-plane.js.map +1 -0
- package/dist-cjs/host/plugins/control-token.js +90 -0
- package/dist-cjs/host/plugins/control-token.js.map +1 -0
- package/dist-cjs/host/plugins/crm-key.js +135 -0
- package/dist-cjs/host/plugins/crm-key.js.map +1 -0
- package/dist-cjs/host/plugins/data.js +107 -0
- package/dist-cjs/host/plugins/data.js.map +1 -0
- package/dist-cjs/host/plugins/events.js +19 -0
- package/dist-cjs/host/plugins/events.js.map +1 -0
- package/dist-cjs/host/plugins/execution-grant.js +11 -0
- package/dist-cjs/host/plugins/execution-grant.js.map +1 -0
- package/dist-cjs/host/plugins/git.js +371 -0
- package/dist-cjs/host/plugins/git.js.map +1 -0
- package/dist-cjs/host/plugins/host.js +283 -0
- package/dist-cjs/host/plugins/host.js.map +1 -0
- package/dist-cjs/host/plugins/launcher.js +514 -0
- package/dist-cjs/host/plugins/launcher.js.map +1 -0
- package/dist-cjs/host/plugins/runtime.js +446 -0
- package/dist-cjs/host/plugins/runtime.js.map +1 -0
- package/dist-cjs/host/plugins/test-runner.js +112 -0
- package/dist-cjs/host/plugins/test-runner.js.map +1 -0
- package/dist-cjs/host/safe-storage.js +95 -0
- package/dist-cjs/host/safe-storage.js.map +1 -0
- package/dist-cjs/host/sandbox/embed-sandbox.js +396 -0
- package/dist-cjs/host/sandbox/embed-sandbox.js.map +1 -0
- package/dist-cjs/host/sandbox/os-sandbox.js +106 -0
- package/dist-cjs/host/sandbox/os-sandbox.js.map +1 -0
- package/dist-cjs/host/server-env.js +69 -0
- package/dist-cjs/host/server-env.js.map +1 -0
- package/dist-cjs/host/server-launcher.js +52 -0
- package/dist-cjs/host/server-launcher.js.map +1 -0
- package/dist-cjs/host/tunnel/cloudflared-respawn.js +80 -0
- package/dist-cjs/host/tunnel/cloudflared-respawn.js.map +1 -0
- package/dist-cjs/host/tunnel/tunnel.js +470 -0
- package/dist-cjs/host/tunnel/tunnel.js.map +1 -0
- package/dist-cjs/host/web-telemetry.js +100 -0
- package/dist-cjs/host/web-telemetry.js.map +1 -0
- package/dist-cjs/index.js +496 -0
- package/dist-cjs/index.js.map +1 -0
- package/dist-cjs/logger.js +269 -0
- package/dist-cjs/logger.js.map +1 -0
- package/dist-cjs/main-facade.js +139 -0
- package/dist-cjs/main-facade.js.map +1 -0
- package/dist-cjs/meili.js +51 -0
- package/dist-cjs/meili.js.map +1 -0
- package/dist-cjs/package.json +3 -0
- package/dist-cjs/splash-ui.js +447 -0
- package/dist-cjs/splash-ui.js.map +1 -0
- package/dist-cjs/tray.js +182 -0
- package/dist-cjs/tray.js.map +1 -0
- package/dist-cjs/updater.js +304 -0
- package/dist-cjs/updater.js.map +1 -0
- package/dist-cjs/window-chrome.js +98 -0
- package/dist-cjs/window-chrome.js.map +1 -0
- package/package.json +87 -0
- package/scripts/ensure-kit-binaries.mjs +73 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runFeedIndexation = runFeedIndexation;
|
|
7
|
+
exports.searchMeiliIndexes = searchMeiliIndexes;
|
|
8
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
|
+
const platform_core_1 = require("@creezio/platform-core");
|
|
10
|
+
const observability_1 = require("@creezio/observability");
|
|
11
|
+
const index_schema_js_1 = require("./index-schema.js");
|
|
12
|
+
const BATCH_MEILI = 500;
|
|
13
|
+
function openSqlite(dbPath, opts) {
|
|
14
|
+
const req = (0, platform_core_1.createAppRequire)();
|
|
15
|
+
try {
|
|
16
|
+
const Database = req("better-sqlite3");
|
|
17
|
+
return new Database(dbPath, opts);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
const mod = req("node:sqlite");
|
|
21
|
+
return new mod.DatabaseSync(dbPath, {
|
|
22
|
+
readOnly: Boolean(opts?.readonly),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function createMeiliClient(host, masterKey) {
|
|
27
|
+
const base = host.replace(/\/+$/, "");
|
|
28
|
+
return {
|
|
29
|
+
async request(method, p, body, timeoutMs = 120_000) {
|
|
30
|
+
const res = await fetch(`${base}${p}`, {
|
|
31
|
+
method,
|
|
32
|
+
headers: {
|
|
33
|
+
Authorization: `Bearer ${masterKey}`,
|
|
34
|
+
"Content-Type": "application/json",
|
|
35
|
+
},
|
|
36
|
+
body: body === undefined ? undefined : JSON.stringify(body),
|
|
37
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
38
|
+
});
|
|
39
|
+
const raw = await res.text();
|
|
40
|
+
if (!res.ok) {
|
|
41
|
+
throw new Error(`Meili HTTP ${res.status} ${p}: ${raw.slice(0, 300)}`);
|
|
42
|
+
}
|
|
43
|
+
return raw ? JSON.parse(raw) : null;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function sleep(ms) {
|
|
48
|
+
return new Promise((r) => setTimeout(r, ms));
|
|
49
|
+
}
|
|
50
|
+
function isDict(v) {
|
|
51
|
+
return Boolean(v) && typeof v === "object" && !Array.isArray(v);
|
|
52
|
+
}
|
|
53
|
+
async function waitTask(meili, task) {
|
|
54
|
+
const uid = isDict(task) ? (task.taskUid ?? task.uid) : null;
|
|
55
|
+
if (uid == null)
|
|
56
|
+
return;
|
|
57
|
+
for (let i = 0; i < 600; i++) {
|
|
58
|
+
const st = await meili.request("GET", `/tasks/${uid}`);
|
|
59
|
+
if (isDict(st) && (st.status === "succeeded" || st.status === "failed")) {
|
|
60
|
+
if (st.status === "failed") {
|
|
61
|
+
throw new Error(`Meili task ${uid} failed: ${JSON.stringify(st.error)}`);
|
|
62
|
+
}
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
await sleep(50 + Math.min(i * 10, 500));
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Meili task ${uid} timeout`);
|
|
68
|
+
}
|
|
69
|
+
async function indexExists(meili, uid) {
|
|
70
|
+
try {
|
|
71
|
+
await meili.request("GET", `/indexes/${uid}`);
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function createIndex(meili, uid) {
|
|
79
|
+
await waitTask(meili, await meili.request("POST", "/indexes", { uid, primaryKey: "id" }));
|
|
80
|
+
}
|
|
81
|
+
async function recreateIndex(meili, uid, settings) {
|
|
82
|
+
if (await indexExists(meili, uid)) {
|
|
83
|
+
await waitTask(meili, await meili.request("DELETE", `/indexes/${uid}`));
|
|
84
|
+
}
|
|
85
|
+
await createIndex(meili, uid);
|
|
86
|
+
await waitTask(meili, await meili.request("PATCH", `/indexes/${uid}/settings`, settings));
|
|
87
|
+
}
|
|
88
|
+
async function swapAndCleanup(meili, uid) {
|
|
89
|
+
const newUid = `${uid}_new`;
|
|
90
|
+
if (!(await indexExists(meili, uid))) {
|
|
91
|
+
await createIndex(meili, uid);
|
|
92
|
+
}
|
|
93
|
+
await waitTask(meili, await meili.request("POST", "/swap-indexes", [{ indexes: [uid, newUid] }]));
|
|
94
|
+
await waitTask(meili, await meili.request("DELETE", `/indexes/${newUid}`));
|
|
95
|
+
}
|
|
96
|
+
async function deleteIndexIfExists(meili, uid, log) {
|
|
97
|
+
if (!(await indexExists(meili, uid)))
|
|
98
|
+
return;
|
|
99
|
+
await waitTask(meili, await meili.request("DELETE", `/indexes/${uid}`));
|
|
100
|
+
log(`[meili] index obsolète supprimé: ${uid}`);
|
|
101
|
+
}
|
|
102
|
+
async function meiliAvailable(meili, log) {
|
|
103
|
+
try {
|
|
104
|
+
await meili.request("GET", "/health", undefined, 5_000);
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
catch (e) {
|
|
108
|
+
log(`[meili] indisponible — indexation annulée (${e instanceof Error ? e.message : e})`);
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function tableExists(db, name) {
|
|
113
|
+
const row = db
|
|
114
|
+
.prepare(`SELECT COUNT(*) AS c FROM sqlite_master WHERE type='table' AND name=?`)
|
|
115
|
+
.get(name);
|
|
116
|
+
return row.c > 0;
|
|
117
|
+
}
|
|
118
|
+
function columnExists(db, table, col) {
|
|
119
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(table) || !/^[A-Za-z_][A-Za-z0-9_]*$/.test(col)) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
const rows = db.prepare(`PRAGMA table_info(${table})`).all();
|
|
123
|
+
return rows.some((r) => r.name === col);
|
|
124
|
+
}
|
|
125
|
+
function safeIdent(name) {
|
|
126
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name)) {
|
|
127
|
+
throw new Error(`identifiant SQL invalide: ${name}`);
|
|
128
|
+
}
|
|
129
|
+
return name;
|
|
130
|
+
}
|
|
131
|
+
function readSqliteSchemaVersion(db) {
|
|
132
|
+
if (!tableExists(db, "meta"))
|
|
133
|
+
return 0;
|
|
134
|
+
const row = db
|
|
135
|
+
.prepare(`SELECT value FROM meta WHERE key='schema_version'`)
|
|
136
|
+
.get();
|
|
137
|
+
return Number(row?.value || 0);
|
|
138
|
+
}
|
|
139
|
+
function writeMeta(dbFile, key, value) {
|
|
140
|
+
const w = openSqlite(dbFile, { fileMustExist: true });
|
|
141
|
+
try {
|
|
142
|
+
if (!tableExists(w, "meta")) {
|
|
143
|
+
w.prepare(`CREATE TABLE IF NOT EXISTS meta (key TEXT PRIMARY KEY, value TEXT NOT NULL)`).run();
|
|
144
|
+
}
|
|
145
|
+
w.prepare(`INSERT INTO meta(key, value) VALUES (?, ?)
|
|
146
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(key, value);
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
w.close();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function clearMeta(dbFile, key) {
|
|
153
|
+
try {
|
|
154
|
+
const w = openSqlite(dbFile, { fileMustExist: true });
|
|
155
|
+
try {
|
|
156
|
+
if (tableExists(w, "meta")) {
|
|
157
|
+
w.prepare(`DELETE FROM meta WHERE key = ?`).run(key);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
finally {
|
|
161
|
+
w.close();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
/* best-effort */
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function countTable(db, table) {
|
|
169
|
+
if (!tableExists(db, table))
|
|
170
|
+
return 0;
|
|
171
|
+
const row = db
|
|
172
|
+
.prepare(`SELECT COUNT(*) AS c FROM ${safeIdent(table)}`)
|
|
173
|
+
.get();
|
|
174
|
+
return Number(row.c || 0);
|
|
175
|
+
}
|
|
176
|
+
function loadDocs(db, feed, index) {
|
|
177
|
+
// Mode custom : la marque génère ses documents (jointures/provenance) —
|
|
178
|
+
// aucun SQL marque dans le kit.
|
|
179
|
+
if (index.loadDocs)
|
|
180
|
+
return [...index.loadDocs(db)];
|
|
181
|
+
if (!index.table || !index.columns || !index.docType)
|
|
182
|
+
return [];
|
|
183
|
+
const table = safeIdent(index.table);
|
|
184
|
+
if (!tableExists(db, table))
|
|
185
|
+
return [];
|
|
186
|
+
const cols = ["id", ...index.columns.filter((c) => c !== "id")].filter((c, i, a) => a.indexOf(c) === i);
|
|
187
|
+
for (const c of cols)
|
|
188
|
+
safeIdent(c);
|
|
189
|
+
const available = cols.filter((c) => columnExists(db, table, c));
|
|
190
|
+
if (!available.includes("id"))
|
|
191
|
+
return [];
|
|
192
|
+
let sql = `SELECT ${available.join(", ")} FROM ${table}`;
|
|
193
|
+
if (index.excludeArchived &&
|
|
194
|
+
columnExists(db, table, "archived_at")) {
|
|
195
|
+
sql += ` WHERE archived_at IS NULL OR archived_at = ''`;
|
|
196
|
+
}
|
|
197
|
+
const rows = db.prepare(sql).all();
|
|
198
|
+
return rows
|
|
199
|
+
.filter((r) => r.id != null && r.id !== "")
|
|
200
|
+
.map((r) => {
|
|
201
|
+
const doc = { id: String(r.id), type: index.docType };
|
|
202
|
+
for (const c of available) {
|
|
203
|
+
if (c === "id")
|
|
204
|
+
continue;
|
|
205
|
+
doc[c] = r[c] ?? null;
|
|
206
|
+
}
|
|
207
|
+
return doc;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Indexe une brand.db selon un BrandMeiliFeed (UIDs génériques).
|
|
212
|
+
*/
|
|
213
|
+
async function runFeedIndexation(opts) {
|
|
214
|
+
const log = opts.log ?? ((line) => console.log(line));
|
|
215
|
+
const feed = opts.feed;
|
|
216
|
+
const dbPath = opts.dbPath ?? process.env.DB_PATH;
|
|
217
|
+
const meiliHost = opts.meiliHost ?? process.env.MEILI_HOST;
|
|
218
|
+
const masterKey = opts.masterKey ?? process.env.MEILI_MASTER_KEY ?? "";
|
|
219
|
+
if (!dbPath)
|
|
220
|
+
throw new Error("DB_PATH manquant");
|
|
221
|
+
if (!meiliHost)
|
|
222
|
+
throw new Error("MEILI_HOST manquant");
|
|
223
|
+
if (!node_fs_1.default.existsSync(dbPath))
|
|
224
|
+
throw new Error(`[meili] DB manquante: ${dbPath}`);
|
|
225
|
+
const meili = createMeiliClient(meiliHost, masterKey);
|
|
226
|
+
if (!(await meiliAvailable(meili, log))) {
|
|
227
|
+
return { indexed: {}, engine: "skipped" };
|
|
228
|
+
}
|
|
229
|
+
const started = Date.now();
|
|
230
|
+
writeMeta(dbPath, index_schema_js_1.MEILI_INDEX_IN_PROGRESS_KEY, JSON.stringify({
|
|
231
|
+
startedAt: new Date().toISOString(),
|
|
232
|
+
feedId: feed.id,
|
|
233
|
+
appVersion: opts.appVersion,
|
|
234
|
+
}));
|
|
235
|
+
(0, observability_1.emitOpsEvent)({ level: "event", kind: "index.start", ctx: { feed: feed.id } });
|
|
236
|
+
const db = openSqlite(dbPath, { readonly: true, fileMustExist: true });
|
|
237
|
+
const indexed = {};
|
|
238
|
+
try {
|
|
239
|
+
const nProduits = countTable(db, feed.countTables.produits);
|
|
240
|
+
const nSites = countTable(db, feed.countTables.sites);
|
|
241
|
+
const totalDocs = feed.indexes.reduce((acc, idx) => {
|
|
242
|
+
if (idx.countKey === "produits")
|
|
243
|
+
return acc + nProduits;
|
|
244
|
+
return acc + nSites;
|
|
245
|
+
}, 0);
|
|
246
|
+
let done = 0;
|
|
247
|
+
const bump = (n) => {
|
|
248
|
+
done += n;
|
|
249
|
+
if (totalDocs > 0) {
|
|
250
|
+
console.log(`${feed.progressPrefix}PROGRESS ${JSON.stringify({ done, total: totalDocs })}`);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
for (const index of feed.indexes) {
|
|
254
|
+
const newUid = `${index.uid}_new`;
|
|
255
|
+
await recreateIndex(meili, newUid, index.settings);
|
|
256
|
+
const docs = loadDocs(db, feed, index);
|
|
257
|
+
for (let i = 0; i < docs.length; i += BATCH_MEILI) {
|
|
258
|
+
const batch = docs.slice(i, i + BATCH_MEILI);
|
|
259
|
+
await waitTask(meili, await meili.request("POST", `/indexes/${newUid}/documents?primaryKey=id`, batch));
|
|
260
|
+
bump(batch.length);
|
|
261
|
+
}
|
|
262
|
+
await swapAndCleanup(meili, index.uid);
|
|
263
|
+
indexed[index.uid] = docs.length;
|
|
264
|
+
log(`[meili] ${index.uid}: ${docs.length} docs (swap OK)`);
|
|
265
|
+
}
|
|
266
|
+
for (const uid of feed.obsoleteIndexUids || []) {
|
|
267
|
+
await deleteIndexIfExists(meili, uid, log);
|
|
268
|
+
await deleteIndexIfExists(meili, `${uid}_new`, log);
|
|
269
|
+
}
|
|
270
|
+
const fp = {
|
|
271
|
+
indexSchema: feed.schemaVersion,
|
|
272
|
+
sqliteSchema: readSqliteSchemaVersion(db),
|
|
273
|
+
counts: { produits: nProduits, fournisseurs: nSites },
|
|
274
|
+
builtAt: new Date().toISOString(),
|
|
275
|
+
appVersion: opts.appVersion,
|
|
276
|
+
};
|
|
277
|
+
writeMeta(dbPath, index_schema_js_1.MEILI_FINGERPRINT_META_KEY, (0, index_schema_js_1.serializeFingerprint)(fp));
|
|
278
|
+
const metaUid = feed.metaIndexUid || "catalog_meta";
|
|
279
|
+
try {
|
|
280
|
+
if (!(await indexExists(meili, metaUid))) {
|
|
281
|
+
await createIndex(meili, metaUid);
|
|
282
|
+
}
|
|
283
|
+
await waitTask(meili, await meili.request("POST", `/indexes/${metaUid}/documents?primaryKey=id`, [
|
|
284
|
+
{ id: "fingerprint", feedId: feed.id, ...fp },
|
|
285
|
+
]));
|
|
286
|
+
}
|
|
287
|
+
catch (e) {
|
|
288
|
+
log(`[meili] fingerprint Meili non écrit (${e instanceof Error ? e.message : e})`);
|
|
289
|
+
}
|
|
290
|
+
clearMeta(dbPath, index_schema_js_1.MEILI_INDEX_IN_PROGRESS_KEY);
|
|
291
|
+
(0, observability_1.emitOpsEvent)({
|
|
292
|
+
level: "event",
|
|
293
|
+
kind: "index.done",
|
|
294
|
+
outcome: "ok",
|
|
295
|
+
durationMs: Date.now() - started,
|
|
296
|
+
ctx: { feed: feed.id, ...indexed },
|
|
297
|
+
});
|
|
298
|
+
log(`[meili] feed=${feed.id} terminé en ${((Date.now() - started) / 1000).toFixed(1)}s`);
|
|
299
|
+
return { indexed, engine: "meili" };
|
|
300
|
+
}
|
|
301
|
+
finally {
|
|
302
|
+
db.close();
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Recherche multi-index Meili — retourne [] si q vide / host absent.
|
|
307
|
+
*
|
|
308
|
+
* Fail-closed (Meili = composant core) : seul un index ABSENT (HTTP 404,
|
|
309
|
+
* indexation initiale pas encore passée) est toléré silencieusement.
|
|
310
|
+
* Toute autre erreur (Meili down, refus connexion, timeout, 5xx) est
|
|
311
|
+
* RETHROW — l'appelant (search mount) doit la transformer en
|
|
312
|
+
* 503 `meili_unavailable`, jamais en fallback SQL silencieux.
|
|
313
|
+
*/
|
|
314
|
+
async function searchMeiliIndexes(opts) {
|
|
315
|
+
const q = opts.query.trim();
|
|
316
|
+
if (!q || !opts.host)
|
|
317
|
+
return [];
|
|
318
|
+
const meili = createMeiliClient(opts.host, opts.masterKey || "");
|
|
319
|
+
const limit = opts.limit ?? 20;
|
|
320
|
+
const hits = [];
|
|
321
|
+
for (const uid of opts.indexUids) {
|
|
322
|
+
try {
|
|
323
|
+
const res = (await meili.request("POST", `/indexes/${uid}/search`, {
|
|
324
|
+
q,
|
|
325
|
+
limit,
|
|
326
|
+
}));
|
|
327
|
+
for (const h of res.hits || []) {
|
|
328
|
+
hits.push({ ...h, _index: uid });
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
333
|
+
if (/^Meili HTTP 404\b/.test(msg))
|
|
334
|
+
continue; // index pas encore créé
|
|
335
|
+
throw err;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return hits;
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=generic-indexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-indexer.js","sourceRoot":"","sources":["../../../src/host/meili/generic-indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Schéma logique des index Meili catalogue.
|
|
4
|
+
*
|
|
5
|
+
* Le descripteur SoT est le `BrandMeiliFeed` de la marque (UIDs `catalog_*`
|
|
6
|
+
* via `configureMeiliBrandFeed` / `runFeedIndexation`). Ce module fournit :
|
|
7
|
+
* - les clés meta fingerprint / in-progress (partagées feed ↔ cohérence) ;
|
|
8
|
+
* - les UIDs génériques par défaut (`catalog_products` / `catalog_sites`)
|
|
9
|
+
* utilisés par la cohérence quand aucun feed n'est configuré ;
|
|
10
|
+
* - les tables SQL comptées (`configureMeiliCatalogSqlTables`).
|
|
11
|
+
*
|
|
12
|
+
* Aucun UID marque ne vit dans le kit — une marque avec des UIDs
|
|
13
|
+
* historiques les porte dans SON feed.
|
|
14
|
+
*
|
|
15
|
+
* Bumper INDEX_SCHEMA_VERSION (ou feed.schemaVersion) à chaque changement
|
|
16
|
+
* d'indexes / settings / docs pour forcer une réindexation au boot.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.GED_INDEXES = exports.CATALOG_INDEXES = exports.MEILI_INDEX_IN_PROGRESS_KEY = exports.MEILI_FINGERPRINT_META_KEY = exports.INDEX_SCHEMA_VERSION = void 0;
|
|
20
|
+
exports.configureMeiliCatalogSqlTables = configureMeiliCatalogSqlTables;
|
|
21
|
+
exports.getMeiliCatalogSqlTables = getMeiliCatalogSqlTables;
|
|
22
|
+
exports.resetMeiliCatalogSqlTablesForTests = resetMeiliCatalogSqlTablesForTests;
|
|
23
|
+
exports.expectedMeiliCounts = expectedMeiliCounts;
|
|
24
|
+
exports.parseFingerprint = parseFingerprint;
|
|
25
|
+
exports.serializeFingerprint = serializeFingerprint;
|
|
26
|
+
/** v1 = produits / sites (descripteur générique catalog_*). */
|
|
27
|
+
exports.INDEX_SCHEMA_VERSION = 1;
|
|
28
|
+
exports.MEILI_FINGERPRINT_META_KEY = "meili_index_fingerprint";
|
|
29
|
+
/** Clé meta : indexation en cours (posée au start, effacée à la fin). */
|
|
30
|
+
exports.MEILI_INDEX_IN_PROGRESS_KEY = "meili_index_in_progress";
|
|
31
|
+
exports.CATALOG_INDEXES = [
|
|
32
|
+
"catalog_products",
|
|
33
|
+
"catalog_sites",
|
|
34
|
+
];
|
|
35
|
+
/** Alias historique (API cohérence GED) — liste catalogue. */
|
|
36
|
+
exports.GED_INDEXES = exports.CATALOG_INDEXES;
|
|
37
|
+
const DEFAULT_CATALOG_SQL_TABLES = {
|
|
38
|
+
produits: "produits",
|
|
39
|
+
sites: "fournisseurs",
|
|
40
|
+
};
|
|
41
|
+
let catalogSqlTables = { ...DEFAULT_CATALOG_SQL_TABLES };
|
|
42
|
+
/** Configure les tables SQL comptées pour la cohérence Meili (défaut TF). */
|
|
43
|
+
function configureMeiliCatalogSqlTables(next) {
|
|
44
|
+
catalogSqlTables = { ...catalogSqlTables, ...next };
|
|
45
|
+
}
|
|
46
|
+
function getMeiliCatalogSqlTables() {
|
|
47
|
+
return catalogSqlTables;
|
|
48
|
+
}
|
|
49
|
+
/** Tests uniquement. */
|
|
50
|
+
function resetMeiliCatalogSqlTablesForTests() {
|
|
51
|
+
catalogSqlTables = { ...DEFAULT_CATALOG_SQL_TABLES };
|
|
52
|
+
}
|
|
53
|
+
function expectedMeiliCounts(sql) {
|
|
54
|
+
return {
|
|
55
|
+
catalog_products: sql.produits,
|
|
56
|
+
catalog_sites: sql.fournisseurs,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function parseFingerprint(raw) {
|
|
60
|
+
if (!raw?.trim())
|
|
61
|
+
return null;
|
|
62
|
+
try {
|
|
63
|
+
const data = JSON.parse(raw);
|
|
64
|
+
if (typeof data.indexSchema !== "number" ||
|
|
65
|
+
typeof data.sqliteSchema !== "number" ||
|
|
66
|
+
!data.counts ||
|
|
67
|
+
typeof data.builtAt !== "string") {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
return data;
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function serializeFingerprint(fp) {
|
|
77
|
+
return JSON.stringify(fp);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=index-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-schema.js","sourceRoot":"","sources":["../../../src/host/meili/index-schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AA6CH,wEAIC;AAED,4DAEC;AAGD,gFAEC;AAmBD,kDAOC;AAED,4CAgBC;AAED,oDAEC;AAxGD,+DAA+D;AAClD,QAAA,oBAAoB,GAAG,CAAC,CAAC;AAEzB,QAAA,0BAA0B,GAAG,yBAAyB,CAAC;AAEpE,yEAAyE;AAC5D,QAAA,2BAA2B,GAAG,yBAAyB,CAAC;AAExD,QAAA,eAAe,GAAG;IAC7B,kBAAkB;IAClB,eAAe;CACP,CAAC;AAIX,8DAA8D;AACjD,QAAA,WAAW,GAAG,uBAAe,CAAC;AAmB3C,MAAM,0BAA0B,GAA0B;IACxD,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,IAAI,gBAAgB,GAA0B,EAAE,GAAG,0BAA0B,EAAE,CAAC;AAEhF,6EAA6E;AAC7E,SAAgB,8BAA8B,CAC5C,IAAoC;IAEpC,gBAAgB,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,wBAAwB;AACxB,SAAgB,kCAAkC;IAChD,gBAAgB,GAAG,EAAE,GAAG,0BAA0B,EAAE,CAAC;AACvD,CAAC;AAmBD,SAAgB,mBAAmB,CACjC,GAAqB;IAErB,OAAO;QACL,gBAAgB,EAAE,GAAG,CAAC,QAAQ;QAC9B,aAAa,EAAE,GAAG,CAAC,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAA8B;IAC7D,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QACjD,IACE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;YACpC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;YACrC,CAAC,IAAI,CAAC,MAAM;YACZ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAChC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,EAAoB;IACvD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.meiliFilterEq = exports.browseMeiliIndexOutcome = exports.browseMeiliIndex = exports.searchMeiliIndexes = exports.runFeedIndexation = exports.runIndexation = exports.meiliCoherenceScriptPath = exports.decideMeiliReady = exports.configureMeiliCoherencePaths = exports.writeFingerprintToDb = exports.readSqliteSchemaVersion = exports.readIndexInProgress = exports.readFingerprintFromDb = exports.readCoherenceDbSnapshot = exports.countGedSql = exports.countCatalogSql = exports.buildFingerprint = exports.resetMeiliBrandFeedForTests = exports.getMeiliBrandFeed = exports.expectedCountsForFeed = exports.createChrCatalogMeiliFeed = exports.configureMeiliBrandFeed = exports.GENERIC_CATALOG_INDEXES = exports.serializeFingerprint = exports.resetMeiliCatalogSqlTablesForTests = exports.parseFingerprint = exports.getMeiliCatalogSqlTables = exports.expectedMeiliCounts = exports.configureMeiliCatalogSqlTables = exports.MEILI_INDEX_IN_PROGRESS_KEY = exports.MEILI_FINGERPRINT_META_KEY = exports.INDEX_SCHEMA_VERSION = exports.GED_INDEXES = exports.CATALOG_INDEXES = void 0;
|
|
4
|
+
var index_schema_js_1 = require("./index-schema.js");
|
|
5
|
+
Object.defineProperty(exports, "CATALOG_INDEXES", { enumerable: true, get: function () { return index_schema_js_1.CATALOG_INDEXES; } });
|
|
6
|
+
Object.defineProperty(exports, "GED_INDEXES", { enumerable: true, get: function () { return index_schema_js_1.GED_INDEXES; } });
|
|
7
|
+
Object.defineProperty(exports, "INDEX_SCHEMA_VERSION", { enumerable: true, get: function () { return index_schema_js_1.INDEX_SCHEMA_VERSION; } });
|
|
8
|
+
Object.defineProperty(exports, "MEILI_FINGERPRINT_META_KEY", { enumerable: true, get: function () { return index_schema_js_1.MEILI_FINGERPRINT_META_KEY; } });
|
|
9
|
+
Object.defineProperty(exports, "MEILI_INDEX_IN_PROGRESS_KEY", { enumerable: true, get: function () { return index_schema_js_1.MEILI_INDEX_IN_PROGRESS_KEY; } });
|
|
10
|
+
Object.defineProperty(exports, "configureMeiliCatalogSqlTables", { enumerable: true, get: function () { return index_schema_js_1.configureMeiliCatalogSqlTables; } });
|
|
11
|
+
Object.defineProperty(exports, "expectedMeiliCounts", { enumerable: true, get: function () { return index_schema_js_1.expectedMeiliCounts; } });
|
|
12
|
+
Object.defineProperty(exports, "getMeiliCatalogSqlTables", { enumerable: true, get: function () { return index_schema_js_1.getMeiliCatalogSqlTables; } });
|
|
13
|
+
Object.defineProperty(exports, "parseFingerprint", { enumerable: true, get: function () { return index_schema_js_1.parseFingerprint; } });
|
|
14
|
+
Object.defineProperty(exports, "resetMeiliCatalogSqlTablesForTests", { enumerable: true, get: function () { return index_schema_js_1.resetMeiliCatalogSqlTablesForTests; } });
|
|
15
|
+
Object.defineProperty(exports, "serializeFingerprint", { enumerable: true, get: function () { return index_schema_js_1.serializeFingerprint; } });
|
|
16
|
+
var feed_js_1 = require("./feed.js");
|
|
17
|
+
Object.defineProperty(exports, "GENERIC_CATALOG_INDEXES", { enumerable: true, get: function () { return feed_js_1.GENERIC_CATALOG_INDEXES; } });
|
|
18
|
+
Object.defineProperty(exports, "configureMeiliBrandFeed", { enumerable: true, get: function () { return feed_js_1.configureMeiliBrandFeed; } });
|
|
19
|
+
Object.defineProperty(exports, "createChrCatalogMeiliFeed", { enumerable: true, get: function () { return feed_js_1.createChrCatalogMeiliFeed; } });
|
|
20
|
+
Object.defineProperty(exports, "expectedCountsForFeed", { enumerable: true, get: function () { return feed_js_1.expectedCountsForFeed; } });
|
|
21
|
+
Object.defineProperty(exports, "getMeiliBrandFeed", { enumerable: true, get: function () { return feed_js_1.getMeiliBrandFeed; } });
|
|
22
|
+
Object.defineProperty(exports, "resetMeiliBrandFeedForTests", { enumerable: true, get: function () { return feed_js_1.resetMeiliBrandFeedForTests; } });
|
|
23
|
+
var coherence_db_js_1 = require("./coherence-db.js");
|
|
24
|
+
Object.defineProperty(exports, "buildFingerprint", { enumerable: true, get: function () { return coherence_db_js_1.buildFingerprint; } });
|
|
25
|
+
Object.defineProperty(exports, "countCatalogSql", { enumerable: true, get: function () { return coherence_db_js_1.countCatalogSql; } });
|
|
26
|
+
Object.defineProperty(exports, "countGedSql", { enumerable: true, get: function () { return coherence_db_js_1.countGedSql; } });
|
|
27
|
+
Object.defineProperty(exports, "readCoherenceDbSnapshot", { enumerable: true, get: function () { return coherence_db_js_1.readCoherenceDbSnapshot; } });
|
|
28
|
+
Object.defineProperty(exports, "readFingerprintFromDb", { enumerable: true, get: function () { return coherence_db_js_1.readFingerprintFromDb; } });
|
|
29
|
+
Object.defineProperty(exports, "readIndexInProgress", { enumerable: true, get: function () { return coherence_db_js_1.readIndexInProgress; } });
|
|
30
|
+
Object.defineProperty(exports, "readSqliteSchemaVersion", { enumerable: true, get: function () { return coherence_db_js_1.readSqliteSchemaVersion; } });
|
|
31
|
+
Object.defineProperty(exports, "writeFingerprintToDb", { enumerable: true, get: function () { return coherence_db_js_1.writeFingerprintToDb; } });
|
|
32
|
+
var coherence_js_1 = require("./coherence.js");
|
|
33
|
+
Object.defineProperty(exports, "configureMeiliCoherencePaths", { enumerable: true, get: function () { return coherence_js_1.configureMeiliCoherencePaths; } });
|
|
34
|
+
Object.defineProperty(exports, "decideMeiliReady", { enumerable: true, get: function () { return coherence_js_1.decideMeiliReady; } });
|
|
35
|
+
Object.defineProperty(exports, "meiliCoherenceScriptPath", { enumerable: true, get: function () { return coherence_js_1.meiliCoherenceScriptPath; } });
|
|
36
|
+
var indexer_js_1 = require("./indexer.js");
|
|
37
|
+
Object.defineProperty(exports, "runIndexation", { enumerable: true, get: function () { return indexer_js_1.runIndexation; } });
|
|
38
|
+
var generic_indexer_js_1 = require("./generic-indexer.js");
|
|
39
|
+
Object.defineProperty(exports, "runFeedIndexation", { enumerable: true, get: function () { return generic_indexer_js_1.runFeedIndexation; } });
|
|
40
|
+
Object.defineProperty(exports, "searchMeiliIndexes", { enumerable: true, get: function () { return generic_indexer_js_1.searchMeiliIndexes; } });
|
|
41
|
+
var browse_js_1 = require("./browse.js");
|
|
42
|
+
Object.defineProperty(exports, "browseMeiliIndex", { enumerable: true, get: function () { return browse_js_1.browseMeiliIndex; } });
|
|
43
|
+
Object.defineProperty(exports, "browseMeiliIndexOutcome", { enumerable: true, get: function () { return browse_js_1.browseMeiliIndexOutcome; } });
|
|
44
|
+
Object.defineProperty(exports, "meiliFilterEq", { enumerable: true, get: function () { return browse_js_1.meiliFilterEq; } });
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/meili/index.ts"],"names":[],"mappings":";;;AAAA,qDAY2B;AAXzB,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,uHAAA,oBAAoB,OAAA;AACpB,6HAAA,0BAA0B,OAAA;AAC1B,8HAAA,2BAA2B,OAAA;AAC3B,iIAAA,8BAA8B,OAAA;AAC9B,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AACxB,mHAAA,gBAAgB,OAAA;AAChB,qIAAA,kCAAkC,OAAA;AAClC,uHAAA,oBAAoB,OAAA;AAWtB,qCAOmB;AANjB,kHAAA,uBAAuB,OAAA;AACvB,kHAAA,uBAAuB,OAAA;AACvB,oHAAA,yBAAyB,OAAA;AACzB,gHAAA,qBAAqB,OAAA;AACrB,4GAAA,iBAAiB,OAAA;AACjB,sHAAA,2BAA2B,OAAA;AAU7B,qDAS2B;AARzB,mHAAA,gBAAgB,OAAA;AAChB,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,0HAAA,uBAAuB,OAAA;AACvB,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,0HAAA,uBAAuB,OAAA;AACvB,uHAAA,oBAAoB,OAAA;AAQtB,+CAIwB;AAHtB,4HAAA,4BAA4B,OAAA;AAC5B,gHAAA,gBAAgB,OAAA;AAChB,wHAAA,wBAAwB,OAAA;AAG1B,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AACtB,2DAA6E;AAApE,uHAAA,iBAAiB,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAC9C,yCAIqB;AAHnB,6GAAA,gBAAgB,OAAA;AAChB,oHAAA,uBAAuB,OAAA;AACvB,0GAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Indexeur Meilisearch catalogue — point d'entrée `runIndexation`.
|
|
4
|
+
*
|
|
5
|
+
* Exécuté comme script Node autonome (PAS dans Electron) :
|
|
6
|
+
* DB_PATH=… MEILI_HOST=… node build/electron/meili-indexer.js
|
|
7
|
+
*
|
|
8
|
+
* Le descripteur `BrandMeiliFeed` est OBLIGATOIRE : la marque le passe en
|
|
9
|
+
* option (`opts.feed`) ou le configure au préalable via
|
|
10
|
+
* `configureMeiliBrandFeed` (voir `feed.ts`). L'indexation elle-même
|
|
11
|
+
* (streaming SQLite → lots Meili → swap atomique `<uid>_new`) vit dans
|
|
12
|
+
* `generic-indexer.ts` — aucun schéma marque hardcodé dans le kit.
|
|
13
|
+
*
|
|
14
|
+
* Historique : l'ancien chemin d'indexation legacy TempoFlow (UIDs marque,
|
|
15
|
+
* SQL agrégateurs) a été retiré du package natif. Une marque qui en a besoin
|
|
16
|
+
* porte ce descripteur chez elle (feed avec ses UIDs) — le kit n'embarque
|
|
17
|
+
* plus de vocabulaire marque.
|
|
18
|
+
*/
|
|
19
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
22
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
23
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
24
|
+
}
|
|
25
|
+
Object.defineProperty(o, k2, desc);
|
|
26
|
+
}) : (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
o[k2] = m[k];
|
|
29
|
+
}));
|
|
30
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
31
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
32
|
+
}) : function(o, v) {
|
|
33
|
+
o["default"] = v;
|
|
34
|
+
});
|
|
35
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
36
|
+
var ownKeys = function(o) {
|
|
37
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
38
|
+
var ar = [];
|
|
39
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
40
|
+
return ar;
|
|
41
|
+
};
|
|
42
|
+
return ownKeys(o);
|
|
43
|
+
};
|
|
44
|
+
return function (mod) {
|
|
45
|
+
if (mod && mod.__esModule) return mod;
|
|
46
|
+
var result = {};
|
|
47
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
48
|
+
__setModuleDefault(result, mod);
|
|
49
|
+
return result;
|
|
50
|
+
};
|
|
51
|
+
})();
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.runIndexation = runIndexation;
|
|
54
|
+
/**
|
|
55
|
+
* Lance l'indexation pilotée par le `BrandMeiliFeed` (option ou configuré).
|
|
56
|
+
* Sans feed → erreur explicite (pas de défaut marque dans le kit).
|
|
57
|
+
*/
|
|
58
|
+
async function runIndexation(opts) {
|
|
59
|
+
const log = opts?.log ?? ((line) => console.log(line));
|
|
60
|
+
const { getMeiliBrandFeed } = await Promise.resolve().then(() => __importStar(require("./feed.js")));
|
|
61
|
+
const feed = opts?.feed ?? getMeiliBrandFeed();
|
|
62
|
+
if (!feed) {
|
|
63
|
+
throw new Error("runIndexation: aucun BrandMeiliFeed — passer opts.feed ou appeler " +
|
|
64
|
+
"configureMeiliBrandFeed(brandMeiliFeed) avant l'indexation " +
|
|
65
|
+
"(voir @creezio/electron-shell/meili feed.ts).");
|
|
66
|
+
}
|
|
67
|
+
const { runFeedIndexation } = await Promise.resolve().then(() => __importStar(require("./generic-indexer.js")));
|
|
68
|
+
await runFeedIndexation({
|
|
69
|
+
feed,
|
|
70
|
+
dbPath: opts?.dbPath,
|
|
71
|
+
meiliHost: opts?.meiliHost,
|
|
72
|
+
masterKey: opts?.masterKey,
|
|
73
|
+
log,
|
|
74
|
+
appVersion: opts?.appVersion,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/** CLI dual-build safe (pas d'`import.meta` — CJS Electron). */
|
|
78
|
+
const cliEntry = process.argv[1] || "";
|
|
79
|
+
if (/(^|[\\/])meili-indexer\.(c?js|mjs)$/.test(cliEntry)) {
|
|
80
|
+
void runIndexation().catch((e) => {
|
|
81
|
+
console.error(`[meili] échec indexation: ${e instanceof Error ? e.message : e}`);
|
|
82
|
+
process.exitCode = 1;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=indexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../src/host/meili/indexer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,sCAoBC;AAxBD;;;GAGG;AACI,KAAK,UAAU,aAAa,CAAC,IAA2B;IAC7D,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,oEAAoE;YAClE,6DAA6D;YAC7D,+CAA+C,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;IACnE,MAAM,iBAAiB,CAAC;QACtB,IAAI;QACJ,MAAM,EAAE,IAAI,EAAE,MAAM;QACpB,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,GAAG;QACH,UAAU,EAAE,IAAI,EAAE,UAAU;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzD,KAAK,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
|