@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,135 +0,0 @@
1
- "use strict";
2
- /**
3
- * Clé API CRM dédiée par plugin — port TF gold plugin-crm-key.ts (N1).
4
- * Injection : apiKeyPrefix, crmKeyFileName, dbPath, nodeBinary, nodeScript.
5
- */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.PLUGIN_CRM_KEY_FILE = void 0;
11
- exports.pluginCrmKeyPath = pluginCrmKeyPath;
12
- exports.readPluginCrmApiKey = readPluginCrmApiKey;
13
- exports.ensurePluginCrmApiKey = ensurePluginCrmApiKey;
14
- const node_child_process_1 = require("node:child_process");
15
- const node_crypto_1 = __importDefault(require("node:crypto"));
16
- const node_fs_1 = __importDefault(require("node:fs"));
17
- const node_path_1 = __importDefault(require("node:path"));
18
- const brand_bindings_js_1 = require("./brand-bindings.js");
19
- const node_runtime_js_1 = require("../node-runtime.js");
20
- function scopesFromPerms(permissions) {
21
- const perms = new Set(permissions.map(String));
22
- if (perms.has("crm:write"))
23
- return "crm:read,crm:write";
24
- if (perms.has("crm:read"))
25
- return "crm:read";
26
- return null;
27
- }
28
- function pluginCrmKeyPath(pluginDir) {
29
- return node_path_1.default.join(pluginDir, (0, brand_bindings_js_1.pluginCrmKeyFileName)((0, brand_bindings_js_1.getPluginHostBindings)()));
30
- }
31
- function readPluginCrmApiKey(pluginDir) {
32
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
33
- const prefix = bindings.apiKeyPrefix;
34
- try {
35
- const raw = JSON.parse(node_fs_1.default.readFileSync(pluginCrmKeyPath(pluginDir), "utf8"));
36
- if (raw &&
37
- typeof raw.apiKey === "string" &&
38
- raw.apiKey.startsWith(prefix) &&
39
- typeof raw.scopes === "string") {
40
- return raw;
41
- }
42
- }
43
- catch {
44
- /* absent */
45
- }
46
- return null;
47
- }
48
- function writePluginCrmApiKey(pluginDir, data) {
49
- node_fs_1.default.writeFileSync(pluginCrmKeyPath(pluginDir), `${JSON.stringify(data, null, 2)}\n`, { mode: 0o600 });
50
- }
51
- function generateKey(scopes) {
52
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
53
- const prefix = bindings.apiKeyPrefix;
54
- const secret = node_crypto_1.default.randomBytes(24).toString("base64url");
55
- const apiKey = `${prefix}${secret}`;
56
- return {
57
- apiKey,
58
- prefix: apiKey.slice(0, prefix.length + 6),
59
- scopes,
60
- createdAt: new Date().toISOString(),
61
- };
62
- }
63
- function upsertDb(apiKey, name, scopes) {
64
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
65
- const scriptName = bindings.crmKeyDbScriptName || "ensure-hermes-crm-key-db.js";
66
- const script = bindings.nodeScript(scriptName);
67
- if (!node_fs_1.default.existsSync(script)) {
68
- return Promise.resolve({
69
- ok: false,
70
- detail: `script DB absent: ${script}`,
71
- });
72
- }
73
- return new Promise((resolve) => {
74
- const bin = bindings.nodeBinary();
75
- const env = {
76
- ...(0, node_runtime_js_1.envForNodeScriptSpawn)(bin),
77
- DB_PATH: bindings.dbPath(),
78
- };
79
- delete env.ELECTRON_BINARY;
80
- const nm = bindings.nodeModulesPathForScripts?.();
81
- if (nm)
82
- env.NODE_PATH = nm;
83
- const child = (0, node_child_process_1.spawn)(bin, [script, bindings.dbPath(), apiKey, name, scopes], { env, stdio: ["ignore", "pipe", "pipe"], windowsHide: true });
84
- let out = "";
85
- let err = "";
86
- child.stdout?.on("data", (d) => {
87
- out += d.toString();
88
- });
89
- child.stderr?.on("data", (d) => {
90
- err += d.toString();
91
- });
92
- child.on("error", (e) => resolve({ ok: false, detail: e.message }));
93
- child.on("exit", (code) => {
94
- if (code === 0) {
95
- resolve({ ok: true, detail: out.trim() || "ok" });
96
- }
97
- else {
98
- resolve({ ok: false, detail: err.trim() || `exit ${code}` });
99
- }
100
- });
101
- });
102
- }
103
- /**
104
- * Garantit une clé plugin avec scopes dérivés des permissions.
105
- * Retourne null si le plugin n’a pas `crm:read` / `crm:write`.
106
- */
107
- async function ensurePluginCrmApiKey(opts) {
108
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
109
- const log = opts.log || (() => { });
110
- const scopes = scopesFromPerms(opts.permissions);
111
- if (!scopes) {
112
- log(`plugin-key ${opts.pluginId}: pas de permission crm:*`);
113
- return null;
114
- }
115
- let stored = readPluginCrmApiKey(opts.pluginDir);
116
- if (!stored || stored.scopes !== scopes) {
117
- stored = generateKey(scopes);
118
- writePluginCrmApiKey(opts.pluginDir, stored);
119
- log(`plugin-key ${opts.pluginId}: générée (${scopes})`);
120
- }
121
- const name = bindings.crmKeyDisplayName
122
- ? bindings.crmKeyDisplayName(opts.pluginId)
123
- : `${bindings.productName} Plugin ${opts.pluginId}`;
124
- const db = await upsertDb(stored.apiKey, name, scopes);
125
- if (!db.ok) {
126
- log(`plugin-key ${opts.pluginId}: DB ${db.detail}`);
127
- }
128
- else {
129
- log(`plugin-key ${opts.pluginId}: DB OK (${db.detail})`);
130
- }
131
- return stored;
132
- }
133
- /** @deprecated nom fichier TF — préférer pluginCrmKeyFileName(bindings). */
134
- exports.PLUGIN_CRM_KEY_FILE = ".tempoflow-plugin-api-key.json";
135
- //# sourceMappingURL=crm-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crm-key.js","sourceRoot":"","sources":["../../../src/host/plugins/crm-key.ts"],"names":[],"mappings":"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"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- /**
3
- * Migrations SQLite des plugins — port TF gold plugin-data.ts (N1).
4
- *
5
- * NE JAMAIS importer depuis le main Electron : exécuter en sous-process
6
- * Node vanilla via `bindings.nodeScript("plugin-data.js")` (cf. migratePluginData
7
- * dans control-extras). Utilise `node:sqlite` (kit) — les marques peuvent
8
- * injecter better-sqlite3 via `openDatabase`.
9
- */
10
- var __importDefault = (this && this.__importDefault) || function (mod) {
11
- return (mod && mod.__esModule) ? mod : { "default": mod };
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.applyPluginDataMigrations = applyPluginDataMigrations;
15
- exports.runPluginDataCli = runPluginDataCli;
16
- const node_crypto_1 = __importDefault(require("node:crypto"));
17
- const node_fs_1 = __importDefault(require("node:fs"));
18
- const node_path_1 = __importDefault(require("node:path"));
19
- const platform_core_1 = require("@creezio/platform-core");
20
- function assertPluginDir(pluginDir) {
21
- const resolved = node_path_1.default.resolve(pluginDir);
22
- if (!node_fs_1.default.existsSync(node_path_1.default.join(resolved, "manifest.json"))) {
23
- throw new Error("dossier plugin invalide");
24
- }
25
- return resolved;
26
- }
27
- function applyPluginDataMigrations(pluginDirInput, opts) {
28
- const pluginDir = assertPluginDir(pluginDirInput);
29
- const dataDir = node_path_1.default.join(pluginDir, "data");
30
- const migrationsDir = node_path_1.default.join(pluginDir, "migrations");
31
- node_fs_1.default.mkdirSync(dataDir, { recursive: true });
32
- const databasePath = node_path_1.default.join(dataDir, "plugin.sqlite");
33
- const existed = node_fs_1.default.existsSync(databasePath);
34
- const migrationFiles = node_fs_1.default.existsSync(migrationsDir)
35
- ? node_fs_1.default
36
- .readdirSync(migrationsDir)
37
- .filter((name) => /^\d{3,}_[A-Za-z0-9_.-]+\.sql$/.test(name))
38
- .sort()
39
- : [];
40
- let backupPath = null;
41
- if (existed && migrationFiles.length) {
42
- backupPath = `${databasePath}.bak-${new Date().toISOString().replace(/[:.]/g, "-")}`;
43
- node_fs_1.default.copyFileSync(databasePath, backupPath);
44
- }
45
- const open = opts?.openDatabase || platform_core_1.openNodeSqliteDatabase;
46
- const db = open(databasePath);
47
- const pragma = (sql) => {
48
- try {
49
- db.exec(sql);
50
- }
51
- catch {
52
- /* node:sqlite / better-sqlite3 */
53
- }
54
- };
55
- pragma("PRAGMA foreign_keys=ON");
56
- pragma("PRAGMA busy_timeout=5000");
57
- db.exec(`CREATE TABLE IF NOT EXISTS _plugin_migrations (
58
- name TEXT PRIMARY KEY, sha256 TEXT NOT NULL,
59
- applied_at TEXT NOT NULL DEFAULT (datetime('now'))
60
- )`);
61
- const applied = [];
62
- const skipped = [];
63
- try {
64
- for (const name of migrationFiles) {
65
- const sql = node_fs_1.default.readFileSync(node_path_1.default.join(migrationsDir, name), "utf8");
66
- const sha256 = node_crypto_1.default.createHash("sha256").update(sql).digest("hex");
67
- const previous = db
68
- .prepare(`SELECT sha256 FROM _plugin_migrations WHERE name=?`)
69
- .get(name);
70
- if (previous) {
71
- if (previous.sha256 !== sha256) {
72
- throw new Error(`migration déjà appliquée puis modifiée: ${name}`);
73
- }
74
- skipped.push(name);
75
- continue;
76
- }
77
- db.exec(sql);
78
- db.prepare(`INSERT INTO _plugin_migrations(name, sha256) VALUES (?, ?)`).run(name, sha256);
79
- applied.push(name);
80
- }
81
- return { databasePath, backupPath, applied, skipped };
82
- }
83
- catch (error) {
84
- db.close?.();
85
- if (backupPath)
86
- node_fs_1.default.copyFileSync(backupPath, databasePath);
87
- throw error;
88
- }
89
- finally {
90
- db.close?.();
91
- }
92
- }
93
- /** Entrée CLI (compilée en plugin-data.js côté marque). */
94
- function runPluginDataCli(argv = process.argv.slice(2)) {
95
- const [command, pluginDir] = argv;
96
- try {
97
- if (command !== "migrate" || !pluginDir) {
98
- throw new Error("Usage: plugin-data.js migrate <pluginDir>");
99
- }
100
- process.stdout.write(`${JSON.stringify(applyPluginDataMigrations(pluginDir))}\n`);
101
- }
102
- catch (error) {
103
- process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
104
- process.exit(1);
105
- }
106
- }
107
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/host/plugins/data.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;AA0BH,8DAoEC;AAGD,4CAeC;AA9GD,8DAAiC;AACjC,sDAAyB;AACzB,0DAA6B;AAC7B,0DAIgC;AAShC,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,yBAAyB,CACvC,cAAsB,EACtB,IAA4C;IAE5C,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACzD,iBAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,iBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACjD,CAAC,CAAC,iBAAE;aACC,WAAW,CAAC,aAAa,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5D,IAAI,EAAE;QACX,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QACrC,UAAU,GAAG,GAAG,YAAY,QAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QACrF,iBAAE,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,EAAE,YAAY,IAAI,sCAAsB,CAAC;IAC1D,MAAM,EAAE,GAAmB,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACjC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACnC,EAAE,CAAC,IAAI,CACL;;;MAGE,CACH,CAAC;IACF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,qBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,EAAE;iBAChB,OAAO,CAAC,oDAAoD,CAAC;iBAC7D,GAAG,CAAC,IAAI,CAAmC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,EAAE,CAAC,OAAO,CACR,4DAA4D,CAC7D,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,IAAI,UAAU;YAAE,iBAAE,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,SAAgB,gBAAgB,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,IAAI,CAC5D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- /**
3
- * Réexport platform-core — équivalent TF plugin-events (N1).
4
- * Pas de duplication : SoT = `@creezio/platform-core`.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.writePluginRuntimeState = exports.readPluginRuntimeState = exports.pluginSiteId = exports.pluginRuntimePath = exports.pluginN8nWebhookUrl = exports.pluginHookUrl = exports.pluginAcceptsHook = exports.PLUGIN_SITE_ID_SPAN = exports.PLUGIN_SITE_ID_BASE = exports.PLUGIN_RUNTIME_FILE = void 0;
8
- var platform_core_1 = require("@creezio/platform-core");
9
- Object.defineProperty(exports, "PLUGIN_RUNTIME_FILE", { enumerable: true, get: function () { return platform_core_1.PLUGIN_RUNTIME_FILE; } });
10
- Object.defineProperty(exports, "PLUGIN_SITE_ID_BASE", { enumerable: true, get: function () { return platform_core_1.PLUGIN_SITE_ID_BASE; } });
11
- Object.defineProperty(exports, "PLUGIN_SITE_ID_SPAN", { enumerable: true, get: function () { return platform_core_1.PLUGIN_SITE_ID_SPAN; } });
12
- Object.defineProperty(exports, "pluginAcceptsHook", { enumerable: true, get: function () { return platform_core_1.pluginAcceptsHook; } });
13
- Object.defineProperty(exports, "pluginHookUrl", { enumerable: true, get: function () { return platform_core_1.pluginHookUrl; } });
14
- Object.defineProperty(exports, "pluginN8nWebhookUrl", { enumerable: true, get: function () { return platform_core_1.pluginN8nWebhookUrl; } });
15
- Object.defineProperty(exports, "pluginRuntimePath", { enumerable: true, get: function () { return platform_core_1.pluginRuntimePath; } });
16
- Object.defineProperty(exports, "pluginSiteId", { enumerable: true, get: function () { return platform_core_1.pluginSiteId; } });
17
- Object.defineProperty(exports, "readPluginRuntimeState", { enumerable: true, get: function () { return platform_core_1.readPluginRuntimeState; } });
18
- Object.defineProperty(exports, "writePluginRuntimeState", { enumerable: true, get: function () { return platform_core_1.writePluginRuntimeState; } });
19
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/host/plugins/events.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAagC;AAZ9B,oHAAA,mBAAmB,OAAA;AACnB,oHAAA,mBAAmB,OAAA;AACnB,oHAAA,mBAAmB,OAAA;AACnB,kHAAA,iBAAiB,OAAA;AACjB,8GAAA,aAAa,OAAA;AACb,oHAAA,mBAAmB,OAAA;AACnB,kHAAA,iBAAiB,OAAA;AACjB,6GAAA,YAAY,OAAA;AACZ,uHAAA,sBAAsB,OAAA;AACtB,wHAAA,uBAAuB,OAAA"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- /**
3
- * Réexport platform-core — équivalent TF plugin-execution-grant (N1).
4
- * Pas de duplication : SoT = `@creezio/platform-core`.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.verifyPluginExecutionGrant = exports.issuePluginExecutionGrant = void 0;
8
- var platform_core_1 = require("@creezio/platform-core");
9
- Object.defineProperty(exports, "issuePluginExecutionGrant", { enumerable: true, get: function () { return platform_core_1.issuePluginExecutionGrant; } });
10
- Object.defineProperty(exports, "verifyPluginExecutionGrant", { enumerable: true, get: function () { return platform_core_1.verifyPluginExecutionGrant; } });
11
- //# sourceMappingURL=execution-grant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execution-grant.js","sourceRoot":"","sources":["../../../src/host/plugins/execution-grant.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAKgC;AAJ9B,0HAAA,yBAAyB,OAAA;AACzB,2HAAA,0BAA0B,OAAA"}
@@ -1,371 +0,0 @@
1
- "use strict";
2
- /**
3
- * Versioning Git local par plugin — port TF gold plugin-git.ts (N1).
4
- * Injection marque : gitBinary / userDataDir / isPackaged / applyOsSandboxEnv / identité git.
5
- */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.resetGitBinaryCache = resetGitBinaryCache;
11
- exports.resolveGitBinary = resolveGitBinary;
12
- exports.isPluginGitRepo = isPluginGitRepo;
13
- exports.bumpPluginManifestPatch = bumpPluginManifestPatch;
14
- exports.ensurePluginGitRepo = ensurePluginGitRepo;
15
- exports.commitPluginChanges = commitPluginChanges;
16
- exports.listPluginVersions = listPluginVersions;
17
- exports.restorePluginVersion = restorePluginVersion;
18
- exports.getPluginGitStatus = getPluginGitStatus;
19
- const node_child_process_1 = require("node:child_process");
20
- const node_fs_1 = __importDefault(require("node:fs"));
21
- const node_path_1 = __importDefault(require("node:path"));
22
- const node_util_1 = require("node:util");
23
- const platform_core_1 = require("@creezio/platform-core");
24
- const brand_bindings_js_1 = require("./brand-bindings.js");
25
- const execFileAsync = (0, node_util_1.promisify)(node_child_process_1.execFile);
26
- function pluginGitignore(bindings) {
27
- const keyFile = (0, brand_bindings_js_1.pluginCrmKeyFileName)(bindings);
28
- return `# ${bindings.productName} plugin — ne pas versionner secrets / runtime
29
- .enabled
30
- ${keyFile}
31
- .tempoflow-plugin-api-key.json
32
- os-home/
33
- node_modules/
34
- *.log
35
- .DS_Store
36
- `;
37
- }
38
- let gitBinCache;
39
- /** Invalide le cache (tests). */
40
- function resetGitBinaryCache() {
41
- gitBinCache = undefined;
42
- }
43
- function forceEmbeddedGitEnvKey(bindings) {
44
- if (bindings.forceEmbeddedGitEnvKey)
45
- return bindings.forceEmbeddedGitEnvKey;
46
- const alias = bindings.legacyEnvAliases?.[0];
47
- return `${alias || bindings.envPrefix}_FORCE_EMBEDDED_GIT`;
48
- }
49
- /**
50
- * Résout le binaire git — SANDBOX UNIQUEMENT (même règles TF gold).
51
- */
52
- async function resolveGitBinary() {
53
- if (gitBinCache !== undefined)
54
- return gitBinCache;
55
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
56
- const embedded = bindings.gitBinary();
57
- if (embedded) {
58
- if (process.platform === "win32" ||
59
- process.env[forceEmbeddedGitEnvKey(bindings)] === "1" ||
60
- !embedded.endsWith(".exe")) {
61
- gitBinCache = embedded;
62
- return gitBinCache;
63
- }
64
- }
65
- if (bindings.isPackaged()) {
66
- gitBinCache = null;
67
- return gitBinCache;
68
- }
69
- const devCandidates = process.platform === "win32"
70
- ? []
71
- : ["/usr/bin/git", "/usr/local/bin/git", "/bin/git"];
72
- gitBinCache = devCandidates.find((p) => node_fs_1.default.existsSync(p)) || null;
73
- return gitBinCache;
74
- }
75
- function mingitProcessEnv(bin) {
76
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
77
- const identity = (0, brand_bindings_js_1.pluginGitIdentity)(bindings);
78
- let env = {
79
- ...process.env,
80
- GIT_TERMINAL_PROMPT: "0",
81
- GIT_AUTHOR_NAME: identity.name,
82
- GIT_AUTHOR_EMAIL: identity.email,
83
- GIT_COMMITTER_NAME: identity.name,
84
- GIT_COMMITTER_EMAIL: identity.email,
85
- };
86
- const norm = bin.replace(/\\/g, "/");
87
- const toolDirs = [node_path_1.default.dirname(bin)];
88
- if (norm.endsWith("/cmd/git.exe") || norm.endsWith("/cmd/git")) {
89
- const root = node_path_1.default.dirname(node_path_1.default.dirname(bin));
90
- toolDirs.push(...[
91
- node_path_1.default.join(root, "cmd"),
92
- node_path_1.default.join(root, "mingw64", "bin"),
93
- node_path_1.default.join(root, "usr", "bin"),
94
- ].filter((p) => node_fs_1.default.existsSync(p)));
95
- }
96
- try {
97
- const apply = (0, brand_bindings_js_1.resolveApplyOsSandboxEnv)(bindings);
98
- env = apply({
99
- env,
100
- profileHome: node_path_1.default.join(bindings.userDataDir(), "plugins", ".git-home"),
101
- userData: bindings.userDataDir(),
102
- toolDirs,
103
- });
104
- }
105
- catch {
106
- /* hors app Electron (tests) : env non confiné acceptable */
107
- }
108
- return env;
109
- }
110
- async function git(cwd, args, opts) {
111
- const bin = await resolveGitBinary();
112
- if (!bin) {
113
- return { code: 127, stdout: "", stderr: "git introuvable" };
114
- }
115
- try {
116
- const { stdout, stderr } = await execFileAsync(bin, args, {
117
- cwd,
118
- timeout: 30_000,
119
- windowsHide: true,
120
- env: mingitProcessEnv(bin),
121
- maxBuffer: 2 * 1024 * 1024,
122
- });
123
- return {
124
- code: 0,
125
- stdout: String(stdout || ""),
126
- stderr: String(stderr || ""),
127
- };
128
- }
129
- catch (e) {
130
- const err = e;
131
- if (opts?.allowFail) {
132
- return {
133
- code: typeof err.code === "number" ? err.code : 1,
134
- stdout: String(err.stdout || ""),
135
- stderr: String(err.stderr || err.message || ""),
136
- };
137
- }
138
- throw new Error(String(err.stderr || err.message || "git failed").trim() || "git failed");
139
- }
140
- }
141
- function isPluginGitRepo(pluginDir) {
142
- return node_fs_1.default.existsSync(node_path_1.default.join(pluginDir, ".git"));
143
- }
144
- function ensureGitignore(pluginDir) {
145
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
146
- const p = node_path_1.default.join(pluginDir, ".gitignore");
147
- if (!node_fs_1.default.existsSync(p)) {
148
- node_fs_1.default.writeFileSync(p, pluginGitignore(bindings), "utf8");
149
- }
150
- }
151
- /** Bump patch du manifest.version (0.1.0 → 0.1.1). */
152
- function bumpPluginManifestPatch(pluginDir) {
153
- const mfPath = node_path_1.default.join(pluginDir, platform_core_1.PLUGIN_MANIFEST_FILE);
154
- try {
155
- const raw = JSON.parse(node_fs_1.default.readFileSync(mfPath, "utf8"));
156
- const cur = String(raw.version || "0.1.0").trim();
157
- const m = cur.match(/^(\d+)\.(\d+)\.(\d+)(.*)$/);
158
- let next;
159
- if (m) {
160
- next = `${m[1]}.${m[2]}.${Number(m[3]) + 1}${m[4] || ""}`;
161
- }
162
- else {
163
- next = `${cur}.1`;
164
- }
165
- raw.version = next;
166
- node_fs_1.default.writeFileSync(mfPath, `${JSON.stringify(raw, null, 2)}\n`, "utf8");
167
- return next;
168
- }
169
- catch {
170
- return null;
171
- }
172
- }
173
- async function ensurePluginGitRepo(pluginDir, opts) {
174
- const bindings = (0, brand_bindings_js_1.getPluginHostBindings)();
175
- const identity = (0, brand_bindings_js_1.pluginGitIdentity)(bindings);
176
- const bin = await resolveGitBinary();
177
- if (!bin) {
178
- return { ok: false, detail: "git introuvable sur le PATH" };
179
- }
180
- ensureGitignore(pluginDir);
181
- if (!isPluginGitRepo(pluginDir)) {
182
- await git(pluginDir, ["init", "-b", "main"]);
183
- await git(pluginDir, ["config", "user.name", identity.name]);
184
- await git(pluginDir, ["config", "user.email", identity.email]);
185
- }
186
- await git(pluginDir, ["add", "-A"]);
187
- const st = await git(pluginDir, ["status", "--porcelain"], { allowFail: true });
188
- if (!st.stdout.trim()) {
189
- const log = await git(pluginDir, ["rev-parse", "HEAD"], { allowFail: true });
190
- if (log.code !== 0) {
191
- await git(pluginDir, [
192
- "commit",
193
- "--allow-empty",
194
- "-m",
195
- opts?.message || "chore: init plugin",
196
- ]);
197
- return { ok: true, detail: "init + commit vide" };
198
- }
199
- return { ok: true, detail: "déjà à jour" };
200
- }
201
- await git(pluginDir, [
202
- "commit",
203
- "-m",
204
- opts?.message || "chore: init plugin",
205
- ]);
206
- return { ok: true, detail: "init + commit" };
207
- }
208
- async function commitPluginChanges(pluginDir, message, opts) {
209
- const bin = await resolveGitBinary();
210
- if (!bin) {
211
- return {
212
- ok: false,
213
- sha: null,
214
- version: null,
215
- detail: "git introuvable",
216
- };
217
- }
218
- ensureGitignore(pluginDir);
219
- if (!isPluginGitRepo(pluginDir)) {
220
- await ensurePluginGitRepo(pluginDir, { message: "chore: init plugin" });
221
- }
222
- let version = null;
223
- if (opts?.bumpVersion !== false) {
224
- version = bumpPluginManifestPatch(pluginDir);
225
- }
226
- await git(pluginDir, ["add", "-A"]);
227
- const st = await git(pluginDir, ["status", "--porcelain"], { allowFail: true });
228
- if (!st.stdout.trim()) {
229
- const head = await git(pluginDir, ["rev-parse", "HEAD"], { allowFail: true });
230
- return {
231
- ok: true,
232
- sha: head.code === 0 ? head.stdout.trim() : null,
233
- version,
234
- detail: "aucun changement",
235
- };
236
- }
237
- const msg = String(message || "update").trim() || "update";
238
- const verSuffix = version ? ` (v${version})` : "";
239
- await git(pluginDir, ["commit", "-m", `${msg}${verSuffix}`]);
240
- const head = await git(pluginDir, ["rev-parse", "HEAD"]);
241
- return {
242
- ok: true,
243
- sha: head.stdout.trim(),
244
- version,
245
- detail: "committed",
246
- };
247
- }
248
- async function listPluginVersions(pluginDir, limit = 40) {
249
- const bin = await resolveGitBinary();
250
- if (!bin) {
251
- return {
252
- ok: false,
253
- available: false,
254
- commits: [],
255
- head: null,
256
- error: "git introuvable",
257
- };
258
- }
259
- if (!isPluginGitRepo(pluginDir)) {
260
- return { ok: true, available: true, commits: [], head: null };
261
- }
262
- const headR = await git(pluginDir, ["rev-parse", "HEAD"], { allowFail: true });
263
- const head = headR.code === 0 ? headR.stdout.trim() : null;
264
- const log = await git(pluginDir, [
265
- "log",
266
- `-n${Math.min(100, Math.max(1, limit))}`,
267
- "--format=%H%x09%h%x09%cI%x09%s",
268
- ], { allowFail: true });
269
- if (log.code !== 0) {
270
- return {
271
- ok: false,
272
- available: true,
273
- commits: [],
274
- head,
275
- error: log.stderr || "git log failed",
276
- };
277
- }
278
- const commits = [];
279
- for (const line of log.stdout.split("\n")) {
280
- if (!line.trim())
281
- continue;
282
- const [sha, shortSha, date, ...rest] = line.split("\t");
283
- if (!sha || !shortSha || !date)
284
- continue;
285
- commits.push({
286
- sha,
287
- shortSha,
288
- date,
289
- subject: rest.join("\t"),
290
- });
291
- }
292
- return { ok: true, available: true, commits, head };
293
- }
294
- async function restorePluginVersion(pluginDir, ref) {
295
- const bin = await resolveGitBinary();
296
- if (!bin) {
297
- return { ok: false, sha: null, detail: "git introuvable" };
298
- }
299
- if (!isPluginGitRepo(pluginDir)) {
300
- return { ok: false, sha: null, detail: "pas de dépôt git" };
301
- }
302
- const target = String(ref || "").trim();
303
- if (!/^[a-zA-Z0-9_./~^-]+$/.test(target) || target.includes("..")) {
304
- return { ok: false, sha: null, detail: "ref invalide" };
305
- }
306
- const rev = await git(pluginDir, ["rev-parse", "--verify", target], {
307
- allowFail: true,
308
- });
309
- if (rev.code !== 0) {
310
- return { ok: false, sha: null, detail: `commit inconnu: ${target}` };
311
- }
312
- const sha = rev.stdout.trim();
313
- await git(pluginDir, ["checkout", sha, "--", "."]);
314
- await git(pluginDir, ["clean", "-fd"], { allowFail: true });
315
- await git(pluginDir, ["add", "-A"]);
316
- const st = await git(pluginDir, ["status", "--porcelain"], { allowFail: true });
317
- if (st.stdout.trim()) {
318
- await git(pluginDir, [
319
- "commit",
320
- "-m",
321
- `revert: restore ${sha.slice(0, 7)}`,
322
- ]);
323
- }
324
- const head = await git(pluginDir, ["rev-parse", "HEAD"]);
325
- return {
326
- ok: true,
327
- sha: head.stdout.trim(),
328
- detail: `restauré depuis ${sha.slice(0, 7)}`,
329
- };
330
- }
331
- async function getPluginGitStatus(pluginDir) {
332
- const bin = await resolveGitBinary();
333
- if (!bin) {
334
- return {
335
- ok: false,
336
- available: false,
337
- head: null,
338
- shortHead: null,
339
- dirty: false,
340
- commits: 0,
341
- error: "git introuvable",
342
- };
343
- }
344
- if (!isPluginGitRepo(pluginDir)) {
345
- return {
346
- ok: true,
347
- available: true,
348
- head: null,
349
- shortHead: null,
350
- dirty: false,
351
- commits: 0,
352
- };
353
- }
354
- const headR = await git(pluginDir, ["rev-parse", "HEAD"], { allowFail: true });
355
- const head = headR.code === 0 ? headR.stdout.trim() : null;
356
- const short = head ? head.slice(0, 7) : null;
357
- const st = await git(pluginDir, ["status", "--porcelain"], { allowFail: true });
358
- const countR = await git(pluginDir, ["rev-list", "--count", "HEAD"], {
359
- allowFail: true,
360
- });
361
- const commits = countR.code === 0 ? Number(countR.stdout.trim()) || 0 : 0;
362
- return {
363
- ok: true,
364
- available: true,
365
- head,
366
- shortHead: short,
367
- dirty: Boolean(st.stdout.trim()),
368
- commits,
369
- };
370
- }
371
- //# sourceMappingURL=git.js.map