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

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 (559) hide show
  1. package/README.md +19 -17
  2. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  3. package/node_modules/@buddi/cli/dist/args.d.ts +9 -3
  4. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  5. package/node_modules/@buddi/cli/dist/args.js +25 -89
  6. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  7. package/node_modules/@buddi/cli/dist/backup/index.d.ts +2 -0
  8. package/node_modules/@buddi/cli/dist/backup/index.d.ts.map +1 -1
  9. package/node_modules/@buddi/cli/dist/backup/index.js +13 -4
  10. package/node_modules/@buddi/cli/dist/backup/index.js.map +1 -1
  11. package/node_modules/@buddi/cli/dist/commands.d.ts +94 -0
  12. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -0
  13. package/node_modules/@buddi/cli/dist/commands.js +993 -0
  14. package/node_modules/@buddi/cli/dist/commands.js.map +1 -0
  15. package/node_modules/@buddi/cli/dist/index.d.ts +3 -1
  16. package/node_modules/@buddi/cli/dist/index.d.ts.map +1 -1
  17. package/node_modules/@buddi/cli/dist/index.js +3 -1
  18. package/node_modules/@buddi/cli/dist/index.js.map +1 -1
  19. package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts +4 -0
  20. package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts.map +1 -1
  21. package/node_modules/@buddi/cli/dist/jobs-cmd.js +26 -7
  22. package/node_modules/@buddi/cli/dist/jobs-cmd.js.map +1 -1
  23. package/node_modules/@buddi/cli/dist/main.d.ts +9 -2
  24. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  25. package/node_modules/@buddi/cli/dist/main.js +246 -30
  26. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  27. package/node_modules/@buddi/cli/dist/paths.d.ts +7 -4
  28. package/node_modules/@buddi/cli/dist/paths.d.ts.map +1 -1
  29. package/node_modules/@buddi/cli/dist/paths.js +17 -6
  30. package/node_modules/@buddi/cli/dist/paths.js.map +1 -1
  31. package/node_modules/@buddi/cli/dist/status.d.ts +70 -0
  32. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -0
  33. package/node_modules/@buddi/cli/dist/status.js +122 -0
  34. package/node_modules/@buddi/cli/dist/status.js.map +1 -0
  35. package/node_modules/@buddi/cli/dist/style.d.ts +13 -0
  36. package/node_modules/@buddi/cli/dist/style.d.ts.map +1 -0
  37. package/node_modules/@buddi/cli/dist/style.js +10 -0
  38. package/node_modules/@buddi/cli/dist/style.js.map +1 -0
  39. package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts +1 -1
  40. package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts.map +1 -1
  41. package/node_modules/@buddi/cli/dist/telegram-cmd.js +23 -6
  42. package/node_modules/@buddi/cli/dist/telegram-cmd.js.map +1 -1
  43. package/node_modules/@buddi/cli/dist/vault-cmd.js +3 -3
  44. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  45. package/node_modules/@buddi/core/dist/actions/approvals.d.ts +0 -17
  46. package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
  47. package/node_modules/@buddi/core/dist/actions/approvals.js +21 -0
  48. package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
  49. package/node_modules/@buddi/core/dist/actions/execute.d.ts +1 -1
  50. package/node_modules/@buddi/core/dist/actions/jobs.d.ts +1 -1
  51. package/node_modules/@buddi/core/dist/actions/types.js +1 -1
  52. package/node_modules/@buddi/core/dist/agents/provider-from-env.d.ts +1 -1
  53. package/node_modules/@buddi/core/dist/agents/provider-from-env.js +1 -1
  54. package/node_modules/@buddi/core/dist/host/build.d.ts +15 -1
  55. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  56. package/node_modules/@buddi/core/dist/host/build.js +99 -1
  57. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  58. package/node_modules/@buddi/core/dist/host/types.d.ts +88 -1
  59. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  60. package/node_modules/@buddi/core/dist/index.d.ts +1 -0
  61. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  62. package/node_modules/@buddi/core/dist/index.js +1 -0
  63. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  64. package/node_modules/@buddi/core/dist/notifications/channels.d.ts +37 -0
  65. package/node_modules/@buddi/core/dist/notifications/channels.d.ts.map +1 -0
  66. package/node_modules/@buddi/core/dist/notifications/channels.js +87 -0
  67. package/node_modules/@buddi/core/dist/notifications/channels.js.map +1 -0
  68. package/node_modules/@buddi/core/dist/notifications/index.d.ts +5 -0
  69. package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -0
  70. package/node_modules/@buddi/core/dist/notifications/index.js +5 -0
  71. package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -0
  72. package/node_modules/@buddi/core/dist/notifications/notify.d.ts +35 -0
  73. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -0
  74. package/node_modules/@buddi/core/dist/notifications/notify.js +262 -0
  75. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -0
  76. package/node_modules/@buddi/core/dist/notifications/store.d.ts +48 -0
  77. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -0
  78. package/node_modules/@buddi/core/dist/notifications/store.js +207 -0
  79. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -0
  80. package/node_modules/@buddi/core/dist/notifications/types.d.ts +136 -0
  81. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -0
  82. package/node_modules/@buddi/core/dist/notifications/types.js +5 -0
  83. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -0
  84. package/node_modules/@buddi/core/dist/owner.js +1 -1
  85. package/node_modules/@buddi/core/dist/plugin/index.d.ts +1 -1
  86. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  87. package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
  88. package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
  89. package/node_modules/@buddi/core/dist/plugin/uses.js +4 -0
  90. package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
  91. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  92. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  93. package/node_modules/@buddi/core/dist/provider.d.ts +1 -1
  94. package/node_modules/@buddi/core/dist/provider.js +1 -1
  95. package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts +1 -1
  96. package/node_modules/@buddi/core/dist/queue/retry-policy.js +1 -1
  97. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  98. package/node_modules/@buddi/core/dist/registry.js +3 -4
  99. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  100. package/node_modules/@buddi/core/dist/reminders/store.d.ts +1 -1
  101. package/node_modules/@buddi/core/dist/reminders/store.js +1 -1
  102. package/node_modules/@buddi/core/dist/reminders/types.d.ts +1 -1
  103. package/node_modules/@buddi/core/dist/reminders/types.js +1 -1
  104. package/node_modules/@buddi/core/dist/sentinels/types.d.ts +1 -1
  105. package/node_modules/@buddi/core/dist/time.d.ts +12 -0
  106. package/node_modules/@buddi/core/dist/time.d.ts.map +1 -1
  107. package/node_modules/@buddi/core/dist/time.js +46 -0
  108. package/node_modules/@buddi/core/dist/time.js.map +1 -1
  109. package/node_modules/@buddi/core/dist/tools.d.ts +5 -5
  110. package/node_modules/@buddi/core/dist/vault/file.js +2 -2
  111. package/node_modules/@buddi/core/dist/vault/keychain.js +1 -1
  112. package/node_modules/@buddi/core/dist/vault/keychain.js.map +1 -1
  113. package/node_modules/@buddi/core/dist/vault/resolve.d.ts +3 -3
  114. package/node_modules/@buddi/core/dist/vault/resolve.js +3 -3
  115. package/node_modules/@buddi/core/dist/vault/types.d.ts +1 -1
  116. package/node_modules/@buddi/core/dist/vault/types.js +1 -1
  117. package/node_modules/@buddi/core/migrations/003_owner_surfaces.sql +1 -1
  118. package/node_modules/@buddi/core/migrations/005_artifacts.sql +1 -1
  119. package/node_modules/@buddi/core/migrations/009_queue.sql +1 -2
  120. package/node_modules/@buddi/core/migrations/010_actions.sql +1 -1
  121. package/node_modules/@buddi/core/migrations/043_owner_notifications.sql +77 -0
  122. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  123. package/node_modules/@buddi/gateway/dist/agents/catalog.js +1 -1
  124. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +25 -1
  125. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
  126. package/node_modules/@buddi/gateway/dist/agents-cli.js +91 -27
  127. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  128. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  129. package/node_modules/@buddi/gateway/dist/bootstrap.js +8 -0
  130. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/channels/local-notification.d.ts +39 -0
  132. package/node_modules/@buddi/gateway/dist/channels/local-notification.d.ts.map +1 -0
  133. package/node_modules/@buddi/gateway/dist/channels/local-notification.js +154 -0
  134. package/node_modules/@buddi/gateway/dist/channels/local-notification.js.map +1 -0
  135. package/node_modules/@buddi/gateway/dist/chat/approvals.d.ts +3 -3
  136. package/node_modules/@buddi/gateway/dist/chat/approvals.js +3 -3
  137. package/node_modules/@buddi/gateway/dist/cli.d.ts +14 -0
  138. package/node_modules/@buddi/gateway/dist/cli.d.ts.map +1 -1
  139. package/node_modules/@buddi/gateway/dist/cli.js +208 -37
  140. package/node_modules/@buddi/gateway/dist/cli.js.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/db-ready.d.ts +2 -1
  142. package/node_modules/@buddi/gateway/dist/db-ready.d.ts.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/db-ready.js +3 -2
  144. package/node_modules/@buddi/gateway/dist/db-ready.js.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/index.d.ts +4 -1
  146. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  147. package/node_modules/@buddi/gateway/dist/index.js +5 -1
  148. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  149. package/node_modules/@buddi/gateway/dist/missions/agent-run.d.ts.map +1 -1
  150. package/node_modules/@buddi/gateway/dist/missions/agent-run.js +10 -1
  151. package/node_modules/@buddi/gateway/dist/missions/agent-run.js.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +15 -1
  153. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/missions/execute.js +6 -1
  155. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  156. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts +2 -0
  157. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
  158. package/node_modules/@buddi/gateway/dist/missions-cli.js +53 -8
  159. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  160. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts +43 -0
  161. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts.map +1 -0
  162. package/node_modules/@buddi/gateway/dist/owner-notify.js +87 -0
  163. package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -0
  164. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +3 -1
  165. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/plugins-cli.js +11 -4
  167. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/reminders-cli.d.ts +3 -1
  169. package/node_modules/@buddi/gateway/dist/reminders-cli.d.ts.map +1 -1
  170. package/node_modules/@buddi/gateway/dist/reminders-cli.js +21 -2
  171. package/node_modules/@buddi/gateway/dist/reminders-cli.js.map +1 -1
  172. package/node_modules/@buddi/gateway/dist/serve.d.ts +2 -0
  173. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  174. package/node_modules/@buddi/gateway/dist/serve.js +60 -13
  175. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  176. package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts +3 -3
  177. package/node_modules/@buddi/gateway/dist/telegram/approvals.js +3 -3
  178. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +30 -0
  179. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -0
  180. package/node_modules/@buddi/gateway/dist/telegram/channel.js +49 -0
  181. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -0
  182. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  183. package/node_modules/@buddi/gateway/dist/telegram/surface.js +4 -1
  184. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  185. package/node_modules/@buddi/gateway/dist/web/config.js +3 -3
  186. package/node_modules/@buddi/gateway/dist/web/http.d.ts +16 -3
  187. package/node_modules/@buddi/gateway/dist/web/http.d.ts.map +1 -1
  188. package/node_modules/@buddi/gateway/dist/web/http.js +39 -3
  189. package/node_modules/@buddi/gateway/dist/web/http.js.map +1 -1
  190. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +36 -0
  191. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -0
  192. package/node_modules/@buddi/gateway/dist/web/notifications.js +63 -0
  193. package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -0
  194. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +1 -1
  195. package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
  196. package/node_modules/@buddi/gateway/dist/web/read.js +3 -3
  197. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  198. package/node_modules/@buddi/gateway/dist/web/server.js +34 -22
  199. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  200. package/node_modules/@buddi/gateway/dist/web/version.d.ts +1 -0
  201. package/node_modules/@buddi/gateway/dist/web/version.d.ts.map +1 -1
  202. package/node_modules/@buddi/gateway/dist/web/version.js +2 -1
  203. package/node_modules/@buddi/gateway/dist/web/version.js.map +1 -1
  204. package/node_modules/@buddi/gateway/dist/web/write.js +1 -1
  205. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  206. package/node_modules/@buddi/install/dist/environment.d.ts +29 -0
  207. package/node_modules/@buddi/install/dist/environment.d.ts.map +1 -1
  208. package/node_modules/@buddi/install/dist/environment.js +50 -1
  209. package/node_modules/@buddi/install/dist/environment.js.map +1 -1
  210. package/node_modules/@buddi/install/dist/launcher.d.ts +3 -1
  211. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  212. package/node_modules/@buddi/install/dist/launcher.js +93 -12
  213. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  214. package/node_modules/@buddi/install/dist/upgrade.d.ts +16 -3
  215. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  216. package/node_modules/@buddi/install/dist/upgrade.js +21 -7
  217. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  218. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  219. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +35 -2
  220. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  221. package/node_modules/@buddi/runtime/dist/anthropic.js +36 -12
  222. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  223. package/node_modules/@buddi/runtime/dist/delegate.js +1 -1
  224. package/node_modules/@buddi/runtime/dist/loop.d.ts +13 -1
  225. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  226. package/node_modules/@buddi/runtime/dist/loop.js +70 -3
  227. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  228. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  229. package/node_modules/@buddi/runtime/dist/openai.js +9 -6
  230. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  231. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  232. package/node_modules/@buddi/tool-artifacts/dist/index.d.ts +1 -1
  233. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  234. package/node_modules/@buddi/tool-browser/dist/availability.d.ts +34 -8
  235. package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
  236. package/node_modules/@buddi/tool-browser/dist/availability.js +44 -5
  237. package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
  238. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +2 -2
  239. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  240. package/node_modules/@buddi/tool-browser/dist/controller.js +7 -6
  241. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  242. package/node_modules/@buddi/tool-browser/dist/host.d.ts +3 -1
  243. package/node_modules/@buddi/tool-browser/dist/host.d.ts.map +1 -1
  244. package/node_modules/@buddi/tool-browser/dist/host.js +5 -1
  245. package/node_modules/@buddi/tool-browser/dist/host.js.map +1 -1
  246. package/node_modules/@buddi/tool-browser/dist/index.d.ts +1 -1
  247. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  248. package/node_modules/@buddi/tool-browser/dist/index.js +1 -1
  249. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  250. package/node_modules/@buddi/tool-browser/dist/service.d.ts +2 -2
  251. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  252. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  253. package/node_modules/@buddi/tool-email/dist/channel.d.ts +43 -0
  254. package/node_modules/@buddi/tool-email/dist/channel.d.ts.map +1 -0
  255. package/node_modules/@buddi/tool-email/dist/channel.js +99 -0
  256. package/node_modules/@buddi/tool-email/dist/channel.js.map +1 -0
  257. package/node_modules/@buddi/tool-email/dist/index.d.ts +1 -0
  258. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  259. package/node_modules/@buddi/tool-email/dist/index.js +8 -1
  260. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  261. package/node_modules/@buddi/tool-email/dist/ports.d.ts +3 -3
  262. package/node_modules/@buddi/tool-email/dist/ports.js +1 -1
  263. package/node_modules/@buddi/tool-email/dist/tools/drafts.d.ts +1 -1
  264. package/node_modules/@buddi/tool-email/dist/tools/send.js +1 -1
  265. package/node_modules/@buddi/tool-email/migrations/001_email.sql +3 -2
  266. package/node_modules/@buddi/tool-email/package.json +2 -1
  267. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  268. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  269. package/node_modules/@buddi/tool-memory/dist/index.js +1 -1
  270. package/node_modules/@buddi/tool-memory/migrations/001_memory.sql +1 -1
  271. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  272. package/package.json +5 -2
  273. package/packages/cli/dist/.tsbuildinfo +1 -1
  274. package/packages/cli/dist/args.d.ts +9 -3
  275. package/packages/cli/dist/args.d.ts.map +1 -1
  276. package/packages/cli/dist/args.js +25 -89
  277. package/packages/cli/dist/args.js.map +1 -1
  278. package/packages/cli/dist/backup/index.d.ts +2 -0
  279. package/packages/cli/dist/backup/index.d.ts.map +1 -1
  280. package/packages/cli/dist/backup/index.js +13 -4
  281. package/packages/cli/dist/backup/index.js.map +1 -1
  282. package/packages/cli/dist/commands.d.ts +94 -0
  283. package/packages/cli/dist/commands.d.ts.map +1 -0
  284. package/packages/cli/dist/commands.js +993 -0
  285. package/packages/cli/dist/commands.js.map +1 -0
  286. package/packages/cli/dist/index.d.ts +3 -1
  287. package/packages/cli/dist/index.d.ts.map +1 -1
  288. package/packages/cli/dist/index.js +3 -1
  289. package/packages/cli/dist/index.js.map +1 -1
  290. package/packages/cli/dist/jobs-cmd.d.ts +4 -0
  291. package/packages/cli/dist/jobs-cmd.d.ts.map +1 -1
  292. package/packages/cli/dist/jobs-cmd.js +26 -7
  293. package/packages/cli/dist/jobs-cmd.js.map +1 -1
  294. package/packages/cli/dist/main.d.ts +9 -2
  295. package/packages/cli/dist/main.d.ts.map +1 -1
  296. package/packages/cli/dist/main.js +246 -30
  297. package/packages/cli/dist/main.js.map +1 -1
  298. package/packages/cli/dist/paths.d.ts +7 -4
  299. package/packages/cli/dist/paths.d.ts.map +1 -1
  300. package/packages/cli/dist/paths.js +17 -6
  301. package/packages/cli/dist/paths.js.map +1 -1
  302. package/packages/cli/dist/status.d.ts +70 -0
  303. package/packages/cli/dist/status.d.ts.map +1 -0
  304. package/packages/cli/dist/status.js +122 -0
  305. package/packages/cli/dist/status.js.map +1 -0
  306. package/packages/cli/dist/style.d.ts +13 -0
  307. package/packages/cli/dist/style.d.ts.map +1 -0
  308. package/packages/cli/dist/style.js +10 -0
  309. package/packages/cli/dist/style.js.map +1 -0
  310. package/packages/cli/dist/telegram-cmd.d.ts +1 -1
  311. package/packages/cli/dist/telegram-cmd.d.ts.map +1 -1
  312. package/packages/cli/dist/telegram-cmd.js +23 -6
  313. package/packages/cli/dist/telegram-cmd.js.map +1 -1
  314. package/packages/cli/dist/vault-cmd.js +3 -3
  315. package/packages/core/dist/.tsbuildinfo +1 -1
  316. package/packages/core/dist/actions/approvals.d.ts +0 -17
  317. package/packages/core/dist/actions/approvals.d.ts.map +1 -1
  318. package/packages/core/dist/actions/approvals.js +21 -0
  319. package/packages/core/dist/actions/approvals.js.map +1 -1
  320. package/packages/core/dist/actions/execute.d.ts +1 -1
  321. package/packages/core/dist/actions/jobs.d.ts +1 -1
  322. package/packages/core/dist/actions/types.js +1 -1
  323. package/packages/core/dist/agents/provider-from-env.d.ts +1 -1
  324. package/packages/core/dist/agents/provider-from-env.js +1 -1
  325. package/packages/core/dist/host/build.d.ts +15 -1
  326. package/packages/core/dist/host/build.d.ts.map +1 -1
  327. package/packages/core/dist/host/build.js +99 -1
  328. package/packages/core/dist/host/build.js.map +1 -1
  329. package/packages/core/dist/host/types.d.ts +88 -1
  330. package/packages/core/dist/host/types.d.ts.map +1 -1
  331. package/packages/core/dist/index.d.ts +1 -0
  332. package/packages/core/dist/index.d.ts.map +1 -1
  333. package/packages/core/dist/index.js +1 -0
  334. package/packages/core/dist/index.js.map +1 -1
  335. package/packages/core/dist/notifications/channels.d.ts +37 -0
  336. package/packages/core/dist/notifications/channels.d.ts.map +1 -0
  337. package/packages/core/dist/notifications/channels.js +87 -0
  338. package/packages/core/dist/notifications/channels.js.map +1 -0
  339. package/packages/core/dist/notifications/index.d.ts +5 -0
  340. package/packages/core/dist/notifications/index.d.ts.map +1 -0
  341. package/packages/core/dist/notifications/index.js +5 -0
  342. package/packages/core/dist/notifications/index.js.map +1 -0
  343. package/packages/core/dist/notifications/notify.d.ts +35 -0
  344. package/packages/core/dist/notifications/notify.d.ts.map +1 -0
  345. package/packages/core/dist/notifications/notify.js +262 -0
  346. package/packages/core/dist/notifications/notify.js.map +1 -0
  347. package/packages/core/dist/notifications/store.d.ts +48 -0
  348. package/packages/core/dist/notifications/store.d.ts.map +1 -0
  349. package/packages/core/dist/notifications/store.js +207 -0
  350. package/packages/core/dist/notifications/store.js.map +1 -0
  351. package/packages/core/dist/notifications/types.d.ts +136 -0
  352. package/packages/core/dist/notifications/types.d.ts.map +1 -0
  353. package/packages/core/dist/notifications/types.js +5 -0
  354. package/packages/core/dist/notifications/types.js.map +1 -0
  355. package/packages/core/dist/owner.js +1 -1
  356. package/packages/core/dist/plugin/index.d.ts +1 -1
  357. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  358. package/packages/core/dist/plugin/uses.d.ts +1 -1
  359. package/packages/core/dist/plugin/uses.d.ts.map +1 -1
  360. package/packages/core/dist/plugin/uses.js +4 -0
  361. package/packages/core/dist/plugin/uses.js.map +1 -1
  362. package/packages/core/dist/plugin/version.d.ts +1 -1
  363. package/packages/core/dist/plugin/version.js +1 -1
  364. package/packages/core/dist/provider.d.ts +1 -1
  365. package/packages/core/dist/provider.js +1 -1
  366. package/packages/core/dist/queue/retry-policy.d.ts +1 -1
  367. package/packages/core/dist/queue/retry-policy.js +1 -1
  368. package/packages/core/dist/registry.d.ts.map +1 -1
  369. package/packages/core/dist/registry.js +3 -4
  370. package/packages/core/dist/registry.js.map +1 -1
  371. package/packages/core/dist/reminders/store.d.ts +1 -1
  372. package/packages/core/dist/reminders/store.js +1 -1
  373. package/packages/core/dist/reminders/types.d.ts +1 -1
  374. package/packages/core/dist/reminders/types.js +1 -1
  375. package/packages/core/dist/sentinels/types.d.ts +1 -1
  376. package/packages/core/dist/time.d.ts +12 -0
  377. package/packages/core/dist/time.d.ts.map +1 -1
  378. package/packages/core/dist/time.js +46 -0
  379. package/packages/core/dist/time.js.map +1 -1
  380. package/packages/core/dist/tools.d.ts +5 -5
  381. package/packages/core/dist/vault/file.js +2 -2
  382. package/packages/core/dist/vault/keychain.js +1 -1
  383. package/packages/core/dist/vault/keychain.js.map +1 -1
  384. package/packages/core/dist/vault/resolve.d.ts +3 -3
  385. package/packages/core/dist/vault/resolve.js +3 -3
  386. package/packages/core/dist/vault/types.d.ts +1 -1
  387. package/packages/core/dist/vault/types.js +1 -1
  388. package/packages/core/migrations/003_owner_surfaces.sql +1 -1
  389. package/packages/core/migrations/005_artifacts.sql +1 -1
  390. package/packages/core/migrations/009_queue.sql +1 -2
  391. package/packages/core/migrations/010_actions.sql +1 -1
  392. package/packages/core/migrations/043_owner_notifications.sql +77 -0
  393. package/packages/gateway/dist/.tsbuildinfo +1 -1
  394. package/packages/gateway/dist/agents/catalog.js +1 -1
  395. package/packages/gateway/dist/agents-cli.d.ts +25 -1
  396. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  397. package/packages/gateway/dist/agents-cli.js +91 -27
  398. package/packages/gateway/dist/agents-cli.js.map +1 -1
  399. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  400. package/packages/gateway/dist/bootstrap.js +8 -0
  401. package/packages/gateway/dist/bootstrap.js.map +1 -1
  402. package/packages/gateway/dist/channels/local-notification.d.ts +39 -0
  403. package/packages/gateway/dist/channels/local-notification.d.ts.map +1 -0
  404. package/packages/gateway/dist/channels/local-notification.js +154 -0
  405. package/packages/gateway/dist/channels/local-notification.js.map +1 -0
  406. package/packages/gateway/dist/chat/approvals.d.ts +3 -3
  407. package/packages/gateway/dist/chat/approvals.js +3 -3
  408. package/packages/gateway/dist/cli.d.ts +14 -0
  409. package/packages/gateway/dist/cli.d.ts.map +1 -1
  410. package/packages/gateway/dist/cli.js +208 -37
  411. package/packages/gateway/dist/cli.js.map +1 -1
  412. package/packages/gateway/dist/db-ready.d.ts +2 -1
  413. package/packages/gateway/dist/db-ready.d.ts.map +1 -1
  414. package/packages/gateway/dist/db-ready.js +3 -2
  415. package/packages/gateway/dist/db-ready.js.map +1 -1
  416. package/packages/gateway/dist/index.d.ts +4 -1
  417. package/packages/gateway/dist/index.d.ts.map +1 -1
  418. package/packages/gateway/dist/index.js +5 -1
  419. package/packages/gateway/dist/index.js.map +1 -1
  420. package/packages/gateway/dist/missions/agent-run.d.ts.map +1 -1
  421. package/packages/gateway/dist/missions/agent-run.js +10 -1
  422. package/packages/gateway/dist/missions/agent-run.js.map +1 -1
  423. package/packages/gateway/dist/missions/execute.d.ts +15 -1
  424. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  425. package/packages/gateway/dist/missions/execute.js +6 -1
  426. package/packages/gateway/dist/missions/execute.js.map +1 -1
  427. package/packages/gateway/dist/missions-cli.d.ts +2 -0
  428. package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
  429. package/packages/gateway/dist/missions-cli.js +53 -8
  430. package/packages/gateway/dist/missions-cli.js.map +1 -1
  431. package/packages/gateway/dist/owner-notify.d.ts +43 -0
  432. package/packages/gateway/dist/owner-notify.d.ts.map +1 -0
  433. package/packages/gateway/dist/owner-notify.js +87 -0
  434. package/packages/gateway/dist/owner-notify.js.map +1 -0
  435. package/packages/gateway/dist/plugins-cli.d.ts +3 -1
  436. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  437. package/packages/gateway/dist/plugins-cli.js +11 -4
  438. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  439. package/packages/gateway/dist/reminders-cli.d.ts +3 -1
  440. package/packages/gateway/dist/reminders-cli.d.ts.map +1 -1
  441. package/packages/gateway/dist/reminders-cli.js +21 -2
  442. package/packages/gateway/dist/reminders-cli.js.map +1 -1
  443. package/packages/gateway/dist/serve.d.ts +2 -0
  444. package/packages/gateway/dist/serve.d.ts.map +1 -1
  445. package/packages/gateway/dist/serve.js +60 -13
  446. package/packages/gateway/dist/serve.js.map +1 -1
  447. package/packages/gateway/dist/telegram/approvals.d.ts +3 -3
  448. package/packages/gateway/dist/telegram/approvals.js +3 -3
  449. package/packages/gateway/dist/telegram/channel.d.ts +30 -0
  450. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -0
  451. package/packages/gateway/dist/telegram/channel.js +49 -0
  452. package/packages/gateway/dist/telegram/channel.js.map +1 -0
  453. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  454. package/packages/gateway/dist/telegram/surface.js +4 -1
  455. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  456. package/packages/gateway/dist/web/config.js +3 -3
  457. package/packages/gateway/dist/web/http.d.ts +16 -3
  458. package/packages/gateway/dist/web/http.d.ts.map +1 -1
  459. package/packages/gateway/dist/web/http.js +39 -3
  460. package/packages/gateway/dist/web/http.js.map +1 -1
  461. package/packages/gateway/dist/web/notifications.d.ts +36 -0
  462. package/packages/gateway/dist/web/notifications.d.ts.map +1 -0
  463. package/packages/gateway/dist/web/notifications.js +63 -0
  464. package/packages/gateway/dist/web/notifications.js.map +1 -0
  465. package/packages/gateway/dist/web/onboarding.d.ts +1 -1
  466. package/packages/gateway/dist/web/onboarding.js +1 -1
  467. package/packages/gateway/dist/web/read.js +3 -3
  468. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  469. package/packages/gateway/dist/web/server.js +34 -22
  470. package/packages/gateway/dist/web/server.js.map +1 -1
  471. package/packages/gateway/dist/web/version.d.ts +1 -0
  472. package/packages/gateway/dist/web/version.d.ts.map +1 -1
  473. package/packages/gateway/dist/web/version.js +2 -1
  474. package/packages/gateway/dist/web/version.js.map +1 -1
  475. package/packages/gateway/dist/web/write.js +1 -1
  476. package/packages/install/dist/.tsbuildinfo +1 -1
  477. package/packages/install/dist/environment.d.ts +29 -0
  478. package/packages/install/dist/environment.d.ts.map +1 -1
  479. package/packages/install/dist/environment.js +50 -1
  480. package/packages/install/dist/environment.js.map +1 -1
  481. package/packages/install/dist/launcher.d.ts +3 -1
  482. package/packages/install/dist/launcher.d.ts.map +1 -1
  483. package/packages/install/dist/launcher.js +93 -12
  484. package/packages/install/dist/launcher.js.map +1 -1
  485. package/packages/install/dist/upgrade.d.ts +16 -3
  486. package/packages/install/dist/upgrade.d.ts.map +1 -1
  487. package/packages/install/dist/upgrade.js +21 -7
  488. package/packages/install/dist/upgrade.js.map +1 -1
  489. package/packages/runtime/dist/.tsbuildinfo +1 -1
  490. package/packages/runtime/dist/anthropic.d.ts +35 -2
  491. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  492. package/packages/runtime/dist/anthropic.js +36 -12
  493. package/packages/runtime/dist/anthropic.js.map +1 -1
  494. package/packages/runtime/dist/delegate.js +1 -1
  495. package/packages/runtime/dist/loop.d.ts +13 -1
  496. package/packages/runtime/dist/loop.d.ts.map +1 -1
  497. package/packages/runtime/dist/loop.js +70 -3
  498. package/packages/runtime/dist/loop.js.map +1 -1
  499. package/packages/runtime/dist/openai.d.ts.map +1 -1
  500. package/packages/runtime/dist/openai.js +9 -6
  501. package/packages/runtime/dist/openai.js.map +1 -1
  502. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  503. package/packages/tools/artifacts/dist/index.d.ts +1 -1
  504. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  505. package/packages/tools/browser/dist/availability.d.ts +34 -8
  506. package/packages/tools/browser/dist/availability.d.ts.map +1 -1
  507. package/packages/tools/browser/dist/availability.js +44 -5
  508. package/packages/tools/browser/dist/availability.js.map +1 -1
  509. package/packages/tools/browser/dist/controller.d.ts +2 -2
  510. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  511. package/packages/tools/browser/dist/controller.js +7 -6
  512. package/packages/tools/browser/dist/controller.js.map +1 -1
  513. package/packages/tools/browser/dist/host.d.ts +3 -1
  514. package/packages/tools/browser/dist/host.d.ts.map +1 -1
  515. package/packages/tools/browser/dist/host.js +5 -1
  516. package/packages/tools/browser/dist/host.js.map +1 -1
  517. package/packages/tools/browser/dist/index.d.ts +1 -1
  518. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  519. package/packages/tools/browser/dist/index.js +1 -1
  520. package/packages/tools/browser/dist/index.js.map +1 -1
  521. package/packages/tools/browser/dist/service.d.ts +2 -2
  522. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  523. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  524. package/packages/tools/email/dist/channel.d.ts +43 -0
  525. package/packages/tools/email/dist/channel.d.ts.map +1 -0
  526. package/packages/tools/email/dist/channel.js +99 -0
  527. package/packages/tools/email/dist/channel.js.map +1 -0
  528. package/packages/tools/email/dist/index.d.ts +1 -0
  529. package/packages/tools/email/dist/index.d.ts.map +1 -1
  530. package/packages/tools/email/dist/index.js +8 -1
  531. package/packages/tools/email/dist/index.js.map +1 -1
  532. package/packages/tools/email/dist/ports.d.ts +3 -3
  533. package/packages/tools/email/dist/ports.js +1 -1
  534. package/packages/tools/email/dist/tools/drafts.d.ts +1 -1
  535. package/packages/tools/email/dist/tools/send.js +1 -1
  536. package/packages/tools/email/migrations/001_email.sql +3 -2
  537. package/packages/tools/email/package.json +2 -1
  538. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  539. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  540. package/packages/tools/memory/dist/index.js +1 -1
  541. package/packages/tools/memory/migrations/001_memory.sql +1 -1
  542. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  543. package/packages/web/dist/assets/dm-mono-latin-400-normal--0xN8mdc.woff +0 -0
  544. package/packages/web/dist/assets/dm-mono-latin-400-normal-4GdczIuU.woff2 +0 -0
  545. package/packages/web/dist/assets/dm-mono-latin-500-normal-CN8Miw6E.woff +0 -0
  546. package/packages/web/dist/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2 +0 -0
  547. package/packages/web/dist/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff +0 -0
  548. package/packages/web/dist/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2 +0 -0
  549. package/packages/web/dist/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2 +0 -0
  550. package/packages/web/dist/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff +0 -0
  551. package/packages/web/dist/assets/dm-sans-latin-ext-standard-italic-DNX9AbKj.woff2 +0 -0
  552. package/packages/web/dist/assets/dm-sans-latin-ext-standard-normal-oos9povj.woff2 +0 -0
  553. package/packages/web/dist/assets/dm-sans-latin-standard-italic-C8i6y2Ft.woff2 +0 -0
  554. package/packages/web/dist/assets/dm-sans-latin-standard-normal-Bf69Tn_J.woff2 +0 -0
  555. package/packages/web/dist/assets/index-BRkIoT-q.js +123 -0
  556. package/packages/web/dist/assets/index-DCn0vN58.css +1 -0
  557. package/packages/web/dist/index.html +2 -2
  558. package/packages/web/dist/assets/index-CxaF2koC.js +0 -122
  559. package/packages/web/dist/assets/index-DEho_xyR.css +0 -1
@@ -7,16 +7,20 @@
7
7
  * gateway's own entry points, called as functions; `serve` is the gateway's
8
8
  * `main`; `migrate` is the gateway's `migrateInstalled` over core's
9
9
  * `runMigrations`. The binary adds only what has nowhere else to live — `init`,
10
- * `doctor`, `service`, `telegram`, `backup`.
10
+ * `doctor`, `status`, `service`, `telegram`, `backup` — and the help, which is
11
+ * drawn from the command table in `commands.ts`, like the reference page.
11
12
  *
12
13
  * The repo root comes from this module's location (see `paths.ts`), never from
13
14
  * `process.cwd()`, so the global binary behaves the same from any directory.
14
15
  */
15
16
  import { realpathSync } from 'node:fs';
16
17
  import { fileURLToPath } from 'node:url';
17
- import { createPool } from '@buddi/core';
18
- import { describeDatabaseError, hydrateSecrets, migrateInstalled, requireDatabase, runChatCli, runMissionsCli, runNudgesCli, runPluginsCli, runRemindersCli, runServe, } from '@buddi/gateway';
19
- import { parseArgs, USAGE, UsageError } from './args.js';
18
+ import { compareVersions, createPool, timezoneFromEnv } from '@buddi/core';
19
+ import { createWiringAsync, currentVersion, DatabaseUnreachableError, describeDatabaseError, gatewayCatalog, hydrateSecrets, migrateInstalled, parseAgentsArgs, parseChatArgs, parseMissionsArgs, parseNudgesArgs, parsePluginsArgs, parseRemindersArgs, probeDatabase, readAgentAttention, readUpgradeFile, recapMissionId, requireDatabase, runChatCli, runMissionsCli, runNudgesCli, runPluginsCli, runRemindersCli, runServe, supervisorCall, } from '@buddi/gateway';
20
+ import { parseArgs, UsageError } from './args.js';
21
+ import { appliesHere, COMMANDS, commandWords, entriesUnder, entryFor, installKind, jsonFromEnv, nearestCommand, renderCommandHelp, renderGroupHelp, renderHelp, } from './commands.js';
22
+ import { collectStatus, renderStatus, startedAt, supervisorSocketPath } from './status.js';
23
+ import { colorOn, helpStyle } from './style.js';
20
24
  import { runBackup } from './backup/index.js';
21
25
  import { runDashboard } from './dashboard-cmd.js';
22
26
  import { runDb } from './db-cmd.js';
@@ -24,7 +28,7 @@ import { collectChecks, exitCodeFor, renderTable, summarize } from './doctor.js'
24
28
  import { createProbes } from './doctor-probes.js';
25
29
  import { runInit } from './init.js';
26
30
  import { jobsCancel, jobsList, jobsRetry, jobsRetryAll, pause, resume } from './jobs-cmd.js';
27
- import { loadEnv, loadEnvironment, REPO_ROOT } from './paths.js';
31
+ import { DATA_DIR, loadEnv, loadEnvironment, REPO_ROOT } from './paths.js';
28
32
  import { runMcp } from './mcp/server.js';
29
33
  import { createServiceManager, followLogs } from './service/index.js';
30
34
  import { runTelegram } from './telegram-cmd.js';
@@ -34,8 +38,8 @@ import { runVault } from './vault-cmd.js';
34
38
  export async function migrate() {
35
39
  const url = process.env.DATABASE_URL;
36
40
  if (!url) {
37
- console.error('DATABASE_URL is not set — run `buddi init`');
38
- return 1;
41
+ console.error('DATABASE_URL is not set. Run buddi init to write it.');
42
+ return 3;
39
43
  }
40
44
  const pool = createPool(url);
41
45
  try {
@@ -70,8 +74,17 @@ export async function doctor() {
70
74
  await probes.close();
71
75
  }
72
76
  }
73
- async function service(action) {
77
+ async function service(action, json = false) {
74
78
  const manager = createServiceManager();
79
+ if (json && action !== 'logs' && action !== 'install' && action !== 'uninstall') {
80
+ // The state after the verb, for a script: the manager's own view.
81
+ if (action !== 'status') {
82
+ await (action === 'start' ? manager.start() : action === 'stop' ? manager.stop() : manager.restart());
83
+ }
84
+ const state = await manager.status();
85
+ console.log(JSON.stringify(state, null, 2));
86
+ return state.running || action === 'stop' ? 0 : 1;
87
+ }
75
88
  if (action === 'status') {
76
89
  const status = await manager.status();
77
90
  console.log(`${manager.kind}: ${status.detail}`);
@@ -96,15 +109,23 @@ async function service(action) {
96
109
  console.log(note);
97
110
  return 0;
98
111
  }
99
- export async function dispatch(command) {
112
+ /** `--json` goes back on the argv of the commands whose own parser reads it. */
113
+ function withJson(argv, json) {
114
+ return json ? [...argv, '--json'] : argv;
115
+ }
116
+ export async function dispatch(command, opts = {}) {
117
+ const json = opts.json === true;
118
+ const env = opts.env ?? process.env;
100
119
  switch (command.kind) {
101
120
  case 'help':
102
- console.log(USAGE);
103
- return 0;
121
+ return printHelp(command.topic ?? [], env);
104
122
  case 'version': {
105
- console.log('buddi 0.1.0');
123
+ console.log(`buddi ${await currentVersion(env)}`);
106
124
  return 0;
107
125
  }
126
+ case 'status':
127
+ await loadEnvironment();
128
+ return status(json, env);
108
129
  case 'chat-cli': {
109
130
  await loadEnvironment();
110
131
  // `buddi agents` reads files and edits files: it is the one command in
@@ -115,7 +136,7 @@ export async function dispatch(command) {
115
136
  if (blocked !== 0)
116
137
  return blocked;
117
138
  }
118
- await runChatCli(command.argv);
139
+ await runChatCli(withJson(command.argv, json));
119
140
  return process.exitCode === undefined ? 0 : Number(process.exitCode);
120
141
  }
121
142
  case 'missions': {
@@ -123,15 +144,15 @@ export async function dispatch(command) {
123
144
  const blocked = await requireDatabase(process.env.DATABASE_URL);
124
145
  if (blocked !== 0)
125
146
  return blocked;
126
- await runMissionsCli(command.argv);
127
- return 0;
147
+ await runMissionsCli(withJson(command.argv, json));
148
+ return process.exitCode === undefined ? 0 : Number(process.exitCode);
128
149
  }
129
150
  case 'reminders': {
130
151
  await loadEnvironment();
131
152
  const blocked = await requireDatabase(process.env.DATABASE_URL);
132
153
  if (blocked !== 0)
133
154
  return blocked;
134
- await runRemindersCli(command.argv);
155
+ await runRemindersCli(withJson(command.argv, json));
135
156
  return process.exitCode === undefined ? 0 : Number(process.exitCode);
136
157
  }
137
158
  case 'nudges': {
@@ -148,7 +169,7 @@ export async function dispatch(command) {
148
169
  return 0;
149
170
  case 'plugins': {
150
171
  await loadEnvironment();
151
- return runPluginsCli(command.argv);
172
+ return runPluginsCli(withJson(command.argv, json));
152
173
  }
153
174
  case 'migrate': {
154
175
  await loadEnvironment();
@@ -166,7 +187,7 @@ export async function dispatch(command) {
166
187
  // and `restore` talk to Postgres through the container themselves and say
167
188
  // so in their own words.
168
189
  await loadEnvironment();
169
- return runBackup(command, process.env);
190
+ return runBackup(json ? { ...command, json: true } : command, process.env);
170
191
  case 'init':
171
192
  await loadEnvironment();
172
193
  return runInit({ yes: command.yes });
@@ -187,7 +208,7 @@ export async function dispatch(command) {
187
208
  }
188
209
  case 'service':
189
210
  await loadEnvironment();
190
- return service(command.action);
211
+ return service(command.action, json);
191
212
  case 'dashboard':
192
213
  await loadEnvironment();
193
214
  return runDashboard(command.action);
@@ -208,7 +229,7 @@ export async function dispatch(command) {
208
229
  // `pair` talks to Telegram, so the bot token has to be a token and not
209
230
  // the `<vault>` marker `vault import-env` leaves in `.env`.
210
231
  await hydrateSecrets(process.env);
211
- return runTelegram(command.action, command.deviceId);
232
+ return runTelegram(command.action, command.deviceId, process.env, json);
212
233
  }
213
234
  case 'vault':
214
235
  await loadEnvironment();
@@ -248,24 +269,217 @@ export async function dispatch(command) {
248
269
  ...(command.state ? { state: command.state } : {}),
249
270
  ...(command.kind_ ? { kind: command.kind_ } : {}),
250
271
  ...(command.limit ? { limit: command.limit } : {}),
272
+ ...(json ? { json: true } : {}),
251
273
  });
252
274
  }
253
275
  }
254
276
  }
255
277
  }
256
- export async function main(argv = process.argv.slice(2)) {
257
- let command;
278
+ /**
279
+ * Check a delegated command's own words before anything loads, so a typo
280
+ * there is a usage error (2) like one here, and not a failure (1) found later.
281
+ */
282
+ function checkDelegated(command, json) {
283
+ const argv = 'argv' in command ? withJson(command.argv, json) : [];
258
284
  try {
259
- command = parseArgs(argv);
285
+ if (command.kind === 'chat-cli') {
286
+ if (argv[0] === 'agents')
287
+ parseAgentsArgs(argv.slice(1));
288
+ else
289
+ parseChatArgs(argv);
290
+ }
291
+ else if (command.kind === 'missions')
292
+ parseMissionsArgs(argv);
293
+ else if (command.kind === 'plugins')
294
+ parsePluginsArgs(argv);
295
+ else if (command.kind === 'reminders')
296
+ parseRemindersArgs(argv);
297
+ else if (command.kind === 'nudges')
298
+ parseNudgesArgs(argv);
260
299
  }
261
300
  catch (err) {
262
- if (err instanceof UsageError) {
263
- console.error(err.message);
264
- return 1;
301
+ throw new UsageError(err instanceof Error ? err.message : String(err));
302
+ }
303
+ }
304
+ /** A usage error, said with the nearest command when the words were wrong. */
305
+ function usageFailure(argv, err, kind) {
306
+ const entry = entryFor(argv);
307
+ const nearest = nearestCommand(argv, kind);
308
+ const typed = commandWords(argv).join(' ');
309
+ if (nearest !== undefined && nearest !== entry?.name && nearest !== typed) {
310
+ console.error(`${err.message.replace(/\.?$/, '.')} Did you mean buddi ${nearest}?`);
311
+ }
312
+ else {
313
+ console.error(err.message);
314
+ if (entry !== undefined && entry.name !== '')
315
+ console.error(`Run buddi help ${entry.name} for its usage.`);
316
+ else
317
+ console.error('Run buddi help for every command.');
318
+ }
319
+ return 2;
320
+ }
321
+ /** `buddi help [words…]`: the list, one command's page, or a group's commands. */
322
+ function printHelp(topic, env) {
323
+ const kind = installKind(env);
324
+ const style = helpStyle(colorOn(env));
325
+ if (topic.length === 0) {
326
+ console.log(renderHelp(COMMANDS, kind, style));
327
+ return 0;
328
+ }
329
+ const name = topic.join(' ');
330
+ const exact = COMMANDS.find((e) => e.name === name);
331
+ if (exact) {
332
+ console.log(renderCommandHelp(exact, COMMANDS, kind, style));
333
+ return 0;
334
+ }
335
+ if (entriesUnder(name).some((e) => appliesHere(e, kind))) {
336
+ console.log(renderGroupHelp(name, COMMANDS, kind, style));
337
+ return 0;
338
+ }
339
+ const prefix = entryFor(topic);
340
+ if (prefix && prefix.name !== '') {
341
+ console.log(renderCommandHelp(prefix, COMMANDS, kind, style));
342
+ return 0;
343
+ }
344
+ const nearest = nearestCommand(topic, kind);
345
+ console.error(`buddi ${name} is not a command.${nearest ? ` Did you mean buddi ${nearest}?` : ' Run buddi help for every command.'}`);
346
+ return 2;
347
+ }
348
+ /** `buddi status`: read each part, say each in a sentence, never throw. */
349
+ async function status(json, env) {
350
+ const kind = installKind(env);
351
+ await hydrateSecrets(env).catch(() => { });
352
+ const report = await collectStatus({
353
+ install: kind,
354
+ version: () => currentVersion(env),
355
+ service: async () => {
356
+ if (kind === 'packaged') {
357
+ const reply = await supervisorCall(supervisorSocketPath(DATA_DIR), '/status', 'GET', undefined, 3_000).catch(() => null);
358
+ if (reply === null || reply.status !== 200)
359
+ return { state: 'not-installed', detail: 'the supervisor is not answering' };
360
+ const body = reply.body;
361
+ if (body.gateway !== 'running')
362
+ return { state: 'stopped', detail: `the gateway is ${body.gateway ?? 'stopped'}` };
363
+ const since = body.gatewayPid ? await startedAt(body.gatewayPid) : undefined;
364
+ return { state: 'running', detail: since ? `running since ${since}` : 'running' };
365
+ }
366
+ const state = await createServiceManager().status();
367
+ if (!state.installed)
368
+ return { state: 'not-installed', detail: state.detail };
369
+ if (!state.running)
370
+ return { state: 'stopped', detail: state.detail };
371
+ const since = state.pid ? await startedAt(state.pid) : undefined;
372
+ return { state: 'running', detail: since ? `running since ${since}` : state.detail };
373
+ },
374
+ probeDatabase: () => probeDatabase(env.DATABASE_URL),
375
+ describeDatabaseError: (err) => (err instanceof Error ? err.message : describeDatabaseError(err, env.DATABASE_URL)),
376
+ agents: async () => {
377
+ // With the database up, the catalog the service runs: provider accounts
378
+ // included, as `buddi agents` reads it. Without it, the files alone.
379
+ const wiring = await createWiringAsync(env).catch(() => undefined);
380
+ const catalog = wiring?.catalog ?? gatewayCatalog(env);
381
+ await wiring?.pool.end().catch(() => { });
382
+ return catalog.list().flatMap((summary) => {
383
+ const agent = catalog.get(summary.id);
384
+ if (!agent)
385
+ return [];
386
+ return [
387
+ {
388
+ handle: agent.handle,
389
+ id: agent.id,
390
+ available: agent.availability.ok,
391
+ ...(agent.availability.ok ? {} : { reason: agent.availability.problem.message }),
392
+ },
393
+ ];
394
+ });
395
+ },
396
+ attention: async () => {
397
+ const pool = createPool(env.DATABASE_URL);
398
+ try {
399
+ const snapshot = await readAgentAttention(pool);
400
+ return {
401
+ approvals: snapshot.agents.reduce((sum, a) => sum + a.approvals, 0),
402
+ questions: snapshot.agents.filter((a) => a.question !== null).length,
403
+ };
404
+ }
405
+ finally {
406
+ await pool.end().catch(() => { });
407
+ }
408
+ },
409
+ lastRecapAt: async () => {
410
+ const mission = recapMissionId();
411
+ if (mission === undefined)
412
+ return null;
413
+ const pool = createPool(env.DATABASE_URL);
414
+ try {
415
+ const { rows } = await pool.query(`select created_at from core.events
416
+ where kind = 'mission.delivered' and payload->>'missionId' = $1
417
+ order by created_at desc limit 1`, [mission]);
418
+ return rows[0] ? new Date(rows[0].created_at) : null;
419
+ }
420
+ finally {
421
+ await pool.end().catch(() => { });
422
+ }
423
+ },
424
+ update: async () => {
425
+ const file = await readUpgradeFile(env);
426
+ const latest = file?.check.latest;
427
+ if (!file || latest === undefined)
428
+ return { available: false };
429
+ return (compareVersions(latest, file.current) ?? 0) > 0 ? { available: true, latest } : { available: false };
430
+ },
431
+ });
432
+ if (json)
433
+ console.log(JSON.stringify(report, null, 2));
434
+ else
435
+ console.log(renderStatus(report, timezoneFromEnv(env)));
436
+ return report.database.reachable ? 0 : 3;
437
+ }
438
+ export async function main(argv = process.argv.slice(2), env = process.env) {
439
+ const kind = installKind(env);
440
+ // `buddi <command> --help` is `buddi help <command>`.
441
+ if (argv.length > 1 && argv.slice(1).some((a) => a === '--help' || a === '-h') && argv[0] !== 'help') {
442
+ return printHelp(commandWords(argv), env);
443
+ }
444
+ // `--json` belongs to the reads; `BUDDI_JSON=1` turns it on for them alone.
445
+ const entry = entryFor(argv);
446
+ let args = argv;
447
+ let json = false;
448
+ if (argv.includes('--json')) {
449
+ if (entry === undefined || entry.json === undefined) {
450
+ const named = entry?.name ? `buddi ${entry.name}` : `buddi ${commandWords(argv).join(' ')}`.trim();
451
+ console.error(`${named} has no --json output. Run buddi help for the commands that do.`);
452
+ return 2;
265
453
  }
454
+ json = true;
455
+ args = argv.filter((a) => a !== '--json');
456
+ }
457
+ else if (entry?.json !== undefined && jsonFromEnv(env)) {
458
+ json = true;
459
+ }
460
+ let command;
461
+ try {
462
+ command = parseArgs(args);
463
+ checkDelegated(command, json);
464
+ }
465
+ catch (err) {
466
+ if (err instanceof UsageError)
467
+ return usageFailure(argv, err, kind);
266
468
  throw err;
267
469
  }
268
- return dispatch(command);
470
+ // One tree everywhere; what does not apply here says what to do instead.
471
+ if (entry !== undefined && !appliesHere(entry, kind) && command.kind !== 'help') {
472
+ console.error(entry.elsewhere ?? `buddi ${entry.name} does not apply here.`);
473
+ return 2;
474
+ }
475
+ return dispatch(command, { json, env });
476
+ }
477
+ /** Exit 3 for a database that is not there; 1 for everything else. */
478
+ export function exitCodeForError(err) {
479
+ if (err instanceof DatabaseUnreachableError)
480
+ return 3;
481
+ const code = err?.code;
482
+ return code === 'ECONNREFUSED' || code === 'ENOTFOUND' || code === 'EAI_AGAIN' ? 3 : 1;
269
483
  }
270
484
  function invokedDirectly() {
271
485
  const entry = process.argv[1];
@@ -288,7 +502,7 @@ if (invokedDirectly()) {
288
502
  // A bare `AggregateError:` is what a dead database used to print. Never
289
503
  // again: every throw leaves this binary as a sentence.
290
504
  console.error(describeDatabaseError(err, process.env.DATABASE_URL));
291
- process.exit(1);
505
+ process.exit(exitCodeForError(err));
292
506
  });
293
507
  }
294
508
  /**
@@ -296,7 +510,7 @@ if (invokedDirectly()) {
296
510
  * the copy the browser plugin depends on, streamed to this terminal.
297
511
  */
298
512
  async function runBrowser(action) {
299
- const { browserLine, detectBrowser, installBrowser, installDepsCommand } = await import('@buddi/gateway');
513
+ const { browserLine, detectBrowser, installBrowser, installDepsCommand, noSandboxMessage } = await import('@buddi/gateway');
300
514
  if (action === 'status') {
301
515
  console.log(browserLine(detectBrowser()));
302
516
  return 0;
@@ -308,8 +522,10 @@ async function runBrowser(action) {
308
522
  return 1;
309
523
  }
310
524
  console.log(browserLine(detectBrowser()));
311
- if (process.platform === 'linux')
525
+ if (process.platform === 'linux') {
312
526
  console.log(`If the browser will not start for missing libraries, run once: ${installDepsCommand()}`);
527
+ console.log(`If it says it has no usable sandbox: ${noSandboxMessage()}`);
528
+ }
313
529
  return 0;
314
530
  }
315
531
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -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"}