@withbuddi/buddi 0.1.0-pre.53 → 0.1.0-pre.54

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 (439) hide show
  1. package/extension/background.js +38 -7
  2. package/extension/manifest.json +2 -2
  3. package/extension/popup.html +2 -2
  4. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  5. package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts.map +1 -1
  6. package/node_modules/@buddi/cli/dist/dashboard-cmd.js +6 -3
  7. package/node_modules/@buddi/cli/dist/dashboard-cmd.js.map +1 -1
  8. package/node_modules/@buddi/cli/dist/main.js +2 -2
  9. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  10. package/node_modules/@buddi/cli/dist/status.d.ts +16 -2
  11. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
  12. package/node_modules/@buddi/cli/dist/status.js +42 -2
  13. package/node_modules/@buddi/cli/dist/status.js.map +1 -1
  14. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  15. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +6 -0
  16. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  17. package/node_modules/@buddi/core/dist/agents/catalog.js +1 -1
  18. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  19. package/node_modules/@buddi/core/dist/backup/archive.d.ts +6 -0
  20. package/node_modules/@buddi/core/dist/backup/archive.d.ts.map +1 -1
  21. package/node_modules/@buddi/core/dist/backup/archive.js +19 -6
  22. package/node_modules/@buddi/core/dist/backup/archive.js.map +1 -1
  23. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts +21 -1
  24. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts.map +1 -1
  25. package/node_modules/@buddi/core/dist/postgres/binaries.js +72 -10
  26. package/node_modules/@buddi/core/dist/postgres/binaries.js.map +1 -1
  27. package/node_modules/@buddi/core/dist/postgres/cluster.d.ts +8 -0
  28. package/node_modules/@buddi/core/dist/postgres/cluster.d.ts.map +1 -1
  29. package/node_modules/@buddi/core/dist/postgres/cluster.js +119 -17
  30. package/node_modules/@buddi/core/dist/postgres/cluster.js.map +1 -1
  31. package/node_modules/@buddi/core/dist/postgres/windows-guard.d.ts +20 -0
  32. package/node_modules/@buddi/core/dist/postgres/windows-guard.d.ts.map +1 -0
  33. package/node_modules/@buddi/core/dist/postgres/windows-guard.js +140 -0
  34. package/node_modules/@buddi/core/dist/postgres/windows-guard.js.map +1 -0
  35. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  36. package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts.map +1 -1
  37. package/node_modules/@buddi/gateway/dist/agents/catalog.js +3 -2
  38. package/node_modules/@buddi/gateway/dist/agents/catalog.js.map +1 -1
  39. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts +2 -2
  40. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  41. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +1 -1
  42. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -1
  43. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts +6 -6
  44. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  45. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +5 -5
  46. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -1
  47. package/node_modules/@buddi/gateway/dist/browser-host.js +1 -1
  48. package/node_modules/@buddi/gateway/dist/browser-host.js.map +1 -1
  49. package/node_modules/@buddi/gateway/dist/missions/chrome-scope.d.ts +10 -10
  50. package/node_modules/@buddi/gateway/dist/missions/chrome-scope.d.ts.map +1 -1
  51. package/node_modules/@buddi/gateway/dist/missions/chrome-scope.js +20 -20
  52. package/node_modules/@buddi/gateway/dist/missions/chrome-scope.js.map +1 -1
  53. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +2 -2
  54. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  55. package/node_modules/@buddi/gateway/dist/missions/execute.js +11 -11
  56. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  57. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts +2 -2
  58. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts.map +1 -1
  59. package/node_modules/@buddi/gateway/dist/missions/reminders.js +5 -5
  60. package/node_modules/@buddi/gateway/dist/missions/reminders.js.map +1 -1
  61. package/node_modules/@buddi/gateway/dist/owner-notify.js +1 -1
  62. package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -1
  63. package/node_modules/@buddi/gateway/dist/plugins/npm.d.ts +9 -2
  64. package/node_modules/@buddi/gateway/dist/plugins/npm.d.ts.map +1 -1
  65. package/node_modules/@buddi/gateway/dist/plugins/npm.js +29 -6
  66. package/node_modules/@buddi/gateway/dist/plugins/npm.js.map +1 -1
  67. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  68. package/node_modules/@buddi/gateway/dist/plugins/stage.js +2 -2
  69. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  70. package/node_modules/@buddi/gateway/dist/serve.js +1 -1
  71. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  72. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +1 -1
  73. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +1 -1
  74. package/node_modules/@buddi/gateway/dist/system-context.d.ts +11 -0
  75. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  76. package/node_modules/@buddi/gateway/dist/system-context.js +42 -1
  77. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  78. package/node_modules/@buddi/gateway/dist/telegram/approvals.js +1 -1
  79. package/node_modules/@buddi/gateway/dist/telegram/approvals.js.map +1 -1
  80. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +1 -1
  81. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
  82. package/node_modules/@buddi/gateway/dist/web/api-routes.js +6 -6
  83. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  84. package/node_modules/@buddi/gateway/dist/web/approval-ask.js +1 -1
  85. package/node_modules/@buddi/gateway/dist/web/extension.d.ts +6 -0
  86. package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
  87. package/node_modules/@buddi/gateway/dist/web/extension.js +22 -11
  88. package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
  89. package/node_modules/@buddi/gateway/dist/web/read.d.ts +1 -1
  90. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  91. package/node_modules/@buddi/gateway/dist/web/server.js +4 -4
  92. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  93. package/node_modules/@buddi/gateway/dist/web/service.d.ts +6 -1
  94. package/node_modules/@buddi/gateway/dist/web/service.d.ts.map +1 -1
  95. package/node_modules/@buddi/gateway/dist/web/service.js +10 -1
  96. package/node_modules/@buddi/gateway/dist/web/service.js.map +1 -1
  97. package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -1
  98. package/node_modules/@buddi/gateway/dist/web/skills.js +2 -1
  99. package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -1
  100. package/node_modules/@buddi/gateway/dist/web/write.d.ts +1 -1
  101. package/node_modules/@buddi/gateway/dist/web/write.js +1 -1
  102. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  103. package/node_modules/@buddi/install/dist/app-layout.d.ts +30 -1
  104. package/node_modules/@buddi/install/dist/app-layout.d.ts.map +1 -1
  105. package/node_modules/@buddi/install/dist/app-layout.js +61 -10
  106. package/node_modules/@buddi/install/dist/app-layout.js.map +1 -1
  107. package/node_modules/@buddi/install/dist/cloudflared.js +2 -2
  108. package/node_modules/@buddi/install/dist/cloudflared.js.map +1 -1
  109. package/node_modules/@buddi/install/dist/environment.d.ts +40 -1
  110. package/node_modules/@buddi/install/dist/environment.d.ts.map +1 -1
  111. package/node_modules/@buddi/install/dist/environment.js +158 -12
  112. package/node_modules/@buddi/install/dist/environment.js.map +1 -1
  113. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  114. package/node_modules/@buddi/install/dist/launcher.js +257 -50
  115. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  116. package/node_modules/@buddi/install/dist/postgres-check.js +1 -1
  117. package/node_modules/@buddi/install/dist/postgres-check.js.map +1 -1
  118. package/node_modules/@buddi/install/dist/product-uninstall.d.ts +14 -0
  119. package/node_modules/@buddi/install/dist/product-uninstall.d.ts.map +1 -1
  120. package/node_modules/@buddi/install/dist/product-uninstall.js +10 -0
  121. package/node_modules/@buddi/install/dist/product-uninstall.js.map +1 -1
  122. package/node_modules/@buddi/install/dist/runtime-info.d.ts.map +1 -1
  123. package/node_modules/@buddi/install/dist/runtime-info.js +4 -1
  124. package/node_modules/@buddi/install/dist/runtime-info.js.map +1 -1
  125. package/node_modules/@buddi/install/dist/supervisor.d.ts +60 -3
  126. package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
  127. package/node_modules/@buddi/install/dist/supervisor.js +173 -17
  128. package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
  129. package/node_modules/@buddi/install/dist/uninstall.d.ts +29 -3
  130. package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -1
  131. package/node_modules/@buddi/install/dist/uninstall.js +135 -27
  132. package/node_modules/@buddi/install/dist/uninstall.js.map +1 -1
  133. package/node_modules/@buddi/install/dist/upgrade.d.ts +16 -4
  134. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  135. package/node_modules/@buddi/install/dist/upgrade.js +50 -13
  136. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  137. package/node_modules/@buddi/install/dist/windows-install.d.ts +102 -0
  138. package/node_modules/@buddi/install/dist/windows-install.d.ts.map +1 -0
  139. package/node_modules/@buddi/install/dist/windows-install.js +223 -0
  140. package/node_modules/@buddi/install/dist/windows-install.js.map +1 -0
  141. package/node_modules/@buddi/install/dist/windows-setup.d.ts +107 -0
  142. package/node_modules/@buddi/install/dist/windows-setup.d.ts.map +1 -0
  143. package/node_modules/@buddi/install/dist/windows-setup.js +700 -0
  144. package/node_modules/@buddi/install/dist/windows-setup.js.map +1 -0
  145. package/node_modules/@buddi/install/dist/windows-task.d.ts +49 -0
  146. package/node_modules/@buddi/install/dist/windows-task.d.ts.map +1 -0
  147. package/node_modules/@buddi/install/dist/windows-task.js +167 -0
  148. package/node_modules/@buddi/install/dist/windows-task.js.map +1 -0
  149. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  150. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +1 -1
  151. package/node_modules/@buddi/runtime/dist/codex-direct.js +1 -1
  152. package/node_modules/@buddi/runtime/dist/openai.d.ts +11 -0
  153. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  154. package/node_modules/@buddi/runtime/dist/openai.js +36 -3
  155. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  156. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  157. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js +3 -3
  158. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js.map +1 -1
  159. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  160. package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
  161. package/node_modules/@buddi/tool-browser/dist/availability.js +1 -0
  162. package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
  163. package/node_modules/@buddi/tool-browser/dist/brand.d.ts +19 -0
  164. package/node_modules/@buddi/tool-browser/dist/brand.d.ts.map +1 -0
  165. package/node_modules/@buddi/tool-browser/dist/brand.js +31 -0
  166. package/node_modules/@buddi/tool-browser/dist/brand.js.map +1 -0
  167. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +2 -2
  168. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  169. package/node_modules/@buddi/tool-browser/dist/controller.js +16 -7
  170. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  171. package/node_modules/@buddi/tool-browser/dist/downloads.js +1 -1
  172. package/node_modules/@buddi/tool-browser/dist/downloads.js.map +1 -1
  173. package/node_modules/@buddi/tool-browser/dist/extension.d.ts +3 -1
  174. package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
  175. package/node_modules/@buddi/tool-browser/dist/extension.js +4 -4
  176. package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
  177. package/node_modules/@buddi/tool-browser/dist/index.d.ts +3 -2
  178. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  179. package/node_modules/@buddi/tool-browser/dist/index.js +7 -6
  180. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  181. package/node_modules/@buddi/tool-browser/dist/routes.d.ts +12 -1
  182. package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -1
  183. package/node_modules/@buddi/tool-browser/dist/routes.js +31 -14
  184. package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -1
  185. package/node_modules/@buddi/tool-browser/dist/service.d.ts +2 -0
  186. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  187. package/node_modules/@buddi/tool-browser/dist/service.js +6 -6
  188. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  189. package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts +2 -2
  190. package/node_modules/@buddi/tool-browser/dist/telemetry.js +2 -2
  191. package/node_modules/@buddi/tool-browser/dist/telemetry.js.map +1 -1
  192. package/node_modules/@buddi/tool-browser/dist/types.js +1 -1
  193. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  194. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  195. package/node_modules/@buddi/tool-host/dist/index.d.ts +2 -1
  196. package/node_modules/@buddi/tool-host/dist/index.d.ts.map +1 -1
  197. package/node_modules/@buddi/tool-host/dist/index.js +11 -2
  198. package/node_modules/@buddi/tool-host/dist/index.js.map +1 -1
  199. package/node_modules/@buddi/tool-host/dist/process.d.ts +58 -1
  200. package/node_modules/@buddi/tool-host/dist/process.d.ts.map +1 -1
  201. package/node_modules/@buddi/tool-host/dist/process.js +229 -15
  202. package/node_modules/@buddi/tool-host/dist/process.js.map +1 -1
  203. package/node_modules/@buddi/tool-host/dist/service.d.ts +2 -0
  204. package/node_modules/@buddi/tool-host/dist/service.d.ts.map +1 -1
  205. package/node_modules/@buddi/tool-host/dist/service.js +8 -6
  206. package/node_modules/@buddi/tool-host/dist/service.js.map +1 -1
  207. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts +10 -0
  208. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts.map +1 -1
  209. package/node_modules/@buddi/tool-host/dist/skill-run.js +14 -0
  210. package/node_modules/@buddi/tool-host/dist/skill-run.js.map +1 -1
  211. package/node_modules/ip-address/README.md +70 -70
  212. package/node_modules/ip-address/dist/ipv6.js +7 -4
  213. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  214. package/node_modules/ip-address/dist/v6/constants.d.ts +3 -0
  215. package/node_modules/ip-address/dist/v6/constants.js +3 -0
  216. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  217. package/node_modules/ip-address/package.json +2 -1
  218. package/node_modules/marked/bin/main.js +1 -1
  219. package/node_modules/marked/lib/marked.d.ts +6 -3
  220. package/node_modules/marked/lib/marked.esm.js +48 -50
  221. package/node_modules/marked/lib/marked.esm.js.map +3 -3
  222. package/node_modules/marked/lib/marked.umd.js +45 -47
  223. package/node_modules/marked/lib/marked.umd.js.map +3 -3
  224. package/node_modules/marked/man/marked.1 +1 -1
  225. package/node_modules/marked/package.json +1 -1
  226. package/package.json +2 -2
  227. package/packages/cli/dist/.tsbuildinfo +1 -1
  228. package/packages/cli/dist/dashboard-cmd.d.ts.map +1 -1
  229. package/packages/cli/dist/dashboard-cmd.js +6 -3
  230. package/packages/cli/dist/dashboard-cmd.js.map +1 -1
  231. package/packages/cli/dist/main.js +2 -2
  232. package/packages/cli/dist/main.js.map +1 -1
  233. package/packages/cli/dist/status.d.ts +16 -2
  234. package/packages/cli/dist/status.d.ts.map +1 -1
  235. package/packages/cli/dist/status.js +42 -2
  236. package/packages/cli/dist/status.js.map +1 -1
  237. package/packages/core/dist/.tsbuildinfo +1 -1
  238. package/packages/core/dist/agents/catalog.d.ts +6 -0
  239. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  240. package/packages/core/dist/agents/catalog.js +1 -1
  241. package/packages/core/dist/agents/catalog.js.map +1 -1
  242. package/packages/core/dist/backup/archive.d.ts +6 -0
  243. package/packages/core/dist/backup/archive.d.ts.map +1 -1
  244. package/packages/core/dist/backup/archive.js +19 -6
  245. package/packages/core/dist/backup/archive.js.map +1 -1
  246. package/packages/core/dist/postgres/binaries.d.ts +21 -1
  247. package/packages/core/dist/postgres/binaries.d.ts.map +1 -1
  248. package/packages/core/dist/postgres/binaries.js +72 -10
  249. package/packages/core/dist/postgres/binaries.js.map +1 -1
  250. package/packages/core/dist/postgres/cluster.d.ts +8 -0
  251. package/packages/core/dist/postgres/cluster.d.ts.map +1 -1
  252. package/packages/core/dist/postgres/cluster.js +119 -17
  253. package/packages/core/dist/postgres/cluster.js.map +1 -1
  254. package/packages/core/dist/postgres/windows-guard.d.ts +20 -0
  255. package/packages/core/dist/postgres/windows-guard.d.ts.map +1 -0
  256. package/packages/core/dist/postgres/windows-guard.js +140 -0
  257. package/packages/core/dist/postgres/windows-guard.js.map +1 -0
  258. package/packages/gateway/dist/.tsbuildinfo +1 -1
  259. package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
  260. package/packages/gateway/dist/agents/catalog.js +3 -2
  261. package/packages/gateway/dist/agents/catalog.js.map +1 -1
  262. package/packages/gateway/dist/agents/catalogue-package.d.ts +2 -2
  263. package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  264. package/packages/gateway/dist/agents/catalogue-package.js +1 -1
  265. package/packages/gateway/dist/agents/catalogue-package.js.map +1 -1
  266. package/packages/gateway/dist/agents/platform-catalogue.d.ts +6 -6
  267. package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  268. package/packages/gateway/dist/agents/platform-catalogue.js +5 -5
  269. package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -1
  270. package/packages/gateway/dist/browser-host.js +1 -1
  271. package/packages/gateway/dist/browser-host.js.map +1 -1
  272. package/packages/gateway/dist/missions/chrome-scope.d.ts +10 -10
  273. package/packages/gateway/dist/missions/chrome-scope.d.ts.map +1 -1
  274. package/packages/gateway/dist/missions/chrome-scope.js +20 -20
  275. package/packages/gateway/dist/missions/chrome-scope.js.map +1 -1
  276. package/packages/gateway/dist/missions/execute.d.ts +2 -2
  277. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  278. package/packages/gateway/dist/missions/execute.js +11 -11
  279. package/packages/gateway/dist/missions/execute.js.map +1 -1
  280. package/packages/gateway/dist/missions/reminders.d.ts +2 -2
  281. package/packages/gateway/dist/missions/reminders.d.ts.map +1 -1
  282. package/packages/gateway/dist/missions/reminders.js +5 -5
  283. package/packages/gateway/dist/missions/reminders.js.map +1 -1
  284. package/packages/gateway/dist/owner-notify.js +1 -1
  285. package/packages/gateway/dist/owner-notify.js.map +1 -1
  286. package/packages/gateway/dist/plugins/npm.d.ts +9 -2
  287. package/packages/gateway/dist/plugins/npm.d.ts.map +1 -1
  288. package/packages/gateway/dist/plugins/npm.js +29 -6
  289. package/packages/gateway/dist/plugins/npm.js.map +1 -1
  290. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  291. package/packages/gateway/dist/plugins/stage.js +2 -2
  292. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  293. package/packages/gateway/dist/serve.js +1 -1
  294. package/packages/gateway/dist/serve.js.map +1 -1
  295. package/packages/gateway/dist/surfaces/browser-cards.d.ts +1 -1
  296. package/packages/gateway/dist/surfaces/browser-cards.js +1 -1
  297. package/packages/gateway/dist/system-context.d.ts +11 -0
  298. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  299. package/packages/gateway/dist/system-context.js +42 -1
  300. package/packages/gateway/dist/system-context.js.map +1 -1
  301. package/packages/gateway/dist/telegram/approvals.js +1 -1
  302. package/packages/gateway/dist/telegram/approvals.js.map +1 -1
  303. package/packages/gateway/dist/telegram/browser-view.js +1 -1
  304. package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
  305. package/packages/gateway/dist/web/api-routes.js +6 -6
  306. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  307. package/packages/gateway/dist/web/approval-ask.js +1 -1
  308. package/packages/gateway/dist/web/extension.d.ts +6 -0
  309. package/packages/gateway/dist/web/extension.d.ts.map +1 -1
  310. package/packages/gateway/dist/web/extension.js +22 -11
  311. package/packages/gateway/dist/web/extension.js.map +1 -1
  312. package/packages/gateway/dist/web/read.d.ts +1 -1
  313. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  314. package/packages/gateway/dist/web/server.js +4 -4
  315. package/packages/gateway/dist/web/server.js.map +1 -1
  316. package/packages/gateway/dist/web/service.d.ts +6 -1
  317. package/packages/gateway/dist/web/service.d.ts.map +1 -1
  318. package/packages/gateway/dist/web/service.js +10 -1
  319. package/packages/gateway/dist/web/service.js.map +1 -1
  320. package/packages/gateway/dist/web/skills.d.ts.map +1 -1
  321. package/packages/gateway/dist/web/skills.js +2 -1
  322. package/packages/gateway/dist/web/skills.js.map +1 -1
  323. package/packages/gateway/dist/web/write.d.ts +1 -1
  324. package/packages/gateway/dist/web/write.js +1 -1
  325. package/packages/install/dist/.tsbuildinfo +1 -1
  326. package/packages/install/dist/app-layout.d.ts +30 -1
  327. package/packages/install/dist/app-layout.d.ts.map +1 -1
  328. package/packages/install/dist/app-layout.js +61 -10
  329. package/packages/install/dist/app-layout.js.map +1 -1
  330. package/packages/install/dist/cloudflared.js +2 -2
  331. package/packages/install/dist/cloudflared.js.map +1 -1
  332. package/packages/install/dist/environment.d.ts +40 -1
  333. package/packages/install/dist/environment.d.ts.map +1 -1
  334. package/packages/install/dist/environment.js +158 -12
  335. package/packages/install/dist/environment.js.map +1 -1
  336. package/packages/install/dist/launcher.d.ts.map +1 -1
  337. package/packages/install/dist/launcher.js +257 -50
  338. package/packages/install/dist/launcher.js.map +1 -1
  339. package/packages/install/dist/postgres-check.js +1 -1
  340. package/packages/install/dist/postgres-check.js.map +1 -1
  341. package/packages/install/dist/product-uninstall.d.ts +14 -0
  342. package/packages/install/dist/product-uninstall.d.ts.map +1 -1
  343. package/packages/install/dist/product-uninstall.js +10 -0
  344. package/packages/install/dist/product-uninstall.js.map +1 -1
  345. package/packages/install/dist/runtime-info.d.ts.map +1 -1
  346. package/packages/install/dist/runtime-info.js +4 -1
  347. package/packages/install/dist/runtime-info.js.map +1 -1
  348. package/packages/install/dist/supervisor.d.ts +60 -3
  349. package/packages/install/dist/supervisor.d.ts.map +1 -1
  350. package/packages/install/dist/supervisor.js +173 -17
  351. package/packages/install/dist/supervisor.js.map +1 -1
  352. package/packages/install/dist/uninstall.d.ts +29 -3
  353. package/packages/install/dist/uninstall.d.ts.map +1 -1
  354. package/packages/install/dist/uninstall.js +135 -27
  355. package/packages/install/dist/uninstall.js.map +1 -1
  356. package/packages/install/dist/upgrade.d.ts +16 -4
  357. package/packages/install/dist/upgrade.d.ts.map +1 -1
  358. package/packages/install/dist/upgrade.js +50 -13
  359. package/packages/install/dist/upgrade.js.map +1 -1
  360. package/packages/install/dist/windows-install.d.ts +102 -0
  361. package/packages/install/dist/windows-install.d.ts.map +1 -0
  362. package/packages/install/dist/windows-install.js +223 -0
  363. package/packages/install/dist/windows-install.js.map +1 -0
  364. package/packages/install/dist/windows-setup.d.ts +107 -0
  365. package/packages/install/dist/windows-setup.d.ts.map +1 -0
  366. package/packages/install/dist/windows-setup.js +700 -0
  367. package/packages/install/dist/windows-setup.js.map +1 -0
  368. package/packages/install/dist/windows-task.d.ts +49 -0
  369. package/packages/install/dist/windows-task.d.ts.map +1 -0
  370. package/packages/install/dist/windows-task.js +167 -0
  371. package/packages/install/dist/windows-task.js.map +1 -0
  372. package/packages/runtime/dist/.tsbuildinfo +1 -1
  373. package/packages/runtime/dist/codex-direct.d.ts +1 -1
  374. package/packages/runtime/dist/codex-direct.js +1 -1
  375. package/packages/runtime/dist/openai.d.ts +11 -0
  376. package/packages/runtime/dist/openai.d.ts.map +1 -1
  377. package/packages/runtime/dist/openai.js +36 -3
  378. package/packages/runtime/dist/openai.js.map +1 -1
  379. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  380. package/packages/tools/artifacts/dist/tools/write.js +3 -3
  381. package/packages/tools/artifacts/dist/tools/write.js.map +1 -1
  382. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  383. package/packages/tools/browser/dist/availability.d.ts.map +1 -1
  384. package/packages/tools/browser/dist/availability.js +1 -0
  385. package/packages/tools/browser/dist/availability.js.map +1 -1
  386. package/packages/tools/browser/dist/brand.d.ts +19 -0
  387. package/packages/tools/browser/dist/brand.d.ts.map +1 -0
  388. package/packages/tools/browser/dist/brand.js +31 -0
  389. package/packages/tools/browser/dist/brand.js.map +1 -0
  390. package/packages/tools/browser/dist/controller.d.ts +2 -2
  391. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  392. package/packages/tools/browser/dist/controller.js +16 -7
  393. package/packages/tools/browser/dist/controller.js.map +1 -1
  394. package/packages/tools/browser/dist/downloads.js +1 -1
  395. package/packages/tools/browser/dist/downloads.js.map +1 -1
  396. package/packages/tools/browser/dist/extension.d.ts +3 -1
  397. package/packages/tools/browser/dist/extension.d.ts.map +1 -1
  398. package/packages/tools/browser/dist/extension.js +4 -4
  399. package/packages/tools/browser/dist/extension.js.map +1 -1
  400. package/packages/tools/browser/dist/index.d.ts +3 -2
  401. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  402. package/packages/tools/browser/dist/index.js +7 -6
  403. package/packages/tools/browser/dist/index.js.map +1 -1
  404. package/packages/tools/browser/dist/routes.d.ts +12 -1
  405. package/packages/tools/browser/dist/routes.d.ts.map +1 -1
  406. package/packages/tools/browser/dist/routes.js +31 -14
  407. package/packages/tools/browser/dist/routes.js.map +1 -1
  408. package/packages/tools/browser/dist/service.d.ts +2 -0
  409. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  410. package/packages/tools/browser/dist/service.js +6 -6
  411. package/packages/tools/browser/dist/service.js.map +1 -1
  412. package/packages/tools/browser/dist/telemetry.d.ts +2 -2
  413. package/packages/tools/browser/dist/telemetry.js +2 -2
  414. package/packages/tools/browser/dist/telemetry.js.map +1 -1
  415. package/packages/tools/browser/dist/types.js +1 -1
  416. package/packages/tools/browser/dist/types.js.map +1 -1
  417. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  418. package/packages/tools/host/dist/index.d.ts +2 -1
  419. package/packages/tools/host/dist/index.d.ts.map +1 -1
  420. package/packages/tools/host/dist/index.js +11 -2
  421. package/packages/tools/host/dist/index.js.map +1 -1
  422. package/packages/tools/host/dist/process.d.ts +58 -1
  423. package/packages/tools/host/dist/process.d.ts.map +1 -1
  424. package/packages/tools/host/dist/process.js +229 -15
  425. package/packages/tools/host/dist/process.js.map +1 -1
  426. package/packages/tools/host/dist/service.d.ts +2 -0
  427. package/packages/tools/host/dist/service.d.ts.map +1 -1
  428. package/packages/tools/host/dist/service.js +8 -6
  429. package/packages/tools/host/dist/service.js.map +1 -1
  430. package/packages/tools/host/dist/skill-run.d.ts +10 -0
  431. package/packages/tools/host/dist/skill-run.d.ts.map +1 -1
  432. package/packages/tools/host/dist/skill-run.js +14 -0
  433. package/packages/tools/host/dist/skill-run.js.map +1 -1
  434. package/packages/web/dist/assets/index-DnZhfnM7.js +155 -0
  435. package/packages/web/dist/assets/{lottie_light-twPed1FM.js → lottie_light-CGUtDt_b.js} +1 -1
  436. package/packages/web/dist/build.json +1 -1
  437. package/packages/web/dist/index.html +1 -1
  438. package/packages/web/dist/precache.json +3 -3
  439. package/packages/web/dist/assets/index-DgpPl0TR.js +0 -155
@@ -11,16 +11,19 @@ import { createServer } from 'node:http';
11
11
  import { spawn, execFile } from 'node:child_process';
12
12
  import { createWriteStream, existsSync, openSync, closeSync, mkdirSync, readFileSync, realpathSync, rmSync } from 'node:fs';
13
13
  import { readFile, chmod, unlink, lstat, mkdir, rename, copyFile, rm, writeFile } from 'node:fs/promises';
14
+ import { randomBytes } from 'node:crypto';
14
15
  import os from 'node:os';
15
16
  import path from 'node:path';
16
17
  import { fileURLToPath } from 'node:url';
17
- import { GATEWAY_PID_FILE, acquireLock, initialize, atomicJson, stopChild, portMovedLines, launchAgentLabel, launchAgentPlist, systemdUnitPath, nativeEnvironment, SERVICE_UNIT_VAR } from './environment.js';
18
- import { APP_UNINSTALL_EXIT, UNINSTALL_REQUEST, createProductUninstall } from './product-uninstall.js';
18
+ import { GATEWAY_PID_FILE, KEPT_FOR_REINSTALL_FILE, acquireLock, lockHolder, initialize, atomicJson, stopChild, portMovedLines, launchAgentLabel, launchAgentPlist, systemdUnitPath, nativeEnvironment, SERVICE_UNIT_VAR } from './environment.js';
19
+ import { APP_UNINSTALL_EXIT, UNINSTALL_REQUEST, createProductUninstall, desktopAppOnThisComputer } from './product-uninstall.js';
19
20
  import { installShim, shimsFor } from './cli-shim.js';
21
+ import { windowsTaskName, windowsTaskScript } from './windows-task.js';
22
+ import { nodeOutsideData, readWindowsInstallerRecord } from './windows-install.js';
20
23
  import { createBackupService, isIncomingPath, isSafeArchiveName, parseSchedule, sweepIncoming } from './backup.js';
21
24
  import { startDatabase } from './postgres.js';
22
25
  import { createUpgradeService, finishUpgrade, handOver, installedVersion, isVersion, recoverySentence, statusOnSocket, TICK_INTERVAL_MS } from './upgrade.js';
23
- import { APP_RESTART_EXIT, appLayout, appRuns, currentLauncher, linuxInstall } from './app-layout.js';
26
+ import { APP_RESTART_EXIT, appLayout, appRuns, currentLauncher, installerLayout, linuxInstall, windowsInstall } from './app-layout.js';
24
27
  import { createConnector } from './cloudflared.js';
25
28
  /** The launcher, as the supervisor spawns it for the gateway child. */
26
29
  const LAUNCHER = path.resolve(path.dirname(fileURLToPath(import.meta.url)), 'launcher.js');
@@ -38,10 +41,111 @@ export function pendingUpgrade(marker) {
38
41
  const named = [from, to, startedAt].every(value => typeof value === 'string' && value !== '');
39
42
  return named ? marker : undefined;
40
43
  }
41
- /** The control socket of the installation whose data directory this is. */
42
- export function supervisorSocket(data) {
44
+ /** Where a Windows supervisor records the name of its pipe, inside the private data directory. */
45
+ export const PIPE_NAME_FILE = 'supervisor.pipe';
46
+ /** The response header a Windows supervisor proves itself with: the secret beside its pipe's name. */
47
+ export const SUPERVISOR_SECRET_HEADER = 'x-buddi-supervisor';
48
+ /** The live supervisor's pipe name and secret (Windows), or nothing when `supervisor.lock` names no live process. */
49
+ export function supervisorPipe(data) {
50
+ if (lockHolder(data) === undefined)
51
+ return undefined;
52
+ const [name = '', secret = ''] = (() => { try {
53
+ return readFileSync(path.join(data, PIPE_NAME_FILE), 'utf8').split(/\r?\n/);
54
+ }
55
+ catch {
56
+ return [];
57
+ } })();
58
+ return /^buddi-supervisor-[0-9a-f]{32}$/.test(name) && /^[0-9a-f]{64}$/.test(secret) ? { name, secret } : undefined;
59
+ }
60
+ /**
61
+ * The control socket of the installation whose data directory this is. On
62
+ * Windows a named pipe instead (Node listens on no other kind of path there).
63
+ * A pipe's name is in a namespace every account shares and can list, and
64
+ * one created first by someone else would be answered by them; so the name
65
+ * is random, made afresh at each supervisor start, kept where only this
66
+ * account can read it (`supervisor.pipe` in the data directory, see
67
+ * protectDataDirectory) beside a secret every answer carries, and given out
68
+ * only while `supervisor.lock` names a live supervisor. Otherwise: a name
69
+ * nobody can have made, which no one answers.
70
+ */
71
+ export function supervisorSocket(data, platform = process.platform) {
72
+ if (platform === 'win32') {
73
+ const pipe = supervisorPipe(data);
74
+ return pipe !== undefined ? `\\\\.\\pipe\\${pipe.name}` : `\\\\.\\pipe\\buddi-supervisor-none-${randomBytes(16).toString('hex')}`;
75
+ }
43
76
  return path.join(data, 'supervisor.sock');
44
77
  }
78
+ /** Does an answer on this installation's socket come from its supervisor? Always, but on Windows (see supervisorSocket). */
79
+ export function answeredBySupervisor(data, headers, platform = process.platform) {
80
+ if (platform !== 'win32')
81
+ return true;
82
+ const secret = supervisorPipe(data)?.secret;
83
+ return secret !== undefined && headers[SUPERVISOR_SECRET_HEADER] === secret;
84
+ }
85
+ /** What a client says when the pipe answered without this supervisor's secret (Windows). */
86
+ export class NotOurSupervisor extends Error {
87
+ constructor() { super('Something other than this installation\'s supervisor answered on its pipe.'); }
88
+ }
89
+ /**
90
+ * A supervisor that holds the lock but does not answer yet is starting: its
91
+ * database, its migrations, then its socket (or pipe). It is waited for, never
92
+ * started again over it (that is what a sign-in race did: the task's
93
+ * supervisor starting while the desktop app ran `buddi --no-open`, which then
94
+ * tried to restart the service and could not reach it). Undefined when no
95
+ * supervisor holds the lock (any more). Throws when it has not answered in
96
+ * time, or at once when something else answers in its place: either way the
97
+ * caller must not start or restart anything over a live holder.
98
+ */
99
+ export async function awaitStartingSupervisor(holder, ask, options = {}) {
100
+ const { timeoutMs = 90_000, intervalMs = 500 } = options;
101
+ const sleep = options.sleep ?? ((ms) => new Promise(resolve => setTimeout(resolve, ms)));
102
+ const now = options.now ?? Date.now;
103
+ const since = now();
104
+ for (;;) {
105
+ const pid = holder();
106
+ if (pid === undefined)
107
+ return undefined;
108
+ try {
109
+ return await ask();
110
+ }
111
+ catch (error) {
112
+ if (error instanceof NotOurSupervisor)
113
+ throw error; /* not listening yet */
114
+ }
115
+ if (now() - since >= timeoutMs) {
116
+ throw new Error(`buddi is starting (supervisor pid ${pid}) and has not answered for ${Math.round(timeoutMs / 1000)} seconds. Its log is logs/supervisor.log in the data folder.`);
117
+ }
118
+ await sleep(intervalMs);
119
+ }
120
+ }
121
+ /**
122
+ * `buddi` with no command: the running supervisor's status, a starting one's
123
+ * once it answers, or undefined when none holds the lock (start one). Errors
124
+ * about a live holder (it never answered, something else answered) are
125
+ * thrown, never turned into "start another".
126
+ */
127
+ export async function runningOrStarting(ask, holder, options = {}) {
128
+ try {
129
+ return await ask();
130
+ }
131
+ catch (error) {
132
+ if (error instanceof NotOurSupervisor)
133
+ throw error;
134
+ if (holder() === undefined)
135
+ return undefined;
136
+ return await awaitStartingSupervisor(holder, ask, options);
137
+ }
138
+ }
139
+ /** A new pipe name and secret for this supervisor (Windows; elsewhere the socket's path is fixed). Called with the lock held; returns the secret. */
140
+ export async function nameSupervisorPipe(data, platform = process.platform) {
141
+ if (platform !== 'win32')
142
+ return undefined;
143
+ const file = path.join(data, PIPE_NAME_FILE);
144
+ const secret = randomBytes(32).toString('hex');
145
+ await writeFile(`${file}.tmp`, `buddi-supervisor-${randomBytes(16).toString('hex')}\n${secret}\n`, { mode: 0o600 });
146
+ await rename(`${file}.tmp`, file);
147
+ return secret;
148
+ }
45
149
  /** The moved-port line for `/status`, for a day after the move. */
46
150
  function portNotice(moved) {
47
151
  if (!moved || Date.now() - Date.parse(moved.at) > 24 * 60 * 60_000)
@@ -190,7 +294,7 @@ function optionalString(value) {
190
294
  * `<data>/incoming/`, and that is checked to be under that directory, resolved,
191
295
  * before it is passed on.
192
296
  */
193
- export function controlSocket({ status, action, backup, upgrade, data, uninstall, cli, connector }) {
297
+ export function controlSocket({ status, action, backup, upgrade, data, uninstall, cli, connector, exit }) {
194
298
  return createServer((req, res) => {
195
299
  void handle(req, res).catch(() => send(res, 500, { error: 'The supervisor could not complete that action.' }));
196
300
  });
@@ -208,6 +312,15 @@ export function controlSocket({ status, action, backup, upgrade, data, uninstall
208
312
  return send(res, 200, base);
209
313
  return send(res, 200, { ...base, recovery: await recovery(), lastBackupAt: await backup.lastBackupAt() });
210
314
  }
315
+ if (method === 'POST' && route === '/exit' && exit) {
316
+ if (backup?.busy())
317
+ return send(res, 409, { error: 'A restore is running.' });
318
+ if (upgrade?.busy())
319
+ return send(res, 409, { error: 'An upgrade is running.' });
320
+ send(res, 202, status());
321
+ exit();
322
+ return;
323
+ }
211
324
  if (method === 'POST' && ['/start', '/stop', '/restart'].includes(route)) {
212
325
  // One hand on the lever at a time: a restore is already stopping and
213
326
  // starting the gateway around a database it is replacing.
@@ -473,6 +586,20 @@ function normalizePassphraseText(input) {
473
586
  * can reach the path in that window either way.
474
587
  */
475
588
  export async function listenOnSocket(server, socket) {
589
+ // A Windows named pipe is no file: nothing to replace, and no mode to set.
590
+ // Node offers no access list for it, so it has the default one: full
591
+ // control for this account, administrators and SYSTEM, read-only for
592
+ // everyone else — not enough to write a request. Its random name, readable
593
+ // by this account alone, is what keeps others from finding or squatting it
594
+ // (supervisorSocket), and libuv creates it as the first instance, so a pipe
595
+ // of that name someone else made first fails the listen instead of sharing it.
596
+ if (socket.startsWith('\\\\.\\pipe\\')) {
597
+ await new Promise((resolve, reject) => {
598
+ server.once('error', reject);
599
+ server.listen(socket, () => resolve());
600
+ });
601
+ return;
602
+ }
476
603
  // Only a socket is replaced: a killed supervisor leaves exactly that. Any
477
604
  // other entry at the path is somebody else's, and refusing beats deleting it.
478
605
  try {
@@ -517,6 +644,7 @@ export async function supervise(ctx) {
517
644
  /** Has a pending upgrade been written into the history yet? */
518
645
  let resolved = false, pending;
519
646
  let desired = true, closing = false, chain = Promise.resolve();
647
+ let pipeSecret;
520
648
  let failures = 0;
521
649
  const stopGateway = async () => {
522
650
  desired = false;
@@ -533,11 +661,17 @@ export async function supervise(ctx) {
533
661
  const onSignal = () => { closing = true; desired = false; resolveShutdown(); };
534
662
  process.once('SIGINT', onSignal);
535
663
  process.once('SIGTERM', onSignal);
664
+ // Windows: its console closing (sign-out, shutdown) is the one signal node gets there.
665
+ if (process.platform === 'win32')
666
+ process.once('SIGHUP', onSignal);
536
667
  if (briefPid !== undefined) {
537
668
  unwatchBrief = watchBriefParent({ parent: briefPid, leave: why => { console.error(`supervisor: leaving the brief run: ${why}.`); onSignal(); } });
538
669
  }
539
670
  try {
540
671
  await initialize(ctx);
672
+ // Kept data that a buddi runs on again (buddi.app reinstalled on a Mac, where no setup clears it).
673
+ await rm(path.join(ctx.data, KEPT_FOR_REINSTALL_FILE), { force: true }).catch(() => { });
674
+ pipeSecret = await nameSupervisorPipe(ctx.data);
541
675
  const ready = ctx;
542
676
  /*
543
677
  * An upgrade that installed new code and handed over is finished here, by
@@ -602,7 +736,7 @@ export async function supervise(ctx) {
602
736
  // back and came up, so the upgrade is over without having arrived.
603
737
  console.error(entry.outcome === 'done'
604
738
  ? `upgrade: ${entry.from} to ${entry.to} finished.`
605
- : entry.step === 'finishing' ? `upgrade: ${entry.error}.` : recoverySentence(entry, { app: appRuns(process.env), linux: linuxInstall(process.env) }));
739
+ : entry.step === 'finishing' ? `upgrade: ${entry.error}.` : recoverySentence(entry, { app: appRuns(process.env), linux: linuxInstall(process.env), windows: windowsInstall(process.env) }));
606
740
  }
607
741
  else {
608
742
  ready.state.phase = 'ready';
@@ -618,7 +752,7 @@ export async function supervise(ctx) {
618
752
  if (closing || !database.alive || (child && child.exitCode === null && child.signalCode === null))
619
753
  return;
620
754
  const started = Date.now();
621
- child = spawn(process.execPath, [LAUNCHER, '__gateway'], { env: ready.env, stdio: ['ignore', 'pipe', 'pipe', 'ipc'] });
755
+ child = spawn(process.execPath, [LAUNCHER, '__gateway'], { env: ready.env, stdio: ['ignore', 'pipe', 'pipe', 'ipc'], windowsHide: true });
622
756
  console.error(`supervisor: gateway started (pid ${child.pid}).`);
623
757
  // Recorded, so a supervisor that dies and leaves it running is not taken
624
758
  // for a stranger holding the web port at the next start (environment.ts).
@@ -683,15 +817,25 @@ export async function supervise(ctx) {
683
817
  uninstall = createProductUninstall({
684
818
  data: ready.data, home, backup, appFinishes,
685
819
  plan: () => {
686
- const unit = process.platform === 'darwin' ? launchAgentPlist(ready.data, home) : process.platform === 'linux' ? systemdUnitPath(ready.data, ready.env, home) : undefined;
820
+ const unit = process.platform === 'darwin' ? launchAgentPlist(ready.data, home) : process.platform === 'linux' ? systemdUnitPath(ready.data, ready.env, home) : process.platform === 'win32' ? windowsTaskScript(ready.data) : undefined;
687
821
  const bundle = process.env.BUDDI_APP_BUNDLE?.trim();
822
+ const setupUninstaller = process.platform === 'win32'
823
+ ? readWindowsInstallerRecord((() => { try {
824
+ return readFileSync(path.join(ready.data, 'installer.json'), 'utf8');
825
+ }
826
+ catch {
827
+ return undefined;
828
+ } })()).uninstaller
829
+ : undefined;
830
+ const desktopApp = desktopAppOnThisComputer(process.platform, { exists: existsSync, ...(setupUninstaller === undefined ? {} : { setupUninstaller }) });
688
831
  return {
689
832
  data: ready.data,
690
833
  ...(core.vaultSelection({ env: ready.env }) === 'keychain' && ready.env.BUDDI_VAULT_SERVICE ? { keychain: ready.env.BUDDI_VAULT_SERVICE } : {}),
691
- ...(unit !== undefined && existsSync(unit) ? { service: process.platform === 'darwin' ? `launchd agent ${launchAgentLabel(ready.data)}` : `systemd user unit ${launchAgentLabel(ready.data)}.service` } : {}),
834
+ ...(unit !== undefined && existsSync(unit) ? { service: process.platform === 'darwin' ? `launchd agent ${launchAgentLabel(ready.data)}` : process.platform === 'win32' ? `Task Scheduler task ${windowsTaskName(launchAgentLabel(ready.data))}` : `systemd user unit ${launchAgentLabel(ready.data)}.service` } : {}),
692
835
  ...(appFinishes && bundle ? { app: bundle } : {}),
693
836
  backups: path.join(home, 'buddi-backups'),
694
837
  appFinishes,
838
+ ...(desktopApp === undefined ? {} : { desktopApp }),
695
839
  };
696
840
  },
697
841
  exists: existsSync,
@@ -718,11 +862,13 @@ export async function supervise(ctx) {
718
862
  const env = { ...nativeEnvironment(startEnv), BUDDI_DATA_DIR: ready.data,
719
863
  ...Object.fromEntries(['XDG_RUNTIME_DIR', 'DBUS_SESSION_BUS_ADDRESS'].filter(key => typeof startEnv[key] === 'string').map(key => [key, startEnv[key]])) };
720
864
  // systemd stops every process in the unit's cgroup with it: the uninstall runs in a transient scope of its own.
865
+ // Windows: a node from inside the data folder (the Windows install's) would keep it from being removed.
866
+ const node = nodeOutsideData(ready.data);
721
867
  const [command, args] = startEnv[SERVICE_UNIT_VAR]
722
868
  ? ['systemd-run', ['--user', '--collect', '--quiet', '--scope', process.execPath, LAUNCHER, ...argv]]
723
- : [process.execPath, [LAUNCHER, ...argv]];
869
+ : [node, [LAUNCHER, ...argv]];
724
870
  console.error(`supervisor: removing buddi; the account is in ${logFile}.`);
725
- const child = spawn(command, args, { detached: true, stdio: ['ignore', fd, fd], env, cwd: home });
871
+ const child = spawn(command, args, { detached: true, stdio: ['ignore', fd, fd], env, cwd: home, windowsHide: true });
726
872
  child.unref();
727
873
  closeSync(fd);
728
874
  },
@@ -790,7 +936,13 @@ export async function supervise(ctx) {
790
936
  await stopGateway(); if (name !== 'stop')
791
937
  start(); }); return chain; },
792
938
  backup, upgrade, data: ready.data, uninstall, cli, connector,
939
+ exit: () => { console.error('supervisor: asked to exit on the control socket.'); onSignal(); },
793
940
  });
941
+ if (pipeSecret !== undefined) {
942
+ const secret = pipeSecret;
943
+ // Before the routes answer: every reply says it is this supervisor's.
944
+ server.prependListener('request', (_req, res) => { res.setHeader(SUPERVISOR_SECRET_HEADER, secret); });
945
+ }
794
946
  await listenOnSocket(server, supervisorSocket(ready.data));
795
947
  if (briefly)
796
948
  console.error('supervisor: started briefly, for an uninstall\'s last backup; the gateway stays stopped.');
@@ -834,7 +986,7 @@ export async function supervise(ctx) {
834
986
  const entry = await finishUpgrade(ctx, pending, { ok: false, error: error instanceof Error ? error.message : String(error) }, 'starting')
835
987
  .catch(() => undefined);
836
988
  if (entry)
837
- console.error(recoverySentence(entry, { app: appRuns(process.env), linux: linuxInstall(process.env) }));
989
+ console.error(recoverySentence(entry, { app: appRuns(process.env), linux: linuxInstall(process.env), windows: windowsInstall(process.env) }));
838
990
  }
839
991
  throw error;
840
992
  }
@@ -865,9 +1017,13 @@ export async function supervise(ctx) {
865
1017
  }
866
1018
  finally {
867
1019
  log?.end();
1020
+ // Its pipe's name and secret go before the lock does (Windows).
1021
+ if (pipeSecret !== undefined)
1022
+ await rm(path.join(ctx.data, PIPE_NAME_FILE), { force: true });
868
1023
  await release();
869
1024
  process.removeListener('SIGINT', onSignal);
870
1025
  process.removeListener('SIGTERM', onSignal);
1026
+ process.removeListener('SIGHUP', onSignal);
871
1027
  }
872
1028
  }
873
1029
  // buddi.app finishes an uninstall the owner started in Settings → System (product-uninstall.ts).
@@ -886,8 +1042,8 @@ export async function supervise(ctx) {
886
1042
  if (handingOver) {
887
1043
  const marker = ctx.state?.upgrade;
888
1044
  const result = await handOver({
889
- // The Linux install's successor is `current`'s launcher, which the upgrade just switched.
890
- ctx, launcher: linuxInstall(process.env) ? currentLauncher(appLayout(process.env)) : LAUNCHER, env: startEnv,
1045
+ // An installer's successor (Linux, Windows) is `current`'s launcher, which the upgrade just switched.
1046
+ ctx, launcher: installerLayout(process.env) ? currentLauncher(appLayout(process.env)) : LAUNCHER, env: startEnv,
891
1047
  /*
892
1048
  * The successor is ready when it serves, not when it holds the lock: it
893
1049
  * takes the lock first and then starts a cluster and runs migrations,
@@ -895,7 +1051,7 @@ export async function supervise(ctx) {
895
1051
  * installed is the whole hand-over, observed rather than assumed.
896
1052
  */
897
1053
  ready: async () => {
898
- const status = await statusOnSocket(supervisorSocket(ctx.data));
1054
+ const status = await statusOnSocket(supervisorSocket(ctx.data), undefined, headers => answeredBySupervisor(ctx.data, headers));
899
1055
  if (status !== undefined && status.current === marker?.to)
900
1056
  return true;
901
1057
  /*
@@ -926,7 +1082,7 @@ export async function supervise(ctx) {
926
1082
  const entry = await finishUpgrade(ctx, marker, { ok: false, error: `the upgraded supervisor did not answer on ${supervisorSocket(ctx.data)}` }, 'starting')
927
1083
  .catch(() => undefined);
928
1084
  if (entry)
929
- console.error(recoverySentence(entry, { app: appRuns(process.env), linux: linuxInstall(process.env) }));
1085
+ console.error(recoverySentence(entry, { app: appRuns(process.env), linux: linuxInstall(process.env), windows: windowsInstall(process.env) }));
930
1086
  }
931
1087
  /*
932
1088
  * And then go, whatever is still holding the loop.
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface UninstallOptions {
12
12
  /** The flags `buddi uninstall` takes. Anything else is a usage error. */
13
13
  export declare function parseUninstallArgs(args: readonly string[]): UninstallOptions;
14
14
  /** The passphrase file written when there is no archive to put it beside. */
15
- export declare function loosePassphraseFile(dir: string, now: Date): string;
15
+ export declare function loosePassphraseFile(dir: string, now: Date, platform?: NodeJS.Platform | string): string;
16
16
  export interface ExecResult {
17
17
  code: number;
18
18
  stdout: string;
@@ -53,7 +53,10 @@ export interface PackagedUninstallDeps {
53
53
  now?: () => Date;
54
54
  /** The pid in `supervisor.lock` while that process is alive. */
55
55
  supervisorPid: () => number | undefined;
56
- signal: (pid: number, signal: NodeJS.Signals) => void;
56
+ /** Stop that supervisor. On Windows it asks on the socket, and rejects when the supervisor refuses. */
57
+ signal: (pid: number, signal: NodeJS.Signals) => void | Promise<void>;
58
+ /** A database still running on the cluster after its supervisor is gone (Windows, where it can outlive it). */
59
+ postmasterLeft?: () => boolean;
57
60
  /** The macOS keychain vault. Absent where the vault is the file (Linux). */
58
61
  keychain?: {
59
62
  service: string;
@@ -87,6 +90,14 @@ export interface PackagedUninstallDeps {
87
90
  * and `installer.json` says whether the installer turned on lingering.
88
91
  */
89
92
  linuxInstall?: LinuxInstallParts;
93
+ /**
94
+ * The Windows install (the setup, apps/windows): its program files live in
95
+ * the data directory as on Linux, its `buddi.cmd` and its uninstaller in
96
+ * %LOCALAPPDATA%\Programs\buddi.
97
+ */
98
+ windowsInstall?: WindowsInstallParts;
99
+ /** Start a program and leave it running (the setup's uninstaller, which outlives this process). */
100
+ launch?: (command: string, args: string[]) => Promise<void>;
90
101
  sleep: (ms: number) => Promise<void>;
91
102
  io: UninstallIo;
92
103
  }
@@ -102,11 +113,26 @@ export interface LinuxInstallParts {
102
113
  /** The app-grid and autostart entries the installer wrote (marked as its own). */
103
114
  desktopEntries?: string[];
104
115
  }
116
+ export interface WindowsInstallParts {
117
+ runtime: string;
118
+ releases: string;
119
+ /** `buddi.cmd`, when it is still there and still this installation's. */
120
+ command?: string;
121
+ commandOwned?: () => boolean;
122
+ /**
123
+ * The setup's uninstaller (`unins000.exe`), started at the end to remove the
124
+ * Apps & Features entry, the Start menu item, PATH and `buddi.cmd`. Absent
125
+ * when that uninstaller is the one running this.
126
+ */
127
+ uninstaller?: string;
128
+ }
105
129
  /** Where the last backup goes when the data directory is removed: out of it. */
106
- export declare function keptBackupsDir(home: string): string;
130
+ export declare function keptBackupsDir(home: string, platform?: NodeJS.Platform | string): string;
107
131
  export declare const PACKAGE_LINE = "Now remove the package: npm uninstall -g @withbuddi/buddi";
108
132
  /** The last line for the Linux install: nothing is left to remove by hand. */
109
133
  export declare const LINUX_LAST_LINE = "buddi is removed. To install it again: curl -fsSL https://withbuddi.com/install.sh | sh";
134
+ /** The last line for the Windows install: its uninstaller finishes the rest. */
135
+ export declare const WINDOWS_LAST_LINE = "buddi is removed. To install it again, download the setup from https://withbuddi.com";
110
136
  /** The last line when buddi.app owns the installation: the app is what is left. */
111
137
  export declare const APP_LAST_LINE = "Now move buddi.app to the Trash.";
112
138
  /** Refused while buddi.app runs the installation: the app would start it again, and its own route removes the app too. */
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}