@creezio/electron-shell 0.22.0 → 0.23.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.
Files changed (417) hide show
  1. package/README.md +1 -1
  2. package/dist/.creezio-src-hash.json +2 -2
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/meili.d.ts +1 -1
  8. package/dist/meili.d.ts.map +1 -1
  9. package/dist/meili.js +1 -1
  10. package/dist/meili.js.map +1 -1
  11. package/dist-cjs/index.js +6 -8
  12. package/dist-cjs/index.js.map +1 -1
  13. package/dist-cjs/meili.js +1 -2
  14. package/dist-cjs/meili.js.map +1 -1
  15. package/package.json +9 -9
  16. package/dist/desktop/legacy-brand-compat.d.ts +0 -45
  17. package/dist/desktop/legacy-brand-compat.d.ts.map +0 -1
  18. package/dist/desktop/legacy-brand-compat.js +0 -49
  19. package/dist/desktop/legacy-brand-compat.js.map +0 -1
  20. package/dist/factory-reset-runtime.d.ts +0 -11
  21. package/dist/factory-reset-runtime.d.ts.map +0 -1
  22. package/dist/factory-reset-runtime.js +0 -77
  23. package/dist/factory-reset-runtime.js.map +0 -1
  24. package/dist/host/ai-workspace/actions.d.ts +0 -12
  25. package/dist/host/ai-workspace/actions.d.ts.map +0 -1
  26. package/dist/host/ai-workspace/actions.js +0 -243
  27. package/dist/host/ai-workspace/actions.js.map +0 -1
  28. package/dist/host/ai-workspace/bindings.d.ts +0 -51
  29. package/dist/host/ai-workspace/bindings.d.ts.map +0 -1
  30. package/dist/host/ai-workspace/bindings.js +0 -40
  31. package/dist/host/ai-workspace/bindings.js.map +0 -1
  32. package/dist/host/ai-workspace/index.d.ts +0 -11
  33. package/dist/host/ai-workspace/index.d.ts.map +0 -1
  34. package/dist/host/ai-workspace/index.js +0 -6
  35. package/dist/host/ai-workspace/index.js.map +0 -1
  36. package/dist/host/ai-workspace/manager.d.ts +0 -128
  37. package/dist/host/ai-workspace/manager.d.ts.map +0 -1
  38. package/dist/host/ai-workspace/manager.js +0 -519
  39. package/dist/host/ai-workspace/manager.js.map +0 -1
  40. package/dist/host/ai-workspace/profile-window.d.ts +0 -37
  41. package/dist/host/ai-workspace/profile-window.d.ts.map +0 -1
  42. package/dist/host/ai-workspace/profile-window.js +0 -121
  43. package/dist/host/ai-workspace/profile-window.js.map +0 -1
  44. package/dist/host/ai-workspace/screencast.d.ts +0 -56
  45. package/dist/host/ai-workspace/screencast.d.ts.map +0 -1
  46. package/dist/host/ai-workspace/screencast.js +0 -245
  47. package/dist/host/ai-workspace/screencast.js.map +0 -1
  48. package/dist/host/ai-workspace/types.d.ts +0 -40
  49. package/dist/host/ai-workspace/types.d.ts.map +0 -1
  50. package/dist/host/ai-workspace/types.js +0 -6
  51. package/dist/host/ai-workspace/types.js.map +0 -1
  52. package/dist/host/brand-host-runtime.d.ts +0 -107
  53. package/dist/host/brand-host-runtime.d.ts.map +0 -1
  54. package/dist/host/brand-host-runtime.js +0 -274
  55. package/dist/host/brand-host-runtime.js.map +0 -1
  56. package/dist/host/brand-host-stack.d.ts +0 -117
  57. package/dist/host/brand-host-stack.d.ts.map +0 -1
  58. package/dist/host/brand-host-stack.js +0 -253
  59. package/dist/host/brand-host-stack.js.map +0 -1
  60. package/dist/host/brand-kernel-http.d.ts +0 -34
  61. package/dist/host/brand-kernel-http.d.ts.map +0 -1
  62. package/dist/host/brand-kernel-http.js +0 -95
  63. package/dist/host/brand-kernel-http.js.map +0 -1
  64. package/dist/host/brand-meili-boot.d.ts +0 -67
  65. package/dist/host/brand-meili-boot.d.ts.map +0 -1
  66. package/dist/host/brand-meili-boot.js +0 -100
  67. package/dist/host/brand-meili-boot.js.map +0 -1
  68. package/dist/host/bridge-client.d.ts +0 -54
  69. package/dist/host/bridge-client.d.ts.map +0 -1
  70. package/dist/host/bridge-client.js +0 -187
  71. package/dist/host/bridge-client.js.map +0 -1
  72. package/dist/host/context.d.ts +0 -70
  73. package/dist/host/context.d.ts.map +0 -1
  74. package/dist/host/context.js +0 -16
  75. package/dist/host/context.js.map +0 -1
  76. package/dist/host/contracts.d.ts +0 -39
  77. package/dist/host/contracts.d.ts.map +0 -1
  78. package/dist/host/contracts.js +0 -26
  79. package/dist/host/contracts.js.map +0 -1
  80. package/dist/host/crash-reporter.d.ts +0 -65
  81. package/dist/host/crash-reporter.d.ts.map +0 -1
  82. package/dist/host/crash-reporter.js +0 -371
  83. package/dist/host/crash-reporter.js.map +0 -1
  84. package/dist/host/ensure-kit-binaries.d.ts +0 -17
  85. package/dist/host/ensure-kit-binaries.d.ts.map +0 -1
  86. package/dist/host/ensure-kit-binaries.js +0 -205
  87. package/dist/host/ensure-kit-binaries.js.map +0 -1
  88. package/dist/host/feature-off-host.d.ts +0 -130
  89. package/dist/host/feature-off-host.d.ts.map +0 -1
  90. package/dist/host/feature-off-host.js +0 -138
  91. package/dist/host/feature-off-host.js.map +0 -1
  92. package/dist/host/hermes/crm-key.d.ts +0 -49
  93. package/dist/host/hermes/crm-key.d.ts.map +0 -1
  94. package/dist/host/hermes/crm-key.js +0 -126
  95. package/dist/host/hermes/crm-key.js.map +0 -1
  96. package/dist/host/hermes/ensure-crm-key-db.d.ts +0 -7
  97. package/dist/host/hermes/ensure-crm-key-db.d.ts.map +0 -1
  98. package/dist/host/hermes/ensure-crm-key-db.js +0 -84
  99. package/dist/host/hermes/ensure-crm-key-db.js.map +0 -1
  100. package/dist/host/hermes/launcher.d.ts +0 -98
  101. package/dist/host/hermes/launcher.d.ts.map +0 -1
  102. package/dist/host/hermes/launcher.js +0 -972
  103. package/dist/host/hermes/launcher.js.map +0 -1
  104. package/dist/host/hermes/runtime-bootstrap.d.ts +0 -172
  105. package/dist/host/hermes/runtime-bootstrap.d.ts.map +0 -1
  106. package/dist/host/hermes/runtime-bootstrap.js +0 -789
  107. package/dist/host/hermes/runtime-bootstrap.js.map +0 -1
  108. package/dist/host/hermes/skills-seed.d.ts +0 -40
  109. package/dist/host/hermes/skills-seed.d.ts.map +0 -1
  110. package/dist/host/hermes/skills-seed.js +0 -100
  111. package/dist/host/hermes/skills-seed.js.map +0 -1
  112. package/dist/host/host-stack.d.ts +0 -35
  113. package/dist/host/host-stack.d.ts.map +0 -1
  114. package/dist/host/host-stack.js +0 -38
  115. package/dist/host/host-stack.js.map +0 -1
  116. package/dist/host/kit-os-resources.d.ts +0 -6
  117. package/dist/host/kit-os-resources.d.ts.map +0 -1
  118. package/dist/host/kit-os-resources.js +0 -88
  119. package/dist/host/kit-os-resources.js.map +0 -1
  120. package/dist/host/load-electron.d.ts +0 -2
  121. package/dist/host/load-electron.d.ts.map +0 -1
  122. package/dist/host/load-electron.js +0 -44
  123. package/dist/host/load-electron.js.map +0 -1
  124. package/dist/host/local-config.d.ts +0 -120
  125. package/dist/host/local-config.d.ts.map +0 -1
  126. package/dist/host/local-config.js +0 -633
  127. package/dist/host/local-config.js.map +0 -1
  128. package/dist/host/meili/browse.d.ts +0 -58
  129. package/dist/host/meili/browse.d.ts.map +0 -1
  130. package/dist/host/meili/browse.js +0 -98
  131. package/dist/host/meili/browse.js.map +0 -1
  132. package/dist/host/meili/coherence-db.d.ts +0 -35
  133. package/dist/host/meili/coherence-db.d.ts.map +0 -1
  134. package/dist/host/meili/coherence-db.js +0 -129
  135. package/dist/host/meili/coherence-db.js.map +0 -1
  136. package/dist/host/meili/coherence-query.d.ts +0 -10
  137. package/dist/host/meili/coherence-query.d.ts.map +0 -1
  138. package/dist/host/meili/coherence-query.js +0 -23
  139. package/dist/host/meili/coherence-query.js.map +0 -1
  140. package/dist/host/meili/coherence.d.ts +0 -53
  141. package/dist/host/meili/coherence.d.ts.map +0 -1
  142. package/dist/host/meili/coherence.js +0 -148
  143. package/dist/host/meili/coherence.js.map +0 -1
  144. package/dist/host/meili/feed.d.ts +0 -82
  145. package/dist/host/meili/feed.d.ts.map +0 -1
  146. package/dist/host/meili/feed.js +0 -100
  147. package/dist/host/meili/feed.js.map +0 -1
  148. package/dist/host/meili/generic-indexer.d.ts +0 -34
  149. package/dist/host/meili/generic-indexer.d.ts.map +0 -1
  150. package/dist/host/meili/generic-indexer.js +0 -333
  151. package/dist/host/meili/generic-indexer.js.map +0 -1
  152. package/dist/host/meili/index-schema.d.ts +0 -64
  153. package/dist/host/meili/index-schema.d.ts.map +0 -1
  154. package/dist/host/meili/index-schema.js +0 -70
  155. package/dist/host/meili/index-schema.js.map +0 -1
  156. package/dist/host/meili/index.d.ts +0 -13
  157. package/dist/host/meili/index.d.ts.map +0 -1
  158. package/dist/host/meili/index.js +0 -8
  159. package/dist/host/meili/index.js.map +0 -1
  160. package/dist/host/meili/indexer.d.ts +0 -31
  161. package/dist/host/meili/indexer.d.ts.map +0 -1
  162. package/dist/host/meili/indexer.js +0 -49
  163. package/dist/host/meili/indexer.js.map +0 -1
  164. package/dist/host/meili-launcher.d.ts +0 -30
  165. package/dist/host/meili-launcher.d.ts.map +0 -1
  166. package/dist/host/meili-launcher.js +0 -115
  167. package/dist/host/meili-launcher.js.map +0 -1
  168. package/dist/host/n8n/agent-isolation.d.ts +0 -55
  169. package/dist/host/n8n/agent-isolation.d.ts.map +0 -1
  170. package/dist/host/n8n/agent-isolation.js +0 -158
  171. package/dist/host/n8n/agent-isolation.js.map +0 -1
  172. package/dist/host/n8n/api-key.d.ts +0 -67
  173. package/dist/host/n8n/api-key.d.ts.map +0 -1
  174. package/dist/host/n8n/api-key.js +0 -297
  175. package/dist/host/n8n/api-key.js.map +0 -1
  176. package/dist/host/n8n/launcher.d.ts +0 -126
  177. package/dist/host/n8n/launcher.d.ts.map +0 -1
  178. package/dist/host/n8n/launcher.js +0 -1170
  179. package/dist/host/n8n/launcher.js.map +0 -1
  180. package/dist/host/n8n/runtime-bootstrap.d.ts +0 -44
  181. package/dist/host/n8n/runtime-bootstrap.d.ts.map +0 -1
  182. package/dist/host/n8n/runtime-bootstrap.js +0 -230
  183. package/dist/host/n8n/runtime-bootstrap.js.map +0 -1
  184. package/dist/host/node-runtime.d.ts +0 -52
  185. package/dist/host/node-runtime.d.ts.map +0 -1
  186. package/dist/host/node-runtime.js +0 -257
  187. package/dist/host/node-runtime.js.map +0 -1
  188. package/dist/host/npm-cli.d.ts +0 -43
  189. package/dist/host/npm-cli.d.ts.map +0 -1
  190. package/dist/host/npm-cli.js +0 -213
  191. package/dist/host/npm-cli.js.map +0 -1
  192. package/dist/host/plugins/accept-check.d.ts +0 -19
  193. package/dist/host/plugins/accept-check.d.ts.map +0 -1
  194. package/dist/host/plugins/accept-check.js +0 -172
  195. package/dist/host/plugins/accept-check.js.map +0 -1
  196. package/dist/host/plugins/brand-bindings.d.ts +0 -103
  197. package/dist/host/plugins/brand-bindings.d.ts.map +0 -1
  198. package/dist/host/plugins/brand-bindings.js +0 -65
  199. package/dist/host/plugins/brand-bindings.js.map +0 -1
  200. package/dist/host/plugins/control-adapters.d.ts +0 -11
  201. package/dist/host/plugins/control-adapters.d.ts.map +0 -1
  202. package/dist/host/plugins/control-adapters.js +0 -83
  203. package/dist/host/plugins/control-adapters.js.map +0 -1
  204. package/dist/host/plugins/control-extras.d.ts +0 -61
  205. package/dist/host/plugins/control-extras.d.ts.map +0 -1
  206. package/dist/host/plugins/control-extras.js +0 -382
  207. package/dist/host/plugins/control-extras.js.map +0 -1
  208. package/dist/host/plugins/control-plane.d.ts +0 -42
  209. package/dist/host/plugins/control-plane.d.ts.map +0 -1
  210. package/dist/host/plugins/control-plane.js +0 -124
  211. package/dist/host/plugins/control-plane.js.map +0 -1
  212. package/dist/host/plugins/control-token.d.ts +0 -24
  213. package/dist/host/plugins/control-token.d.ts.map +0 -1
  214. package/dist/host/plugins/control-token.js +0 -77
  215. package/dist/host/plugins/control-token.js.map +0 -1
  216. package/dist/host/plugins/crm-key.d.ts +0 -25
  217. package/dist/host/plugins/crm-key.d.ts.map +0 -1
  218. package/dist/host/plugins/crm-key.js +0 -126
  219. package/dist/host/plugins/crm-key.js.map +0 -1
  220. package/dist/host/plugins/data.d.ts +0 -21
  221. package/dist/host/plugins/data.d.ts.map +0 -1
  222. package/dist/host/plugins/data.js +0 -100
  223. package/dist/host/plugins/data.js.map +0 -1
  224. package/dist/host/plugins/events.d.ts +0 -6
  225. package/dist/host/plugins/events.d.ts.map +0 -1
  226. package/dist/host/plugins/events.js +0 -6
  227. package/dist/host/plugins/events.js.map +0 -1
  228. package/dist/host/plugins/execution-grant.d.ts +0 -6
  229. package/dist/host/plugins/execution-grant.d.ts.map +0 -1
  230. package/dist/host/plugins/execution-grant.js +0 -6
  231. package/dist/host/plugins/execution-grant.js.map +0 -1
  232. package/dist/host/plugins/git.d.ts +0 -56
  233. package/dist/host/plugins/git.d.ts.map +0 -1
  234. package/dist/host/plugins/git.js +0 -357
  235. package/dist/host/plugins/git.js.map +0 -1
  236. package/dist/host/plugins/host.d.ts +0 -68
  237. package/dist/host/plugins/host.d.ts.map +0 -1
  238. package/dist/host/plugins/host.js +0 -276
  239. package/dist/host/plugins/host.js.map +0 -1
  240. package/dist/host/plugins/launcher.d.ts +0 -146
  241. package/dist/host/plugins/launcher.d.ts.map +0 -1
  242. package/dist/host/plugins/launcher.js +0 -489
  243. package/dist/host/plugins/launcher.js.map +0 -1
  244. package/dist/host/plugins/runtime.d.ts +0 -28
  245. package/dist/host/plugins/runtime.d.ts.map +0 -1
  246. package/dist/host/plugins/runtime.js +0 -430
  247. package/dist/host/plugins/runtime.js.map +0 -1
  248. package/dist/host/plugins/test-runner.d.ts +0 -15
  249. package/dist/host/plugins/test-runner.d.ts.map +0 -1
  250. package/dist/host/plugins/test-runner.js +0 -106
  251. package/dist/host/plugins/test-runner.js.map +0 -1
  252. package/dist/host/safe-storage.d.ts +0 -21
  253. package/dist/host/safe-storage.d.ts.map +0 -1
  254. package/dist/host/safe-storage.js +0 -55
  255. package/dist/host/safe-storage.js.map +0 -1
  256. package/dist/host/sandbox/embed-sandbox.d.ts +0 -133
  257. package/dist/host/sandbox/embed-sandbox.d.ts.map +0 -1
  258. package/dist/host/sandbox/embed-sandbox.js +0 -378
  259. package/dist/host/sandbox/embed-sandbox.js.map +0 -1
  260. package/dist/host/sandbox/os-sandbox.d.ts +0 -41
  261. package/dist/host/sandbox/os-sandbox.d.ts.map +0 -1
  262. package/dist/host/sandbox/os-sandbox.js +0 -98
  263. package/dist/host/sandbox/os-sandbox.js.map +0 -1
  264. package/dist/host/server-env.d.ts +0 -50
  265. package/dist/host/server-env.d.ts.map +0 -1
  266. package/dist/host/server-env.js +0 -64
  267. package/dist/host/server-env.js.map +0 -1
  268. package/dist/host/server-launcher.d.ts +0 -49
  269. package/dist/host/server-launcher.d.ts.map +0 -1
  270. package/dist/host/server-launcher.js +0 -43
  271. package/dist/host/server-launcher.js.map +0 -1
  272. package/dist/host/tunnel/cloudflared-respawn.d.ts +0 -58
  273. package/dist/host/tunnel/cloudflared-respawn.d.ts.map +0 -1
  274. package/dist/host/tunnel/cloudflared-respawn.js +0 -73
  275. package/dist/host/tunnel/cloudflared-respawn.js.map +0 -1
  276. package/dist/host/tunnel/tunnel.d.ts +0 -72
  277. package/dist/host/tunnel/tunnel.d.ts.map +0 -1
  278. package/dist/host/tunnel/tunnel.js +0 -462
  279. package/dist/host/tunnel/tunnel.js.map +0 -1
  280. package/dist/logger.d.ts +0 -44
  281. package/dist/logger.d.ts.map +0 -1
  282. package/dist/logger.js +0 -252
  283. package/dist/logger.js.map +0 -1
  284. package/dist-cjs/desktop/legacy-brand-compat.js +0 -56
  285. package/dist-cjs/desktop/legacy-brand-compat.js.map +0 -1
  286. package/dist-cjs/factory-reset-runtime.js +0 -117
  287. package/dist-cjs/factory-reset-runtime.js.map +0 -1
  288. package/dist-cjs/host/ai-workspace/actions.js +0 -247
  289. package/dist-cjs/host/ai-workspace/actions.js.map +0 -1
  290. package/dist-cjs/host/ai-workspace/bindings.js +0 -49
  291. package/dist-cjs/host/ai-workspace/bindings.js.map +0 -1
  292. package/dist-cjs/host/ai-workspace/index.js +0 -21
  293. package/dist-cjs/host/ai-workspace/index.js.map +0 -1
  294. package/dist-cjs/host/ai-workspace/manager.js +0 -528
  295. package/dist-cjs/host/ai-workspace/manager.js.map +0 -1
  296. package/dist-cjs/host/ai-workspace/profile-window.js +0 -125
  297. package/dist-cjs/host/ai-workspace/profile-window.js.map +0 -1
  298. package/dist-cjs/host/ai-workspace/screencast.js +0 -249
  299. package/dist-cjs/host/ai-workspace/screencast.js.map +0 -1
  300. package/dist-cjs/host/ai-workspace/types.js +0 -7
  301. package/dist-cjs/host/ai-workspace/types.js.map +0 -1
  302. package/dist-cjs/host/brand-host-runtime.js +0 -286
  303. package/dist-cjs/host/brand-host-runtime.js.map +0 -1
  304. package/dist-cjs/host/brand-host-stack.js +0 -259
  305. package/dist-cjs/host/brand-host-stack.js.map +0 -1
  306. package/dist-cjs/host/brand-kernel-http.js +0 -101
  307. package/dist-cjs/host/brand-kernel-http.js.map +0 -1
  308. package/dist-cjs/host/brand-meili-boot.js +0 -106
  309. package/dist-cjs/host/brand-meili-boot.js.map +0 -1
  310. package/dist-cjs/host/bridge-client.js +0 -191
  311. package/dist-cjs/host/bridge-client.js.map +0 -1
  312. package/dist-cjs/host/context.js +0 -20
  313. package/dist-cjs/host/context.js.map +0 -1
  314. package/dist-cjs/host/contracts.js +0 -32
  315. package/dist-cjs/host/contracts.js.map +0 -1
  316. package/dist-cjs/host/crash-reporter.js +0 -422
  317. package/dist-cjs/host/crash-reporter.js.map +0 -1
  318. package/dist-cjs/host/ensure-kit-binaries.js +0 -212
  319. package/dist-cjs/host/ensure-kit-binaries.js.map +0 -1
  320. package/dist-cjs/host/feature-off-host.js +0 -144
  321. package/dist-cjs/host/feature-off-host.js.map +0 -1
  322. package/dist-cjs/host/hermes/crm-key.js +0 -137
  323. package/dist-cjs/host/hermes/crm-key.js.map +0 -1
  324. package/dist-cjs/host/hermes/ensure-crm-key-db.js +0 -89
  325. package/dist-cjs/host/hermes/ensure-crm-key-db.js.map +0 -1
  326. package/dist-cjs/host/hermes/launcher.js +0 -981
  327. package/dist-cjs/host/hermes/launcher.js.map +0 -1
  328. package/dist-cjs/host/hermes/runtime-bootstrap.js +0 -853
  329. package/dist-cjs/host/hermes/runtime-bootstrap.js.map +0 -1
  330. package/dist-cjs/host/hermes/skills-seed.js +0 -110
  331. package/dist-cjs/host/hermes/skills-seed.js.map +0 -1
  332. package/dist-cjs/host/host-stack.js +0 -42
  333. package/dist-cjs/host/host-stack.js.map +0 -1
  334. package/dist-cjs/host/kit-os-resources.js +0 -96
  335. package/dist-cjs/host/kit-os-resources.js.map +0 -1
  336. package/dist-cjs/host/load-electron.js +0 -47
  337. package/dist-cjs/host/load-electron.js.map +0 -1
  338. package/dist-cjs/host/local-config.js +0 -640
  339. package/dist-cjs/host/local-config.js.map +0 -1
  340. package/dist-cjs/host/meili/browse.js +0 -103
  341. package/dist-cjs/host/meili/browse.js.map +0 -1
  342. package/dist-cjs/host/meili/coherence-db.js +0 -139
  343. package/dist-cjs/host/meili/coherence-db.js.map +0 -1
  344. package/dist-cjs/host/meili/coherence-query.js +0 -25
  345. package/dist-cjs/host/meili/coherence-query.js.map +0 -1
  346. package/dist-cjs/host/meili/coherence.js +0 -158
  347. package/dist-cjs/host/meili/coherence.js.map +0 -1
  348. package/dist-cjs/host/meili/feed.js +0 -108
  349. package/dist-cjs/host/meili/feed.js.map +0 -1
  350. package/dist-cjs/host/meili/generic-indexer.js +0 -340
  351. package/dist-cjs/host/meili/generic-indexer.js.map +0 -1
  352. package/dist-cjs/host/meili/index-schema.js +0 -79
  353. package/dist-cjs/host/meili/index-schema.js.map +0 -1
  354. package/dist-cjs/host/meili/index.js +0 -45
  355. package/dist-cjs/host/meili/index.js.map +0 -1
  356. package/dist-cjs/host/meili/indexer.js +0 -85
  357. package/dist-cjs/host/meili/indexer.js.map +0 -1
  358. package/dist-cjs/host/meili-launcher.js +0 -121
  359. package/dist-cjs/host/meili-launcher.js.map +0 -1
  360. package/dist-cjs/host/n8n/agent-isolation.js +0 -173
  361. package/dist-cjs/host/n8n/agent-isolation.js.map +0 -1
  362. package/dist-cjs/host/n8n/api-key.js +0 -314
  363. package/dist-cjs/host/n8n/api-key.js.map +0 -1
  364. package/dist-cjs/host/n8n/launcher.js +0 -1209
  365. package/dist-cjs/host/n8n/launcher.js.map +0 -1
  366. package/dist-cjs/host/n8n/runtime-bootstrap.js +0 -244
  367. package/dist-cjs/host/n8n/runtime-bootstrap.js.map +0 -1
  368. package/dist-cjs/host/node-runtime.js +0 -274
  369. package/dist-cjs/host/node-runtime.js.map +0 -1
  370. package/dist-cjs/host/npm-cli.js +0 -224
  371. package/dist-cjs/host/npm-cli.js.map +0 -1
  372. package/dist-cjs/host/plugins/accept-check.js +0 -176
  373. package/dist-cjs/host/plugins/accept-check.js.map +0 -1
  374. package/dist-cjs/host/plugins/brand-bindings.js +0 -78
  375. package/dist-cjs/host/plugins/brand-bindings.js.map +0 -1
  376. package/dist-cjs/host/plugins/control-adapters.js +0 -89
  377. package/dist-cjs/host/plugins/control-adapters.js.map +0 -1
  378. package/dist-cjs/host/plugins/control-extras.js +0 -397
  379. package/dist-cjs/host/plugins/control-extras.js.map +0 -1
  380. package/dist-cjs/host/plugins/control-plane.js +0 -130
  381. package/dist-cjs/host/plugins/control-plane.js.map +0 -1
  382. package/dist-cjs/host/plugins/control-token.js +0 -90
  383. package/dist-cjs/host/plugins/control-token.js.map +0 -1
  384. package/dist-cjs/host/plugins/crm-key.js +0 -135
  385. package/dist-cjs/host/plugins/crm-key.js.map +0 -1
  386. package/dist-cjs/host/plugins/data.js +0 -107
  387. package/dist-cjs/host/plugins/data.js.map +0 -1
  388. package/dist-cjs/host/plugins/events.js +0 -19
  389. package/dist-cjs/host/plugins/events.js.map +0 -1
  390. package/dist-cjs/host/plugins/execution-grant.js +0 -11
  391. package/dist-cjs/host/plugins/execution-grant.js.map +0 -1
  392. package/dist-cjs/host/plugins/git.js +0 -371
  393. package/dist-cjs/host/plugins/git.js.map +0 -1
  394. package/dist-cjs/host/plugins/host.js +0 -283
  395. package/dist-cjs/host/plugins/host.js.map +0 -1
  396. package/dist-cjs/host/plugins/launcher.js +0 -514
  397. package/dist-cjs/host/plugins/launcher.js.map +0 -1
  398. package/dist-cjs/host/plugins/runtime.js +0 -446
  399. package/dist-cjs/host/plugins/runtime.js.map +0 -1
  400. package/dist-cjs/host/plugins/test-runner.js +0 -112
  401. package/dist-cjs/host/plugins/test-runner.js.map +0 -1
  402. package/dist-cjs/host/safe-storage.js +0 -95
  403. package/dist-cjs/host/safe-storage.js.map +0 -1
  404. package/dist-cjs/host/sandbox/embed-sandbox.js +0 -396
  405. package/dist-cjs/host/sandbox/embed-sandbox.js.map +0 -1
  406. package/dist-cjs/host/sandbox/os-sandbox.js +0 -106
  407. package/dist-cjs/host/sandbox/os-sandbox.js.map +0 -1
  408. package/dist-cjs/host/server-env.js +0 -69
  409. package/dist-cjs/host/server-env.js.map +0 -1
  410. package/dist-cjs/host/server-launcher.js +0 -52
  411. package/dist-cjs/host/server-launcher.js.map +0 -1
  412. package/dist-cjs/host/tunnel/cloudflared-respawn.js +0 -80
  413. package/dist-cjs/host/tunnel/cloudflared-respawn.js.map +0 -1
  414. package/dist-cjs/host/tunnel/tunnel.js +0 -470
  415. package/dist-cjs/host/tunnel/tunnel.js.map +0 -1
  416. package/dist-cjs/logger.js +0 -269
  417. package/dist-cjs/logger.js.map +0 -1
@@ -1,58 +0,0 @@
1
- /**
2
- * Browse paginé Meili — API publique `@creezio/electron-shell/meili`.
3
- * Meili est un composant CORE (fail-closed) pour le browse catalogue.
4
- *
5
- * Contrat (SoT AGENTS.md section Meili) :
6
- * - `q` vide = browse filtré / page catalogue (POST `q:""` + filter).
7
- * - Meili KO sur une liste catalogue = **erreur visible côté appelant**
8
- * (503 `meili_unavailable`, ou `engine:"indexing"` pendant l'indexation
9
- * initiale) — plus jamais de LIKE SQL de secours. Utiliser
10
- * `browseMeiliIndexOutcome` pour distinguer incident / hors index.
11
- * - SQL légitime UNIQUEMENT hors index (agrégats, joins métier, écritures,
12
- * filtre rejeté visible) ou avec `CREEZIO_ALLOW_NO_MEILI=1` (dev/tests).
13
- * - 0 hit sur un index peuplé = succès (pas un fallback SQL).
14
- * - Interdit : `if (q) meili else sql`.
15
- * - Ne pas utiliser `searchMeiliIndexes` pour le browse (retourne [] si q vide).
16
- */
17
- export type MeiliBrowseRequest = {
18
- host: string;
19
- apiKey?: string;
20
- indexUid: string;
21
- query?: string;
22
- filters?: string[];
23
- sort?: string[];
24
- page?: number;
25
- hitsPerPage?: number;
26
- attributesToRetrieve?: string[];
27
- facets?: string[];
28
- timeoutMs?: number;
29
- };
30
- export type MeiliBrowseResult = {
31
- hits: Array<Record<string, unknown>>;
32
- total: number;
33
- facetDistribution?: Record<string, Record<string, number>>;
34
- };
35
- export declare function meiliFilterEq(attr: string, raw: string): string;
36
- /** Issue détaillée d'un browse — incident (fail-closed) vs hors index. */
37
- export type MeiliBrowseOutcome = {
38
- kind: "ok";
39
- result: MeiliBrowseResult;
40
- } | {
41
- kind: "empty_index";
42
- } | {
43
- kind: "index_missing";
44
- } | {
45
- kind: "filter_rejected";
46
- } | {
47
- kind: "unavailable";
48
- reason: string;
49
- } | {
50
- kind: "unconfigured";
51
- };
52
- export declare function browseMeiliIndexOutcome(req: MeiliBrowseRequest): Promise<MeiliBrowseOutcome>;
53
- /**
54
- * Compat historique : `null` = tout sauf `ok`. Préférer
55
- * `browseMeiliIndexOutcome` (fail-closed) pour le browse catalogue.
56
- */
57
- export declare function browseMeiliIndex(req: MeiliBrowseRequest): Promise<MeiliBrowseResult | null>;
58
- //# sourceMappingURL=browse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../../src/host/meili/browse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5D,CAAC;AASF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAE7B,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,kBAAkB,CAAC,CA4D7B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAGnC"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Browse paginé Meili — API publique `@creezio/electron-shell/meili`.
3
- * Meili est un composant CORE (fail-closed) pour le browse catalogue.
4
- *
5
- * Contrat (SoT AGENTS.md section Meili) :
6
- * - `q` vide = browse filtré / page catalogue (POST `q:""` + filter).
7
- * - Meili KO sur une liste catalogue = **erreur visible côté appelant**
8
- * (503 `meili_unavailable`, ou `engine:"indexing"` pendant l'indexation
9
- * initiale) — plus jamais de LIKE SQL de secours. Utiliser
10
- * `browseMeiliIndexOutcome` pour distinguer incident / hors index.
11
- * - SQL légitime UNIQUEMENT hors index (agrégats, joins métier, écritures,
12
- * filtre rejeté visible) ou avec `CREEZIO_ALLOW_NO_MEILI=1` (dev/tests).
13
- * - 0 hit sur un index peuplé = succès (pas un fallback SQL).
14
- * - Interdit : `if (q) meili else sql`.
15
- * - Ne pas utiliser `searchMeiliIndexes` pour le browse (retourne [] si q vide).
16
- */
17
- function meiliHeaders(apiKey) {
18
- return {
19
- "Content-Type": "application/json",
20
- ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}),
21
- };
22
- }
23
- export function meiliFilterEq(attr, raw) {
24
- const n = Number(raw);
25
- if (raw !== "" && Number.isFinite(n) && String(n) === raw) {
26
- return `${attr} = ${n}`;
27
- }
28
- const escaped = raw.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
29
- return `${attr} = "${escaped}"`;
30
- }
31
- export async function browseMeiliIndexOutcome(req) {
32
- const host = (req.host || "").replace(/\/+$/, "");
33
- if (!host || !req.indexUid)
34
- return { kind: "unconfigured" };
35
- const timeoutMs = req.timeoutMs ?? 3000;
36
- const headers = meiliHeaders(req.apiKey);
37
- try {
38
- const statsRes = await fetch(`${host}/indexes/${req.indexUid}/stats`, {
39
- headers,
40
- signal: AbortSignal.timeout(timeoutMs),
41
- });
42
- if (statsRes.status === 404)
43
- return { kind: "index_missing" };
44
- if (!statsRes.ok) {
45
- return { kind: "unavailable", reason: `stats_${statsRes.status}` };
46
- }
47
- const stats = (await statsRes.json());
48
- if (Number(stats.numberOfDocuments || 0) <= 0) {
49
- return { kind: "empty_index" };
50
- }
51
- const page = Math.max(1, req.page ?? 1);
52
- const hitsPerPage = Math.min(Math.max(req.hitsPerPage ?? 20, 1), 200);
53
- const searchRes = await fetch(`${host}/indexes/${req.indexUid}/search`, {
54
- method: "POST",
55
- headers,
56
- body: JSON.stringify({
57
- q: req.query ?? "",
58
- filter: req.filters?.length ? req.filters : undefined,
59
- sort: req.sort?.length ? req.sort : undefined,
60
- page,
61
- hitsPerPage,
62
- attributesToRetrieve: req.attributesToRetrieve ?? ["id"],
63
- facets: req.facets?.length ? req.facets : undefined,
64
- }),
65
- signal: AbortSignal.timeout(timeoutMs),
66
- });
67
- if (searchRes.status === 400)
68
- return { kind: "filter_rejected" };
69
- if (!searchRes.ok) {
70
- return { kind: "unavailable", reason: `search_${searchRes.status}` };
71
- }
72
- const data = (await searchRes.json());
73
- const hits = Array.isArray(data.hits) ? data.hits : [];
74
- return {
75
- kind: "ok",
76
- result: {
77
- hits,
78
- total: Number(data.totalHits ?? data.estimatedTotalHits ?? hits.length),
79
- facetDistribution: data.facetDistribution,
80
- },
81
- };
82
- }
83
- catch (err) {
84
- return {
85
- kind: "unavailable",
86
- reason: err instanceof Error ? err.message : String(err),
87
- };
88
- }
89
- }
90
- /**
91
- * Compat historique : `null` = tout sauf `ok`. Préférer
92
- * `browseMeiliIndexOutcome` (fail-closed) pour le browse catalogue.
93
- */
94
- export async function browseMeiliIndex(req) {
95
- const outcome = await browseMeiliIndexOutcome(req);
96
- return outcome.kind === "ok" ? outcome.result : null;
97
- }
98
- //# sourceMappingURL=browse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../src/host/meili/browse.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Accès SQLite pour la cohérence Meili — process Node vanilla uniquement
3
- * (better-sqlite3 ABI Node). Ne jamais importer depuis electron/main.ts.
4
- *
5
- * Compteurs alignés sur l'indexeur catalogue (tables via
6
- * `configureMeiliCatalogSqlTables` — défaut TF produits + fournisseurs).
7
- */
8
- import { type CatalogSqlCounts, type MeiliFingerprint } from "./index-schema.js";
9
- export type GedSqlCounts = CatalogSqlCounts;
10
- /** Compteurs SQL alignés sur l'indexeur catalogue (tables configurables). */
11
- export declare function countCatalogSql(dbPath: string): CatalogSqlCounts;
12
- /** Alias historique (API Fidu GED). */
13
- export declare function countGedSql(dbPath: string): CatalogSqlCounts;
14
- export declare function readSqliteSchemaVersion(dbPath: string): number;
15
- export declare function readFingerprintFromDb(dbPath: string): MeiliFingerprint | null;
16
- export declare function writeFingerprintToDb(dbPath: string, fp: MeiliFingerprint): void;
17
- export declare function buildFingerprint(opts: {
18
- sql: CatalogSqlCounts;
19
- sqliteSchema: number;
20
- appVersion?: string;
21
- }): MeiliFingerprint;
22
- export type MeiliIndexInProgress = {
23
- startedAt: string;
24
- appVersion?: string;
25
- };
26
- export declare function readIndexInProgress(dbPath: string): MeiliIndexInProgress | null;
27
- export type CoherenceDbSnapshot = {
28
- sql: CatalogSqlCounts;
29
- sqliteSchema: number;
30
- fingerprint: MeiliFingerprint | null;
31
- /** Indexation précédente jamais terminée (marqueur resté en place). */
32
- indexInProgress: MeiliIndexInProgress | null;
33
- };
34
- export declare function readCoherenceDbSnapshot(dbPath: string): CoherenceDbSnapshot;
35
- //# sourceMappingURL=coherence-db.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coherence-db.d.ts","sourceRoot":"","sources":["../../../src/host/meili/coherence-db.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAoB3B,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAmB5C,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAmBhE;AAED,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW9D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAW7E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAU/E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,gBAAgB,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,gBAAgB,CAQnB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAiB/E;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,gBAAgB,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,uEAAuE;IACvE,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAO3E"}
@@ -1,129 +0,0 @@
1
- /**
2
- * Accès SQLite pour la cohérence Meili — process Node vanilla uniquement
3
- * (better-sqlite3 ABI Node). Ne jamais importer depuis electron/main.ts.
4
- *
5
- * Compteurs alignés sur l'indexeur catalogue (tables via
6
- * `configureMeiliCatalogSqlTables` — défaut TF produits + fournisseurs).
7
- */
8
- import { createAppRequire } from "@creezio/platform-core";
9
- import { INDEX_SCHEMA_VERSION, MEILI_FINGERPRINT_META_KEY, MEILI_INDEX_IN_PROGRESS_KEY, getMeiliCatalogSqlTables, parseFingerprint, serializeFingerprint, } from "./index-schema.js";
10
- function loadDatabase() {
11
- const req = createAppRequire();
12
- return req("better-sqlite3");
13
- }
14
- function tableExists(db, name) {
15
- const row = db
16
- .prepare(`SELECT COUNT(*) AS c FROM sqlite_master WHERE type='table' AND name=?`)
17
- .get(name);
18
- return row.c > 0;
19
- }
20
- function count(db, sql) {
21
- const row = db.prepare(sql).get();
22
- return Number(row?.c || 0);
23
- }
24
- /** Identifiant table SQLite sûr (alphanum + underscore). */
25
- function safeTableName(name) {
26
- return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name) ? name : null;
27
- }
28
- /** Compteurs SQL alignés sur l'indexeur catalogue (tables configurables). */
29
- export function countCatalogSql(dbPath) {
30
- const tables = getMeiliCatalogSqlTables();
31
- const produitsTable = safeTableName(tables.produits);
32
- const sitesTable = safeTableName(tables.sites);
33
- const db = new (loadDatabase())(dbPath, { readonly: true, fileMustExist: true });
34
- try {
35
- const produits = produitsTable && tableExists(db, produitsTable)
36
- ? count(db, `SELECT COUNT(*) AS c FROM ${produitsTable}`)
37
- : 0;
38
- // Champ fingerprint historique `fournisseurs` = compteur table `sites`.
39
- const fournisseurs = sitesTable && tableExists(db, sitesTable)
40
- ? count(db, `SELECT COUNT(*) AS c FROM ${sitesTable}`)
41
- : 0;
42
- return { produits, fournisseurs };
43
- }
44
- finally {
45
- db.close();
46
- }
47
- }
48
- /** Alias historique (API Fidu GED). */
49
- export function countGedSql(dbPath) {
50
- return countCatalogSql(dbPath);
51
- }
52
- export function readSqliteSchemaVersion(dbPath) {
53
- const db = new (loadDatabase())(dbPath, { readonly: true, fileMustExist: true });
54
- try {
55
- if (!tableExists(db, "meta"))
56
- return 0;
57
- const row = db
58
- .prepare(`SELECT value FROM meta WHERE key='schema_version'`)
59
- .get();
60
- return Number(row?.value || 0);
61
- }
62
- finally {
63
- db.close();
64
- }
65
- }
66
- export function readFingerprintFromDb(dbPath) {
67
- const db = new (loadDatabase())(dbPath, { readonly: true, fileMustExist: true });
68
- try {
69
- if (!tableExists(db, "meta"))
70
- return null;
71
- const row = db
72
- .prepare(`SELECT value FROM meta WHERE key=?`)
73
- .get(MEILI_FINGERPRINT_META_KEY);
74
- return parseFingerprint(row?.value);
75
- }
76
- finally {
77
- db.close();
78
- }
79
- }
80
- export function writeFingerprintToDb(dbPath, fp) {
81
- const db = new (loadDatabase())(dbPath, { fileMustExist: true });
82
- try {
83
- db.prepare(`INSERT INTO meta(key, value) VALUES (?, ?)
84
- ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(MEILI_FINGERPRINT_META_KEY, serializeFingerprint(fp));
85
- }
86
- finally {
87
- db.close();
88
- }
89
- }
90
- export function buildFingerprint(opts) {
91
- return {
92
- indexSchema: INDEX_SCHEMA_VERSION,
93
- sqliteSchema: opts.sqliteSchema,
94
- counts: opts.sql,
95
- builtAt: new Date().toISOString(),
96
- appVersion: opts.appVersion,
97
- };
98
- }
99
- export function readIndexInProgress(dbPath) {
100
- const db = new (loadDatabase())(dbPath, { readonly: true, fileMustExist: true });
101
- try {
102
- if (!tableExists(db, "meta"))
103
- return null;
104
- const row = db
105
- .prepare(`SELECT value FROM meta WHERE key=?`)
106
- .get(MEILI_INDEX_IN_PROGRESS_KEY);
107
- if (!row?.value)
108
- return null;
109
- try {
110
- const data = JSON.parse(row.value);
111
- return typeof data.startedAt === "string" ? data : null;
112
- }
113
- catch {
114
- return null;
115
- }
116
- }
117
- finally {
118
- db.close();
119
- }
120
- }
121
- export function readCoherenceDbSnapshot(dbPath) {
122
- return {
123
- sql: countCatalogSql(dbPath),
124
- sqliteSchema: readSqliteSchemaVersion(dbPath),
125
- fingerprint: readFingerprintFromDb(dbPath),
126
- indexInProgress: readIndexInProgress(dbPath),
127
- };
128
- }
129
- //# sourceMappingURL=coherence-db.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coherence-db.js","sourceRoot":"","sources":["../../../src/host/meili/coherence-db.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * CLI Node vanilla : lit counts SQL + fingerprint (JSON sur stdout).
3
- * Spawn depuis electron/main via nodeBinary() + NODE_PATH (better-sqlite3).
4
- *
5
- * DB_PATH=... node …/meili/coherence-query.js
6
- *
7
- * Dual-build safe : pas d'`import.meta` (CJS Electron).
8
- */
9
- export {};
10
- //# sourceMappingURL=coherence-query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coherence-query.d.ts","sourceRoot":"","sources":["../../../src/host/meili/coherence-query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,23 +0,0 @@
1
- /**
2
- * CLI Node vanilla : lit counts SQL + fingerprint (JSON sur stdout).
3
- * Spawn depuis electron/main via nodeBinary() + NODE_PATH (better-sqlite3).
4
- *
5
- * DB_PATH=... node …/meili/coherence-query.js
6
- *
7
- * Dual-build safe : pas d'`import.meta` (CJS Electron).
8
- */
9
- import { readCoherenceDbSnapshot } from "./coherence-db.js";
10
- function main() {
11
- const dbPath = process.env.DB_PATH;
12
- if (!dbPath) {
13
- console.error("DB_PATH manquant");
14
- process.exit(2);
15
- }
16
- const snap = readCoherenceDbSnapshot(dbPath);
17
- process.stdout.write(JSON.stringify(snap) + "\n");
18
- }
19
- const cliEntry = process.argv[1] || "";
20
- if (/(^|[\\/])coherence-query\.(c?js|mjs)$/.test(cliEntry)) {
21
- main();
22
- }
23
- //# sourceMappingURL=coherence-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coherence-query.js","sourceRoot":"","sources":["../../../src/host/meili/coherence-query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,SAAS,IAAI;IACX,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,IAAI,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3D,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Cohérence SQLite ↔ Meili au boot Electron.
3
- *
4
- * IMPORTANT : pas de better-sqlite3 ici (ABI Node ≠ Electron). Les lectures
5
- * SQLite passent par un spawn Node vanilla (meili-coherence-query.js).
6
- */
7
- import { type GedSqlCounts, type MeiliFingerprint } from "./index-schema.js";
8
- import type { RunningMeili } from "../meili-launcher.js";
9
- export type MeiliCoherencePaths = {
10
- dbPath: () => string;
11
- nodeBinary: () => string;
12
- nodeScript: (rel: string) => string;
13
- nodeModulesPathForScripts: () => string | null | undefined;
14
- };
15
- /** Configure les chemins spawn (marque) — requis avant decideMeiliReady. */
16
- export declare function configureMeiliCoherencePaths(next: MeiliCoherencePaths): void;
17
- export type { GedSqlCounts, MeiliFingerprint };
18
- export { INDEX_SCHEMA_VERSION } from "./index-schema.js";
19
- /**
20
- * Chemin absolu du script de sonde SQL embarqué dans le package
21
- * (resources/scripts, copié hors asar côté desktop). Utilisable par le
22
- * harness serveur pour configurer MeiliCoherencePaths sans connaître le
23
- * layout interne du package.
24
- */
25
- export declare function meiliCoherenceScriptPath(): string;
26
- export type MeiliReadyDecision = {
27
- ready: boolean;
28
- reason: string;
29
- sql: GedSqlCounts;
30
- /** Docs par UID vérifié (UIDs du feed marque, sinon catalog_* génériques). */
31
- meili: Record<string, number>;
32
- fingerprint: MeiliFingerprint | null;
33
- sqliteSchema: number;
34
- /** Indexation précédente interrompue (marqueur meta resté en place). */
35
- interruptedPrevious: boolean;
36
- };
37
- /**
38
- * Ready seulement si fingerprint aligné + chaque index attendu peuplé si SQL > 0.
39
- *
40
- * UIDs + compteurs attendus : depuis le `BrandMeiliFeed` configuré si
41
- * présent (marques feed) — sinon les UIDs génériques `catalog_*` par défaut.
42
- *
43
- * `strictCounts` (serveur headless) : exige l'égalité exacte des compteurs
44
- * SQL ↔ Meili par index — le mode desktop historique tolère la dérive
45
- * (seul « index vide alors que SQL > 0 » invalide), mais côté serveur le
46
- * feed de boot est la SEULE resynchronisation (pas d'indexation
47
- * incrémentale aux imports) : sauter une réindexation malgré une dérive
48
- * figerait l'index jusqu'au prochain bump de schemaVersion.
49
- */
50
- export declare function decideMeiliReady(m: RunningMeili, dbFile?: string, opts?: {
51
- strictCounts?: boolean;
52
- }): Promise<MeiliReadyDecision>;
53
- //# sourceMappingURL=coherence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coherence.d.ts","sourceRoot":"","sources":["../../../src/host/meili/coherence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,yBAAyB,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5D,CAAC;AAIF,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAE5E;AAWD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAMjD;AA2DD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,CAAC,EAAE,YAAY,EACf,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAoE7B"}
@@ -1,148 +0,0 @@
1
- /**
2
- * Cohérence SQLite ↔ Meili au boot Electron.
3
- *
4
- * IMPORTANT : pas de better-sqlite3 ici (ABI Node ≠ Electron). Les lectures
5
- * SQLite passent par un spawn Node vanilla (meili-coherence-query.js).
6
- */
7
- import { spawnSync } from "node:child_process";
8
- import path from "node:path";
9
- import { GED_INDEXES, INDEX_SCHEMA_VERSION, expectedMeiliCounts, } from "./index-schema.js";
10
- import { kitOsResourcesRoot } from "../kit-os-resources.js";
11
- import { expectedCountsForFeed, getMeiliBrandFeed } from "./feed.js";
12
- import { envForNodeScriptSpawn } from "../node-runtime.js";
13
- let paths = null;
14
- /** Configure les chemins spawn (marque) — requis avant decideMeiliReady. */
15
- export function configureMeiliCoherencePaths(next) {
16
- paths = next;
17
- }
18
- function requirePaths() {
19
- if (!paths) {
20
- throw new Error("MeiliCoherencePaths absents — appeler configureMeiliCoherencePaths()");
21
- }
22
- return paths;
23
- }
24
- export { INDEX_SCHEMA_VERSION } from "./index-schema.js";
25
- /**
26
- * Chemin absolu du script de sonde SQL embarqué dans le package
27
- * (resources/scripts, copié hors asar côté desktop). Utilisable par le
28
- * harness serveur pour configurer MeiliCoherencePaths sans connaître le
29
- * layout interne du package.
30
- */
31
- export function meiliCoherenceScriptPath() {
32
- return path.join(kitOsResourcesRoot(), "scripts", "meili-coherence-query.cjs");
33
- }
34
- function queryDbSnapshot(dbFile) {
35
- const p = requirePaths();
36
- const script = p.nodeScript("meili-coherence-query.js");
37
- const bin = p.nodeBinary();
38
- const env = {
39
- ...envForNodeScriptSpawn(bin),
40
- DB_PATH: dbFile,
41
- };
42
- const nm = p.nodeModulesPathForScripts();
43
- if (nm)
44
- env.NODE_PATH = nm;
45
- const r = spawnSync(bin, [script], {
46
- env,
47
- encoding: "utf8",
48
- windowsHide: true,
49
- timeout: 20_000,
50
- });
51
- if (r.error)
52
- throw r.error;
53
- if (r.status !== 0) {
54
- throw new Error(`meili-coherence-query exit ${r.status}: ${(r.stderr || r.stdout || "").slice(0, 400)}`);
55
- }
56
- const line = (r.stdout || "")
57
- .split("\n")
58
- .map((l) => l.trim())
59
- .filter(Boolean)
60
- .pop();
61
- if (!line)
62
- throw new Error("meili-coherence-query: stdout vide");
63
- return JSON.parse(line);
64
- }
65
- async function meiliIndexStats(m, uid) {
66
- try {
67
- const res = await fetch(`${m.host}/indexes/${uid}/stats`, {
68
- headers: { Authorization: `Bearer ${m.masterKey}` },
69
- signal: AbortSignal.timeout(5000),
70
- });
71
- if (res.status === 404)
72
- return { ok: true, missing: true, docs: 0 };
73
- if (!res.ok)
74
- return { ok: false, missing: false, docs: 0 };
75
- const data = (await res.json());
76
- return { ok: true, missing: false, docs: Number(data.numberOfDocuments || 0) };
77
- }
78
- catch {
79
- return { ok: false, missing: false, docs: 0 };
80
- }
81
- }
82
- /**
83
- * Ready seulement si fingerprint aligné + chaque index attendu peuplé si SQL > 0.
84
- *
85
- * UIDs + compteurs attendus : depuis le `BrandMeiliFeed` configuré si
86
- * présent (marques feed) — sinon les UIDs génériques `catalog_*` par défaut.
87
- *
88
- * `strictCounts` (serveur headless) : exige l'égalité exacte des compteurs
89
- * SQL ↔ Meili par index — le mode desktop historique tolère la dérive
90
- * (seul « index vide alors que SQL > 0 » invalide), mais côté serveur le
91
- * feed de boot est la SEULE resynchronisation (pas d'indexation
92
- * incrémentale aux imports) : sauter une réindexation malgré une dérive
93
- * figerait l'index jusqu'au prochain bump de schemaVersion.
94
- */
95
- export async function decideMeiliReady(m, dbFile, opts) {
96
- dbFile = dbFile ?? requirePaths().dbPath();
97
- const snap = queryDbSnapshot(dbFile);
98
- const { sql, sqliteSchema, fingerprint } = snap;
99
- const interruptedPrevious = Boolean(snap.indexInProgress);
100
- const feed = getMeiliBrandFeed();
101
- const expectedSchema = feed ? feed.schemaVersion : INDEX_SCHEMA_VERSION;
102
- const uids = feed
103
- ? feed.indexes.map((i) => i.uid)
104
- : GED_INDEXES;
105
- const expected = feed
106
- ? expectedCountsForFeed(feed, sql)
107
- : expectedMeiliCounts(sql);
108
- const meili = {};
109
- const decide = (ready, reason) => ({
110
- ready,
111
- reason,
112
- sql,
113
- meili,
114
- fingerprint,
115
- sqliteSchema,
116
- interruptedPrevious,
117
- });
118
- if (!fingerprint) {
119
- return decide(false, interruptedPrevious
120
- ? "fingerprint-absent (indexation précédente interrompue)"
121
- : "fingerprint-absent");
122
- }
123
- if (fingerprint.indexSchema !== expectedSchema) {
124
- return decide(false, `index-schema-mismatch fp=${fingerprint.indexSchema} want=${expectedSchema}`);
125
- }
126
- if (fingerprint.sqliteSchema !== sqliteSchema) {
127
- return decide(false, `sqlite-schema-mismatch fp=${fingerprint.sqliteSchema} want=${sqliteSchema}`);
128
- }
129
- for (const uid of uids) {
130
- const st = await meiliIndexStats(m, uid);
131
- if (!st.ok) {
132
- return decide(false, `meili-stats-error:${uid}`);
133
- }
134
- if (st.missing) {
135
- return decide(false, `index-missing:${uid}`);
136
- }
137
- meili[uid] = st.docs;
138
- const want = expected[uid] ?? 0;
139
- if (want > 0 && st.docs === 0) {
140
- return decide(false, `index-empty-while-sql:${uid} sql=${want}`);
141
- }
142
- if (opts?.strictCounts && st.docs !== want) {
143
- return decide(false, `count-drift:${uid} meili=${st.docs} want=${want}`);
144
- }
145
- }
146
- return decide(true, "fingerprint-ok");
147
- }
148
- //# sourceMappingURL=coherence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coherence.js","sourceRoot":"","sources":["../../../src/host/meili/coherence.ts"],"names":[],"mappings":"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"}