@withbuddi/buddi 0.1.0-pre.17 → 0.1.0-pre.19

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 (884) hide show
  1. package/README.md +29 -21
  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 +16 -3
  5. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  6. package/node_modules/@buddi/cli/dist/args.js +39 -89
  7. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  8. package/node_modules/@buddi/cli/dist/backup/index.d.ts +2 -0
  9. package/node_modules/@buddi/cli/dist/backup/index.d.ts.map +1 -1
  10. package/node_modules/@buddi/cli/dist/backup/index.js +13 -4
  11. package/node_modules/@buddi/cli/dist/backup/index.js.map +1 -1
  12. package/node_modules/@buddi/cli/dist/commands.d.ts +94 -0
  13. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -0
  14. package/node_modules/@buddi/cli/dist/commands.js +1028 -0
  15. package/node_modules/@buddi/cli/dist/commands.js.map +1 -0
  16. package/node_modules/@buddi/cli/dist/dashboard-app.d.ts +6 -0
  17. package/node_modules/@buddi/cli/dist/dashboard-app.d.ts.map +1 -1
  18. package/node_modules/@buddi/cli/dist/dashboard-app.js +16 -1
  19. package/node_modules/@buddi/cli/dist/dashboard-app.js.map +1 -1
  20. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  21. package/node_modules/@buddi/cli/dist/doctor-probes.js +5 -2
  22. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  23. package/node_modules/@buddi/cli/dist/doctor.d.ts +16 -0
  24. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  25. package/node_modules/@buddi/cli/dist/doctor.js +18 -0
  26. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  27. package/node_modules/@buddi/cli/dist/index.d.ts +4 -1
  28. package/node_modules/@buddi/cli/dist/index.d.ts.map +1 -1
  29. package/node_modules/@buddi/cli/dist/index.js +4 -1
  30. package/node_modules/@buddi/cli/dist/index.js.map +1 -1
  31. package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts +4 -0
  32. package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts.map +1 -1
  33. package/node_modules/@buddi/cli/dist/jobs-cmd.js +26 -7
  34. package/node_modules/@buddi/cli/dist/jobs-cmd.js.map +1 -1
  35. package/node_modules/@buddi/cli/dist/main.d.ts +9 -2
  36. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  37. package/node_modules/@buddi/cli/dist/main.js +256 -30
  38. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  39. package/node_modules/@buddi/cli/dist/paths.d.ts +7 -4
  40. package/node_modules/@buddi/cli/dist/paths.d.ts.map +1 -1
  41. package/node_modules/@buddi/cli/dist/paths.js +17 -6
  42. package/node_modules/@buddi/cli/dist/paths.js.map +1 -1
  43. package/node_modules/@buddi/cli/dist/status.d.ts +70 -0
  44. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -0
  45. package/node_modules/@buddi/cli/dist/status.js +122 -0
  46. package/node_modules/@buddi/cli/dist/status.js.map +1 -0
  47. package/node_modules/@buddi/cli/dist/style.d.ts +13 -0
  48. package/node_modules/@buddi/cli/dist/style.d.ts.map +1 -0
  49. package/node_modules/@buddi/cli/dist/style.js +10 -0
  50. package/node_modules/@buddi/cli/dist/style.js.map +1 -0
  51. package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts +1 -1
  52. package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts.map +1 -1
  53. package/node_modules/@buddi/cli/dist/telegram-cmd.js +23 -6
  54. package/node_modules/@buddi/cli/dist/telegram-cmd.js.map +1 -1
  55. package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts +42 -0
  56. package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts.map +1 -0
  57. package/node_modules/@buddi/cli/dist/uninstall-cmd.js +208 -0
  58. package/node_modules/@buddi/cli/dist/uninstall-cmd.js.map +1 -0
  59. package/node_modules/@buddi/cli/dist/vault-cmd.js +3 -3
  60. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  61. package/node_modules/@buddi/core/dist/actions/approvals.d.ts +0 -17
  62. package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
  63. package/node_modules/@buddi/core/dist/actions/approvals.js +21 -0
  64. package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
  65. package/node_modules/@buddi/core/dist/actions/execute.d.ts +1 -1
  66. package/node_modules/@buddi/core/dist/actions/jobs.d.ts +1 -1
  67. package/node_modules/@buddi/core/dist/actions/types.js +1 -1
  68. package/node_modules/@buddi/core/dist/agents/models.d.ts.map +1 -1
  69. package/node_modules/@buddi/core/dist/agents/models.js +4 -3
  70. package/node_modules/@buddi/core/dist/agents/models.js.map +1 -1
  71. package/node_modules/@buddi/core/dist/agents/provider-from-env.d.ts +1 -1
  72. package/node_modules/@buddi/core/dist/agents/provider-from-env.js +1 -1
  73. package/node_modules/@buddi/core/dist/agents/skills.d.ts +2 -2
  74. package/node_modules/@buddi/core/dist/goals/frequency.d.ts +51 -0
  75. package/node_modules/@buddi/core/dist/goals/frequency.d.ts.map +1 -0
  76. package/node_modules/@buddi/core/dist/goals/frequency.js +113 -0
  77. package/node_modules/@buddi/core/dist/goals/frequency.js.map +1 -0
  78. package/node_modules/@buddi/core/dist/goals/index.d.ts +2 -0
  79. package/node_modules/@buddi/core/dist/goals/index.d.ts.map +1 -1
  80. package/node_modules/@buddi/core/dist/goals/index.js +2 -0
  81. package/node_modules/@buddi/core/dist/goals/index.js.map +1 -1
  82. package/node_modules/@buddi/core/dist/goals/math.d.ts +8 -2
  83. package/node_modules/@buddi/core/dist/goals/math.d.ts.map +1 -1
  84. package/node_modules/@buddi/core/dist/goals/math.js +17 -4
  85. package/node_modules/@buddi/core/dist/goals/math.js.map +1 -1
  86. package/node_modules/@buddi/core/dist/goals/owner.d.ts +129 -0
  87. package/node_modules/@buddi/core/dist/goals/owner.d.ts.map +1 -0
  88. package/node_modules/@buddi/core/dist/goals/owner.js +239 -0
  89. package/node_modules/@buddi/core/dist/goals/owner.js.map +1 -0
  90. package/node_modules/@buddi/core/dist/goals/store.d.ts.map +1 -1
  91. package/node_modules/@buddi/core/dist/goals/store.js +11 -4
  92. package/node_modules/@buddi/core/dist/goals/store.js.map +1 -1
  93. package/node_modules/@buddi/core/dist/goals/types.d.ts +17 -3
  94. package/node_modules/@buddi/core/dist/goals/types.d.ts.map +1 -1
  95. package/node_modules/@buddi/core/dist/goals/types.js +8 -2
  96. package/node_modules/@buddi/core/dist/goals/types.js.map +1 -1
  97. package/node_modules/@buddi/core/dist/host/build.d.ts +15 -1
  98. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  99. package/node_modules/@buddi/core/dist/host/build.js +99 -1
  100. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  101. package/node_modules/@buddi/core/dist/host/types.d.ts +88 -1
  102. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  103. package/node_modules/@buddi/core/dist/index.d.ts +1 -0
  104. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  105. package/node_modules/@buddi/core/dist/index.js +1 -0
  106. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  107. package/node_modules/@buddi/core/dist/learning/announce.d.ts +29 -0
  108. package/node_modules/@buddi/core/dist/learning/announce.d.ts.map +1 -0
  109. package/node_modules/@buddi/core/dist/learning/announce.js +49 -0
  110. package/node_modules/@buddi/core/dist/learning/announce.js.map +1 -0
  111. package/node_modules/@buddi/core/dist/learning/index.d.ts +1 -0
  112. package/node_modules/@buddi/core/dist/learning/index.d.ts.map +1 -1
  113. package/node_modules/@buddi/core/dist/learning/index.js +1 -0
  114. package/node_modules/@buddi/core/dist/learning/index.js.map +1 -1
  115. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  116. package/node_modules/@buddi/core/dist/learning/store.js +15 -4
  117. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  118. package/node_modules/@buddi/core/dist/notifications/channels.d.ts +37 -0
  119. package/node_modules/@buddi/core/dist/notifications/channels.d.ts.map +1 -0
  120. package/node_modules/@buddi/core/dist/notifications/channels.js +87 -0
  121. package/node_modules/@buddi/core/dist/notifications/channels.js.map +1 -0
  122. package/node_modules/@buddi/core/dist/notifications/index.d.ts +5 -0
  123. package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -0
  124. package/node_modules/@buddi/core/dist/notifications/index.js +5 -0
  125. package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -0
  126. package/node_modules/@buddi/core/dist/notifications/notify.d.ts +35 -0
  127. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -0
  128. package/node_modules/@buddi/core/dist/notifications/notify.js +263 -0
  129. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -0
  130. package/node_modules/@buddi/core/dist/notifications/store.d.ts +50 -0
  131. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -0
  132. package/node_modules/@buddi/core/dist/notifications/store.js +216 -0
  133. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -0
  134. package/node_modules/@buddi/core/dist/notifications/types.d.ts +142 -0
  135. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -0
  136. package/node_modules/@buddi/core/dist/notifications/types.js +5 -0
  137. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -0
  138. package/node_modules/@buddi/core/dist/owner.js +1 -1
  139. package/node_modules/@buddi/core/dist/pages.d.ts +2 -2
  140. package/node_modules/@buddi/core/dist/plugin/index.d.ts +1 -1
  141. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  142. package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
  143. package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
  144. package/node_modules/@buddi/core/dist/plugin/uses.js +4 -0
  145. package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
  146. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  147. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  148. package/node_modules/@buddi/core/dist/provider.d.ts +1 -1
  149. package/node_modules/@buddi/core/dist/provider.js +1 -1
  150. package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts +1 -1
  151. package/node_modules/@buddi/core/dist/queue/retry-policy.js +1 -1
  152. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  153. package/node_modules/@buddi/core/dist/registry.js +3 -4
  154. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  155. package/node_modules/@buddi/core/dist/reminders/store.d.ts +1 -1
  156. package/node_modules/@buddi/core/dist/reminders/store.js +1 -1
  157. package/node_modules/@buddi/core/dist/reminders/types.d.ts +1 -1
  158. package/node_modules/@buddi/core/dist/reminders/types.js +1 -1
  159. package/node_modules/@buddi/core/dist/sentinels/run.d.ts.map +1 -1
  160. package/node_modules/@buddi/core/dist/sentinels/run.js +4 -1
  161. package/node_modules/@buddi/core/dist/sentinels/run.js.map +1 -1
  162. package/node_modules/@buddi/core/dist/sentinels/types.d.ts +21 -1
  163. package/node_modules/@buddi/core/dist/sentinels/types.d.ts.map +1 -1
  164. package/node_modules/@buddi/core/dist/sentinels/types.js.map +1 -1
  165. package/node_modules/@buddi/core/dist/surfaces.d.ts +2 -0
  166. package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
  167. package/node_modules/@buddi/core/dist/surfaces.js +7 -0
  168. package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
  169. package/node_modules/@buddi/core/dist/time.d.ts +12 -0
  170. package/node_modules/@buddi/core/dist/time.d.ts.map +1 -1
  171. package/node_modules/@buddi/core/dist/time.js +46 -0
  172. package/node_modules/@buddi/core/dist/time.js.map +1 -1
  173. package/node_modules/@buddi/core/dist/tools.d.ts +5 -5
  174. package/node_modules/@buddi/core/dist/uninstall.d.ts +79 -0
  175. package/node_modules/@buddi/core/dist/uninstall.d.ts.map +1 -0
  176. package/node_modules/@buddi/core/dist/uninstall.js +109 -0
  177. package/node_modules/@buddi/core/dist/uninstall.js.map +1 -0
  178. package/node_modules/@buddi/core/dist/vault/file.js +2 -2
  179. package/node_modules/@buddi/core/dist/vault/keychain.js +1 -1
  180. package/node_modules/@buddi/core/dist/vault/keychain.js.map +1 -1
  181. package/node_modules/@buddi/core/dist/vault/resolve.d.ts +3 -3
  182. package/node_modules/@buddi/core/dist/vault/resolve.js +3 -3
  183. package/node_modules/@buddi/core/dist/vault/types.d.ts +1 -1
  184. package/node_modules/@buddi/core/dist/vault/types.js +1 -1
  185. package/node_modules/@buddi/core/dist/views.d.ts +66 -66
  186. package/node_modules/@buddi/core/migrations/003_owner_surfaces.sql +1 -1
  187. package/node_modules/@buddi/core/migrations/005_artifacts.sql +1 -1
  188. package/node_modules/@buddi/core/migrations/009_queue.sql +1 -2
  189. package/node_modules/@buddi/core/migrations/010_actions.sql +1 -1
  190. package/node_modules/@buddi/core/migrations/043_owner_notifications.sql +77 -0
  191. package/node_modules/@buddi/core/migrations/044_owner_metrics.sql +45 -0
  192. package/node_modules/@buddi/core/migrations/045_frequency_goals.sql +19 -0
  193. package/node_modules/@buddi/core/package.json +4 -0
  194. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  195. package/node_modules/@buddi/gateway/dist/agents/catalog.js +1 -1
  196. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +25 -1
  197. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
  198. package/node_modules/@buddi/gateway/dist/agents-cli.js +91 -27
  199. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  200. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  201. package/node_modules/@buddi/gateway/dist/bootstrap.js +8 -0
  202. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  203. package/node_modules/@buddi/gateway/dist/channels/local-notification.d.ts +39 -0
  204. package/node_modules/@buddi/gateway/dist/channels/local-notification.d.ts.map +1 -0
  205. package/node_modules/@buddi/gateway/dist/channels/local-notification.js +154 -0
  206. package/node_modules/@buddi/gateway/dist/channels/local-notification.js.map +1 -0
  207. package/node_modules/@buddi/gateway/dist/chat/approvals.d.ts +3 -3
  208. package/node_modules/@buddi/gateway/dist/chat/approvals.js +3 -3
  209. package/node_modules/@buddi/gateway/dist/chat/usage.d.ts.map +1 -1
  210. package/node_modules/@buddi/gateway/dist/chat/usage.js +1 -0
  211. package/node_modules/@buddi/gateway/dist/chat/usage.js.map +1 -1
  212. package/node_modules/@buddi/gateway/dist/cli.d.ts +14 -0
  213. package/node_modules/@buddi/gateway/dist/cli.d.ts.map +1 -1
  214. package/node_modules/@buddi/gateway/dist/cli.js +208 -37
  215. package/node_modules/@buddi/gateway/dist/cli.js.map +1 -1
  216. package/node_modules/@buddi/gateway/dist/db-ready.d.ts +2 -1
  217. package/node_modules/@buddi/gateway/dist/db-ready.d.ts.map +1 -1
  218. package/node_modules/@buddi/gateway/dist/db-ready.js +3 -2
  219. package/node_modules/@buddi/gateway/dist/db-ready.js.map +1 -1
  220. package/node_modules/@buddi/gateway/dist/index.d.ts +5 -1
  221. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  222. package/node_modules/@buddi/gateway/dist/index.js +6 -1
  223. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  224. package/node_modules/@buddi/gateway/dist/missions/agent-run.d.ts.map +1 -1
  225. package/node_modules/@buddi/gateway/dist/missions/agent-run.js +11 -1
  226. package/node_modules/@buddi/gateway/dist/missions/agent-run.js.map +1 -1
  227. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +22 -1
  228. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  229. package/node_modules/@buddi/gateway/dist/missions/execute.js +8 -1
  230. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/missions/goals-format.d.ts +32 -5
  232. package/node_modules/@buddi/gateway/dist/missions/goals-format.d.ts.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/missions/goals-format.js +59 -2
  234. package/node_modules/@buddi/gateway/dist/missions/goals-format.js.map +1 -1
  235. package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts +60 -5
  236. package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts.map +1 -1
  237. package/node_modules/@buddi/gateway/dist/missions/goals-page.js +355 -8
  238. package/node_modules/@buddi/gateway/dist/missions/goals-page.js.map +1 -1
  239. package/node_modules/@buddi/gateway/dist/missions/goals.d.ts +64 -5
  240. package/node_modules/@buddi/gateway/dist/missions/goals.d.ts.map +1 -1
  241. package/node_modules/@buddi/gateway/dist/missions/goals.js +834 -116
  242. package/node_modules/@buddi/gateway/dist/missions/goals.js.map +1 -1
  243. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts +5 -0
  244. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js +12 -0
  246. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts +2 -0
  248. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/missions-cli.js +53 -8
  250. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  251. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts +44 -0
  252. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts.map +1 -0
  253. package/node_modules/@buddi/gateway/dist/owner-notify.js +91 -0
  254. package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -0
  255. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +3 -1
  256. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  257. package/node_modules/@buddi/gateway/dist/plugins-cli.js +11 -4
  258. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  259. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  260. package/node_modules/@buddi/gateway/dist/provider-accounts.js +22 -13
  261. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  262. package/node_modules/@buddi/gateway/dist/reminders-cli.d.ts +3 -1
  263. package/node_modules/@buddi/gateway/dist/reminders-cli.d.ts.map +1 -1
  264. package/node_modules/@buddi/gateway/dist/reminders-cli.js +21 -2
  265. package/node_modules/@buddi/gateway/dist/reminders-cli.js.map +1 -1
  266. package/node_modules/@buddi/gateway/dist/serve.d.ts +2 -0
  267. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  268. package/node_modules/@buddi/gateway/dist/serve.js +61 -13
  269. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  270. package/node_modules/@buddi/gateway/dist/subscription-signins.d.ts +28 -0
  271. package/node_modules/@buddi/gateway/dist/subscription-signins.d.ts.map +1 -0
  272. package/node_modules/@buddi/gateway/dist/subscription-signins.js +30 -0
  273. package/node_modules/@buddi/gateway/dist/subscription-signins.js.map +1 -0
  274. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +43 -9
  275. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
  276. package/node_modules/@buddi/gateway/dist/telegram/api.js +80 -21
  277. package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
  278. package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts +3 -3
  279. package/node_modules/@buddi/gateway/dist/telegram/approvals.js +3 -3
  280. package/node_modules/@buddi/gateway/dist/telegram/attachments.d.ts +6 -0
  281. package/node_modules/@buddi/gateway/dist/telegram/attachments.d.ts.map +1 -1
  282. package/node_modules/@buddi/gateway/dist/telegram/attachments.js +1 -0
  283. package/node_modules/@buddi/gateway/dist/telegram/attachments.js.map +1 -1
  284. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  285. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +2 -1
  286. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
  287. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +36 -0
  288. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -0
  289. package/node_modules/@buddi/gateway/dist/telegram/channel.js +71 -0
  290. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -0
  291. package/node_modules/@buddi/gateway/dist/telegram/commands.d.ts +28 -0
  292. package/node_modules/@buddi/gateway/dist/telegram/commands.d.ts.map +1 -0
  293. package/node_modules/@buddi/gateway/dist/telegram/commands.js +74 -0
  294. package/node_modules/@buddi/gateway/dist/telegram/commands.js.map +1 -0
  295. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts +3 -0
  296. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  297. package/node_modules/@buddi/gateway/dist/telegram/main.js +71 -2
  298. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  299. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +191 -0
  300. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -0
  301. package/node_modules/@buddi/gateway/dist/telegram/outbound.js +671 -0
  302. package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -0
  303. package/node_modules/@buddi/gateway/dist/telegram/proposals.d.ts +65 -0
  304. package/node_modules/@buddi/gateway/dist/telegram/proposals.d.ts.map +1 -0
  305. package/node_modules/@buddi/gateway/dist/telegram/proposals.js +183 -0
  306. package/node_modules/@buddi/gateway/dist/telegram/proposals.js.map +1 -0
  307. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +47 -47
  308. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  309. package/node_modules/@buddi/gateway/dist/telegram/surface.js +103 -291
  310. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  311. package/node_modules/@buddi/gateway/dist/web/config.js +3 -3
  312. package/node_modules/@buddi/gateway/dist/web/http.d.ts +16 -3
  313. package/node_modules/@buddi/gateway/dist/web/http.d.ts.map +1 -1
  314. package/node_modules/@buddi/gateway/dist/web/http.js +39 -3
  315. package/node_modules/@buddi/gateway/dist/web/http.js.map +1 -1
  316. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +36 -0
  317. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -0
  318. package/node_modules/@buddi/gateway/dist/web/notifications.js +63 -0
  319. package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -0
  320. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +1 -1
  321. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
  322. package/node_modules/@buddi/gateway/dist/web/onboarding.js +5 -1
  323. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  324. package/node_modules/@buddi/gateway/dist/web/read.js +3 -3
  325. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
  326. package/node_modules/@buddi/gateway/dist/web/secrets.js +3 -2
  327. package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
  328. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  329. package/node_modules/@buddi/gateway/dist/web/server.js +54 -23
  330. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  331. package/node_modules/@buddi/gateway/dist/web/telegram.d.ts +39 -0
  332. package/node_modules/@buddi/gateway/dist/web/telegram.d.ts.map +1 -1
  333. package/node_modules/@buddi/gateway/dist/web/telegram.js +53 -1
  334. package/node_modules/@buddi/gateway/dist/web/telegram.js.map +1 -1
  335. package/node_modules/@buddi/gateway/dist/web/version.d.ts +1 -0
  336. package/node_modules/@buddi/gateway/dist/web/version.d.ts.map +1 -1
  337. package/node_modules/@buddi/gateway/dist/web/version.js +2 -1
  338. package/node_modules/@buddi/gateway/dist/web/version.js.map +1 -1
  339. package/node_modules/@buddi/gateway/dist/web/write.js +1 -1
  340. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  341. package/node_modules/@buddi/install/dist/environment.d.ts +29 -0
  342. package/node_modules/@buddi/install/dist/environment.d.ts.map +1 -1
  343. package/node_modules/@buddi/install/dist/environment.js +50 -1
  344. package/node_modules/@buddi/install/dist/environment.js.map +1 -1
  345. package/node_modules/@buddi/install/dist/launcher.d.ts +3 -1
  346. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  347. package/node_modules/@buddi/install/dist/launcher.js +220 -14
  348. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  349. package/node_modules/@buddi/install/dist/uninstall.d.ts +59 -0
  350. package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -0
  351. package/node_modules/@buddi/install/dist/uninstall.js +260 -0
  352. package/node_modules/@buddi/install/dist/uninstall.js.map +1 -0
  353. package/node_modules/@buddi/install/dist/upgrade.d.ts +16 -3
  354. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  355. package/node_modules/@buddi/install/dist/upgrade.js +21 -7
  356. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  357. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  358. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +35 -2
  359. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  360. package/node_modules/@buddi/runtime/dist/anthropic.js +36 -12
  361. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  362. package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
  363. package/node_modules/@buddi/runtime/dist/context-window.js +5 -2
  364. package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
  365. package/node_modules/@buddi/runtime/dist/delegate.js +1 -1
  366. package/node_modules/@buddi/runtime/dist/loop.d.ts +13 -1
  367. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  368. package/node_modules/@buddi/runtime/dist/loop.js +70 -3
  369. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  370. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  371. package/node_modules/@buddi/runtime/dist/openai.js +26 -8
  372. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  373. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  374. package/node_modules/@buddi/tool-artifacts/dist/index.d.ts +1 -1
  375. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  376. package/node_modules/@buddi/tool-browser/dist/availability.d.ts +34 -8
  377. package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
  378. package/node_modules/@buddi/tool-browser/dist/availability.js +44 -5
  379. package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
  380. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +2 -2
  381. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  382. package/node_modules/@buddi/tool-browser/dist/controller.js +7 -6
  383. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  384. package/node_modules/@buddi/tool-browser/dist/host.d.ts +3 -1
  385. package/node_modules/@buddi/tool-browser/dist/host.d.ts.map +1 -1
  386. package/node_modules/@buddi/tool-browser/dist/host.js +5 -1
  387. package/node_modules/@buddi/tool-browser/dist/host.js.map +1 -1
  388. package/node_modules/@buddi/tool-browser/dist/index.d.ts +2 -2
  389. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  390. package/node_modules/@buddi/tool-browser/dist/index.js +13 -5
  391. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  392. package/node_modules/@buddi/tool-browser/dist/origin-pattern.d.ts +31 -0
  393. package/node_modules/@buddi/tool-browser/dist/origin-pattern.d.ts.map +1 -0
  394. package/node_modules/@buddi/tool-browser/dist/origin-pattern.js +61 -0
  395. package/node_modules/@buddi/tool-browser/dist/origin-pattern.js.map +1 -0
  396. package/node_modules/@buddi/tool-browser/dist/public-suffixes.d.ts +24 -0
  397. package/node_modules/@buddi/tool-browser/dist/public-suffixes.d.ts.map +1 -0
  398. package/node_modules/@buddi/tool-browser/dist/public-suffixes.js +153 -0
  399. package/node_modules/@buddi/tool-browser/dist/public-suffixes.js.map +1 -0
  400. package/node_modules/@buddi/tool-browser/dist/secrets.d.ts +45 -9
  401. package/node_modules/@buddi/tool-browser/dist/secrets.d.ts.map +1 -1
  402. package/node_modules/@buddi/tool-browser/dist/secrets.js +77 -20
  403. package/node_modules/@buddi/tool-browser/dist/secrets.js.map +1 -1
  404. package/node_modules/@buddi/tool-browser/dist/service.d.ts +12 -2
  405. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  406. package/node_modules/@buddi/tool-browser/dist/service.js +84 -20
  407. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  408. package/node_modules/@buddi/tool-browser/dist/types.d.ts +7 -1
  409. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  410. package/node_modules/@buddi/tool-browser/dist/types.js +7 -1
  411. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  412. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  413. package/node_modules/@buddi/tool-email/dist/channel.d.ts +43 -0
  414. package/node_modules/@buddi/tool-email/dist/channel.d.ts.map +1 -0
  415. package/node_modules/@buddi/tool-email/dist/channel.js +99 -0
  416. package/node_modules/@buddi/tool-email/dist/channel.js.map +1 -0
  417. package/node_modules/@buddi/tool-email/dist/index.d.ts +1 -0
  418. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  419. package/node_modules/@buddi/tool-email/dist/index.js +8 -1
  420. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  421. package/node_modules/@buddi/tool-email/dist/ports.d.ts +3 -3
  422. package/node_modules/@buddi/tool-email/dist/ports.js +1 -1
  423. package/node_modules/@buddi/tool-email/dist/tools/drafts.d.ts +1 -1
  424. package/node_modules/@buddi/tool-email/dist/tools/read.js +1 -1
  425. package/node_modules/@buddi/tool-email/dist/tools/read.js.map +1 -1
  426. package/node_modules/@buddi/tool-email/dist/tools/send.js +1 -1
  427. package/node_modules/@buddi/tool-email/migrations/001_email.sql +3 -2
  428. package/node_modules/@buddi/tool-email/package.json +2 -1
  429. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  430. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  431. package/node_modules/@buddi/tool-memory/dist/index.js +1 -1
  432. package/node_modules/@buddi/tool-memory/migrations/001_memory.sql +1 -1
  433. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  434. package/node_modules/ws/lib/websocket.js +17 -3
  435. package/node_modules/ws/package.json +1 -1
  436. package/package.json +5 -2
  437. package/packages/cli/dist/.tsbuildinfo +1 -1
  438. package/packages/cli/dist/args.d.ts +16 -3
  439. package/packages/cli/dist/args.d.ts.map +1 -1
  440. package/packages/cli/dist/args.js +39 -89
  441. package/packages/cli/dist/args.js.map +1 -1
  442. package/packages/cli/dist/backup/index.d.ts +2 -0
  443. package/packages/cli/dist/backup/index.d.ts.map +1 -1
  444. package/packages/cli/dist/backup/index.js +13 -4
  445. package/packages/cli/dist/backup/index.js.map +1 -1
  446. package/packages/cli/dist/commands.d.ts +94 -0
  447. package/packages/cli/dist/commands.d.ts.map +1 -0
  448. package/packages/cli/dist/commands.js +1028 -0
  449. package/packages/cli/dist/commands.js.map +1 -0
  450. package/packages/cli/dist/dashboard-app.d.ts +6 -0
  451. package/packages/cli/dist/dashboard-app.d.ts.map +1 -1
  452. package/packages/cli/dist/dashboard-app.js +16 -1
  453. package/packages/cli/dist/dashboard-app.js.map +1 -1
  454. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  455. package/packages/cli/dist/doctor-probes.js +5 -2
  456. package/packages/cli/dist/doctor-probes.js.map +1 -1
  457. package/packages/cli/dist/doctor.d.ts +16 -0
  458. package/packages/cli/dist/doctor.d.ts.map +1 -1
  459. package/packages/cli/dist/doctor.js +18 -0
  460. package/packages/cli/dist/doctor.js.map +1 -1
  461. package/packages/cli/dist/index.d.ts +4 -1
  462. package/packages/cli/dist/index.d.ts.map +1 -1
  463. package/packages/cli/dist/index.js +4 -1
  464. package/packages/cli/dist/index.js.map +1 -1
  465. package/packages/cli/dist/jobs-cmd.d.ts +4 -0
  466. package/packages/cli/dist/jobs-cmd.d.ts.map +1 -1
  467. package/packages/cli/dist/jobs-cmd.js +26 -7
  468. package/packages/cli/dist/jobs-cmd.js.map +1 -1
  469. package/packages/cli/dist/main.d.ts +9 -2
  470. package/packages/cli/dist/main.d.ts.map +1 -1
  471. package/packages/cli/dist/main.js +256 -30
  472. package/packages/cli/dist/main.js.map +1 -1
  473. package/packages/cli/dist/paths.d.ts +7 -4
  474. package/packages/cli/dist/paths.d.ts.map +1 -1
  475. package/packages/cli/dist/paths.js +17 -6
  476. package/packages/cli/dist/paths.js.map +1 -1
  477. package/packages/cli/dist/status.d.ts +70 -0
  478. package/packages/cli/dist/status.d.ts.map +1 -0
  479. package/packages/cli/dist/status.js +122 -0
  480. package/packages/cli/dist/status.js.map +1 -0
  481. package/packages/cli/dist/style.d.ts +13 -0
  482. package/packages/cli/dist/style.d.ts.map +1 -0
  483. package/packages/cli/dist/style.js +10 -0
  484. package/packages/cli/dist/style.js.map +1 -0
  485. package/packages/cli/dist/telegram-cmd.d.ts +1 -1
  486. package/packages/cli/dist/telegram-cmd.d.ts.map +1 -1
  487. package/packages/cli/dist/telegram-cmd.js +23 -6
  488. package/packages/cli/dist/telegram-cmd.js.map +1 -1
  489. package/packages/cli/dist/uninstall-cmd.d.ts +42 -0
  490. package/packages/cli/dist/uninstall-cmd.d.ts.map +1 -0
  491. package/packages/cli/dist/uninstall-cmd.js +208 -0
  492. package/packages/cli/dist/uninstall-cmd.js.map +1 -0
  493. package/packages/cli/dist/vault-cmd.js +3 -3
  494. package/packages/core/dist/.tsbuildinfo +1 -1
  495. package/packages/core/dist/actions/approvals.d.ts +0 -17
  496. package/packages/core/dist/actions/approvals.d.ts.map +1 -1
  497. package/packages/core/dist/actions/approvals.js +21 -0
  498. package/packages/core/dist/actions/approvals.js.map +1 -1
  499. package/packages/core/dist/actions/execute.d.ts +1 -1
  500. package/packages/core/dist/actions/jobs.d.ts +1 -1
  501. package/packages/core/dist/actions/types.js +1 -1
  502. package/packages/core/dist/agents/models.d.ts.map +1 -1
  503. package/packages/core/dist/agents/models.js +4 -3
  504. package/packages/core/dist/agents/models.js.map +1 -1
  505. package/packages/core/dist/agents/provider-from-env.d.ts +1 -1
  506. package/packages/core/dist/agents/provider-from-env.js +1 -1
  507. package/packages/core/dist/agents/skills.d.ts +2 -2
  508. package/packages/core/dist/goals/frequency.d.ts +51 -0
  509. package/packages/core/dist/goals/frequency.d.ts.map +1 -0
  510. package/packages/core/dist/goals/frequency.js +113 -0
  511. package/packages/core/dist/goals/frequency.js.map +1 -0
  512. package/packages/core/dist/goals/index.d.ts +2 -0
  513. package/packages/core/dist/goals/index.d.ts.map +1 -1
  514. package/packages/core/dist/goals/index.js +2 -0
  515. package/packages/core/dist/goals/index.js.map +1 -1
  516. package/packages/core/dist/goals/math.d.ts +8 -2
  517. package/packages/core/dist/goals/math.d.ts.map +1 -1
  518. package/packages/core/dist/goals/math.js +17 -4
  519. package/packages/core/dist/goals/math.js.map +1 -1
  520. package/packages/core/dist/goals/owner.d.ts +129 -0
  521. package/packages/core/dist/goals/owner.d.ts.map +1 -0
  522. package/packages/core/dist/goals/owner.js +239 -0
  523. package/packages/core/dist/goals/owner.js.map +1 -0
  524. package/packages/core/dist/goals/store.d.ts.map +1 -1
  525. package/packages/core/dist/goals/store.js +11 -4
  526. package/packages/core/dist/goals/store.js.map +1 -1
  527. package/packages/core/dist/goals/types.d.ts +17 -3
  528. package/packages/core/dist/goals/types.d.ts.map +1 -1
  529. package/packages/core/dist/goals/types.js +8 -2
  530. package/packages/core/dist/goals/types.js.map +1 -1
  531. package/packages/core/dist/host/build.d.ts +15 -1
  532. package/packages/core/dist/host/build.d.ts.map +1 -1
  533. package/packages/core/dist/host/build.js +99 -1
  534. package/packages/core/dist/host/build.js.map +1 -1
  535. package/packages/core/dist/host/types.d.ts +88 -1
  536. package/packages/core/dist/host/types.d.ts.map +1 -1
  537. package/packages/core/dist/index.d.ts +1 -0
  538. package/packages/core/dist/index.d.ts.map +1 -1
  539. package/packages/core/dist/index.js +1 -0
  540. package/packages/core/dist/index.js.map +1 -1
  541. package/packages/core/dist/learning/announce.d.ts +29 -0
  542. package/packages/core/dist/learning/announce.d.ts.map +1 -0
  543. package/packages/core/dist/learning/announce.js +49 -0
  544. package/packages/core/dist/learning/announce.js.map +1 -0
  545. package/packages/core/dist/learning/index.d.ts +1 -0
  546. package/packages/core/dist/learning/index.d.ts.map +1 -1
  547. package/packages/core/dist/learning/index.js +1 -0
  548. package/packages/core/dist/learning/index.js.map +1 -1
  549. package/packages/core/dist/learning/store.d.ts.map +1 -1
  550. package/packages/core/dist/learning/store.js +15 -4
  551. package/packages/core/dist/learning/store.js.map +1 -1
  552. package/packages/core/dist/notifications/channels.d.ts +37 -0
  553. package/packages/core/dist/notifications/channels.d.ts.map +1 -0
  554. package/packages/core/dist/notifications/channels.js +87 -0
  555. package/packages/core/dist/notifications/channels.js.map +1 -0
  556. package/packages/core/dist/notifications/index.d.ts +5 -0
  557. package/packages/core/dist/notifications/index.d.ts.map +1 -0
  558. package/packages/core/dist/notifications/index.js +5 -0
  559. package/packages/core/dist/notifications/index.js.map +1 -0
  560. package/packages/core/dist/notifications/notify.d.ts +35 -0
  561. package/packages/core/dist/notifications/notify.d.ts.map +1 -0
  562. package/packages/core/dist/notifications/notify.js +263 -0
  563. package/packages/core/dist/notifications/notify.js.map +1 -0
  564. package/packages/core/dist/notifications/store.d.ts +50 -0
  565. package/packages/core/dist/notifications/store.d.ts.map +1 -0
  566. package/packages/core/dist/notifications/store.js +216 -0
  567. package/packages/core/dist/notifications/store.js.map +1 -0
  568. package/packages/core/dist/notifications/types.d.ts +142 -0
  569. package/packages/core/dist/notifications/types.d.ts.map +1 -0
  570. package/packages/core/dist/notifications/types.js +5 -0
  571. package/packages/core/dist/notifications/types.js.map +1 -0
  572. package/packages/core/dist/owner.js +1 -1
  573. package/packages/core/dist/pages.d.ts +2 -2
  574. package/packages/core/dist/plugin/index.d.ts +1 -1
  575. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  576. package/packages/core/dist/plugin/uses.d.ts +1 -1
  577. package/packages/core/dist/plugin/uses.d.ts.map +1 -1
  578. package/packages/core/dist/plugin/uses.js +4 -0
  579. package/packages/core/dist/plugin/uses.js.map +1 -1
  580. package/packages/core/dist/plugin/version.d.ts +1 -1
  581. package/packages/core/dist/plugin/version.js +1 -1
  582. package/packages/core/dist/provider.d.ts +1 -1
  583. package/packages/core/dist/provider.js +1 -1
  584. package/packages/core/dist/queue/retry-policy.d.ts +1 -1
  585. package/packages/core/dist/queue/retry-policy.js +1 -1
  586. package/packages/core/dist/registry.d.ts.map +1 -1
  587. package/packages/core/dist/registry.js +3 -4
  588. package/packages/core/dist/registry.js.map +1 -1
  589. package/packages/core/dist/reminders/store.d.ts +1 -1
  590. package/packages/core/dist/reminders/store.js +1 -1
  591. package/packages/core/dist/reminders/types.d.ts +1 -1
  592. package/packages/core/dist/reminders/types.js +1 -1
  593. package/packages/core/dist/sentinels/run.d.ts.map +1 -1
  594. package/packages/core/dist/sentinels/run.js +4 -1
  595. package/packages/core/dist/sentinels/run.js.map +1 -1
  596. package/packages/core/dist/sentinels/types.d.ts +21 -1
  597. package/packages/core/dist/sentinels/types.d.ts.map +1 -1
  598. package/packages/core/dist/sentinels/types.js.map +1 -1
  599. package/packages/core/dist/surfaces.d.ts +2 -0
  600. package/packages/core/dist/surfaces.d.ts.map +1 -1
  601. package/packages/core/dist/surfaces.js +7 -0
  602. package/packages/core/dist/surfaces.js.map +1 -1
  603. package/packages/core/dist/time.d.ts +12 -0
  604. package/packages/core/dist/time.d.ts.map +1 -1
  605. package/packages/core/dist/time.js +46 -0
  606. package/packages/core/dist/time.js.map +1 -1
  607. package/packages/core/dist/tools.d.ts +5 -5
  608. package/packages/core/dist/uninstall.d.ts +79 -0
  609. package/packages/core/dist/uninstall.d.ts.map +1 -0
  610. package/packages/core/dist/uninstall.js +109 -0
  611. package/packages/core/dist/uninstall.js.map +1 -0
  612. package/packages/core/dist/vault/file.js +2 -2
  613. package/packages/core/dist/vault/keychain.js +1 -1
  614. package/packages/core/dist/vault/keychain.js.map +1 -1
  615. package/packages/core/dist/vault/resolve.d.ts +3 -3
  616. package/packages/core/dist/vault/resolve.js +3 -3
  617. package/packages/core/dist/vault/types.d.ts +1 -1
  618. package/packages/core/dist/vault/types.js +1 -1
  619. package/packages/core/dist/views.d.ts +66 -66
  620. package/packages/core/migrations/003_owner_surfaces.sql +1 -1
  621. package/packages/core/migrations/005_artifacts.sql +1 -1
  622. package/packages/core/migrations/009_queue.sql +1 -2
  623. package/packages/core/migrations/010_actions.sql +1 -1
  624. package/packages/core/migrations/043_owner_notifications.sql +77 -0
  625. package/packages/core/migrations/044_owner_metrics.sql +45 -0
  626. package/packages/core/migrations/045_frequency_goals.sql +19 -0
  627. package/packages/core/package.json +4 -0
  628. package/packages/gateway/dist/.tsbuildinfo +1 -1
  629. package/packages/gateway/dist/agents/catalog.js +1 -1
  630. package/packages/gateway/dist/agents-cli.d.ts +25 -1
  631. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  632. package/packages/gateway/dist/agents-cli.js +91 -27
  633. package/packages/gateway/dist/agents-cli.js.map +1 -1
  634. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  635. package/packages/gateway/dist/bootstrap.js +8 -0
  636. package/packages/gateway/dist/bootstrap.js.map +1 -1
  637. package/packages/gateway/dist/channels/local-notification.d.ts +39 -0
  638. package/packages/gateway/dist/channels/local-notification.d.ts.map +1 -0
  639. package/packages/gateway/dist/channels/local-notification.js +154 -0
  640. package/packages/gateway/dist/channels/local-notification.js.map +1 -0
  641. package/packages/gateway/dist/chat/approvals.d.ts +3 -3
  642. package/packages/gateway/dist/chat/approvals.js +3 -3
  643. package/packages/gateway/dist/chat/usage.d.ts.map +1 -1
  644. package/packages/gateway/dist/chat/usage.js +1 -0
  645. package/packages/gateway/dist/chat/usage.js.map +1 -1
  646. package/packages/gateway/dist/cli.d.ts +14 -0
  647. package/packages/gateway/dist/cli.d.ts.map +1 -1
  648. package/packages/gateway/dist/cli.js +208 -37
  649. package/packages/gateway/dist/cli.js.map +1 -1
  650. package/packages/gateway/dist/db-ready.d.ts +2 -1
  651. package/packages/gateway/dist/db-ready.d.ts.map +1 -1
  652. package/packages/gateway/dist/db-ready.js +3 -2
  653. package/packages/gateway/dist/db-ready.js.map +1 -1
  654. package/packages/gateway/dist/index.d.ts +5 -1
  655. package/packages/gateway/dist/index.d.ts.map +1 -1
  656. package/packages/gateway/dist/index.js +6 -1
  657. package/packages/gateway/dist/index.js.map +1 -1
  658. package/packages/gateway/dist/missions/agent-run.d.ts.map +1 -1
  659. package/packages/gateway/dist/missions/agent-run.js +11 -1
  660. package/packages/gateway/dist/missions/agent-run.js.map +1 -1
  661. package/packages/gateway/dist/missions/execute.d.ts +22 -1
  662. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  663. package/packages/gateway/dist/missions/execute.js +8 -1
  664. package/packages/gateway/dist/missions/execute.js.map +1 -1
  665. package/packages/gateway/dist/missions/goals-format.d.ts +32 -5
  666. package/packages/gateway/dist/missions/goals-format.d.ts.map +1 -1
  667. package/packages/gateway/dist/missions/goals-format.js +59 -2
  668. package/packages/gateway/dist/missions/goals-format.js.map +1 -1
  669. package/packages/gateway/dist/missions/goals-page.d.ts +60 -5
  670. package/packages/gateway/dist/missions/goals-page.d.ts.map +1 -1
  671. package/packages/gateway/dist/missions/goals-page.js +355 -8
  672. package/packages/gateway/dist/missions/goals-page.js.map +1 -1
  673. package/packages/gateway/dist/missions/goals.d.ts +64 -5
  674. package/packages/gateway/dist/missions/goals.d.ts.map +1 -1
  675. package/packages/gateway/dist/missions/goals.js +834 -116
  676. package/packages/gateway/dist/missions/goals.js.map +1 -1
  677. package/packages/gateway/dist/missions/sentinel-wake.d.ts +5 -0
  678. package/packages/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  679. package/packages/gateway/dist/missions/sentinel-wake.js +12 -0
  680. package/packages/gateway/dist/missions/sentinel-wake.js.map +1 -1
  681. package/packages/gateway/dist/missions-cli.d.ts +2 -0
  682. package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
  683. package/packages/gateway/dist/missions-cli.js +53 -8
  684. package/packages/gateway/dist/missions-cli.js.map +1 -1
  685. package/packages/gateway/dist/owner-notify.d.ts +44 -0
  686. package/packages/gateway/dist/owner-notify.d.ts.map +1 -0
  687. package/packages/gateway/dist/owner-notify.js +91 -0
  688. package/packages/gateway/dist/owner-notify.js.map +1 -0
  689. package/packages/gateway/dist/plugins-cli.d.ts +3 -1
  690. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  691. package/packages/gateway/dist/plugins-cli.js +11 -4
  692. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  693. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  694. package/packages/gateway/dist/provider-accounts.js +22 -13
  695. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  696. package/packages/gateway/dist/reminders-cli.d.ts +3 -1
  697. package/packages/gateway/dist/reminders-cli.d.ts.map +1 -1
  698. package/packages/gateway/dist/reminders-cli.js +21 -2
  699. package/packages/gateway/dist/reminders-cli.js.map +1 -1
  700. package/packages/gateway/dist/serve.d.ts +2 -0
  701. package/packages/gateway/dist/serve.d.ts.map +1 -1
  702. package/packages/gateway/dist/serve.js +61 -13
  703. package/packages/gateway/dist/serve.js.map +1 -1
  704. package/packages/gateway/dist/subscription-signins.d.ts +28 -0
  705. package/packages/gateway/dist/subscription-signins.d.ts.map +1 -0
  706. package/packages/gateway/dist/subscription-signins.js +30 -0
  707. package/packages/gateway/dist/subscription-signins.js.map +1 -0
  708. package/packages/gateway/dist/telegram/api.d.ts +43 -9
  709. package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
  710. package/packages/gateway/dist/telegram/api.js +80 -21
  711. package/packages/gateway/dist/telegram/api.js.map +1 -1
  712. package/packages/gateway/dist/telegram/approvals.d.ts +3 -3
  713. package/packages/gateway/dist/telegram/approvals.js +3 -3
  714. package/packages/gateway/dist/telegram/attachments.d.ts +6 -0
  715. package/packages/gateway/dist/telegram/attachments.d.ts.map +1 -1
  716. package/packages/gateway/dist/telegram/attachments.js +1 -0
  717. package/packages/gateway/dist/telegram/attachments.js.map +1 -1
  718. package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  719. package/packages/gateway/dist/telegram/browser-view.js +2 -1
  720. package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
  721. package/packages/gateway/dist/telegram/channel.d.ts +36 -0
  722. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -0
  723. package/packages/gateway/dist/telegram/channel.js +71 -0
  724. package/packages/gateway/dist/telegram/channel.js.map +1 -0
  725. package/packages/gateway/dist/telegram/commands.d.ts +28 -0
  726. package/packages/gateway/dist/telegram/commands.d.ts.map +1 -0
  727. package/packages/gateway/dist/telegram/commands.js +74 -0
  728. package/packages/gateway/dist/telegram/commands.js.map +1 -0
  729. package/packages/gateway/dist/telegram/main.d.ts +3 -0
  730. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  731. package/packages/gateway/dist/telegram/main.js +71 -2
  732. package/packages/gateway/dist/telegram/main.js.map +1 -1
  733. package/packages/gateway/dist/telegram/outbound.d.ts +191 -0
  734. package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -0
  735. package/packages/gateway/dist/telegram/outbound.js +671 -0
  736. package/packages/gateway/dist/telegram/outbound.js.map +1 -0
  737. package/packages/gateway/dist/telegram/proposals.d.ts +65 -0
  738. package/packages/gateway/dist/telegram/proposals.d.ts.map +1 -0
  739. package/packages/gateway/dist/telegram/proposals.js +183 -0
  740. package/packages/gateway/dist/telegram/proposals.js.map +1 -0
  741. package/packages/gateway/dist/telegram/surface.d.ts +47 -47
  742. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  743. package/packages/gateway/dist/telegram/surface.js +103 -291
  744. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  745. package/packages/gateway/dist/web/config.js +3 -3
  746. package/packages/gateway/dist/web/http.d.ts +16 -3
  747. package/packages/gateway/dist/web/http.d.ts.map +1 -1
  748. package/packages/gateway/dist/web/http.js +39 -3
  749. package/packages/gateway/dist/web/http.js.map +1 -1
  750. package/packages/gateway/dist/web/notifications.d.ts +36 -0
  751. package/packages/gateway/dist/web/notifications.d.ts.map +1 -0
  752. package/packages/gateway/dist/web/notifications.js +63 -0
  753. package/packages/gateway/dist/web/notifications.js.map +1 -0
  754. package/packages/gateway/dist/web/onboarding.d.ts +1 -1
  755. package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
  756. package/packages/gateway/dist/web/onboarding.js +5 -1
  757. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  758. package/packages/gateway/dist/web/read.js +3 -3
  759. package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
  760. package/packages/gateway/dist/web/secrets.js +3 -2
  761. package/packages/gateway/dist/web/secrets.js.map +1 -1
  762. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  763. package/packages/gateway/dist/web/server.js +54 -23
  764. package/packages/gateway/dist/web/server.js.map +1 -1
  765. package/packages/gateway/dist/web/telegram.d.ts +39 -0
  766. package/packages/gateway/dist/web/telegram.d.ts.map +1 -1
  767. package/packages/gateway/dist/web/telegram.js +53 -1
  768. package/packages/gateway/dist/web/telegram.js.map +1 -1
  769. package/packages/gateway/dist/web/version.d.ts +1 -0
  770. package/packages/gateway/dist/web/version.d.ts.map +1 -1
  771. package/packages/gateway/dist/web/version.js +2 -1
  772. package/packages/gateway/dist/web/version.js.map +1 -1
  773. package/packages/gateway/dist/web/write.js +1 -1
  774. package/packages/install/dist/.tsbuildinfo +1 -1
  775. package/packages/install/dist/environment.d.ts +29 -0
  776. package/packages/install/dist/environment.d.ts.map +1 -1
  777. package/packages/install/dist/environment.js +50 -1
  778. package/packages/install/dist/environment.js.map +1 -1
  779. package/packages/install/dist/launcher.d.ts +3 -1
  780. package/packages/install/dist/launcher.d.ts.map +1 -1
  781. package/packages/install/dist/launcher.js +220 -14
  782. package/packages/install/dist/launcher.js.map +1 -1
  783. package/packages/install/dist/uninstall.d.ts +59 -0
  784. package/packages/install/dist/uninstall.d.ts.map +1 -0
  785. package/packages/install/dist/uninstall.js +260 -0
  786. package/packages/install/dist/uninstall.js.map +1 -0
  787. package/packages/install/dist/upgrade.d.ts +16 -3
  788. package/packages/install/dist/upgrade.d.ts.map +1 -1
  789. package/packages/install/dist/upgrade.js +21 -7
  790. package/packages/install/dist/upgrade.js.map +1 -1
  791. package/packages/runtime/dist/.tsbuildinfo +1 -1
  792. package/packages/runtime/dist/anthropic.d.ts +35 -2
  793. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  794. package/packages/runtime/dist/anthropic.js +36 -12
  795. package/packages/runtime/dist/anthropic.js.map +1 -1
  796. package/packages/runtime/dist/context-window.d.ts.map +1 -1
  797. package/packages/runtime/dist/context-window.js +5 -2
  798. package/packages/runtime/dist/context-window.js.map +1 -1
  799. package/packages/runtime/dist/delegate.js +1 -1
  800. package/packages/runtime/dist/loop.d.ts +13 -1
  801. package/packages/runtime/dist/loop.d.ts.map +1 -1
  802. package/packages/runtime/dist/loop.js +70 -3
  803. package/packages/runtime/dist/loop.js.map +1 -1
  804. package/packages/runtime/dist/openai.d.ts.map +1 -1
  805. package/packages/runtime/dist/openai.js +26 -8
  806. package/packages/runtime/dist/openai.js.map +1 -1
  807. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  808. package/packages/tools/artifacts/dist/index.d.ts +1 -1
  809. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  810. package/packages/tools/browser/dist/availability.d.ts +34 -8
  811. package/packages/tools/browser/dist/availability.d.ts.map +1 -1
  812. package/packages/tools/browser/dist/availability.js +44 -5
  813. package/packages/tools/browser/dist/availability.js.map +1 -1
  814. package/packages/tools/browser/dist/controller.d.ts +2 -2
  815. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  816. package/packages/tools/browser/dist/controller.js +7 -6
  817. package/packages/tools/browser/dist/controller.js.map +1 -1
  818. package/packages/tools/browser/dist/host.d.ts +3 -1
  819. package/packages/tools/browser/dist/host.d.ts.map +1 -1
  820. package/packages/tools/browser/dist/host.js +5 -1
  821. package/packages/tools/browser/dist/host.js.map +1 -1
  822. package/packages/tools/browser/dist/index.d.ts +2 -2
  823. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  824. package/packages/tools/browser/dist/index.js +13 -5
  825. package/packages/tools/browser/dist/index.js.map +1 -1
  826. package/packages/tools/browser/dist/origin-pattern.d.ts +31 -0
  827. package/packages/tools/browser/dist/origin-pattern.d.ts.map +1 -0
  828. package/packages/tools/browser/dist/origin-pattern.js +61 -0
  829. package/packages/tools/browser/dist/origin-pattern.js.map +1 -0
  830. package/packages/tools/browser/dist/public-suffixes.d.ts +24 -0
  831. package/packages/tools/browser/dist/public-suffixes.d.ts.map +1 -0
  832. package/packages/tools/browser/dist/public-suffixes.js +153 -0
  833. package/packages/tools/browser/dist/public-suffixes.js.map +1 -0
  834. package/packages/tools/browser/dist/secrets.d.ts +45 -9
  835. package/packages/tools/browser/dist/secrets.d.ts.map +1 -1
  836. package/packages/tools/browser/dist/secrets.js +77 -20
  837. package/packages/tools/browser/dist/secrets.js.map +1 -1
  838. package/packages/tools/browser/dist/service.d.ts +12 -2
  839. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  840. package/packages/tools/browser/dist/service.js +84 -20
  841. package/packages/tools/browser/dist/service.js.map +1 -1
  842. package/packages/tools/browser/dist/types.d.ts +7 -1
  843. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  844. package/packages/tools/browser/dist/types.js +7 -1
  845. package/packages/tools/browser/dist/types.js.map +1 -1
  846. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  847. package/packages/tools/email/dist/channel.d.ts +43 -0
  848. package/packages/tools/email/dist/channel.d.ts.map +1 -0
  849. package/packages/tools/email/dist/channel.js +99 -0
  850. package/packages/tools/email/dist/channel.js.map +1 -0
  851. package/packages/tools/email/dist/index.d.ts +1 -0
  852. package/packages/tools/email/dist/index.d.ts.map +1 -1
  853. package/packages/tools/email/dist/index.js +8 -1
  854. package/packages/tools/email/dist/index.js.map +1 -1
  855. package/packages/tools/email/dist/ports.d.ts +3 -3
  856. package/packages/tools/email/dist/ports.js +1 -1
  857. package/packages/tools/email/dist/tools/drafts.d.ts +1 -1
  858. package/packages/tools/email/dist/tools/read.js +1 -1
  859. package/packages/tools/email/dist/tools/read.js.map +1 -1
  860. package/packages/tools/email/dist/tools/send.js +1 -1
  861. package/packages/tools/email/migrations/001_email.sql +3 -2
  862. package/packages/tools/email/package.json +2 -1
  863. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  864. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  865. package/packages/tools/memory/dist/index.js +1 -1
  866. package/packages/tools/memory/migrations/001_memory.sql +1 -1
  867. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  868. package/packages/web/dist/assets/dm-mono-latin-400-normal--0xN8mdc.woff +0 -0
  869. package/packages/web/dist/assets/dm-mono-latin-400-normal-4GdczIuU.woff2 +0 -0
  870. package/packages/web/dist/assets/dm-mono-latin-500-normal-CN8Miw6E.woff +0 -0
  871. package/packages/web/dist/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2 +0 -0
  872. package/packages/web/dist/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff +0 -0
  873. package/packages/web/dist/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2 +0 -0
  874. package/packages/web/dist/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2 +0 -0
  875. package/packages/web/dist/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff +0 -0
  876. package/packages/web/dist/assets/dm-sans-latin-ext-standard-italic-DNX9AbKj.woff2 +0 -0
  877. package/packages/web/dist/assets/dm-sans-latin-ext-standard-normal-oos9povj.woff2 +0 -0
  878. package/packages/web/dist/assets/dm-sans-latin-standard-italic-C8i6y2Ft.woff2 +0 -0
  879. package/packages/web/dist/assets/dm-sans-latin-standard-normal-Bf69Tn_J.woff2 +0 -0
  880. package/packages/web/dist/assets/index-B727JQsO.css +1 -0
  881. package/packages/web/dist/assets/index-OA0xgibo.js +123 -0
  882. package/packages/web/dist/index.html +2 -2
  883. package/packages/web/dist/assets/index-CxaF2koC.js +0 -122
  884. package/packages/web/dist/assets/index-DEho_xyR.css +0 -1
@@ -24,11 +24,14 @@ export declare const BACKUP_DIR: string;
24
24
  /** Load `.env` from the repo root. Idempotent; never overrides a real env var. */
25
25
  export declare function loadEnv(): void;
26
26
  /**
27
- * `.env`, and then the one variable that is deliberately no longer in it.
27
+ * `.env`, and then what is deliberately no longer in it.
28
28
  *
29
- * `DATABASE_URL` is assembled from the vault at runtime rather than written
30
- * into `.env` with the password in clear, and reading the vault is a keychain
31
- * call. Every subcommand waits on this before it touches `process.env.DATABASE_URL`.
29
+ * Provider keys and `DATABASE_URL` live in the vault, not in `.env` in clear,
30
+ * and reading the vault is a keychain call. The CLI hydrates the same names
31
+ * the gateway does at boot (`hydrateSecrets`), so `buddi status` and
32
+ * `buddi agents` judge an agent by the key the vault holds rather than by an
33
+ * environment variable nobody sets any more. Every subcommand waits on this
34
+ * before it touches `process.env.DATABASE_URL`.
32
35
  */
33
36
  export declare function loadEnvironment(env?: NodeJS.ProcessEnv): Promise<DatabaseUrlResolution>;
34
37
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAYA,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAI7E,uEAAuE;AACvE,eAAO,MAAM,UAAU,QAA+C,CAAC;AAEvE,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAoB,GAAG,MAAM,CAQjG;AAED,eAAO,MAAM,SAAS,QAA6D,CAAC;AAEpF,eAAO,MAAM,QAAQ,QAA6D,CAAC;AAiBnF,kFAAkF;AAClF,eAAO,MAAM,QAAQ,QAA+F,CAAC;AACrH,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AACrE,mEAAmE;AACnE,eAAO,MAAM,WAAW,QAAkE,CAAC;AAC3F,+DAA+D;AAC/D,eAAO,MAAM,SAAS,QAA6D,CAAC;AACpF,wEAAwE;AACxE,eAAO,MAAM,UAAU,QAAiC,CAAC;AAEzD,kFAAkF;AAClF,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAOhC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAYA,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAI7E,uEAAuE;AACvE,eAAO,MAAM,UAAU,QAA+C,CAAC;AAEvE,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAoB,GAAG,MAAM,CAQjG;AAED,eAAO,MAAM,SAAS,QAA6D,CAAC;AAEpF,eAAO,MAAM,QAAQ,QAA6D,CAAC;AAiBnF,kFAAkF;AAClF,eAAO,MAAM,QAAQ,QAA+F,CAAC;AACrH,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AACrE,mEAAmE;AACnE,eAAO,MAAM,WAAW,QAAkE,CAAC;AAC3F,+DAA+D;AAC/D,eAAO,MAAM,SAAS,QAA6D,CAAC;AACpF,wEAAwE;AACxE,eAAO,MAAM,UAAU,QAAiC,CAAC;AAEzD,kFAAkF;AAClF,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
@@ -11,7 +11,7 @@ import { existsSync, readFileSync } from 'node:fs';
11
11
  import path from 'node:path';
12
12
  import { fileURLToPath } from 'node:url';
13
13
  import { hydrateDatabaseUrl } from '@buddi/core';
14
- import { loadPluginsOnce } from '@buddi/gateway';
14
+ import { hydrateSecrets, loadPluginsOnce } from '@buddi/gateway';
15
15
  import { config as loadDotenv, parse as parseDotenv } from 'dotenv';
16
16
  /** `packages/cli/dist` at runtime, `packages/cli/src` under vitest. */
17
17
  export const MODULE_DIR = path.dirname(fileURLToPath(import.meta.url));
@@ -67,11 +67,14 @@ export function loadEnv() {
67
67
  loadDotenv({ path: ENV_FILE });
68
68
  }
69
69
  /**
70
- * `.env`, and then the one variable that is deliberately no longer in it.
70
+ * `.env`, and then what is deliberately no longer in it.
71
71
  *
72
- * `DATABASE_URL` is assembled from the vault at runtime rather than written
73
- * into `.env` with the password in clear, and reading the vault is a keychain
74
- * call. Every subcommand waits on this before it touches `process.env.DATABASE_URL`.
72
+ * Provider keys and `DATABASE_URL` live in the vault, not in `.env` in clear,
73
+ * and reading the vault is a keychain call. The CLI hydrates the same names
74
+ * the gateway does at boot (`hydrateSecrets`), so `buddi status` and
75
+ * `buddi agents` judge an agent by the key the vault holds rather than by an
76
+ * environment variable nobody sets any more. Every subcommand waits on this
77
+ * before it touches `process.env.DATABASE_URL`.
75
78
  */
76
79
  export async function loadEnvironment(env = process.env) {
77
80
  loadEnv();
@@ -79,6 +82,14 @@ export async function loadEnvironment(env = process.env) {
79
82
  // registry built before the record is read has none of their tools, and an
80
83
  // agent granted one of those tools then fails to load.
81
84
  await loadPluginsOnce(env);
82
- return hydrateDatabaseUrl(env);
85
+ try {
86
+ const hydrated = await hydrateSecrets(env);
87
+ return { url: env.DATABASE_URL, source: hydrated.database.source, legacyPassword: hydrated.database.legacyPassword };
88
+ }
89
+ catch {
90
+ // A vault that cannot be read (locked keychain, no keychain at all) must
91
+ // not stop a command that only needs the connection string.
92
+ return hydrateDatabaseUrl(env);
93
+ }
83
94
  }
84
95
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { InstallKind } from './commands.js';
2
+ export type ServiceState = 'running' | 'stopped' | 'not-installed' | 'unknown';
3
+ export interface StatusReport {
4
+ version: string;
5
+ install: InstallKind;
6
+ service: {
7
+ state: ServiceState;
8
+ detail: string;
9
+ };
10
+ database: {
11
+ reachable: boolean;
12
+ error?: string;
13
+ };
14
+ agents: {
15
+ ready: Array<{
16
+ handle: string;
17
+ id: string;
18
+ }>;
19
+ unavailable: Array<{
20
+ handle: string;
21
+ id: string;
22
+ reason: string;
23
+ }>;
24
+ error?: string;
25
+ };
26
+ /** Null when the database could not be read. */
27
+ needsYou: {
28
+ approvals: number;
29
+ questions: number;
30
+ } | null;
31
+ lastRecapAt: string | null;
32
+ update: {
33
+ available: boolean;
34
+ latest?: string;
35
+ };
36
+ }
37
+ /** Everything `collectStatus` reads, injectable so the report is testable. */
38
+ export interface StatusSources {
39
+ install: InstallKind;
40
+ version(): Promise<string>;
41
+ service(): Promise<{
42
+ state: ServiceState;
43
+ detail: string;
44
+ }>;
45
+ probeDatabase(): Promise<void>;
46
+ describeDatabaseError(err: unknown): string;
47
+ agents(): Promise<Array<{
48
+ handle: string;
49
+ id: string;
50
+ available: boolean;
51
+ reason?: string;
52
+ }>>;
53
+ attention(): Promise<{
54
+ approvals: number;
55
+ questions: number;
56
+ }>;
57
+ lastRecapAt(): Promise<Date | null>;
58
+ update(): Promise<{
59
+ available: boolean;
60
+ latest?: string;
61
+ }>;
62
+ }
63
+ export declare function collectStatus(sources: StatusSources): Promise<StatusReport>;
64
+ /** The report as a few short sentences. Pure. */
65
+ export declare function renderStatus(report: StatusReport, timezone?: string): string;
66
+ /** When a process started, as `ps` says it; undefined when it cannot. */
67
+ export declare function startedAt(pid: number): Promise<string | undefined>;
68
+ /** The supervisor's control socket, beside the data it looks after. */
69
+ export declare function supervisorSocketPath(dataDir: string): string;
70
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC7C,WAAW,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnE,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gDAAgD;IAChD,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5C,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC9F,SAAS,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,WAAW,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAID,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAsCjF;AAID,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAqD3E;AAED,yEAAyE;AACzE,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQxE;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * `buddi status` — one screen of how this installation is.
3
+ *
4
+ * Each part is read on its own and a part that cannot be read says so in one
5
+ * line; nothing here throws past `collectStatus`. `buddi doctor` stays the
6
+ * deep check: this is the glance.
7
+ */
8
+ import { execFile } from 'node:child_process';
9
+ import path from 'node:path';
10
+ import { promisify } from 'node:util';
11
+ import { localDateTimeString } from '@buddi/core';
12
+ const exec = promisify(execFile);
13
+ const message = (err) => (err instanceof Error ? err.message : String(err));
14
+ export async function collectStatus(sources) {
15
+ const version = await sources.version().catch(() => 'unknown');
16
+ const service = await sources
17
+ .service()
18
+ .catch((err) => ({ state: 'unknown', detail: message(err) }));
19
+ let database;
20
+ try {
21
+ await sources.probeDatabase();
22
+ database = { reachable: true };
23
+ }
24
+ catch (err) {
25
+ database = { reachable: false, error: sources.describeDatabaseError(err) };
26
+ }
27
+ const agents = { ready: [], unavailable: [] };
28
+ try {
29
+ for (const agent of await sources.agents()) {
30
+ if (agent.available)
31
+ agents.ready.push({ handle: agent.handle, id: agent.id });
32
+ else
33
+ agents.unavailable.push({ handle: agent.handle, id: agent.id, reason: agent.reason ?? 'not available' });
34
+ }
35
+ }
36
+ catch (err) {
37
+ agents.error = message(err);
38
+ }
39
+ const needsYou = database.reachable ? await sources.attention().catch(() => null) : null;
40
+ const lastRecap = database.reachable ? await sources.lastRecapAt().catch(() => null) : null;
41
+ const update = await sources.update().catch(() => ({ available: false }));
42
+ return {
43
+ version,
44
+ install: sources.install,
45
+ service,
46
+ database,
47
+ agents,
48
+ needsYou,
49
+ lastRecapAt: lastRecap ? lastRecap.toISOString() : null,
50
+ update,
51
+ };
52
+ }
53
+ const count = (n, one, many) => `${n} ${n === 1 ? one : many}`;
54
+ /** The report as a few short sentences. Pure. */
55
+ export function renderStatus(report, timezone = 'UTC') {
56
+ const lines = [];
57
+ lines.push(`buddi ${report.version}, ${report.install === 'packaged' ? 'a packaged install' : 'a source checkout'}.`);
58
+ const service = report.service;
59
+ if (service.state === 'running')
60
+ lines.push(`The service is ${service.detail}.`);
61
+ else if (service.state === 'not-installed') {
62
+ lines.push(report.install === 'packaged'
63
+ ? 'The service is not running. Run buddi to start it.'
64
+ : 'The service is not installed. Run buddi service install.');
65
+ }
66
+ else if (service.state === 'stopped')
67
+ lines.push(`The service is not running: ${service.detail}. Run buddi service start.`);
68
+ else
69
+ lines.push(`The service could not be read: ${service.detail}`);
70
+ lines.push(report.database.reachable
71
+ ? 'The database is reachable.'
72
+ : `The database is not reachable: ${report.database.error ?? 'no reason given'}`);
73
+ const { ready, unavailable, error } = report.agents;
74
+ if (error !== undefined)
75
+ lines.push(`The agents could not be read: ${error}`);
76
+ else {
77
+ if (ready.length === 0)
78
+ lines.push('No agent can run yet.');
79
+ else
80
+ lines.push(`${count(ready.length, 'agent can', 'agents can')} run: ${ready.map((a) => `@${a.handle}`).join(', ')}.`);
81
+ for (const agent of unavailable)
82
+ lines.push(`@${agent.handle} cannot run: ${agent.reason.replace(/\.$/, '')}.`);
83
+ }
84
+ if (report.needsYou === null) {
85
+ lines.push(report.database.reachable ? 'What needs you could not be read.' : 'What needs you is unknown without the database.');
86
+ }
87
+ else {
88
+ const { approvals, questions } = report.needsYou;
89
+ if (approvals + questions === 0)
90
+ lines.push('Nothing needs you.');
91
+ else {
92
+ const parts = [
93
+ ...(approvals > 0 ? [count(approvals, 'approval', 'approvals')] : []),
94
+ ...(questions > 0 ? [count(questions, 'question', 'questions')] : []),
95
+ ];
96
+ lines.push(`${parts.join(' and ')} ${approvals + questions === 1 ? 'needs' : 'need'} you. Open the dashboard with buddi.`);
97
+ }
98
+ }
99
+ if (report.lastRecapAt !== null) {
100
+ lines.push(`The last recap went out ${localDateTimeString(new Date(report.lastRecapAt), timezone)}.`);
101
+ }
102
+ if (report.update.available && report.update.latest) {
103
+ lines.push(`A newer buddi is available: ${report.update.latest}. Run buddi upgrade.`);
104
+ }
105
+ return lines.join('\n');
106
+ }
107
+ /** When a process started, as `ps` says it; undefined when it cannot. */
108
+ export async function startedAt(pid) {
109
+ try {
110
+ const { stdout } = await exec('ps', ['-o', 'lstart=', '-p', String(pid)], { timeout: 3_000 });
111
+ const text = stdout.trim().replace(/\s+/g, ' ');
112
+ return text === '' ? undefined : text;
113
+ }
114
+ catch {
115
+ return undefined;
116
+ }
117
+ }
118
+ /** The supervisor's control socket, beside the data it looks after. */
119
+ export function supervisorSocketPath(dataDir) {
120
+ return path.join(dataDir, 'supervisor.sock');
121
+ }
122
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Colour for the binary's own output: only on a terminal, never with
3
+ * `NO_COLOR` set (at all, even empty, as the convention says).
4
+ */
5
+ import type { HelpStyle } from './commands.js';
6
+ export interface OutputStream {
7
+ isTTY?: boolean;
8
+ }
9
+ export declare function colorOn(env?: NodeJS.ProcessEnv, stream?: OutputStream): boolean;
10
+ export declare const bold: (text: string, on: boolean) => string;
11
+ export declare const dim: (text: string, on: boolean) => string;
12
+ export declare function helpStyle(on: boolean): HelpStyle;
13
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,OAAO,CACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,MAAM,GAAE,YAA6B,GACpC,OAAO,CAET;AAKD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,IAAI,OAAO,KAAG,MAAmC,CAAC;AACrF,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,EAAE,IAAI,OAAO,KAAG,MAAmC,CAAC;AAEpF,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAEhD"}
@@ -0,0 +1,10 @@
1
+ export function colorOn(env = process.env, stream = process.stdout) {
2
+ return stream.isTTY === true && env.NO_COLOR === undefined;
3
+ }
4
+ const wrap = (open, close, text, on) => on ? `\u001b[${open}m${text}\u001b[${close}m` : text;
5
+ export const bold = (text, on) => wrap('1', '22', text, on);
6
+ export const dim = (text, on) => wrap('2', '22', text, on);
7
+ export function helpStyle(on) {
8
+ return { bold: (t) => bold(t, on), dim: (t) => dim(t, on) };
9
+ }
10
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,OAAO,CACrB,MAAyB,OAAO,CAAC,GAAG,EACpC,SAAuB,OAAO,CAAC,MAAM;IAErC,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC7D,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,EAAW,EAAU,EAAE,CAC9E,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAEpF,MAAM,UAAU,SAAS,CAAC,EAAW;IACnC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC"}
@@ -12,5 +12,5 @@ export declare const PAIRING_TTL_MINUTES = 10;
12
12
  */
13
13
  export declare function relativeTime(at: Date | null | undefined, now?: Date): string;
14
14
  export declare function renderQr(text: string): Promise<string>;
15
- export declare function runTelegram(action: TelegramAction, deviceId: string | undefined, env?: NodeJS.ProcessEnv): Promise<number>;
15
+ export declare function runTelegram(action: TelegramAction, deviceId: string | undefined, env?: NodeJS.ProcessEnv, json?: boolean): Promise<number>;
16
16
  //# sourceMappingURL=telegram-cmd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-cmd.d.ts","sourceRoot":"","sources":["../src/telegram-cmd.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAUtC;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAQxF;AAMD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAItD;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CA6DjB"}
1
+ {"version":3,"file":"telegram-cmd.d.ts","sourceRoot":"","sources":["../src/telegram-cmd.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAUtC;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAQxF;AAMD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAItD;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,UAAQ,GACX,OAAO,CAAC,MAAM,CAAC,CAmFjB"}
@@ -13,9 +13,10 @@
13
13
  import { createPool, localDateTimeString, timezoneFromEnv } from '@buddi/core';
14
14
  import { createPairingCode, listDevices, unpairDevice } from '@buddi/gateway';
15
15
  import qrcode from 'qrcode-terminal';
16
- const ESC = '\u001b[';
17
- const dim = (s) => `${ESC}2m${s}${ESC}0m`;
18
- const bold = (s) => `${ESC}1m${s}${ESC}0m`;
16
+ import { bold as boldOn, colorOn, dim as dimOn } from './style.js';
17
+ const color = colorOn();
18
+ const dim = (s) => dimOn(s, color);
19
+ const bold = (s) => boldOn(s, color);
19
20
  /** How long a pairing code is worth anything. Short: it is shown, then used. */
20
21
  export const PAIRING_TTL_MINUTES = 10;
21
22
  /* ------------------------------------------------------------------ *
@@ -55,15 +56,19 @@ export function renderQr(text) {
55
56
  qrcode.generate(text, { small: true }, (rendered) => resolve(rendered));
56
57
  });
57
58
  }
58
- export async function runTelegram(action, deviceId, env = process.env) {
59
+ export async function runTelegram(action, deviceId, env = process.env, json = false) {
59
60
  const databaseUrl = env.DATABASE_URL;
60
61
  if (!databaseUrl) {
61
- console.error('DATABASE_URL is not set — run `buddi init`');
62
- return 1;
62
+ console.error('DATABASE_URL is not set, so there is no database to read.');
63
+ return 3;
63
64
  }
64
65
  const pool = createPool(databaseUrl);
65
66
  try {
66
67
  if (action === 'pair') {
68
+ if ((env.TELEGRAM_BOT_TOKEN ?? '').trim() === '') {
69
+ console.error('No Telegram bot is configured. Set its token with buddi vault set TELEGRAM_BOT_TOKEN, then pair again.');
70
+ return 3;
71
+ }
67
72
  const { code, deepLink, expiresAt } = await createPairingCode(pool, {
68
73
  ttlMinutes: PAIRING_TTL_MINUTES,
69
74
  env,
@@ -79,6 +84,18 @@ export async function runTelegram(action, deviceId, env = process.env) {
79
84
  }
80
85
  if (action === 'devices') {
81
86
  const devices = await listDevices(pool);
87
+ if (json) {
88
+ console.log(JSON.stringify(devices.map((d) => ({
89
+ id: d.id,
90
+ surface: d.surface,
91
+ label: d.label,
92
+ externalUserId: d.externalUserId,
93
+ externalChatId: d.externalChatId,
94
+ pairedAt: d.pairedAt?.toISOString() ?? null,
95
+ lastSeenAt: d.lastSeenAt?.toISOString() ?? null,
96
+ })), null, 2));
97
+ return 0;
98
+ }
82
99
  if (devices.length === 0) {
83
100
  console.log('no paired devices — run `buddi telegram pair`');
84
101
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-cmd.js","sourceRoot":"","sources":["../src/telegram-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-cmd.js","sourceRoot":"","sources":["../src/telegram-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { UninstallIo } from '@buddi/core/uninstall';
2
+ export interface CheckoutUninstallOptions {
3
+ yes: boolean;
4
+ keepData: boolean;
5
+ backup: boolean;
6
+ }
7
+ export interface CheckoutUninstallDeps {
8
+ platform: NodeJS.Platform | string;
9
+ repoRoot: string;
10
+ dataDir: string;
11
+ backupDir: string;
12
+ /** The launchd agent or systemd user unit, when its file is there. */
13
+ service?: {
14
+ line: string;
15
+ /** Stops and unloads it and deletes the unit file; throws when it is still running after. */
16
+ uninstall: () => Promise<void>;
17
+ };
18
+ /** `docker compose down` for the checkout's Postgres, when Docker is running. */
19
+ database?: {
20
+ down: () => Promise<void>;
21
+ };
22
+ keychain?: {
23
+ service: string;
24
+ names: () => Promise<string[]>;
25
+ purge: (names: string[]) => Promise<void>;
26
+ };
27
+ /** The file vault, where there is no keychain. Its key is in `.env`, which stays. */
28
+ fileVault?: string;
29
+ removeFile: (file: string) => Promise<void>;
30
+ /** `buddi backup create --encrypt`; throws when it did not write an archive. */
31
+ backup: () => Promise<void>;
32
+ passphrase: () => Promise<string | undefined>;
33
+ telegram?: {
34
+ collect: () => Promise<() => Promise<void>>;
35
+ };
36
+ app?: string;
37
+ io: UninstallIo;
38
+ }
39
+ export declare function uninstallCheckout(options: CheckoutUninstallOptions, deps: CheckoutUninstallDeps): Promise<number>;
40
+ /** The real checkout: the service manager, Docker, the keychain, the backup engine. */
41
+ export declare function runUninstall(options: CheckoutUninstallOptions, env?: NodeJS.ProcessEnv): Promise<number>;
42
+ //# sourceMappingURL=uninstall-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall-cmd.d.ts","sourceRoot":"","sources":["../src/uninstall-cmd.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,6FAA6F;QAC7F,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAChC,CAAC;IACF,iFAAiF;IACjF,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAC1G,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,gFAAgF;IAChF,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;KAAE,CAAC;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,WAAW,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4EvH;AAED,uFAAuF;AACvF,wBAAsB,YAAY,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqF3H"}