@withbuddi/buddi 0.1.0-pre.25 → 0.1.0-pre.27

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 (480) hide show
  1. package/examples/agents/agent-father/agent.md +1 -0
  2. package/extension/manifest.json +2 -2
  3. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  4. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  5. package/node_modules/@buddi/cli/dist/doctor-probes.js +36 -9
  6. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  7. package/node_modules/@buddi/cli/dist/doctor.d.ts +23 -1
  8. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  9. package/node_modules/@buddi/cli/dist/doctor.js +37 -2
  10. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  11. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  12. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  13. package/node_modules/@buddi/core/dist/agents/catalog.js +11 -2
  14. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  15. package/node_modules/@buddi/core/dist/agents/skills.d.ts +4 -4
  16. package/node_modules/@buddi/core/dist/backup/index.d.ts +1 -0
  17. package/node_modules/@buddi/core/dist/backup/index.d.ts.map +1 -1
  18. package/node_modules/@buddi/core/dist/backup/index.js +1 -0
  19. package/node_modules/@buddi/core/dist/backup/index.js.map +1 -1
  20. package/node_modules/@buddi/core/dist/backup/load.d.ts +18 -0
  21. package/node_modules/@buddi/core/dist/backup/load.d.ts.map +1 -1
  22. package/node_modules/@buddi/core/dist/backup/load.js +3 -2
  23. package/node_modules/@buddi/core/dist/backup/load.js.map +1 -1
  24. package/node_modules/@buddi/core/dist/backup/pending.d.ts +101 -0
  25. package/node_modules/@buddi/core/dist/backup/pending.d.ts.map +1 -0
  26. package/node_modules/@buddi/core/dist/backup/pending.js +340 -0
  27. package/node_modules/@buddi/core/dist/backup/pending.js.map +1 -0
  28. package/node_modules/@buddi/core/dist/backup/restore.d.ts.map +1 -1
  29. package/node_modules/@buddi/core/dist/backup/restore.js +54 -1
  30. package/node_modules/@buddi/core/dist/backup/restore.js.map +1 -1
  31. package/node_modules/@buddi/core/dist/home.d.ts +24 -0
  32. package/node_modules/@buddi/core/dist/home.d.ts.map +1 -1
  33. package/node_modules/@buddi/core/dist/home.js +3 -0
  34. package/node_modules/@buddi/core/dist/home.js.map +1 -1
  35. package/node_modules/@buddi/core/dist/notifications/agent.d.ts +54 -0
  36. package/node_modules/@buddi/core/dist/notifications/agent.d.ts.map +1 -0
  37. package/node_modules/@buddi/core/dist/notifications/agent.js +134 -0
  38. package/node_modules/@buddi/core/dist/notifications/agent.js.map +1 -0
  39. package/node_modules/@buddi/core/dist/notifications/index.d.ts +1 -0
  40. package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -1
  41. package/node_modules/@buddi/core/dist/notifications/index.js +1 -0
  42. package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -1
  43. package/node_modules/@buddi/core/dist/notifications/notify.d.ts +4 -0
  44. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
  45. package/node_modules/@buddi/core/dist/notifications/notify.js +19 -7
  46. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
  47. package/node_modules/@buddi/core/dist/notifications/store.d.ts +8 -1
  48. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
  49. package/node_modules/@buddi/core/dist/notifications/store.js +55 -6
  50. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
  51. package/node_modules/@buddi/core/dist/notifications/types.d.ts +26 -2
  52. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
  53. package/node_modules/@buddi/core/dist/notifications/types.js +1 -1
  54. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -1
  55. package/node_modules/@buddi/core/dist/plugin/index.d.ts +2 -2
  56. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  57. package/node_modules/@buddi/core/dist/plugin/index.js +1 -1
  58. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  59. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts +3 -1
  60. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts.map +1 -1
  61. package/node_modules/@buddi/core/dist/postgres/binaries.js +15 -23
  62. package/node_modules/@buddi/core/dist/postgres/binaries.js.map +1 -1
  63. package/node_modules/@buddi/core/dist/postgres/cluster.js +1 -1
  64. package/node_modules/@buddi/core/dist/postgres/cluster.js.map +1 -1
  65. package/node_modules/@buddi/core/dist/postgres/index.d.ts +1 -0
  66. package/node_modules/@buddi/core/dist/postgres/index.d.ts.map +1 -1
  67. package/node_modules/@buddi/core/dist/postgres/index.js +1 -0
  68. package/node_modules/@buddi/core/dist/postgres/index.js.map +1 -1
  69. package/node_modules/@buddi/core/dist/postgres/links.d.ts +15 -0
  70. package/node_modules/@buddi/core/dist/postgres/links.d.ts.map +1 -0
  71. package/node_modules/@buddi/core/dist/postgres/links.js +98 -0
  72. package/node_modules/@buddi/core/dist/postgres/links.js.map +1 -0
  73. package/node_modules/@buddi/core/dist/vault/resolve.d.ts.map +1 -1
  74. package/node_modules/@buddi/core/dist/vault/resolve.js +0 -1
  75. package/node_modules/@buddi/core/dist/vault/resolve.js.map +1 -1
  76. package/node_modules/@buddi/core/migrations/054_agent_messages.sql +15 -0
  77. package/node_modules/@buddi/core/migrations/055_pending_plugin_data.sql +24 -0
  78. package/node_modules/@buddi/core/package.json +4 -0
  79. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  80. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts +34 -1
  81. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  82. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +87 -4
  83. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  84. package/node_modules/@buddi/gateway/dist/bootstrap.js +3 -3
  85. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  86. package/node_modules/@buddi/gateway/dist/owner-secrets.d.ts +77 -8
  87. package/node_modules/@buddi/gateway/dist/owner-secrets.d.ts.map +1 -1
  88. package/node_modules/@buddi/gateway/dist/owner-secrets.js +142 -14
  89. package/node_modules/@buddi/gateway/dist/owner-secrets.js.map +1 -1
  90. package/node_modules/@buddi/gateway/dist/plugins/approve.d.ts.map +1 -1
  91. package/node_modules/@buddi/gateway/dist/plugins/approve.js +9 -1
  92. package/node_modules/@buddi/gateway/dist/plugins/approve.js.map +1 -1
  93. package/node_modules/@buddi/gateway/dist/plugins/migrate.d.ts.map +1 -1
  94. package/node_modules/@buddi/gateway/dist/plugins/migrate.js +11 -1
  95. package/node_modules/@buddi/gateway/dist/plugins/migrate.js.map +1 -1
  96. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  97. package/node_modules/@buddi/gateway/dist/serve.js +24 -8
  98. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  99. package/node_modules/@buddi/gateway/dist/system-context.d.ts +2 -0
  100. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  101. package/node_modules/@buddi/gateway/dist/system-context.js +5 -1
  102. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  103. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +7 -0
  104. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  105. package/node_modules/@buddi/gateway/dist/telegram/channel.js +14 -2
  106. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  107. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  108. package/node_modules/@buddi/gateway/dist/telegram/main.js +2 -0
  109. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  110. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +26 -1
  111. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  112. package/node_modules/@buddi/gateway/dist/telegram/surface.js +106 -3
  113. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  114. package/node_modules/@buddi/gateway/dist/web/agents.d.ts +4 -0
  115. package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
  116. package/node_modules/@buddi/gateway/dist/web/agents.js +12 -0
  117. package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
  118. package/node_modules/@buddi/gateway/dist/web/connections.d.ts +3 -0
  119. package/node_modules/@buddi/gateway/dist/web/connections.d.ts.map +1 -1
  120. package/node_modules/@buddi/gateway/dist/web/connections.js +48 -6
  121. package/node_modules/@buddi/gateway/dist/web/connections.js.map +1 -1
  122. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +6 -0
  123. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -1
  124. package/node_modules/@buddi/gateway/dist/web/notifications.js +14 -1
  125. package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -1
  126. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
  127. package/node_modules/@buddi/gateway/dist/web/onboarding.js +5 -2
  128. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  129. package/node_modules/@buddi/gateway/dist/web/read.d.ts +17 -0
  130. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/web/read.js +36 -1
  132. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts +31 -0
  134. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts.map +1 -1
  135. package/node_modules/@buddi/gateway/dist/web/recovery.js +179 -43
  136. package/node_modules/@buddi/gateway/dist/web/recovery.js.map +1 -1
  137. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  138. package/node_modules/@buddi/gateway/dist/web/server.js +16 -5
  139. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  140. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +8 -0
  141. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  142. package/node_modules/@buddi/gateway/dist/web/sessions.js +24 -1
  143. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  144. package/node_modules/@buddi/gateway/src/agents/starter/keeper/agent.md +2 -2
  145. package/node_modules/@buddi/gateway/src/agents/starter/planner/agent.md +1 -1
  146. package/node_modules/@buddi/gateway/src/agents/starter/scout/agent.md +1 -1
  147. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  148. package/node_modules/@buddi/install/dist/postgres-check.d.ts +18 -0
  149. package/node_modules/@buddi/install/dist/postgres-check.d.ts.map +1 -0
  150. package/node_modules/@buddi/install/dist/postgres-check.js +66 -0
  151. package/node_modules/@buddi/install/dist/postgres-check.js.map +1 -0
  152. package/node_modules/@buddi/install/dist/upgrade.d.ts +3 -0
  153. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  154. package/node_modules/@buddi/install/dist/upgrade.js +30 -0
  155. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  156. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  157. package/node_modules/@buddi/runtime/dist/delegate.js +1 -1
  158. package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
  159. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  160. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  161. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  162. package/node_modules/@buddi/tool-email/dist/config.d.ts +13 -9
  163. package/node_modules/@buddi/tool-email/dist/config.d.ts.map +1 -1
  164. package/node_modules/@buddi/tool-email/dist/config.js +33 -40
  165. package/node_modules/@buddi/tool-email/dist/config.js.map +1 -1
  166. package/node_modules/@buddi/tool-email/dist/index.d.ts +1 -1
  167. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  168. package/node_modules/@buddi/tool-email/dist/index.js +1 -1
  169. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  170. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts +1 -2
  171. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts.map +1 -1
  172. package/node_modules/@buddi/tool-email/dist/pages/accounts.js +42 -18
  173. package/node_modules/@buddi/tool-email/dist/pages/accounts.js.map +1 -1
  174. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  175. package/node_modules/@buddi/tool-email/dist/pages/queries.js +7 -5
  176. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  177. package/node_modules/@buddi/tool-email/dist/ports.d.ts +5 -1
  178. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  179. package/node_modules/@buddi/tool-email/dist/tools/shared.js +1 -1
  180. package/node_modules/@buddi/tool-email/dist/tools/shared.js.map +1 -1
  181. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  182. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  183. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  184. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  185. package/node_modules/@buddi/tool-web/dist/providers/index.d.ts +1 -2
  186. package/node_modules/@buddi/tool-web/dist/providers/index.d.ts.map +1 -1
  187. package/node_modules/@buddi/tool-web/dist/providers/index.js +1 -2
  188. package/node_modules/@buddi/tool-web/dist/providers/index.js.map +1 -1
  189. package/node_modules/hono/dist/cjs/jsx/utils.js +1 -1
  190. package/node_modules/hono/dist/cjs/middleware/combine/index.js +3 -1
  191. package/node_modules/hono/dist/cjs/middleware/etag/index.js +2 -2
  192. package/node_modules/hono/dist/jsx/utils.js +1 -1
  193. package/node_modules/hono/dist/middleware/combine/index.js +3 -1
  194. package/node_modules/hono/dist/middleware/etag/index.js +2 -2
  195. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  196. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +2 -1
  197. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +2 -1
  198. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +2 -1
  199. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +2 -1
  200. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +2 -1
  201. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +2 -1
  202. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +2 -1
  203. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +2 -1
  204. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +2 -1
  205. package/node_modules/hono/dist/types/client/types.d.ts +2 -1
  206. package/node_modules/hono/dist/types/context.d.ts +2 -1
  207. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +2 -1
  208. package/node_modules/hono/dist/types/helper/css/common.d.ts +2 -1
  209. package/node_modules/hono/dist/types/helper/css/index.d.ts +2 -1
  210. package/node_modules/hono/dist/types/helper/dev/index.d.ts +2 -1
  211. package/node_modules/hono/dist/types/helper/factory/index.d.ts +2 -1
  212. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +2 -1
  213. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +2 -1
  214. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +2 -1
  215. package/node_modules/hono/dist/types/helper/testing/index.d.ts +2 -1
  216. package/node_modules/hono/dist/types/hono-base.d.ts +2 -1
  217. package/node_modules/hono/dist/types/http-exception.d.ts +2 -1
  218. package/node_modules/hono/dist/types/jsx/base.d.ts +4 -3
  219. package/node_modules/hono/dist/types/jsx/context.d.ts +2 -1
  220. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +2 -1
  221. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +2 -1
  222. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +2 -1
  223. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +2 -1
  224. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +2 -1
  225. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +2 -1
  226. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +2 -1
  227. package/node_modules/hono/dist/types/jsx/index.d.ts +2 -1
  228. package/node_modules/hono/dist/types/jsx/types.d.ts +2 -1
  229. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +2 -1
  230. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +2 -1
  231. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +2 -1
  232. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +2 -1
  233. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +2 -1
  234. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +2 -1
  235. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +2 -1
  236. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +2 -1
  237. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +2 -1
  238. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +2 -1
  239. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +2 -1
  240. package/node_modules/hono/dist/types/middleware/language/index.d.ts +2 -1
  241. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +2 -1
  242. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +2 -1
  243. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +2 -1
  244. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +2 -1
  245. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +2 -1
  246. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +2 -1
  247. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +2 -1
  248. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -1
  249. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +2 -1
  250. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +2 -1
  251. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +2 -1
  252. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +2 -1
  253. package/node_modules/hono/dist/types/request.d.ts +2 -1
  254. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +2 -1
  255. package/node_modules/hono/dist/types/types.d.ts +2 -1
  256. package/node_modules/hono/dist/types/utils/body.d.ts +2 -1
  257. package/node_modules/hono/dist/types/utils/buffer.d.ts +2 -1
  258. package/node_modules/hono/dist/types/utils/cookie.d.ts +2 -1
  259. package/node_modules/hono/dist/types/utils/crypto.d.ts +2 -1
  260. package/node_modules/hono/dist/types/utils/filepath.d.ts +2 -1
  261. package/node_modules/hono/dist/types/utils/html.d.ts +2 -1
  262. package/node_modules/hono/dist/types/utils/mime.d.ts +2 -1
  263. package/node_modules/hono/dist/types/utils/types.d.ts +2 -1
  264. package/node_modules/hono/dist/types/utils/url.d.ts +2 -1
  265. package/node_modules/hono/dist/types/validator/utils.d.ts +2 -1
  266. package/node_modules/hono/dist/types/validator/validator.d.ts +2 -1
  267. package/node_modules/hono/package.json +2 -2
  268. package/node_modules/pg/lib/client.js +18 -0
  269. package/node_modules/pg/lib/connection.js +8 -1
  270. package/node_modules/pg/lib/crypto/cert-signatures.js +1 -1
  271. package/node_modules/pg/lib/native/client.js +11 -3
  272. package/node_modules/pg/lib/native/query.js +3 -1
  273. package/node_modules/pg/lib/query.js +5 -1
  274. package/node_modules/pg/lib/utils.js +19 -1
  275. package/node_modules/pg/package.json +5 -5
  276. package/node_modules/pg-connection-string/index.js +1 -1
  277. package/node_modules/pg-connection-string/package.json +2 -3
  278. package/node_modules/pg-protocol/dist/buffer-writer.d.ts +5 -1
  279. package/node_modules/pg-protocol/dist/buffer-writer.js +10 -1
  280. package/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -1
  281. package/node_modules/pg-protocol/dist/serializer.js +20 -18
  282. package/node_modules/pg-protocol/dist/serializer.js.map +1 -1
  283. package/node_modules/pg-protocol/package.json +2 -2
  284. package/node_modules/pg-protocol/src/buffer-writer.ts +12 -2
  285. package/node_modules/pg-protocol/src/serializer.ts +26 -20
  286. package/package.json +2 -2
  287. package/packages/cli/dist/.tsbuildinfo +1 -1
  288. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  289. package/packages/cli/dist/doctor-probes.js +36 -9
  290. package/packages/cli/dist/doctor-probes.js.map +1 -1
  291. package/packages/cli/dist/doctor.d.ts +23 -1
  292. package/packages/cli/dist/doctor.d.ts.map +1 -1
  293. package/packages/cli/dist/doctor.js +37 -2
  294. package/packages/cli/dist/doctor.js.map +1 -1
  295. package/packages/core/dist/.tsbuildinfo +1 -1
  296. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  297. package/packages/core/dist/agents/catalog.js +11 -2
  298. package/packages/core/dist/agents/catalog.js.map +1 -1
  299. package/packages/core/dist/agents/skills.d.ts +4 -4
  300. package/packages/core/dist/backup/index.d.ts +1 -0
  301. package/packages/core/dist/backup/index.d.ts.map +1 -1
  302. package/packages/core/dist/backup/index.js +1 -0
  303. package/packages/core/dist/backup/index.js.map +1 -1
  304. package/packages/core/dist/backup/load.d.ts +18 -0
  305. package/packages/core/dist/backup/load.d.ts.map +1 -1
  306. package/packages/core/dist/backup/load.js +3 -2
  307. package/packages/core/dist/backup/load.js.map +1 -1
  308. package/packages/core/dist/backup/pending.d.ts +101 -0
  309. package/packages/core/dist/backup/pending.d.ts.map +1 -0
  310. package/packages/core/dist/backup/pending.js +340 -0
  311. package/packages/core/dist/backup/pending.js.map +1 -0
  312. package/packages/core/dist/backup/restore.d.ts.map +1 -1
  313. package/packages/core/dist/backup/restore.js +54 -1
  314. package/packages/core/dist/backup/restore.js.map +1 -1
  315. package/packages/core/dist/home.d.ts +24 -0
  316. package/packages/core/dist/home.d.ts.map +1 -1
  317. package/packages/core/dist/home.js +3 -0
  318. package/packages/core/dist/home.js.map +1 -1
  319. package/packages/core/dist/notifications/agent.d.ts +54 -0
  320. package/packages/core/dist/notifications/agent.d.ts.map +1 -0
  321. package/packages/core/dist/notifications/agent.js +134 -0
  322. package/packages/core/dist/notifications/agent.js.map +1 -0
  323. package/packages/core/dist/notifications/index.d.ts +1 -0
  324. package/packages/core/dist/notifications/index.d.ts.map +1 -1
  325. package/packages/core/dist/notifications/index.js +1 -0
  326. package/packages/core/dist/notifications/index.js.map +1 -1
  327. package/packages/core/dist/notifications/notify.d.ts +4 -0
  328. package/packages/core/dist/notifications/notify.d.ts.map +1 -1
  329. package/packages/core/dist/notifications/notify.js +19 -7
  330. package/packages/core/dist/notifications/notify.js.map +1 -1
  331. package/packages/core/dist/notifications/store.d.ts +8 -1
  332. package/packages/core/dist/notifications/store.d.ts.map +1 -1
  333. package/packages/core/dist/notifications/store.js +55 -6
  334. package/packages/core/dist/notifications/store.js.map +1 -1
  335. package/packages/core/dist/notifications/types.d.ts +26 -2
  336. package/packages/core/dist/notifications/types.d.ts.map +1 -1
  337. package/packages/core/dist/notifications/types.js +1 -1
  338. package/packages/core/dist/notifications/types.js.map +1 -1
  339. package/packages/core/dist/plugin/index.d.ts +2 -2
  340. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  341. package/packages/core/dist/plugin/index.js +1 -1
  342. package/packages/core/dist/plugin/index.js.map +1 -1
  343. package/packages/core/dist/postgres/binaries.d.ts +3 -1
  344. package/packages/core/dist/postgres/binaries.d.ts.map +1 -1
  345. package/packages/core/dist/postgres/binaries.js +15 -23
  346. package/packages/core/dist/postgres/binaries.js.map +1 -1
  347. package/packages/core/dist/postgres/cluster.js +1 -1
  348. package/packages/core/dist/postgres/cluster.js.map +1 -1
  349. package/packages/core/dist/postgres/index.d.ts +1 -0
  350. package/packages/core/dist/postgres/index.d.ts.map +1 -1
  351. package/packages/core/dist/postgres/index.js +1 -0
  352. package/packages/core/dist/postgres/index.js.map +1 -1
  353. package/packages/core/dist/postgres/links.d.ts +15 -0
  354. package/packages/core/dist/postgres/links.d.ts.map +1 -0
  355. package/packages/core/dist/postgres/links.js +98 -0
  356. package/packages/core/dist/postgres/links.js.map +1 -0
  357. package/packages/core/dist/vault/resolve.d.ts.map +1 -1
  358. package/packages/core/dist/vault/resolve.js +0 -1
  359. package/packages/core/dist/vault/resolve.js.map +1 -1
  360. package/packages/core/migrations/054_agent_messages.sql +15 -0
  361. package/packages/core/migrations/055_pending_plugin_data.sql +24 -0
  362. package/packages/core/package.json +4 -0
  363. package/packages/gateway/dist/.tsbuildinfo +1 -1
  364. package/packages/gateway/dist/agents/owner-tools.d.ts +34 -1
  365. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  366. package/packages/gateway/dist/agents/owner-tools.js +87 -4
  367. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  368. package/packages/gateway/dist/bootstrap.js +3 -3
  369. package/packages/gateway/dist/bootstrap.js.map +1 -1
  370. package/packages/gateway/dist/owner-secrets.d.ts +77 -8
  371. package/packages/gateway/dist/owner-secrets.d.ts.map +1 -1
  372. package/packages/gateway/dist/owner-secrets.js +142 -14
  373. package/packages/gateway/dist/owner-secrets.js.map +1 -1
  374. package/packages/gateway/dist/plugins/approve.d.ts.map +1 -1
  375. package/packages/gateway/dist/plugins/approve.js +9 -1
  376. package/packages/gateway/dist/plugins/approve.js.map +1 -1
  377. package/packages/gateway/dist/plugins/migrate.d.ts.map +1 -1
  378. package/packages/gateway/dist/plugins/migrate.js +11 -1
  379. package/packages/gateway/dist/plugins/migrate.js.map +1 -1
  380. package/packages/gateway/dist/serve.d.ts.map +1 -1
  381. package/packages/gateway/dist/serve.js +24 -8
  382. package/packages/gateway/dist/serve.js.map +1 -1
  383. package/packages/gateway/dist/system-context.d.ts +2 -0
  384. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  385. package/packages/gateway/dist/system-context.js +5 -1
  386. package/packages/gateway/dist/system-context.js.map +1 -1
  387. package/packages/gateway/dist/telegram/channel.d.ts +7 -0
  388. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  389. package/packages/gateway/dist/telegram/channel.js +14 -2
  390. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  391. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  392. package/packages/gateway/dist/telegram/main.js +2 -0
  393. package/packages/gateway/dist/telegram/main.js.map +1 -1
  394. package/packages/gateway/dist/telegram/surface.d.ts +26 -1
  395. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  396. package/packages/gateway/dist/telegram/surface.js +106 -3
  397. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  398. package/packages/gateway/dist/web/agents.d.ts +4 -0
  399. package/packages/gateway/dist/web/agents.d.ts.map +1 -1
  400. package/packages/gateway/dist/web/agents.js +12 -0
  401. package/packages/gateway/dist/web/agents.js.map +1 -1
  402. package/packages/gateway/dist/web/connections.d.ts +3 -0
  403. package/packages/gateway/dist/web/connections.d.ts.map +1 -1
  404. package/packages/gateway/dist/web/connections.js +48 -6
  405. package/packages/gateway/dist/web/connections.js.map +1 -1
  406. package/packages/gateway/dist/web/notifications.d.ts +6 -0
  407. package/packages/gateway/dist/web/notifications.d.ts.map +1 -1
  408. package/packages/gateway/dist/web/notifications.js +14 -1
  409. package/packages/gateway/dist/web/notifications.js.map +1 -1
  410. package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
  411. package/packages/gateway/dist/web/onboarding.js +5 -2
  412. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  413. package/packages/gateway/dist/web/read.d.ts +17 -0
  414. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  415. package/packages/gateway/dist/web/read.js +36 -1
  416. package/packages/gateway/dist/web/read.js.map +1 -1
  417. package/packages/gateway/dist/web/recovery.d.ts +31 -0
  418. package/packages/gateway/dist/web/recovery.d.ts.map +1 -1
  419. package/packages/gateway/dist/web/recovery.js +179 -43
  420. package/packages/gateway/dist/web/recovery.js.map +1 -1
  421. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  422. package/packages/gateway/dist/web/server.js +16 -5
  423. package/packages/gateway/dist/web/server.js.map +1 -1
  424. package/packages/gateway/dist/web/sessions.d.ts +8 -0
  425. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  426. package/packages/gateway/dist/web/sessions.js +24 -1
  427. package/packages/gateway/dist/web/sessions.js.map +1 -1
  428. package/packages/gateway/src/agents/starter/keeper/agent.md +2 -2
  429. package/packages/gateway/src/agents/starter/planner/agent.md +1 -1
  430. package/packages/gateway/src/agents/starter/scout/agent.md +1 -1
  431. package/packages/install/dist/.tsbuildinfo +1 -1
  432. package/packages/install/dist/postgres-check.d.ts +18 -0
  433. package/packages/install/dist/postgres-check.d.ts.map +1 -0
  434. package/packages/install/dist/postgres-check.js +66 -0
  435. package/packages/install/dist/postgres-check.js.map +1 -0
  436. package/packages/install/dist/upgrade.d.ts +3 -0
  437. package/packages/install/dist/upgrade.d.ts.map +1 -1
  438. package/packages/install/dist/upgrade.js +30 -0
  439. package/packages/install/dist/upgrade.js.map +1 -1
  440. package/packages/runtime/dist/.tsbuildinfo +1 -1
  441. package/packages/runtime/dist/delegate.js +1 -1
  442. package/packages/runtime/dist/delegate.js.map +1 -1
  443. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  444. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  445. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  446. package/packages/tools/email/dist/config.d.ts +13 -9
  447. package/packages/tools/email/dist/config.d.ts.map +1 -1
  448. package/packages/tools/email/dist/config.js +33 -40
  449. package/packages/tools/email/dist/config.js.map +1 -1
  450. package/packages/tools/email/dist/index.d.ts +1 -1
  451. package/packages/tools/email/dist/index.d.ts.map +1 -1
  452. package/packages/tools/email/dist/index.js +1 -1
  453. package/packages/tools/email/dist/index.js.map +1 -1
  454. package/packages/tools/email/dist/pages/accounts.d.ts +1 -2
  455. package/packages/tools/email/dist/pages/accounts.d.ts.map +1 -1
  456. package/packages/tools/email/dist/pages/accounts.js +42 -18
  457. package/packages/tools/email/dist/pages/accounts.js.map +1 -1
  458. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  459. package/packages/tools/email/dist/pages/queries.js +7 -5
  460. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  461. package/packages/tools/email/dist/ports.d.ts +5 -1
  462. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  463. package/packages/tools/email/dist/tools/shared.js +1 -1
  464. package/packages/tools/email/dist/tools/shared.js.map +1 -1
  465. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  466. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  467. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  468. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  469. package/packages/tools/web/dist/providers/index.d.ts +1 -2
  470. package/packages/tools/web/dist/providers/index.d.ts.map +1 -1
  471. package/packages/tools/web/dist/providers/index.js +1 -2
  472. package/packages/tools/web/dist/providers/index.js.map +1 -1
  473. package/packages/web/dist/assets/index-Cn-3X1OI.js +130 -0
  474. package/packages/web/dist/assets/{index-DIXokQ4n.css → index-bdj791NB.css} +1 -1
  475. package/packages/web/dist/assets/{lottie_light-j3HICV9o.js → lottie_light-DmJaDM4A.js} +1 -1
  476. package/packages/web/dist/build.json +1 -1
  477. package/packages/web/dist/index.html +2 -2
  478. package/packages/web/dist/precache.json +4 -4
  479. package/packages/web/dist/sw.js +5 -3
  480. package/packages/web/dist/assets/index-uqQyuYjR.js +0 -128
@@ -1,3 +1,26 @@
1
+ /**
2
+ * The `owner.*` tools — what the agent uses to conduct a first run.
3
+ *
4
+ * A new installation's first contact is a *conversation*, not a form. Code
5
+ * decides only when it happens (the surfaces) and stores what came out of it
6
+ * (core); the questions, their order, and what to do when the owner answers
7
+ * something else entirely belong to the agent and its `first-run` skill. These
8
+ * four tools are the whole seam between the two.
9
+ *
10
+ * Everything here is tier `auto` and deliberately so: nothing it does is
11
+ * irreversible, nothing leaves the machine, and an approval prompt in the
12
+ * middle of "what should I call you?" would be the opposite of the experience
13
+ * this exists to create. The one edit that touches a file — `rename_me` —
14
+ * refuses far more than it accepts: an example the repository ships is never
15
+ * rewritten, a handle another agent answers to is never taken, and the body of
16
+ * the persona is never touched (core's `updateAgentFrontmatter` re-parses the
17
+ * result and refuses anything that would not load).
18
+ *
19
+ * The catalog arrives through `bindOwnerTools`, for the same reason delegation
20
+ * does: agent files are resolved *against* the registry, so the registry cannot
21
+ * be handed a catalog at construction.
22
+ */
23
+ import type { CoreToolContext } from '@buddi/core';
1
24
  import { type ToolRegistry, type PluginManifest } from '@buddi/core';
2
25
  import type { AgentCatalog } from '../telegram/types.js';
3
26
  /** Plugin family name. One manifest, four tools, no tables of its own. */
@@ -36,8 +59,18 @@ export declare function handleShapeProblem(handle: string): string | undefined;
36
59
  * by it.
37
60
  */
38
61
  export declare function insideExamples(file: string, examplesDir?: string): boolean;
62
+ /** The one tool here an agent uses after the first run: telling the owner something now. */
63
+ export declare const NOTIFY_TOOL = "owner.notify";
64
+ /**
65
+ * Is the owner in the conversation that called the tool? An owner request is
66
+ * stamped only at an authenticated owner input boundary — a line typed on the
67
+ * dashboard, on Telegram or at the terminal, or an approval they decided —
68
+ * and never on a mission, a watcher, a source or a reminder. A delegate runs
69
+ * in another conversation, so it does not count.
70
+ */
71
+ export declare function interactiveTurn(ctx: CoreToolContext): boolean;
39
72
  /**
40
- * The four tools. No state of its own: the profile and the state machine are
73
+ * The five tools. No state of its own: the profile and the state machine are
41
74
  * core's rows, and the agent file is the one the catalog loaded.
42
75
  */
43
76
  export declare function createOwnerManifest(registry: ToolRegistry): PluginManifest;
@@ -1 +1 @@
1
- {"version":3,"file":"owner-tools.d.ts","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"AAuBA,OAAO,EAKL,KAAK,YAAY,EAQjB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,YAAY,UAAU,CAAC;AAgBpC,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,OAAO,EAAE,YAAY,CAAC;IACtB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAEvF;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAK+B,CAAC;AAElE,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASrE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAA4B,GAAG,OAAO,CAG/F;AAwDD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CA2K1E"}
1
+ {"version":3,"file":"owner-tools.d.ts","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAKL,KAAK,YAAY,EAYjB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,YAAY,UAAU,CAAC;AAgBpC,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,OAAO,EAAE,YAAY,CAAC;IACtB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAEvF;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAK+B,CAAC;AAElE,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASrE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAA4B,GAAG,OAAO,CAG/F;AAwDD,4FAA4F;AAC5F,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAiC1C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAO7D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CAkN1E"}
@@ -1,4 +1,4 @@
1
- import { HANDLE, HANDLE_MAX, HANDLE_MIN, AgentEditError, completeOnboarding, getOnboarding, getOwnerProfile, isKnownTimezone, markStepDone, setOwnerProfile, updateAgentFrontmatter, } from '@buddi/core';
1
+ import { HANDLE, HANDLE_MAX, HANDLE_MIN, AgentEditError, completeOnboarding, getOnboarding, getOwnerProfile, isKnownTimezone, AGENT_TEXT_MAX, AGENT_TITLE_MAX, checkAgentLink, notifyFromAgent, markStepDone, setOwnerProfile, updateAgentFrontmatter, } from '@buddi/core';
2
2
  import path from 'node:path';
3
3
  import { z } from 'zod';
4
4
  import { EXAMPLES_AGENTS_DIR } from './catalog.js';
@@ -116,8 +116,53 @@ const renameInput = z
116
116
  'hyphens. Derive it from the name unless the owner asked for something else.'),
117
117
  })
118
118
  .strict();
119
+ /** The one tool here an agent uses after the first run: telling the owner something now. */
120
+ export const NOTIFY_TOOL = 'owner.notify';
121
+ const notifyInput = z
122
+ .object({
123
+ title: z
124
+ .string()
125
+ .trim()
126
+ .min(1)
127
+ .max(AGENT_TITLE_MAX)
128
+ .describe('One line, what the owner sees first: "The parcel was delivered".'),
129
+ text: z
130
+ .string()
131
+ .max(AGENT_TEXT_MAX)
132
+ .optional()
133
+ .describe('A few plain lines under the title, when the title is not enough. No markdown.'),
134
+ urgency: z
135
+ .enum(['now', 'today'])
136
+ .optional()
137
+ .describe('"now" (the default) reaches them at once; "today" waits for their end-of-day message.'),
138
+ link: z
139
+ .string()
140
+ .optional()
141
+ .describe('A dashboard route to open, like "#/chat/<agent>/<conversation>". Never an outside address.'),
142
+ key: z
143
+ .string()
144
+ .trim()
145
+ .min(1)
146
+ .max(80)
147
+ .optional()
148
+ .describe('Your own name for this message, so a retry or a loop sends it once: "parcel-delivered".'),
149
+ })
150
+ .strict();
151
+ /**
152
+ * Is the owner in the conversation that called the tool? An owner request is
153
+ * stamped only at an authenticated owner input boundary — a line typed on the
154
+ * dashboard, on Telegram or at the terminal, or an approval they decided —
155
+ * and never on a mission, a watcher, a source or a reminder. A delegate runs
156
+ * in another conversation, so it does not count.
157
+ */
158
+ export function interactiveTurn(ctx) {
159
+ return Boolean(ctx.ownerRequest &&
160
+ ctx.ownerRequest.expiresAt > Date.now() &&
161
+ ctx.conversationId &&
162
+ (ctx.delegationDepth ?? 0) === 0);
163
+ }
119
164
  /**
120
- * The four tools. No state of its own: the profile and the state machine are
165
+ * The five tools. No state of its own: the profile and the state machine are
121
166
  * core's rows, and the agent file is the one the catalog loaded.
122
167
  */
123
168
  export function createOwnerManifest(registry) {
@@ -270,13 +315,51 @@ export function createOwnerManifest(registry) {
270
315
  };
271
316
  },
272
317
  };
318
+ const notify = {
319
+ name: NOTIFY_TOOL,
320
+ description: 'Tell the owner something now, on the channel they chose (usually Telegram): when they ask to be ' +
321
+ 'pinged, messaged or told on their phone, or when something they asked to hear about happens in the ' +
322
+ 'middle of your run. Never use it to repeat what your reply already says. It answers where the message ' +
323
+ 'went, in a sentence you can repeat to the owner as it is. Plain text only; it is shown as ' +
324
+ '"@you: title". Limits: 6 urgent messages an hour (more wait for the end of the day) and 20 a day.',
325
+ tier: 'auto',
326
+ input: notifyInput,
327
+ async execute(input, ctx) {
328
+ const agentId = ctx.agentId ?? '';
329
+ if (agentId === '') {
330
+ return { ok: false, reason: 'unknown-self', delivered: 'not sent: this run does not say which agent it is' };
331
+ }
332
+ if (input.link) {
333
+ const problem = checkAgentLink(input.link);
334
+ if (problem)
335
+ return { ok: false, reason: 'invalid-link', delivered: `not sent: ${problem}` };
336
+ }
337
+ const handle = bound()?.catalog.get(agentId)?.handle;
338
+ const result = await notifyFromAgent(ctx.db, { now: ctx.now, timezone: ctx.timezone }, {
339
+ agentId,
340
+ ...(handle ? { agentHandle: handle } : {}),
341
+ title: input.title,
342
+ ...(input.text ? { text: input.text } : {}),
343
+ urgency: input.urgency ?? 'now',
344
+ ...(input.link ? { link: input.link } : {}),
345
+ ...(input.key ? { key: input.key } : {}),
346
+ interactive: interactiveTurn(ctx),
347
+ });
348
+ return {
349
+ ok: result.ok,
350
+ ...(result.ok ? {} : { reason: result.outcome }),
351
+ delivered: result.delivered,
352
+ ...(result.updated ? { updated: true } : {}),
353
+ };
354
+ },
355
+ };
273
356
  return {
274
357
  name: OWNER_PLUGIN,
275
358
  version: '0.1.0',
276
- // The rows are core's (migration 013): this manifest only exposes them.
359
+ // The rows are core's (migrations 013 and 043): this manifest only exposes them.
277
360
  schema: 'core',
278
361
  migrationsDir: '',
279
- tools: [getProfile, setProfile, renameMe, finish],
362
+ tools: [getProfile, setProfile, renameMe, finish, notify],
280
363
  };
281
364
  }
282
365
  //# sourceMappingURL=owner-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-tools.js","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-tools.js","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"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"}
@@ -80,9 +80,9 @@ export const WIRED_SECRETS = KNOWN_SECRETS.filter(
80
80
  export async function hydrateSecrets(env = process.env, vault = createVault({ env })) {
81
81
  // Mail accounts' passwords are not hydrated: they are owner secrets, which
82
82
  // the email plugin asks `ctx.buddi.secrets` for and never reads from the
83
- // environment (`owner-secrets.ts`). `GMAIL_APP_PASSWORD` still is, once, so
84
- // the start can adopt a `.env` copy; it is cleared from the environment
85
- // after that.
83
+ // environment (`owner-secrets.ts`). `GMAIL_APP_PASSWORD` is not either:
84
+ // the start's one-time adoption of the old `.env` mailbox reads it
85
+ // itself (`adoptEnvMailbox`), and it is cleared from the environment after.
86
86
  const names = [...WIRED_SECRETS];
87
87
  const resolved = await resolveSecrets(names, { vault, env });
88
88
  for (const name of names) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,GASf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAwB,MAAM,gBAAgB,CAAC;AAClI,OAAO,EAAE,eAAe,EAA2B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,GAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,kFAAkF;AAClF,MAAM,UAAU,OAAO;IACrB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,EAAE,CAAC;IACV,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB,aAAa,CAAC,MAAM;AAClE,wEAAwE;AACxE,mEAAmE;AACnE,sEAAsE;AACtE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,gBAAgB,CACpC,CAAC;AAaF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAyB,OAAO,CAAC,GAAG,EACpC,QAA2B,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IAE/C,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,mEAAmE;IACnE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;;YACrC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,gEAAgE;IAChE,mDAAmD;IACnD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IACrC,IAAI,QAAQ,CAAC,OAAO;QAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC7E,OAAO;QACL,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE;QAC9E,0EAA0E;QAC1E,oEAAoE;QACpE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;QAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AA8CD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1C,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,iEAAiE;IACjE,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,MAAM,4BAA4B,CAAC,CAAC;QACvF,0EAA0E;QAC1E,0EAA0E;QAC1E,4CAA4C;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,SAAS,OAAO,CAAC,MAAM,2CAA2C,CAAC,CAAC;QAC1G;;;;;;WAMG;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACnF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG;gBACZ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3C,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACvC,CAAC;YACF,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,iDAAiD,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CACX,UAAU,OAAO,CAAC,IAAI,mCAAmC,OAAO,CAAC,OAAO,GAAG;YACzE,sBAAsB,CACzB,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1G,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACzI,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC9B,4EAA4E;QAC5E,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC;IAAC,CAAC;IACvD;;;;;;;OAOG;IACH,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;IACD,wEAAwE;IACxE,8EAA8E;IAC9E,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QACjC,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC/C,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,mBAAmB,EAAE,CAAC;IAC5B,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK;QACpF,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACzC,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,QAAsC,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACvH,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC,CAAC,CAAC;IACH;;;;;;OAMG;IACH,mBAAmB,CAAC;QAClB,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/F,sEAAsE;QACtE,2EAA2E;QAC3E,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS;QAC/C,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,GAAS,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,0EAA0E;IAC1E,6EAA6E;IAC7E,oEAAoE;IAEpE;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD;;;;;;;;OAQG;IACH,MAAM,OAAO,GAAG,CAAC,MAA0E,EAAQ,EAAE;QACnG,OAAO,CAAC,KAAK,CACX,aAAa,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,OAAO,wBAAwB,MAAM,CAAC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,CAChH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAmB,EAAE;QAC3D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC9F,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC,MAAM,iBAAiB,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK;gBACrF,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CACvC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,yEAAyE;IACzE,6EAA6E;IAC7E,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,aAAa,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,mBAAmB,CAAC;QAClB,EAAE,EAAE,IAAI;QACR,QAAQ;QACR,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrG,CAAC,CAAC;IACH;;;;;;;OAOG;IACH,IAAI,CAAC;QACH,oBAAoB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,QAAQ,GAAoB;QAChC,IAAI,YAAY,KAAK,OAAO,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/E,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC3E,CAAC;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,cAAc,CAAC,QAAQ,EAAE;QACvB,OAAO;QACP,QAAQ;QACR,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;IACH,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,cAAc,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,wEAAwE;IACxE,8EAA8E;IAC9E,kCAAkC;IAClC;;;;;OAKG;IACH,IAAI,KAAwB,CAAC;IAC7B,IAAI,CAAC;QAAC,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,KAAK,GAAG,SAAS,CAAC;IAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;QACxD,IAAI;QACJ,KAAK;QACL,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;QAC3D,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;QAC9D,aAAa,EAAE,wBAAwB;QACvC,GAAG;QACH,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,wEAAwE;QACxE,wDAAwD;QACxD,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC;QAC5B,GAAG;KACJ,CAAC,CAAC;IACH,iBAAiB,CAAC,QAAQ,EAAE;QAC1B,OAAO;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;QAC9B,0EAA0E;QAC1E,+DAA+D;QAC/D,eAAe,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;YACzC,MAAM,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;oBACpF,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc;iBAC/D,CAAC,CAAC;gBACH,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;gBAClF,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;aACrF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,eAAe,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9D,mBAAmB,EAAE,CAAC,OAAyB,EAAE,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/G,QAAQ;QACR,WAAW;QACX,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,KAAK;QAC5C,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;QAC/D,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI;QAClD,GAAG;QACH,QAAQ;QACR,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ;YAC/C,cAAc,EAAE,mBAAmB,EAAE;YACrC;;;;eAIG;YACH,gBAAgB,EAAE;gBAChB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE;gBACjD,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBAC7B,IAAI,CAAC,QAAQ;wBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;oBACxG,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC5D,CAAC;gBACD,gBAAgB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;oBACpC,IAAI,CAAC,QAAQ;wBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;oBACxG,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnE,CAAC;gBACD,kBAAkB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;oBAClC,IAAI,CAAC,QAAQ;wBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;oBACxG,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC;aACF;YACD,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC;YAC1F;;;;;eAKG;YACH,IAAI,WAAW;gBACb,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;gBAC1D,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,CAAC,EAAE;KACN,CAAC;AACJ,CAAC"}
@@ -2,15 +2,17 @@
2
2
  * Owner secrets at the composition root (docs/owner-secrets.md §7,
3
3
  * docs/plugin-host-api.md §4.2, §6).
4
4
  *
5
- * Two jobs at start, both once:
5
+ * Three jobs at start, all once:
6
6
  *
7
+ * - **Adopt the mailbox `.env` used to name** (`GMAIL_USER`, its password
8
+ * `GMAIL_APP_PASSWORD`) as a Settings → Email account — `adoptEnvMailbox`.
9
+ * After that buddi reads no mailbox from the environment.
7
10
  * - **Adopt what the email plugin kept.** Each mailbox's password lived in
8
- * the vault under the account row's `secret_name` (`EMAIL_<address>_<hash>`,
9
- * or `GMAIL_APP_PASSWORD` for the account `.env` names) and was copied into
10
- * `process.env` for the plugin to read. Each becomes an owner secret of the
11
- * same name, bound to `email.account` with the account's id as its target,
12
- * pre-approved. Idempotent; an old entry is deleted only after the new one
13
- * reads back.
11
+ * the vault under the account row's `secret_name` (`EMAIL_<address>_<hash>`)
12
+ * and was copied into `process.env` for the plugin to read. Each becomes an
13
+ * owner secret of the same name, bound to `email.account` with the
14
+ * account's id as its target, pre-approved. Idempotent; an old entry is
15
+ * deleted only after the new one reads back.
14
16
  * - **Clear what nothing reads any more** from `process.env`: the mailbox
15
17
  * passwords. What else can go, and what cannot yet, is said on
16
18
  * `mailboxSecretNames`.
@@ -47,6 +49,73 @@ export declare function ownerSecretVault(vault: Vault, pool: Pick<Pool, 'query'>
47
49
  * the removal rather than leaving a live credential behind.
48
50
  */
49
51
  export declare function deleteAccountSecret(pool: Pick<Pool, 'query'>, vault: Vault | undefined, secretRef: string | undefined): Promise<void>;
52
+ /** The two `.env` lines that used to name a mailbox. Read once, by `adoptEnvMailbox`, and never again. */
53
+ export declare const LEGACY_USER_VAR = "GMAIL_USER";
54
+ export declare const LEGACY_PASSWORD_VAR = "GMAIL_APP_PASSWORD";
55
+ /**
56
+ * The `email.settings` key that records the adoption ran to an end. With it
57
+ * there, `.env` is not read for a mailbox again — not even to re-create one
58
+ * the owner later removed in Settings while the old lines were still there.
59
+ */
60
+ export declare const ENV_MAILBOX_ADOPTED_KEY = "env_mailbox_adopted";
61
+ export type EnvMailboxAdoption =
62
+ /** Adopted, or found nothing to adopt, on an earlier start: `.env` is not read. */
63
+ {
64
+ outcome: 'done';
65
+ }
66
+ /** `GMAIL_USER` is not set: nothing to adopt, and nothing will be. */
67
+ | {
68
+ outcome: 'none';
69
+ }
70
+ /** Adopted on this start: the account exists and its password moved. */
71
+ | {
72
+ outcome: 'adopted';
73
+ address: string;
74
+ accountId: string;
75
+ }
76
+ /** A Settings → Email account of that address already exists; nothing touched. */
77
+ | {
78
+ outcome: 'exists';
79
+ address: string;
80
+ }
81
+ /** No readable password (or no vault to keep one in): nothing created. */
82
+ | {
83
+ outcome: 'no-password';
84
+ address: string;
85
+ reason: string;
86
+ };
87
+ /**
88
+ * Adopt the mailbox `.env` names as a Settings → Email account, once, at start
89
+ * (the pattern of `adoptProviderAccountSecrets`).
90
+ *
91
+ * Buddi used to seed an account from `GMAIL_USER` on every boot, its password
92
+ * named `GMAIL_APP_PASSWORD` (in `.env`, in the vault, or — since owner
93
+ * secrets — an owner secret of that name bound to the account). Now only
94
+ * accounts added in Settings exist, so this turns that mailbox into one:
95
+ *
96
+ * - The password is looked for where it may be: an owner secret already under
97
+ * the account's own name (a start that stopped half way), the owner secret
98
+ * `GMAIL_APP_PASSWORD`, the raw vault entry of that name, then `.env`.
99
+ * None readable: nothing is created, and the caller says to add it in
100
+ * Settings → Email.
101
+ * - **Continuity.** Everything the mailbox has — folders and their UID
102
+ * cursors, messages, threads, triage, drafts, rules — is keyed by the
103
+ * account row's id, and the old seed's row is converted in place
104
+ * (`writeGmailAccount`), so the id does not change and nothing is re-read,
105
+ * re-triaged or dropped. There is nothing to re-key.
106
+ * - The password moves to where a page-added account keeps it: the owner
107
+ * secret `secretNameFor(address)`, bound to `email.account` with the row's
108
+ * id, pre-approved. An owner secret `GMAIL_APP_PASSWORD` is *renamed* (same
109
+ * id, same vault entry, its history kept); otherwise the value is written
110
+ * under the new name and read back before the row changes hands, and the
111
+ * raw vault entry goes last. `.env` is the owner's file and is not touched.
112
+ *
113
+ * Once: a run that adopts, finds the address already added in Settings, or
114
+ * finds no `GMAIL_USER` at all records that in `email.settings`
115
+ * (`ENV_MAILBOX_ADOPTED_KEY`), and every later start answers `done` without
116
+ * reading `.env`. Only a missing password leaves it to try again next start.
117
+ */
118
+ export declare function adoptEnvMailbox(pool: Pool, vault: Vault | undefined, env: NodeJS.ProcessEnv): Promise<EnvMailboxAdoption>;
50
119
  export interface MailboxAdoption {
51
120
  /** Account address → what happened to its password. Never a value. */
52
121
  outcomes: Record<string, AdoptOutcome | 'failed'>;
@@ -54,7 +123,7 @@ export interface MailboxAdoption {
54
123
  problems: string[];
55
124
  }
56
125
  /** Move every mailbox password into an owner secret bound to its login. */
57
- export declare function adoptMailboxSecrets(pool: Pool, vault: Vault | undefined, env: NodeJS.ProcessEnv): Promise<MailboxAdoption>;
126
+ export declare function adoptMailboxSecrets(pool: Pool, vault: Vault | undefined): Promise<MailboxAdoption>;
58
127
  /**
59
128
  * What the gateway removes from `process.env` once it has started, and why the
60
129
  * rest stays for now (host API §6; the whole list is step 4's).
@@ -1 +1 @@
1
- {"version":3,"file":"owner-secrets.d.ts","sourceRoot":"","sources":["../src/owner-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK/B;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;AAC/C,yFAAyF;AACzF,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAC/B,iBAAiB,CAiBnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAsB/E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EACzB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,CAAC;IAClD,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2EAA2E;AAC3E,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC,CAyB1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAI1G;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAS/F;AAED,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC9D,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GAAG,SAAS,GACvB,OAAO,CAAC,uBAAuB,CAAC,CA6BlC;AAED;;;;;;;GAOG;AACH;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,YAAY,CAAC;AAQtC,wBAAgB,yBAAyB,IAAI,IAAI,CAiBhD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAqD/F"}
1
+ {"version":3,"file":"owner-secrets.d.ts","sourceRoot":"","sources":["../src/owner-secrets.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,23 @@
2
2
  * Owner secrets at the composition root (docs/owner-secrets.md §7,
3
3
  * docs/plugin-host-api.md §4.2, §6).
4
4
  *
5
- * Two jobs at start, both once:
5
+ * Three jobs at start, all once:
6
6
  *
7
+ * - **Adopt the mailbox `.env` used to name** (`GMAIL_USER`, its password
8
+ * `GMAIL_APP_PASSWORD`) as a Settings → Email account — `adoptEnvMailbox`.
9
+ * After that buddi reads no mailbox from the environment.
7
10
  * - **Adopt what the email plugin kept.** Each mailbox's password lived in
8
- * the vault under the account row's `secret_name` (`EMAIL_<address>_<hash>`,
9
- * or `GMAIL_APP_PASSWORD` for the account `.env` names) and was copied into
10
- * `process.env` for the plugin to read. Each becomes an owner secret of the
11
- * same name, bound to `email.account` with the account's id as its target,
12
- * pre-approved. Idempotent; an old entry is deleted only after the new one
13
- * reads back.
11
+ * the vault under the account row's `secret_name` (`EMAIL_<address>_<hash>`)
12
+ * and was copied into `process.env` for the plugin to read. Each becomes an
13
+ * owner secret of the same name, bound to `email.account` with the
14
+ * account's id as its target, pre-approved. Idempotent; an old entry is
15
+ * deleted only after the new one reads back.
14
16
  * - **Clear what nothing reads any more** from `process.env`: the mailbox
15
17
  * passwords. What else can go, and what cannot yet, is said on
16
18
  * `mailboxSecretNames`.
17
19
  */
18
- import { adoptVaultEntry, deleteOwnerSecret, findSecret, ownerSecretVaultName, putOwnerSecret, registerSecretDestination, useOwnerSecret, } from '@buddi/core';
19
- import { ACCOUNT_KIND, GMAIL_SECRET_NAME, listAccounts } from '@buddi/tool-email';
20
+ import { adoptVaultEntry, deleteOwnerSecret, findSecret, ownerSecretVaultName, putOwnerSecret, registerSecretDestination, renameOwnerSecret, VAULT_PLACEHOLDER, useOwnerSecret, } from '@buddi/core';
21
+ import { ACCOUNT_KIND, listAccounts, secretNameFor, writeGmailAccount } from '@buddi/tool-email';
20
22
  /** The shape of a page-added mailbox's old vault name (`secretNameFor`). Not `EMAIL_BACKFILL`. */
21
23
  const MAILBOX_SECRET_RE = /^EMAIL_[A-Z0-9_]+_[0-9a-f]{8}$/;
22
24
  /**
@@ -103,8 +105,132 @@ export async function deleteAccountSecret(pool, vault, secretRef) {
103
105
  throw new Error(`the credential of "${secretRef}" could not be removed from the vault`);
104
106
  }
105
107
  }
108
+ /** The two `.env` lines that used to name a mailbox. Read once, by `adoptEnvMailbox`, and never again. */
109
+ export const LEGACY_USER_VAR = 'GMAIL_USER';
110
+ export const LEGACY_PASSWORD_VAR = 'GMAIL_APP_PASSWORD';
111
+ /**
112
+ * The `email.settings` key that records the adoption ran to an end. With it
113
+ * there, `.env` is not read for a mailbox again — not even to re-create one
114
+ * the owner later removed in Settings while the old lines were still there.
115
+ */
116
+ export const ENV_MAILBOX_ADOPTED_KEY = 'env_mailbox_adopted';
117
+ /** A value that is really there: not empty, not the `"<vault>"` marker `import-env` leaves. */
118
+ function realValue(raw) {
119
+ if (typeof raw !== 'string')
120
+ return null;
121
+ const trimmed = raw.trim();
122
+ const unquoted = trimmed.replace(/^(["'])(.*)\1$/, '$2');
123
+ if (trimmed === '' || unquoted === VAULT_PLACEHOLDER)
124
+ return null;
125
+ return trimmed;
126
+ }
127
+ /**
128
+ * Adopt the mailbox `.env` names as a Settings → Email account, once, at start
129
+ * (the pattern of `adoptProviderAccountSecrets`).
130
+ *
131
+ * Buddi used to seed an account from `GMAIL_USER` on every boot, its password
132
+ * named `GMAIL_APP_PASSWORD` (in `.env`, in the vault, or — since owner
133
+ * secrets — an owner secret of that name bound to the account). Now only
134
+ * accounts added in Settings exist, so this turns that mailbox into one:
135
+ *
136
+ * - The password is looked for where it may be: an owner secret already under
137
+ * the account's own name (a start that stopped half way), the owner secret
138
+ * `GMAIL_APP_PASSWORD`, the raw vault entry of that name, then `.env`.
139
+ * None readable: nothing is created, and the caller says to add it in
140
+ * Settings → Email.
141
+ * - **Continuity.** Everything the mailbox has — folders and their UID
142
+ * cursors, messages, threads, triage, drafts, rules — is keyed by the
143
+ * account row's id, and the old seed's row is converted in place
144
+ * (`writeGmailAccount`), so the id does not change and nothing is re-read,
145
+ * re-triaged or dropped. There is nothing to re-key.
146
+ * - The password moves to where a page-added account keeps it: the owner
147
+ * secret `secretNameFor(address)`, bound to `email.account` with the row's
148
+ * id, pre-approved. An owner secret `GMAIL_APP_PASSWORD` is *renamed* (same
149
+ * id, same vault entry, its history kept); otherwise the value is written
150
+ * under the new name and read back before the row changes hands, and the
151
+ * raw vault entry goes last. `.env` is the owner's file and is not touched.
152
+ *
153
+ * Once: a run that adopts, finds the address already added in Settings, or
154
+ * finds no `GMAIL_USER` at all records that in `email.settings`
155
+ * (`ENV_MAILBOX_ADOPTED_KEY`), and every later start answers `done` without
156
+ * reading `.env`. Only a missing password leaves it to try again next start.
157
+ */
158
+ export async function adoptEnvMailbox(pool, vault, env) {
159
+ let marked;
160
+ try {
161
+ ({ rows: marked } = await pool.query(`select 1 from email.settings where key = $1`, [ENV_MAILBOX_ADOPTED_KEY]));
162
+ }
163
+ catch (err) {
164
+ // No email schema: the mail plugin is not installed here, so there is no
165
+ // mailbox to adopt into.
166
+ if (err.code === '42P01' || err.code === '3F000')
167
+ return { outcome: 'none' };
168
+ throw err;
169
+ }
170
+ if (marked.length > 0)
171
+ return { outcome: 'done' };
172
+ const finished = async (result) => {
173
+ const address = 'address' in result ? result.address : null;
174
+ await pool.query(`insert into email.settings (key, value, updated_at) values ($1, $2::jsonb, now())
175
+ on conflict (key) do nothing`, [ENV_MAILBOX_ADOPTED_KEY, JSON.stringify({ outcome: result.outcome, address })]);
176
+ return result;
177
+ };
178
+ const address = env[LEGACY_USER_VAR]?.trim().toLowerCase();
179
+ if (!address)
180
+ return finished({ outcome: 'none' });
181
+ const { rows } = await pool.query(`select id::text as id, added_via from email.accounts where address = $1`, [address]);
182
+ const row = rows[0];
183
+ if (row !== undefined && row.added_via !== 'env')
184
+ return finished({ outcome: 'exists', address });
185
+ const name = secretNameFor(address);
186
+ if (vault === undefined) {
187
+ return { outcome: 'no-password', address, reason: 'this installation has no vault to keep its password in' };
188
+ }
189
+ const ownerValue = async (secretName) => {
190
+ const secret = await findSecret(pool, secretName);
191
+ if (secret === null)
192
+ return null;
193
+ const value = realValue(await vault.get(ownerSecretVaultName(secret.id)).catch(() => null));
194
+ return value === null ? null : { id: secret.id, value };
195
+ };
196
+ const resumed = await ownerValue(name);
197
+ const legacyOwner = resumed === null ? await ownerValue(LEGACY_PASSWORD_VAR) : null;
198
+ const rawVault = resumed === null && legacyOwner === null
199
+ ? realValue(await vault.get(LEGACY_PASSWORD_VAR).catch(() => null))
200
+ : null;
201
+ const value = resumed?.value ?? legacyOwner?.value ?? rawVault ?? realValue(env[LEGACY_PASSWORD_VAR]);
202
+ if (value === null) {
203
+ return { outcome: 'no-password', address, reason: `${LEGACY_PASSWORD_VAR} is not readable` };
204
+ }
205
+ // The row first when there is none, because the binding names its id; a
206
+ // password that cannot be kept takes a new row back out.
207
+ const inserted = row === undefined;
208
+ const accountId = row?.id ?? (await writeGmailAccount(pool, address)).id;
209
+ try {
210
+ if (legacyOwner !== null)
211
+ await renameOwnerSecret(pool, LEGACY_PASSWORD_VAR, name);
212
+ const kept = await putOwnerSecret(pool, vault, {
213
+ name,
214
+ value,
215
+ bindings: [{ kind: ACCOUNT_KIND, target: accountId, rule: 'pre-approved' }],
216
+ });
217
+ if ((await vault.get(ownerSecretVaultName(kept.id))) !== value) {
218
+ throw new Error(`the owner secret "${name}" did not read back`);
219
+ }
220
+ }
221
+ catch (err) {
222
+ if (inserted)
223
+ await pool.query(`delete from email.accounts where id = $1::uuid`, [accountId]).catch(() => { });
224
+ throw err;
225
+ }
226
+ // The row changes hands only now, with its password already where it looks.
227
+ await writeGmailAccount(pool, address);
228
+ if (rawVault !== null)
229
+ await vault.delete(LEGACY_PASSWORD_VAR).catch(() => false);
230
+ return finished({ outcome: 'adopted', address, accountId });
231
+ }
106
232
  /** Move every mailbox password into an owner secret bound to its login. */
107
- export async function adoptMailboxSecrets(pool, vault, env) {
233
+ export async function adoptMailboxSecrets(pool, vault) {
108
234
  const result = { outcomes: {}, problems: [] };
109
235
  if (vault === undefined) {
110
236
  result.problems.push('this installation has no vault, so mailbox passwords cannot become owner secrets');
@@ -113,14 +239,15 @@ export async function adoptMailboxSecrets(pool, vault, env) {
113
239
  for (const account of await listAccounts(pool, { enabledOnly: false })) {
114
240
  if (account.authMode !== 'app-password')
115
241
  continue;
242
+ // A row the old `.env` seed left and `adoptEnvMailbox` could not adopt:
243
+ // its password is not readable, and the page is where it comes back.
244
+ if (account.addedVia === 'env')
245
+ continue;
116
246
  try {
117
247
  result.outcomes[account.address] = await adoptVaultEntry(pool, vault, {
118
248
  from: account.secretName,
119
249
  name: account.secretName,
120
250
  bindings: [{ kind: ACCOUNT_KIND, target: account.id, rule: 'pre-approved' }],
121
- // The account `.env` names may still have its password there, the
122
- // day-1 path. Adopted the same way; `.env` is the owner's file.
123
- fallback: account.secretName === GMAIL_SECRET_NAME ? env[GMAIL_SECRET_NAME] : undefined,
124
251
  });
125
252
  }
126
253
  catch (err) {
@@ -151,7 +278,8 @@ export async function adoptMailboxSecrets(pool, vault, env) {
151
278
  * - `BUDDI_DB_PASSWORD`: assembled into `DATABASE_URL`, cleared with it.
152
279
  */
153
280
  export function mailboxSecretNames(env, accountSecretNames) {
154
- const names = new Set([GMAIL_SECRET_NAME, ...accountSecretNames]);
281
+ // `GMAIL_APP_PASSWORD` too: nothing reads it after `adoptEnvMailbox`.
282
+ const names = new Set([LEGACY_PASSWORD_VAR, ...accountSecretNames]);
155
283
  for (const name of Object.keys(env))
156
284
  if (MAILBOX_SECRET_RE.test(name))
157
285
  names.add(name);