@withbuddi/buddi 0.1.0-pre.18 → 0.1.0-pre.20

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 (635) hide show
  1. package/README.md +10 -4
  2. package/extension/background.js +38 -7
  3. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  4. package/node_modules/@buddi/cli/dist/args.d.ts +7 -0
  5. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  6. package/node_modules/@buddi/cli/dist/args.js +14 -0
  7. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  8. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  9. package/node_modules/@buddi/cli/dist/commands.js +37 -2
  10. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  11. package/node_modules/@buddi/cli/dist/dashboard-app.d.ts +6 -0
  12. package/node_modules/@buddi/cli/dist/dashboard-app.d.ts.map +1 -1
  13. package/node_modules/@buddi/cli/dist/dashboard-app.js +16 -1
  14. package/node_modules/@buddi/cli/dist/dashboard-app.js.map +1 -1
  15. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  16. package/node_modules/@buddi/cli/dist/doctor-probes.js +5 -2
  17. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  18. package/node_modules/@buddi/cli/dist/doctor.d.ts +16 -0
  19. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  20. package/node_modules/@buddi/cli/dist/doctor.js +18 -0
  21. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  22. package/node_modules/@buddi/cli/dist/index.d.ts +1 -0
  23. package/node_modules/@buddi/cli/dist/index.d.ts.map +1 -1
  24. package/node_modules/@buddi/cli/dist/index.js +1 -0
  25. package/node_modules/@buddi/cli/dist/index.js.map +1 -1
  26. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  27. package/node_modules/@buddi/cli/dist/main.js +22 -2
  28. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  29. package/node_modules/@buddi/cli/dist/status.d.ts +10 -0
  30. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
  31. package/node_modules/@buddi/cli/dist/status.js +4 -0
  32. package/node_modules/@buddi/cli/dist/status.js.map +1 -1
  33. package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts +42 -0
  34. package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts.map +1 -0
  35. package/node_modules/@buddi/cli/dist/uninstall-cmd.js +208 -0
  36. package/node_modules/@buddi/cli/dist/uninstall-cmd.js.map +1 -0
  37. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  38. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  39. package/node_modules/@buddi/core/dist/agents/catalog.js +7 -1
  40. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  41. package/node_modules/@buddi/core/dist/agents/models.d.ts.map +1 -1
  42. package/node_modules/@buddi/core/dist/agents/models.js +4 -3
  43. package/node_modules/@buddi/core/dist/agents/models.js.map +1 -1
  44. package/node_modules/@buddi/core/dist/agents/skills.d.ts +2 -2
  45. package/node_modules/@buddi/core/dist/goals/frequency.d.ts +51 -0
  46. package/node_modules/@buddi/core/dist/goals/frequency.d.ts.map +1 -0
  47. package/node_modules/@buddi/core/dist/goals/frequency.js +113 -0
  48. package/node_modules/@buddi/core/dist/goals/frequency.js.map +1 -0
  49. package/node_modules/@buddi/core/dist/goals/index.d.ts +2 -0
  50. package/node_modules/@buddi/core/dist/goals/index.d.ts.map +1 -1
  51. package/node_modules/@buddi/core/dist/goals/index.js +2 -0
  52. package/node_modules/@buddi/core/dist/goals/index.js.map +1 -1
  53. package/node_modules/@buddi/core/dist/goals/math.d.ts +8 -2
  54. package/node_modules/@buddi/core/dist/goals/math.d.ts.map +1 -1
  55. package/node_modules/@buddi/core/dist/goals/math.js +17 -4
  56. package/node_modules/@buddi/core/dist/goals/math.js.map +1 -1
  57. package/node_modules/@buddi/core/dist/goals/owner.d.ts +129 -0
  58. package/node_modules/@buddi/core/dist/goals/owner.d.ts.map +1 -0
  59. package/node_modules/@buddi/core/dist/goals/owner.js +239 -0
  60. package/node_modules/@buddi/core/dist/goals/owner.js.map +1 -0
  61. package/node_modules/@buddi/core/dist/goals/store.d.ts.map +1 -1
  62. package/node_modules/@buddi/core/dist/goals/store.js +11 -4
  63. package/node_modules/@buddi/core/dist/goals/store.js.map +1 -1
  64. package/node_modules/@buddi/core/dist/goals/types.d.ts +17 -3
  65. package/node_modules/@buddi/core/dist/goals/types.d.ts.map +1 -1
  66. package/node_modules/@buddi/core/dist/goals/types.js +8 -2
  67. package/node_modules/@buddi/core/dist/goals/types.js.map +1 -1
  68. package/node_modules/@buddi/core/dist/learning/announce.d.ts +29 -0
  69. package/node_modules/@buddi/core/dist/learning/announce.d.ts.map +1 -0
  70. package/node_modules/@buddi/core/dist/learning/announce.js +49 -0
  71. package/node_modules/@buddi/core/dist/learning/announce.js.map +1 -0
  72. package/node_modules/@buddi/core/dist/learning/index.d.ts +1 -0
  73. package/node_modules/@buddi/core/dist/learning/index.d.ts.map +1 -1
  74. package/node_modules/@buddi/core/dist/learning/index.js +1 -0
  75. package/node_modules/@buddi/core/dist/learning/index.js.map +1 -1
  76. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  77. package/node_modules/@buddi/core/dist/learning/store.js +15 -4
  78. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  79. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
  80. package/node_modules/@buddi/core/dist/notifications/notify.js +1 -0
  81. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
  82. package/node_modules/@buddi/core/dist/notifications/store.d.ts +2 -0
  83. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
  84. package/node_modules/@buddi/core/dist/notifications/store.js +9 -0
  85. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
  86. package/node_modules/@buddi/core/dist/notifications/types.d.ts +6 -0
  87. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
  88. package/node_modules/@buddi/core/dist/pages.d.ts +2 -2
  89. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +7 -1
  90. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  91. package/node_modules/@buddi/core/dist/provider-accounts.js +14 -1
  92. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  93. package/node_modules/@buddi/core/dist/provider.d.ts +6 -0
  94. package/node_modules/@buddi/core/dist/provider.d.ts.map +1 -1
  95. package/node_modules/@buddi/core/dist/provider.js.map +1 -1
  96. package/node_modules/@buddi/core/dist/sentinels/run.d.ts.map +1 -1
  97. package/node_modules/@buddi/core/dist/sentinels/run.js +4 -1
  98. package/node_modules/@buddi/core/dist/sentinels/run.js.map +1 -1
  99. package/node_modules/@buddi/core/dist/sentinels/types.d.ts +20 -0
  100. package/node_modules/@buddi/core/dist/sentinels/types.d.ts.map +1 -1
  101. package/node_modules/@buddi/core/dist/sentinels/types.js.map +1 -1
  102. package/node_modules/@buddi/core/dist/surfaces.d.ts +2 -0
  103. package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
  104. package/node_modules/@buddi/core/dist/surfaces.js +7 -0
  105. package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
  106. package/node_modules/@buddi/core/dist/uninstall.d.ts +79 -0
  107. package/node_modules/@buddi/core/dist/uninstall.d.ts.map +1 -0
  108. package/node_modules/@buddi/core/dist/uninstall.js +109 -0
  109. package/node_modules/@buddi/core/dist/uninstall.js.map +1 -0
  110. package/node_modules/@buddi/core/dist/views.d.ts +66 -66
  111. package/node_modules/@buddi/core/migrations/044_owner_metrics.sql +45 -0
  112. package/node_modules/@buddi/core/migrations/045_frequency_goals.sql +19 -0
  113. package/node_modules/@buddi/core/migrations/046_ollama_device_key.sql +7 -0
  114. package/node_modules/@buddi/core/migrations/047_reported_context_windows.sql +5 -0
  115. package/node_modules/@buddi/core/package.json +4 -0
  116. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  117. package/node_modules/@buddi/gateway/dist/chat/usage.d.ts.map +1 -1
  118. package/node_modules/@buddi/gateway/dist/chat/usage.js +1 -0
  119. package/node_modules/@buddi/gateway/dist/chat/usage.js.map +1 -1
  120. package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +24 -11
  121. package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
  122. package/node_modules/@buddi/gateway/dist/codex-accounts.js +151 -215
  123. package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
  124. package/node_modules/@buddi/gateway/dist/index.d.ts +2 -0
  125. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  126. package/node_modules/@buddi/gateway/dist/index.js +2 -0
  127. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  128. package/node_modules/@buddi/gateway/dist/missions/agent-run.d.ts.map +1 -1
  129. package/node_modules/@buddi/gateway/dist/missions/agent-run.js +1 -0
  130. package/node_modules/@buddi/gateway/dist/missions/agent-run.js.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +7 -0
  132. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/missions/execute.js +3 -1
  134. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  135. package/node_modules/@buddi/gateway/dist/missions/goals-format.d.ts +32 -5
  136. package/node_modules/@buddi/gateway/dist/missions/goals-format.d.ts.map +1 -1
  137. package/node_modules/@buddi/gateway/dist/missions/goals-format.js +59 -2
  138. package/node_modules/@buddi/gateway/dist/missions/goals-format.js.map +1 -1
  139. package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts +60 -5
  140. package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/missions/goals-page.js +355 -8
  142. package/node_modules/@buddi/gateway/dist/missions/goals-page.js.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/missions/goals.d.ts +64 -5
  144. package/node_modules/@buddi/gateway/dist/missions/goals.d.ts.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/missions/goals.js +834 -116
  146. package/node_modules/@buddi/gateway/dist/missions/goals.js.map +1 -1
  147. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts +5 -0
  148. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  149. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js +12 -0
  150. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js.map +1 -1
  151. package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts +87 -0
  152. package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts.map +1 -0
  153. package/node_modules/@buddi/gateway/dist/ollama-accounts.js +179 -0
  154. package/node_modules/@buddi/gateway/dist/ollama-accounts.js.map +1 -0
  155. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts +2 -1
  156. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts.map +1 -1
  157. package/node_modules/@buddi/gateway/dist/owner-notify.js +6 -2
  158. package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -1
  159. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +47 -1
  160. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  161. package/node_modules/@buddi/gateway/dist/provider-accounts.js +204 -38
  162. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  163. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  164. package/node_modules/@buddi/gateway/dist/serve.js +1 -0
  165. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/subscription-signins.d.ts +28 -0
  167. package/node_modules/@buddi/gateway/dist/subscription-signins.d.ts.map +1 -0
  168. package/node_modules/@buddi/gateway/dist/subscription-signins.js +30 -0
  169. package/node_modules/@buddi/gateway/dist/subscription-signins.js.map +1 -0
  170. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
  171. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js +10 -3
  172. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js.map +1 -1
  173. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +43 -9
  174. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/telegram/api.js +80 -21
  176. package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/telegram/attachments.d.ts +6 -0
  178. package/node_modules/@buddi/gateway/dist/telegram/attachments.d.ts.map +1 -1
  179. package/node_modules/@buddi/gateway/dist/telegram/attachments.js +1 -0
  180. package/node_modules/@buddi/gateway/dist/telegram/attachments.js.map +1 -1
  181. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  182. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +2 -1
  183. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
  184. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +7 -1
  185. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  186. package/node_modules/@buddi/gateway/dist/telegram/channel.js +24 -2
  187. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  188. package/node_modules/@buddi/gateway/dist/telegram/commands.d.ts +28 -0
  189. package/node_modules/@buddi/gateway/dist/telegram/commands.d.ts.map +1 -0
  190. package/node_modules/@buddi/gateway/dist/telegram/commands.js +74 -0
  191. package/node_modules/@buddi/gateway/dist/telegram/commands.js.map +1 -0
  192. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts +3 -0
  193. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/telegram/main.js +71 -2
  195. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +191 -0
  197. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -0
  198. package/node_modules/@buddi/gateway/dist/telegram/outbound.js +671 -0
  199. package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -0
  200. package/node_modules/@buddi/gateway/dist/telegram/proposals.d.ts +65 -0
  201. package/node_modules/@buddi/gateway/dist/telegram/proposals.d.ts.map +1 -0
  202. package/node_modules/@buddi/gateway/dist/telegram/proposals.js +183 -0
  203. package/node_modules/@buddi/gateway/dist/telegram/proposals.js.map +1 -0
  204. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +47 -47
  205. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  206. package/node_modules/@buddi/gateway/dist/telegram/surface.js +99 -290
  207. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  208. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
  209. package/node_modules/@buddi/gateway/dist/web/onboarding.js +4 -0
  210. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  211. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
  212. package/node_modules/@buddi/gateway/dist/web/secrets.js +3 -2
  213. package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
  214. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  215. package/node_modules/@buddi/gateway/dist/web/server.js +36 -14
  216. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  217. package/node_modules/@buddi/gateway/dist/web/telegram.d.ts +39 -0
  218. package/node_modules/@buddi/gateway/dist/web/telegram.d.ts.map +1 -1
  219. package/node_modules/@buddi/gateway/dist/web/telegram.js +53 -1
  220. package/node_modules/@buddi/gateway/dist/web/telegram.js.map +1 -1
  221. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  222. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  223. package/node_modules/@buddi/install/dist/launcher.js +135 -10
  224. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  225. package/node_modules/@buddi/install/dist/uninstall.d.ts +59 -0
  226. package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -0
  227. package/node_modules/@buddi/install/dist/uninstall.js +260 -0
  228. package/node_modules/@buddi/install/dist/uninstall.js.map +1 -0
  229. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  230. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +55 -0
  231. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -0
  232. package/node_modules/@buddi/runtime/dist/codex-direct.js +334 -0
  233. package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -0
  234. package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +66 -0
  235. package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -0
  236. package/node_modules/@buddi/runtime/dist/codex-oauth.js +210 -0
  237. package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -0
  238. package/node_modules/@buddi/runtime/dist/codex-profile.d.ts +19 -0
  239. package/node_modules/@buddi/runtime/dist/codex-profile.d.ts.map +1 -0
  240. package/node_modules/@buddi/runtime/dist/codex-profile.js +99 -0
  241. package/node_modules/@buddi/runtime/dist/codex-profile.js.map +1 -0
  242. package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
  243. package/node_modules/@buddi/runtime/dist/context-window.js +9 -2
  244. package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
  245. package/node_modules/@buddi/runtime/dist/delegate.d.ts +24 -0
  246. package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
  247. package/node_modules/@buddi/runtime/dist/delegate.js +87 -11
  248. package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
  249. package/node_modules/@buddi/runtime/dist/index.d.ts +4 -4
  250. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  251. package/node_modules/@buddi/runtime/dist/index.js +5 -5
  252. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  253. package/node_modules/@buddi/runtime/dist/loop.d.ts +7 -0
  254. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  255. package/node_modules/@buddi/runtime/dist/loop.js +48 -8
  256. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  257. package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts +52 -0
  258. package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts.map +1 -0
  259. package/node_modules/@buddi/runtime/dist/ollama-signing.js +154 -0
  260. package/node_modules/@buddi/runtime/dist/ollama-signing.js.map +1 -0
  261. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  262. package/node_modules/@buddi/runtime/dist/openai.js +38 -9
  263. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  264. package/node_modules/@buddi/runtime/dist/provider-models.d.ts +2 -0
  265. package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
  266. package/node_modules/@buddi/runtime/dist/provider-models.js +8 -3
  267. package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
  268. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  269. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  270. package/node_modules/@buddi/tool-browser/dist/index.d.ts +1 -1
  271. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  272. package/node_modules/@buddi/tool-browser/dist/index.js +12 -4
  273. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  274. package/node_modules/@buddi/tool-browser/dist/origin-pattern.d.ts +31 -0
  275. package/node_modules/@buddi/tool-browser/dist/origin-pattern.d.ts.map +1 -0
  276. package/node_modules/@buddi/tool-browser/dist/origin-pattern.js +61 -0
  277. package/node_modules/@buddi/tool-browser/dist/origin-pattern.js.map +1 -0
  278. package/node_modules/@buddi/tool-browser/dist/public-suffixes.d.ts +24 -0
  279. package/node_modules/@buddi/tool-browser/dist/public-suffixes.d.ts.map +1 -0
  280. package/node_modules/@buddi/tool-browser/dist/public-suffixes.js +153 -0
  281. package/node_modules/@buddi/tool-browser/dist/public-suffixes.js.map +1 -0
  282. package/node_modules/@buddi/tool-browser/dist/secrets.d.ts +45 -9
  283. package/node_modules/@buddi/tool-browser/dist/secrets.d.ts.map +1 -1
  284. package/node_modules/@buddi/tool-browser/dist/secrets.js +77 -20
  285. package/node_modules/@buddi/tool-browser/dist/secrets.js.map +1 -1
  286. package/node_modules/@buddi/tool-browser/dist/service.d.ts +10 -0
  287. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  288. package/node_modules/@buddi/tool-browser/dist/service.js +84 -20
  289. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  290. package/node_modules/@buddi/tool-browser/dist/types.d.ts +7 -1
  291. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  292. package/node_modules/@buddi/tool-browser/dist/types.js +7 -1
  293. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  294. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  295. package/node_modules/@buddi/tool-email/dist/tools/read.js +1 -1
  296. package/node_modules/@buddi/tool-email/dist/tools/read.js.map +1 -1
  297. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  298. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  299. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  300. package/node_modules/ws/lib/websocket.js +17 -3
  301. package/node_modules/ws/package.json +1 -1
  302. package/package.json +2 -2
  303. package/packages/cli/dist/.tsbuildinfo +1 -1
  304. package/packages/cli/dist/args.d.ts +7 -0
  305. package/packages/cli/dist/args.d.ts.map +1 -1
  306. package/packages/cli/dist/args.js +14 -0
  307. package/packages/cli/dist/args.js.map +1 -1
  308. package/packages/cli/dist/commands.d.ts.map +1 -1
  309. package/packages/cli/dist/commands.js +37 -2
  310. package/packages/cli/dist/commands.js.map +1 -1
  311. package/packages/cli/dist/dashboard-app.d.ts +6 -0
  312. package/packages/cli/dist/dashboard-app.d.ts.map +1 -1
  313. package/packages/cli/dist/dashboard-app.js +16 -1
  314. package/packages/cli/dist/dashboard-app.js.map +1 -1
  315. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  316. package/packages/cli/dist/doctor-probes.js +5 -2
  317. package/packages/cli/dist/doctor-probes.js.map +1 -1
  318. package/packages/cli/dist/doctor.d.ts +16 -0
  319. package/packages/cli/dist/doctor.d.ts.map +1 -1
  320. package/packages/cli/dist/doctor.js +18 -0
  321. package/packages/cli/dist/doctor.js.map +1 -1
  322. package/packages/cli/dist/index.d.ts +1 -0
  323. package/packages/cli/dist/index.d.ts.map +1 -1
  324. package/packages/cli/dist/index.js +1 -0
  325. package/packages/cli/dist/index.js.map +1 -1
  326. package/packages/cli/dist/main.d.ts.map +1 -1
  327. package/packages/cli/dist/main.js +22 -2
  328. package/packages/cli/dist/main.js.map +1 -1
  329. package/packages/cli/dist/status.d.ts +10 -0
  330. package/packages/cli/dist/status.d.ts.map +1 -1
  331. package/packages/cli/dist/status.js +4 -0
  332. package/packages/cli/dist/status.js.map +1 -1
  333. package/packages/cli/dist/uninstall-cmd.d.ts +42 -0
  334. package/packages/cli/dist/uninstall-cmd.d.ts.map +1 -0
  335. package/packages/cli/dist/uninstall-cmd.js +208 -0
  336. package/packages/cli/dist/uninstall-cmd.js.map +1 -0
  337. package/packages/core/dist/.tsbuildinfo +1 -1
  338. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  339. package/packages/core/dist/agents/catalog.js +7 -1
  340. package/packages/core/dist/agents/catalog.js.map +1 -1
  341. package/packages/core/dist/agents/models.d.ts.map +1 -1
  342. package/packages/core/dist/agents/models.js +4 -3
  343. package/packages/core/dist/agents/models.js.map +1 -1
  344. package/packages/core/dist/agents/skills.d.ts +2 -2
  345. package/packages/core/dist/goals/frequency.d.ts +51 -0
  346. package/packages/core/dist/goals/frequency.d.ts.map +1 -0
  347. package/packages/core/dist/goals/frequency.js +113 -0
  348. package/packages/core/dist/goals/frequency.js.map +1 -0
  349. package/packages/core/dist/goals/index.d.ts +2 -0
  350. package/packages/core/dist/goals/index.d.ts.map +1 -1
  351. package/packages/core/dist/goals/index.js +2 -0
  352. package/packages/core/dist/goals/index.js.map +1 -1
  353. package/packages/core/dist/goals/math.d.ts +8 -2
  354. package/packages/core/dist/goals/math.d.ts.map +1 -1
  355. package/packages/core/dist/goals/math.js +17 -4
  356. package/packages/core/dist/goals/math.js.map +1 -1
  357. package/packages/core/dist/goals/owner.d.ts +129 -0
  358. package/packages/core/dist/goals/owner.d.ts.map +1 -0
  359. package/packages/core/dist/goals/owner.js +239 -0
  360. package/packages/core/dist/goals/owner.js.map +1 -0
  361. package/packages/core/dist/goals/store.d.ts.map +1 -1
  362. package/packages/core/dist/goals/store.js +11 -4
  363. package/packages/core/dist/goals/store.js.map +1 -1
  364. package/packages/core/dist/goals/types.d.ts +17 -3
  365. package/packages/core/dist/goals/types.d.ts.map +1 -1
  366. package/packages/core/dist/goals/types.js +8 -2
  367. package/packages/core/dist/goals/types.js.map +1 -1
  368. package/packages/core/dist/learning/announce.d.ts +29 -0
  369. package/packages/core/dist/learning/announce.d.ts.map +1 -0
  370. package/packages/core/dist/learning/announce.js +49 -0
  371. package/packages/core/dist/learning/announce.js.map +1 -0
  372. package/packages/core/dist/learning/index.d.ts +1 -0
  373. package/packages/core/dist/learning/index.d.ts.map +1 -1
  374. package/packages/core/dist/learning/index.js +1 -0
  375. package/packages/core/dist/learning/index.js.map +1 -1
  376. package/packages/core/dist/learning/store.d.ts.map +1 -1
  377. package/packages/core/dist/learning/store.js +15 -4
  378. package/packages/core/dist/learning/store.js.map +1 -1
  379. package/packages/core/dist/notifications/notify.d.ts.map +1 -1
  380. package/packages/core/dist/notifications/notify.js +1 -0
  381. package/packages/core/dist/notifications/notify.js.map +1 -1
  382. package/packages/core/dist/notifications/store.d.ts +2 -0
  383. package/packages/core/dist/notifications/store.d.ts.map +1 -1
  384. package/packages/core/dist/notifications/store.js +9 -0
  385. package/packages/core/dist/notifications/store.js.map +1 -1
  386. package/packages/core/dist/notifications/types.d.ts +6 -0
  387. package/packages/core/dist/notifications/types.d.ts.map +1 -1
  388. package/packages/core/dist/pages.d.ts +2 -2
  389. package/packages/core/dist/provider-accounts.d.ts +7 -1
  390. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  391. package/packages/core/dist/provider-accounts.js +14 -1
  392. package/packages/core/dist/provider-accounts.js.map +1 -1
  393. package/packages/core/dist/provider.d.ts +6 -0
  394. package/packages/core/dist/provider.d.ts.map +1 -1
  395. package/packages/core/dist/provider.js.map +1 -1
  396. package/packages/core/dist/sentinels/run.d.ts.map +1 -1
  397. package/packages/core/dist/sentinels/run.js +4 -1
  398. package/packages/core/dist/sentinels/run.js.map +1 -1
  399. package/packages/core/dist/sentinels/types.d.ts +20 -0
  400. package/packages/core/dist/sentinels/types.d.ts.map +1 -1
  401. package/packages/core/dist/sentinels/types.js.map +1 -1
  402. package/packages/core/dist/surfaces.d.ts +2 -0
  403. package/packages/core/dist/surfaces.d.ts.map +1 -1
  404. package/packages/core/dist/surfaces.js +7 -0
  405. package/packages/core/dist/surfaces.js.map +1 -1
  406. package/packages/core/dist/uninstall.d.ts +79 -0
  407. package/packages/core/dist/uninstall.d.ts.map +1 -0
  408. package/packages/core/dist/uninstall.js +109 -0
  409. package/packages/core/dist/uninstall.js.map +1 -0
  410. package/packages/core/dist/views.d.ts +66 -66
  411. package/packages/core/migrations/044_owner_metrics.sql +45 -0
  412. package/packages/core/migrations/045_frequency_goals.sql +19 -0
  413. package/packages/core/migrations/046_ollama_device_key.sql +7 -0
  414. package/packages/core/migrations/047_reported_context_windows.sql +5 -0
  415. package/packages/core/package.json +4 -0
  416. package/packages/gateway/dist/.tsbuildinfo +1 -1
  417. package/packages/gateway/dist/chat/usage.d.ts.map +1 -1
  418. package/packages/gateway/dist/chat/usage.js +1 -0
  419. package/packages/gateway/dist/chat/usage.js.map +1 -1
  420. package/packages/gateway/dist/codex-accounts.d.ts +24 -11
  421. package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
  422. package/packages/gateway/dist/codex-accounts.js +151 -215
  423. package/packages/gateway/dist/codex-accounts.js.map +1 -1
  424. package/packages/gateway/dist/index.d.ts +2 -0
  425. package/packages/gateway/dist/index.d.ts.map +1 -1
  426. package/packages/gateway/dist/index.js +2 -0
  427. package/packages/gateway/dist/index.js.map +1 -1
  428. package/packages/gateway/dist/missions/agent-run.d.ts.map +1 -1
  429. package/packages/gateway/dist/missions/agent-run.js +1 -0
  430. package/packages/gateway/dist/missions/agent-run.js.map +1 -1
  431. package/packages/gateway/dist/missions/execute.d.ts +7 -0
  432. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  433. package/packages/gateway/dist/missions/execute.js +3 -1
  434. package/packages/gateway/dist/missions/execute.js.map +1 -1
  435. package/packages/gateway/dist/missions/goals-format.d.ts +32 -5
  436. package/packages/gateway/dist/missions/goals-format.d.ts.map +1 -1
  437. package/packages/gateway/dist/missions/goals-format.js +59 -2
  438. package/packages/gateway/dist/missions/goals-format.js.map +1 -1
  439. package/packages/gateway/dist/missions/goals-page.d.ts +60 -5
  440. package/packages/gateway/dist/missions/goals-page.d.ts.map +1 -1
  441. package/packages/gateway/dist/missions/goals-page.js +355 -8
  442. package/packages/gateway/dist/missions/goals-page.js.map +1 -1
  443. package/packages/gateway/dist/missions/goals.d.ts +64 -5
  444. package/packages/gateway/dist/missions/goals.d.ts.map +1 -1
  445. package/packages/gateway/dist/missions/goals.js +834 -116
  446. package/packages/gateway/dist/missions/goals.js.map +1 -1
  447. package/packages/gateway/dist/missions/sentinel-wake.d.ts +5 -0
  448. package/packages/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  449. package/packages/gateway/dist/missions/sentinel-wake.js +12 -0
  450. package/packages/gateway/dist/missions/sentinel-wake.js.map +1 -1
  451. package/packages/gateway/dist/ollama-accounts.d.ts +87 -0
  452. package/packages/gateway/dist/ollama-accounts.d.ts.map +1 -0
  453. package/packages/gateway/dist/ollama-accounts.js +179 -0
  454. package/packages/gateway/dist/ollama-accounts.js.map +1 -0
  455. package/packages/gateway/dist/owner-notify.d.ts +2 -1
  456. package/packages/gateway/dist/owner-notify.d.ts.map +1 -1
  457. package/packages/gateway/dist/owner-notify.js +6 -2
  458. package/packages/gateway/dist/owner-notify.js.map +1 -1
  459. package/packages/gateway/dist/provider-accounts.d.ts +47 -1
  460. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  461. package/packages/gateway/dist/provider-accounts.js +204 -38
  462. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  463. package/packages/gateway/dist/serve.d.ts.map +1 -1
  464. package/packages/gateway/dist/serve.js +1 -0
  465. package/packages/gateway/dist/serve.js.map +1 -1
  466. package/packages/gateway/dist/subscription-signins.d.ts +28 -0
  467. package/packages/gateway/dist/subscription-signins.d.ts.map +1 -0
  468. package/packages/gateway/dist/subscription-signins.js +30 -0
  469. package/packages/gateway/dist/subscription-signins.js.map +1 -0
  470. package/packages/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
  471. package/packages/gateway/dist/surfaces/context-budget.js +10 -3
  472. package/packages/gateway/dist/surfaces/context-budget.js.map +1 -1
  473. package/packages/gateway/dist/telegram/api.d.ts +43 -9
  474. package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
  475. package/packages/gateway/dist/telegram/api.js +80 -21
  476. package/packages/gateway/dist/telegram/api.js.map +1 -1
  477. package/packages/gateway/dist/telegram/attachments.d.ts +6 -0
  478. package/packages/gateway/dist/telegram/attachments.d.ts.map +1 -1
  479. package/packages/gateway/dist/telegram/attachments.js +1 -0
  480. package/packages/gateway/dist/telegram/attachments.js.map +1 -1
  481. package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  482. package/packages/gateway/dist/telegram/browser-view.js +2 -1
  483. package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
  484. package/packages/gateway/dist/telegram/channel.d.ts +7 -1
  485. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  486. package/packages/gateway/dist/telegram/channel.js +24 -2
  487. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  488. package/packages/gateway/dist/telegram/commands.d.ts +28 -0
  489. package/packages/gateway/dist/telegram/commands.d.ts.map +1 -0
  490. package/packages/gateway/dist/telegram/commands.js +74 -0
  491. package/packages/gateway/dist/telegram/commands.js.map +1 -0
  492. package/packages/gateway/dist/telegram/main.d.ts +3 -0
  493. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  494. package/packages/gateway/dist/telegram/main.js +71 -2
  495. package/packages/gateway/dist/telegram/main.js.map +1 -1
  496. package/packages/gateway/dist/telegram/outbound.d.ts +191 -0
  497. package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -0
  498. package/packages/gateway/dist/telegram/outbound.js +671 -0
  499. package/packages/gateway/dist/telegram/outbound.js.map +1 -0
  500. package/packages/gateway/dist/telegram/proposals.d.ts +65 -0
  501. package/packages/gateway/dist/telegram/proposals.d.ts.map +1 -0
  502. package/packages/gateway/dist/telegram/proposals.js +183 -0
  503. package/packages/gateway/dist/telegram/proposals.js.map +1 -0
  504. package/packages/gateway/dist/telegram/surface.d.ts +47 -47
  505. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  506. package/packages/gateway/dist/telegram/surface.js +99 -290
  507. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  508. package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
  509. package/packages/gateway/dist/web/onboarding.js +4 -0
  510. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  511. package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
  512. package/packages/gateway/dist/web/secrets.js +3 -2
  513. package/packages/gateway/dist/web/secrets.js.map +1 -1
  514. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  515. package/packages/gateway/dist/web/server.js +36 -14
  516. package/packages/gateway/dist/web/server.js.map +1 -1
  517. package/packages/gateway/dist/web/telegram.d.ts +39 -0
  518. package/packages/gateway/dist/web/telegram.d.ts.map +1 -1
  519. package/packages/gateway/dist/web/telegram.js +53 -1
  520. package/packages/gateway/dist/web/telegram.js.map +1 -1
  521. package/packages/install/dist/.tsbuildinfo +1 -1
  522. package/packages/install/dist/launcher.d.ts.map +1 -1
  523. package/packages/install/dist/launcher.js +135 -10
  524. package/packages/install/dist/launcher.js.map +1 -1
  525. package/packages/install/dist/uninstall.d.ts +59 -0
  526. package/packages/install/dist/uninstall.d.ts.map +1 -0
  527. package/packages/install/dist/uninstall.js +260 -0
  528. package/packages/install/dist/uninstall.js.map +1 -0
  529. package/packages/runtime/dist/.tsbuildinfo +1 -1
  530. package/packages/runtime/dist/codex-direct.d.ts +55 -0
  531. package/packages/runtime/dist/codex-direct.d.ts.map +1 -0
  532. package/packages/runtime/dist/codex-direct.js +334 -0
  533. package/packages/runtime/dist/codex-direct.js.map +1 -0
  534. package/packages/runtime/dist/codex-oauth.d.ts +66 -0
  535. package/packages/runtime/dist/codex-oauth.d.ts.map +1 -0
  536. package/packages/runtime/dist/codex-oauth.js +210 -0
  537. package/packages/runtime/dist/codex-oauth.js.map +1 -0
  538. package/packages/runtime/dist/codex-profile.d.ts +19 -0
  539. package/packages/runtime/dist/codex-profile.d.ts.map +1 -0
  540. package/packages/runtime/dist/codex-profile.js +99 -0
  541. package/packages/runtime/dist/codex-profile.js.map +1 -0
  542. package/packages/runtime/dist/context-window.d.ts.map +1 -1
  543. package/packages/runtime/dist/context-window.js +9 -2
  544. package/packages/runtime/dist/context-window.js.map +1 -1
  545. package/packages/runtime/dist/delegate.d.ts +24 -0
  546. package/packages/runtime/dist/delegate.d.ts.map +1 -1
  547. package/packages/runtime/dist/delegate.js +87 -11
  548. package/packages/runtime/dist/delegate.js.map +1 -1
  549. package/packages/runtime/dist/index.d.ts +4 -4
  550. package/packages/runtime/dist/index.d.ts.map +1 -1
  551. package/packages/runtime/dist/index.js +5 -5
  552. package/packages/runtime/dist/index.js.map +1 -1
  553. package/packages/runtime/dist/loop.d.ts +7 -0
  554. package/packages/runtime/dist/loop.d.ts.map +1 -1
  555. package/packages/runtime/dist/loop.js +48 -8
  556. package/packages/runtime/dist/loop.js.map +1 -1
  557. package/packages/runtime/dist/ollama-signing.d.ts +52 -0
  558. package/packages/runtime/dist/ollama-signing.d.ts.map +1 -0
  559. package/packages/runtime/dist/ollama-signing.js +154 -0
  560. package/packages/runtime/dist/ollama-signing.js.map +1 -0
  561. package/packages/runtime/dist/openai.d.ts.map +1 -1
  562. package/packages/runtime/dist/openai.js +38 -9
  563. package/packages/runtime/dist/openai.js.map +1 -1
  564. package/packages/runtime/dist/provider-models.d.ts +2 -0
  565. package/packages/runtime/dist/provider-models.d.ts.map +1 -1
  566. package/packages/runtime/dist/provider-models.js +8 -3
  567. package/packages/runtime/dist/provider-models.js.map +1 -1
  568. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  569. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  570. package/packages/tools/browser/dist/index.d.ts +1 -1
  571. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  572. package/packages/tools/browser/dist/index.js +12 -4
  573. package/packages/tools/browser/dist/index.js.map +1 -1
  574. package/packages/tools/browser/dist/origin-pattern.d.ts +31 -0
  575. package/packages/tools/browser/dist/origin-pattern.d.ts.map +1 -0
  576. package/packages/tools/browser/dist/origin-pattern.js +61 -0
  577. package/packages/tools/browser/dist/origin-pattern.js.map +1 -0
  578. package/packages/tools/browser/dist/public-suffixes.d.ts +24 -0
  579. package/packages/tools/browser/dist/public-suffixes.d.ts.map +1 -0
  580. package/packages/tools/browser/dist/public-suffixes.js +153 -0
  581. package/packages/tools/browser/dist/public-suffixes.js.map +1 -0
  582. package/packages/tools/browser/dist/secrets.d.ts +45 -9
  583. package/packages/tools/browser/dist/secrets.d.ts.map +1 -1
  584. package/packages/tools/browser/dist/secrets.js +77 -20
  585. package/packages/tools/browser/dist/secrets.js.map +1 -1
  586. package/packages/tools/browser/dist/service.d.ts +10 -0
  587. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  588. package/packages/tools/browser/dist/service.js +84 -20
  589. package/packages/tools/browser/dist/service.js.map +1 -1
  590. package/packages/tools/browser/dist/types.d.ts +7 -1
  591. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  592. package/packages/tools/browser/dist/types.js +7 -1
  593. package/packages/tools/browser/dist/types.js.map +1 -1
  594. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  595. package/packages/tools/email/dist/tools/read.js +1 -1
  596. package/packages/tools/email/dist/tools/read.js.map +1 -1
  597. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  598. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  599. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  600. package/packages/web/dist/assets/index-BRc5auXm.js +123 -0
  601. package/packages/web/dist/assets/{index-DCn0vN58.css → index-DwUpotTR.css} +1 -1
  602. package/packages/web/dist/index.html +2 -2
  603. package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts +0 -20
  604. package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts.map +0 -1
  605. package/node_modules/@buddi/runtime/dist/codex-app-server.js +0 -172
  606. package/node_modules/@buddi/runtime/dist/codex-app-server.js.map +0 -1
  607. package/node_modules/@buddi/runtime/dist/codex-policy.d.ts +0 -6
  608. package/node_modules/@buddi/runtime/dist/codex-policy.d.ts.map +0 -1
  609. package/node_modules/@buddi/runtime/dist/codex-policy.js +0 -79
  610. package/node_modules/@buddi/runtime/dist/codex-policy.js.map +0 -1
  611. package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts +0 -34
  612. package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts.map +0 -1
  613. package/node_modules/@buddi/runtime/dist/codex-rpc.js +0 -152
  614. package/node_modules/@buddi/runtime/dist/codex-rpc.js.map +0 -1
  615. package/node_modules/@buddi/runtime/dist/codex-session.d.ts +0 -30
  616. package/node_modules/@buddi/runtime/dist/codex-session.d.ts.map +0 -1
  617. package/node_modules/@buddi/runtime/dist/codex-session.js +0 -169
  618. package/node_modules/@buddi/runtime/dist/codex-session.js.map +0 -1
  619. package/packages/runtime/dist/codex-app-server.d.ts +0 -20
  620. package/packages/runtime/dist/codex-app-server.d.ts.map +0 -1
  621. package/packages/runtime/dist/codex-app-server.js +0 -172
  622. package/packages/runtime/dist/codex-app-server.js.map +0 -1
  623. package/packages/runtime/dist/codex-policy.d.ts +0 -6
  624. package/packages/runtime/dist/codex-policy.d.ts.map +0 -1
  625. package/packages/runtime/dist/codex-policy.js +0 -79
  626. package/packages/runtime/dist/codex-policy.js.map +0 -1
  627. package/packages/runtime/dist/codex-rpc.d.ts +0 -34
  628. package/packages/runtime/dist/codex-rpc.d.ts.map +0 -1
  629. package/packages/runtime/dist/codex-rpc.js +0 -152
  630. package/packages/runtime/dist/codex-rpc.js.map +0 -1
  631. package/packages/runtime/dist/codex-session.d.ts +0 -30
  632. package/packages/runtime/dist/codex-session.d.ts.map +0 -1
  633. package/packages/runtime/dist/codex-session.js +0 -169
  634. package/packages/runtime/dist/codex-session.js.map +0 -1
  635. package/packages/web/dist/assets/index-BRkIoT-q.js +0 -123
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":";AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA6DxD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAM5D"}
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":";AAsBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA6DxD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAM5D"}
@@ -11,9 +11,10 @@ import path from 'node:path';
11
11
  import { fileURLToPath } from 'node:url';
12
12
  import { spawn, execFile } from 'node:child_process';
13
13
  import { request } from 'node:http';
14
- import { open, mkdir, writeFile } from 'node:fs/promises';
14
+ import { open, mkdir, writeFile, rm, rename, copyFile } from 'node:fs/promises';
15
+ import os from 'node:os';
15
16
  import { promisify } from 'node:util';
16
- import { existsSync } from 'node:fs';
17
+ import { existsSync, readFileSync } from 'node:fs';
17
18
  import { environment, dashboardReady, launchAgentLabel, launchAgentPlist, reloadLaunchAgent, nativeEnvironment, reloadSystemdUnit, systemdUnitPath, atomicJson, browsersDir, SERVICE_UNIT_VAR } from './environment.js';
18
19
  import { supervise, supervisorSocket } from './supervisor.js';
19
20
  import { installedVersion, readUpgradeState, upgradeDoctorLines, versionView } from './upgrade.js';
@@ -104,8 +105,19 @@ async function backupThroughSupervisor(ctx, rest) {
104
105
  console.error(`buddi: ${unsupported} is for a source checkout. A packaged backup goes to ${path.join(ctx.data, 'backups')} with everything in it.`);
105
106
  return 2;
106
107
  }
107
- const { job } = await ask(ctx, 'POST', '/backup', {});
108
108
  console.log('Backing up. buddi keeps running while it does.');
109
+ try {
110
+ console.log(`Wrote ${await supervisedBackup(ctx)}.`);
111
+ return 0;
112
+ }
113
+ catch (error) {
114
+ console.error(`buddi: ${error.message}`);
115
+ return 1;
116
+ }
117
+ }
118
+ /** Ask the supervisor for a backup and follow it to the end: the archive's full path. */
119
+ async function supervisedBackup(ctx) {
120
+ const { job } = await ask(ctx, 'POST', '/backup', {});
109
121
  let last = '';
110
122
  for (;;) {
111
123
  const state = await ask(ctx, 'GET', `/jobs/${job.id}`);
@@ -114,17 +126,126 @@ async function backupThroughSupervisor(ctx, rest) {
114
126
  console.log(` ${state.phase}${state.detail === undefined ? '' : ` — ${state.detail}`}`);
115
127
  }
116
128
  if (state.finishedAt !== undefined) {
117
- if (state.phase === 'done') {
118
- const name = state.report?.archive;
119
- console.log(name ? `Wrote ${path.join(ctx.data, 'backups', name)}.` : `The backup is in ${path.join(ctx.data, 'backups')}.`);
120
- return 0;
121
- }
122
- console.error(`buddi: the backup did not finish: ${state.error ?? 'no reason given'}`);
123
- return 1;
129
+ const name = state.report?.archive;
130
+ if (state.phase === 'done' && name)
131
+ return path.join(ctx.data, 'backups', name);
132
+ throw new Error(`the backup did not finish: ${state.error ?? 'no reason given'}`);
124
133
  }
125
134
  await new Promise(resolve => setTimeout(resolve, 1000));
126
135
  }
127
136
  }
137
+ /**
138
+ * `buddi uninstall`, in a packaged installation. The order and the refusals
139
+ * are in `uninstall.ts`; this wires them to the real machine: the supervisor's
140
+ * socket, `launchctl`/`systemctl`, the keychain, the Telegram Bot API.
141
+ */
142
+ async function uninstall(ctx, rest) {
143
+ const { parseUninstallArgs, uninstallPackaged } = await import('./uninstall.js');
144
+ let options;
145
+ try {
146
+ options = parseUninstallArgs(rest);
147
+ }
148
+ catch (error) {
149
+ console.error(`buddi: ${error.message}`);
150
+ return 2;
151
+ }
152
+ const core = await import('@buddi/core');
153
+ const { purgeKeychain, clearTelegramMenu } = await import('@buddi/core/uninstall');
154
+ const { dashboardAppOwnedBy } = await import('@buddi/cli');
155
+ const home = os.homedir();
156
+ const lockPid = () => {
157
+ let pid;
158
+ try {
159
+ pid = Number(readFileSync(path.join(ctx.data, 'supervisor.lock'), 'utf8').trim());
160
+ }
161
+ catch {
162
+ return undefined;
163
+ }
164
+ if (!Number.isInteger(pid) || pid <= 0)
165
+ return undefined;
166
+ try {
167
+ process.kill(pid, 0);
168
+ return pid;
169
+ }
170
+ catch {
171
+ return undefined;
172
+ }
173
+ };
174
+ const service = ctx.env.BUDDI_VAULT_SERVICE ?? 'buddi';
175
+ const vault = (() => { try {
176
+ return core.createVault({ env: ctx.env });
177
+ }
178
+ catch {
179
+ return undefined;
180
+ } })();
181
+ const stored = await vault?.get('TELEGRAM_BOT_TOKEN').catch(() => null) ?? null;
182
+ const token = stored ?? (ctx.env.TELEGRAM_BOT_TOKEN?.startsWith('<') ? undefined : ctx.env.TELEGRAM_BOT_TOKEN?.trim() || undefined);
183
+ const app = dashboardAppOwnedBy(path.join(root, 'packages/cli/dist/main.js'), home);
184
+ return await uninstallPackaged(options, {
185
+ data: ctx.data, home, platform: process.platform, env: ctx.env, uid: process.getuid?.() ?? 501,
186
+ exists: existsSync,
187
+ remove: file => rm(file, { recursive: true, force: true }),
188
+ move: async (from, to) => {
189
+ await mkdir(path.dirname(to), { recursive: true, mode: 0o700 });
190
+ try {
191
+ await rename(from, to);
192
+ }
193
+ catch {
194
+ await copyFile(from, to);
195
+ await rm(from, { force: true });
196
+ }
197
+ },
198
+ exec: (command, argv) => new Promise(resolve => {
199
+ execFile(command, argv, { env: { ...nativeEnvironment(ctx.env), ...systemdSession(ctx.env) } }, (error, stdout, stderr) => {
200
+ const code = error?.code;
201
+ resolve({ code: error ? (typeof code === 'number' ? code : 1) : 0, stdout: String(stdout), stderr: error && typeof code !== 'number' ? error.message : String(stderr) });
202
+ });
203
+ }),
204
+ supervisor: {
205
+ answers: () => control(ctx).then(() => true, () => false),
206
+ stopGateway: async () => { await control(ctx, 'stop'); },
207
+ backup: () => supervisedBackup(ctx),
208
+ passphrase: async () => (await ask(ctx, 'GET', '/passphrase')).passphrase,
209
+ },
210
+ supervisorPid: lockPid,
211
+ signal: (pid, signal) => { try {
212
+ process.kill(pid, signal);
213
+ }
214
+ catch { /* gone already */ } },
215
+ ...(core.vaultSelection({ env: ctx.env }) === 'keychain' ? {
216
+ keychain: {
217
+ service,
218
+ names: () => core.createKeychainVault({ service }).list(),
219
+ purge: (names) => purgeKeychain(service, names, core.defaultRunSecurity),
220
+ },
221
+ } : {}),
222
+ ...(token === undefined ? {} : {
223
+ telegram: {
224
+ collect: async () => {
225
+ if (ctx.state?.database === 'managed')
226
+ await core.hydrateDatabaseUrl(ctx.env);
227
+ const pool = core.createPool(ctx.env.DATABASE_URL);
228
+ try {
229
+ const paired = await core.listSurfaceIdentities(pool, 'telegram');
230
+ const chats = paired.map(identity => identity.externalChatId).filter((id) => typeof id === 'string' && id !== '');
231
+ const { defaultHttpTransport } = await import('@buddi/gateway');
232
+ return () => clearTelegramMenu(token, chats, defaultHttpTransport);
233
+ }
234
+ finally {
235
+ await pool.end().catch(() => { });
236
+ }
237
+ },
238
+ },
239
+ }),
240
+ ...(app === undefined ? {} : { app }),
241
+ sleep: ms => new Promise(resolve => setTimeout(resolve, ms)),
242
+ io: {
243
+ log: line => console.log(line),
244
+ error: line => console.error(line),
245
+ ask: async (question) => (process.stdin.isTTY === true ? await prompt(question) : undefined),
246
+ },
247
+ });
248
+ }
128
249
  /**
129
250
  * `buddi upgrade`, in a packaged installation: ask the supervisor, then watch.
130
251
  *
@@ -392,6 +513,10 @@ async function run() {
392
513
  }
393
514
  // Help is the command table's, whatever the command: `buddi service status --help`.
394
515
  const wantsHelp = args.some(arg => arg === '--help' || arg === '-h') || args[0] === 'help';
516
+ if (!wantsHelp && args[0] === 'uninstall') {
517
+ process.exitCode = await uninstall(ctx, args.slice(1));
518
+ return;
519
+ }
395
520
  const serviceJson = args.slice(2).every(arg => arg === '--json') && (args.includes('--json') || process.env.BUDDI_JSON === '1');
396
521
  if (!wantsHelp && args[0] === 'service' && ['status', 'start', 'stop', 'restart'].includes(args[1]) && args.slice(2).every(arg => arg === '--json')) {
397
522
  let status;
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { UninstallIo } from '@buddi/core/uninstall';
2
+ export interface UninstallOptions {
3
+ yes: boolean;
4
+ keepData: boolean;
5
+ backup: boolean;
6
+ }
7
+ /** The flags `buddi uninstall` takes. Anything else is a usage error. */
8
+ export declare function parseUninstallArgs(args: readonly string[]): UninstallOptions;
9
+ export interface ExecResult {
10
+ code: number;
11
+ stdout: string;
12
+ stderr: string;
13
+ }
14
+ export interface PackagedUninstallDeps {
15
+ data: string;
16
+ home: string;
17
+ platform: NodeJS.Platform | string;
18
+ env: NodeJS.ProcessEnv;
19
+ /** For launchd's `gui/<uid>` domain. */
20
+ uid: number;
21
+ exists: (file: string) => boolean;
22
+ /** Recursive and forceful, like `rm -rf`. Only ever called with a listed path. */
23
+ remove: (file: string) => Promise<void>;
24
+ move: (from: string, to: string) => Promise<void>;
25
+ exec: (command: string, args: string[]) => Promise<ExecResult>;
26
+ supervisor: {
27
+ /** Does this installation's supervisor answer on its socket? */
28
+ answers: () => Promise<boolean>;
29
+ stopGateway: () => Promise<void>;
30
+ /** The supervisor's backup, followed to the end: the archive's full path. */
31
+ backup: () => Promise<string>;
32
+ passphrase: () => Promise<string | undefined>;
33
+ };
34
+ /** The pid in `supervisor.lock` while that process is alive. */
35
+ supervisorPid: () => number | undefined;
36
+ signal: (pid: number, signal: NodeJS.Signals) => void;
37
+ /** The macOS keychain vault. Absent where the vault is the file (Linux). */
38
+ keychain?: {
39
+ service: string;
40
+ names: () => Promise<string[]>;
41
+ purge: (names: string[]) => Promise<void>;
42
+ };
43
+ /**
44
+ * Present when a bot token is at hand. `collect` runs while the database is
45
+ * still up (it reads the paired chats) and returns what clears the menu.
46
+ */
47
+ telegram?: {
48
+ collect: () => Promise<() => Promise<void>>;
49
+ };
50
+ /** The dashboard app, when it exists and this installation wrote it. */
51
+ app?: string;
52
+ sleep: (ms: number) => Promise<void>;
53
+ io: UninstallIo;
54
+ }
55
+ /** Where the last backup goes when the data directory is removed: out of it. */
56
+ export declare function keptBackupsDir(home: string): string;
57
+ export declare const PACKAGE_LINE = "Now remove the package: npm uninstall -g @withbuddi/buddi";
58
+ export declare function uninstallPackaged(options: UninstallOptions, deps: PackagedUninstallDeps): Promise<number>;
59
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAe,WAAW,EAAiB,MAAM,uBAAuB,CAAC;AAGrF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAS5E;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,kFAAkF;IAClF,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,UAAU,EAAE;QACV,gEAAgE;QAChE,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,6EAA6E;QAC7E,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC;IACF,gEAAgE;IAChE,aAAa,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACtD,4EAA4E;IAC5E,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3C,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;KAAE,CAAC;IAC3D,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,EAAE,EAAE,WAAW,CAAC;CACjB;AAYD,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAQD,eAAO,MAAM,YAAY,8DAA8D,CAAC;AAExF,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+J/G"}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * `buddi uninstall`, in a packaged installation: what it removes, in order.
3
+ *
4
+ * The background service first, because it is what keeps the bundled
5
+ * Postgres running: the gateway is stopped through the supervisor, then the
6
+ * unit is unloaded, and the supervisor stops the cluster on its way out. Only
7
+ * once nothing holds the data directory is it deleted. The secrets are the
8
+ * keychain entries under this installation's own service name (the file
9
+ * vault and its key on Linux, which live in the data directory), then the
10
+ * dashboard app, the extension pairing and the Telegram menu.
11
+ *
12
+ * Nothing outside those paths is touched, and a data directory that is not an
13
+ * installation is refused rather than deleted: `BUDDI_DATA_DIR` pointed at the
14
+ * wrong folder must not become `rm -rf` of it.
15
+ *
16
+ * Every effect is injected, so the tests run the whole flow against a fake
17
+ * machine. The launcher wires the real one. No `@buddi/*` value import but the
18
+ * leaf `@buddi/core/uninstall` (see the note at the top of environment.ts).
19
+ */
20
+ import path from 'node:path';
21
+ import { runUninstallPlan } from '@buddi/core/uninstall';
22
+ import { launchAgentLabel, launchAgentPlist, systemdUnitPath } from './environment.js';
23
+ /** The flags `buddi uninstall` takes. Anything else is a usage error. */
24
+ export function parseUninstallArgs(args) {
25
+ const options = { yes: false, keepData: false, backup: true };
26
+ for (const arg of args) {
27
+ if (arg === '--yes' || arg === '-y')
28
+ options.yes = true;
29
+ else if (arg === '--keep-data')
30
+ options.keepData = true;
31
+ else if (arg === '--no-backup')
32
+ options.backup = false;
33
+ else
34
+ throw new Error(`unknown option for buddi uninstall: ${arg} (expected --yes, --keep-data or --no-backup)`);
35
+ }
36
+ return options;
37
+ }
38
+ /** What the data directory holds, named for the owner: only what is there. */
39
+ const CONTENTS = [
40
+ [['postgres'], 'the database'],
41
+ [['agents', 'skills'], 'agents and skills'],
42
+ [['artifacts'], 'the files library'],
43
+ [['logs'], 'logs'],
44
+ [['backups'], 'backups'],
45
+ [['browser/engines'], 'the fetched Chromium'],
46
+ ];
47
+ /** Where the last backup goes when the data directory is removed: out of it. */
48
+ export function keptBackupsDir(home) {
49
+ return path.join(home, 'buddi-backups');
50
+ }
51
+ /** A path that is never a data directory, whatever `BUDDI_DATA_DIR` says. */
52
+ function tooBroad(data, home) {
53
+ const resolved = path.resolve(data);
54
+ return !path.isAbsolute(data) || resolved === path.parse(resolved).root || resolved === path.resolve(home) || path.resolve(home).startsWith(`${resolved}${path.sep}`);
55
+ }
56
+ export const PACKAGE_LINE = 'Now remove the package: npm uninstall -g @withbuddi/buddi';
57
+ export async function uninstallPackaged(options, deps) {
58
+ const { data, home, io } = deps;
59
+ const join = (...parts) => path.join(data, ...parts);
60
+ const hasData = deps.exists(data);
61
+ const isInstallation = hasData && (deps.exists(join('installation.json')) || deps.exists(join('postgres')));
62
+ if (!options.keepData && hasData && (!isInstallation || tooBroad(data, home))) {
63
+ io.error(`${data} is not a buddi installation (it has no installation.json and no postgres folder), so nothing was removed. Check BUDDI_DATA_DIR.`);
64
+ return 1;
65
+ }
66
+ const machine = deps.platform === 'darwin' ? 'this Mac' : 'this machine';
67
+ const steps = [];
68
+ let stopped = true;
69
+ /* The service, and with it the supervisor and the cluster it runs. */
70
+ const label = launchAgentLabel(data);
71
+ const unit = deps.platform === 'darwin' ? launchAgentPlist(data, home)
72
+ : deps.platform === 'linux' ? systemdUnitPath(data, deps.env, home) : undefined;
73
+ const hasUnit = unit !== undefined && deps.exists(unit);
74
+ const pid = deps.supervisorPid();
75
+ if (hasUnit || pid !== undefined) {
76
+ stopped = false;
77
+ const line = !hasUnit ? `the running supervisor (pid ${pid})`
78
+ : deps.platform === 'darwin' ? `the background service: launchd agent ${label} (${unit})`
79
+ : `the background service: systemd user unit ${label}.service (${unit})`;
80
+ steps.push({ line, run: async () => {
81
+ if (await deps.supervisor.answers())
82
+ await deps.supervisor.stopGateway().catch(() => { });
83
+ let unloadError;
84
+ if (hasUnit)
85
+ unloadError = await unloadService(deps, label).then(() => undefined, (error) => error);
86
+ // A supervisor launchd or systemd did not own (`buddi --no-service`) is asked directly.
87
+ const left = deps.supervisorPid();
88
+ if (left !== undefined && unloadError === undefined)
89
+ deps.signal(left, 'SIGTERM');
90
+ for (let waited = 0; deps.supervisorPid() !== undefined; waited += 250) {
91
+ if (waited >= 60_000) {
92
+ throw unloadError ?? new Error(`the supervisor (pid ${deps.supervisorPid()}) did not stop within a minute`);
93
+ }
94
+ await deps.sleep(250);
95
+ }
96
+ if (unloadError)
97
+ throw unloadError;
98
+ if (hasUnit) {
99
+ await deps.remove(unit);
100
+ if (deps.platform === 'linux')
101
+ await deps.exec('systemctl', ['--user', 'daemon-reload']);
102
+ }
103
+ stopped = true;
104
+ } });
105
+ }
106
+ /* The data directory. */
107
+ if (!options.keepData && hasData) {
108
+ const held = CONTENTS.filter(([names]) => names.some(name => deps.exists(join(name)))).map(([, said]) => said);
109
+ steps.push({
110
+ line: `the data directory ${data}${held.length > 0 ? `: ${list(held)}` : ''}`,
111
+ run: async () => {
112
+ if (!stopped)
113
+ throw new Error('it was left in place because the service did not stop, and the database may still be running');
114
+ await deps.remove(data);
115
+ },
116
+ });
117
+ }
118
+ /* Secrets. On Linux they are files in the data directory; kept with it by --keep-data. */
119
+ if (!options.keepData) {
120
+ if (deps.keychain) {
121
+ const keychain = deps.keychain;
122
+ let names = [];
123
+ let unreadable;
124
+ try {
125
+ names = await keychain.names();
126
+ }
127
+ catch (error) {
128
+ unreadable = error.message;
129
+ }
130
+ if (names.length > 0 || unreadable !== undefined) {
131
+ steps.push({
132
+ line: unreadable !== undefined
133
+ ? `secrets: the keychain entries under ${keychain.service} (they could not be listed: ${unreadable.replace(/\.$/, '')})`
134
+ : `secrets: ${names.length} keychain ${names.length === 1 ? 'entry' : 'entries'} under ${keychain.service}: ${names.join(', ')}`,
135
+ run: async () => {
136
+ if (unreadable !== undefined)
137
+ throw new Error(unreadable);
138
+ // Again at the time of removal: the last backup may have just made the passphrase entry.
139
+ const now = await keychain.names().catch(() => names);
140
+ await keychain.purge([...new Set([...names, ...now])]);
141
+ },
142
+ });
143
+ }
144
+ }
145
+ else {
146
+ const files = [join('vault.json'), join('vault-key')].filter(file => deps.exists(file));
147
+ if (files.length > 0) {
148
+ steps.push({
149
+ line: `secrets: the file vault ${join('vault.json')} and its key ${join('vault-key')}`,
150
+ run: async () => { for (const file of files)
151
+ if (deps.exists(file))
152
+ await deps.remove(file); },
153
+ });
154
+ }
155
+ }
156
+ }
157
+ /* The dashboard app. */
158
+ if (deps.app !== undefined) {
159
+ const app = deps.app;
160
+ steps.push({ line: `the dashboard app ${app}`, run: () => deps.remove(app) });
161
+ }
162
+ /* The extension pairing lives in the data directory; --keep-data keeps it. */
163
+ const pairing = join('extension.json');
164
+ if (!options.keepData && deps.exists(pairing)) {
165
+ steps.push({ line: `the extension pairing record ${pairing}`, run: async () => { if (deps.exists(pairing))
166
+ await deps.remove(pairing); } });
167
+ }
168
+ /* The Telegram bot's menu: the bot is the owner's, only buddi's menu goes. */
169
+ let clearMenu;
170
+ if (deps.telegram) {
171
+ steps.push({
172
+ line: "the Telegram bot's command menu",
173
+ bestEffort: true,
174
+ run: async () => {
175
+ if (!clearMenu)
176
+ throw new Error('the paired chats could not be read');
177
+ await clearMenu();
178
+ },
179
+ });
180
+ }
181
+ const notes = [];
182
+ const backingUp = options.backup && isInstallation && steps.length > 0;
183
+ if (backingUp) {
184
+ notes.push(options.keepData
185
+ ? `First it takes one last backup, into ${join('backups')}.`
186
+ : `First it takes one last backup and moves it to ${keptBackupsDir(home)}, where it stays.`);
187
+ }
188
+ if (options.keepData && hasData)
189
+ notes.push(`The data directory ${data} stays as it is, with the secrets that open it, for a reinstall.`);
190
+ const plan = {
191
+ heading: `This removes buddi from ${machine}:`,
192
+ steps,
193
+ notes,
194
+ last: PACKAGE_LINE,
195
+ prepare: async () => {
196
+ const lines = [];
197
+ if (backingUp) {
198
+ if (!(await deps.supervisor.answers())) {
199
+ throw new Error('The service is not running, so the last backup could not be taken. Start it with buddi, or run buddi uninstall --no-backup.');
200
+ }
201
+ io.log('Taking one last backup.');
202
+ const archive = await deps.supervisor.backup();
203
+ if (options.keepData) {
204
+ lines.push(`The backup is ${archive}. It stays, with the rest of the data directory.`);
205
+ }
206
+ else {
207
+ const kept = path.join(keptBackupsDir(home), path.basename(archive));
208
+ await deps.move(archive, kept);
209
+ const envelope = archive.replace(/\.age$/, '.json');
210
+ if (envelope !== archive && deps.exists(envelope))
211
+ await deps.move(envelope, path.join(keptBackupsDir(home), path.basename(envelope)));
212
+ lines.push(`The backup is ${kept}. It stays: uninstall does not touch that folder.`);
213
+ if (archive.endsWith('.age')) {
214
+ const phrase = await deps.supervisor.passphrase().catch(() => undefined);
215
+ if (phrase !== undefined) {
216
+ lines.push(`It is locked with your backup passphrase, and the vault that keeps it is going: ${phrase}`);
217
+ lines.push('Write the six words down. Nothing else opens that backup.');
218
+ }
219
+ }
220
+ }
221
+ }
222
+ if (deps.telegram)
223
+ clearMenu = await deps.telegram.collect().catch(() => undefined);
224
+ return lines;
225
+ },
226
+ };
227
+ return await runUninstallPlan(plan, { yes: options.yes }, io);
228
+ }
229
+ /** "a, b and c". */
230
+ function list(items) {
231
+ return items.length <= 1 ? items.join('') : `${items.slice(0, -1).join(', ')} and ${items[items.length - 1]}`;
232
+ }
233
+ /**
234
+ * Stop and unload the service's unit. launchd's `bootout` stops the job and
235
+ * returns while launchd may still be removing it, so it is waited for;
236
+ * systemd's `disable --now` returns when the job has stopped.
237
+ */
238
+ async function unloadService(deps, label) {
239
+ if (deps.platform === 'darwin') {
240
+ const target = `gui/${deps.uid}/${label}`;
241
+ const out = await deps.exec('launchctl', ['bootout', target]);
242
+ // 3 and 113: launchd has no such job loaded, which is what we want.
243
+ if (out.code !== 0 && out.code !== 3 && out.code !== 113) {
244
+ throw new Error(`launchctl bootout ${target} failed (${out.code}): ${(out.stderr || out.stdout).trim() || 'no detail'}`);
245
+ }
246
+ for (let waited = 0;; waited += 100) {
247
+ const printed = await deps.exec('launchctl', ['print', target]);
248
+ if (printed.code !== 0)
249
+ return;
250
+ if (waited >= 20_000)
251
+ throw new Error(`launchd did not unload ${label} within 20 seconds`);
252
+ await deps.sleep(100);
253
+ }
254
+ }
255
+ const out = await deps.exec('systemctl', ['--user', 'disable', '--now', `${label}.service`]);
256
+ if (out.code !== 0) {
257
+ throw new Error(`systemctl --user disable --now ${label}.service failed (${out.code}): ${(out.stderr || out.stdout).trim() || 'no detail'}`);
258
+ }
259
+ }
260
+ //# sourceMappingURL=uninstall.js.map