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

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 (1395) hide show
  1. package/README.md +3 -1
  2. package/extension/manifest.json +2 -2
  3. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  4. package/node_modules/@buddi/cli/dist/args.d.ts +13 -2
  5. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  6. package/node_modules/@buddi/cli/dist/args.js +12 -3
  7. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  8. package/node_modules/@buddi/cli/dist/commands.d.ts +10 -0
  9. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  10. package/node_modules/@buddi/cli/dist/commands.js +301 -20
  11. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  12. package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts +3 -0
  13. package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts.map +1 -1
  14. package/node_modules/@buddi/cli/dist/dashboard-cmd.js +63 -0
  15. package/node_modules/@buddi/cli/dist/dashboard-cmd.js.map +1 -1
  16. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  17. package/node_modules/@buddi/cli/dist/doctor-probes.js +12 -10
  18. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  19. package/node_modules/@buddi/cli/dist/doctor.d.ts +14 -1
  20. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  21. package/node_modules/@buddi/cli/dist/doctor.js +18 -0
  22. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  23. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  24. package/node_modules/@buddi/cli/dist/main.js +22 -1
  25. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  26. package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts +19 -17
  27. package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts.map +1 -1
  28. package/node_modules/@buddi/cli/dist/mcp/gateway-client.js +128 -29
  29. package/node_modules/@buddi/cli/dist/mcp/gateway-client.js.map +1 -1
  30. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts +6 -0
  31. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  32. package/node_modules/@buddi/cli/dist/mcp/tools.js +23 -3
  33. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  34. package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts.map +1 -1
  35. package/node_modules/@buddi/cli/dist/telegram-cmd.js +5 -4
  36. package/node_modules/@buddi/cli/dist/telegram-cmd.js.map +1 -1
  37. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  38. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +3 -0
  39. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/agents/catalog.js +8 -6
  41. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  42. package/node_modules/@buddi/core/dist/agents/edit.d.ts +3 -0
  43. package/node_modules/@buddi/core/dist/agents/edit.d.ts.map +1 -1
  44. package/node_modules/@buddi/core/dist/agents/edit.js +3 -1
  45. package/node_modules/@buddi/core/dist/agents/edit.js.map +1 -1
  46. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +22 -12
  47. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  48. package/node_modules/@buddi/core/dist/agents/frontmatter.js +7 -0
  49. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  50. package/node_modules/@buddi/core/dist/agents/idle-rollover.d.ts +20 -0
  51. package/node_modules/@buddi/core/dist/agents/idle-rollover.d.ts.map +1 -0
  52. package/node_modules/@buddi/core/dist/agents/idle-rollover.js +30 -0
  53. package/node_modules/@buddi/core/dist/agents/idle-rollover.js.map +1 -0
  54. package/node_modules/@buddi/core/dist/agents/index.d.ts +1 -0
  55. package/node_modules/@buddi/core/dist/agents/index.d.ts.map +1 -1
  56. package/node_modules/@buddi/core/dist/agents/index.js +1 -0
  57. package/node_modules/@buddi/core/dist/agents/index.js.map +1 -1
  58. package/node_modules/@buddi/core/dist/agents/skills.d.ts +2 -2
  59. package/node_modules/@buddi/core/dist/backup/dump.d.ts +9 -0
  60. package/node_modules/@buddi/core/dist/backup/dump.d.ts.map +1 -1
  61. package/node_modules/@buddi/core/dist/backup/dump.js +10 -1
  62. package/node_modules/@buddi/core/dist/backup/dump.js.map +1 -1
  63. package/node_modules/@buddi/core/dist/backup/pending.d.ts +13 -0
  64. package/node_modules/@buddi/core/dist/backup/pending.d.ts.map +1 -1
  65. package/node_modules/@buddi/core/dist/backup/pending.js +56 -4
  66. package/node_modules/@buddi/core/dist/backup/pending.js.map +1 -1
  67. package/node_modules/@buddi/core/dist/backup/restore.d.ts +3 -1
  68. package/node_modules/@buddi/core/dist/backup/restore.d.ts.map +1 -1
  69. package/node_modules/@buddi/core/dist/backup/restore.js +1 -1
  70. package/node_modules/@buddi/core/dist/backup/restore.js.map +1 -1
  71. package/node_modules/@buddi/core/dist/clock-widget.d.ts +38 -0
  72. package/node_modules/@buddi/core/dist/clock-widget.d.ts.map +1 -0
  73. package/node_modules/@buddi/core/dist/clock-widget.js +114 -0
  74. package/node_modules/@buddi/core/dist/clock-widget.js.map +1 -0
  75. package/node_modules/@buddi/core/dist/failures/owner-message.d.ts +25 -0
  76. package/node_modules/@buddi/core/dist/failures/owner-message.d.ts.map +1 -1
  77. package/node_modules/@buddi/core/dist/failures/owner-message.js +90 -0
  78. package/node_modules/@buddi/core/dist/failures/owner-message.js.map +1 -1
  79. package/node_modules/@buddi/core/dist/feedback/index.d.ts +129 -0
  80. package/node_modules/@buddi/core/dist/feedback/index.d.ts.map +1 -0
  81. package/node_modules/@buddi/core/dist/feedback/index.js +180 -0
  82. package/node_modules/@buddi/core/dist/feedback/index.js.map +1 -0
  83. package/node_modules/@buddi/core/dist/groups.d.ts +33 -0
  84. package/node_modules/@buddi/core/dist/groups.d.ts.map +1 -1
  85. package/node_modules/@buddi/core/dist/groups.js +76 -4
  86. package/node_modules/@buddi/core/dist/groups.js.map +1 -1
  87. package/node_modules/@buddi/core/dist/home.d.ts +5 -5
  88. package/node_modules/@buddi/core/dist/host/build.d.ts +19 -1
  89. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  90. package/node_modules/@buddi/core/dist/host/build.js +150 -3
  91. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  92. package/node_modules/@buddi/core/dist/host/types.d.ts +62 -2
  93. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  94. package/node_modules/@buddi/core/dist/index.d.ts +9 -0
  95. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  96. package/node_modules/@buddi/core/dist/index.js +9 -0
  97. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  98. package/node_modules/@buddi/core/dist/learning/policies.d.ts +7 -1
  99. package/node_modules/@buddi/core/dist/learning/policies.d.ts.map +1 -1
  100. package/node_modules/@buddi/core/dist/learning/policies.js +4 -1
  101. package/node_modules/@buddi/core/dist/learning/policies.js.map +1 -1
  102. package/node_modules/@buddi/core/dist/learning/store.d.ts +29 -1
  103. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  104. package/node_modules/@buddi/core/dist/learning/store.js +33 -8
  105. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  106. package/node_modules/@buddi/core/dist/learning/types.d.ts +24 -1
  107. package/node_modules/@buddi/core/dist/learning/types.d.ts.map +1 -1
  108. package/node_modules/@buddi/core/dist/learning/types.js +6 -0
  109. package/node_modules/@buddi/core/dist/learning/types.js.map +1 -1
  110. package/node_modules/@buddi/core/dist/lock.d.ts +76 -0
  111. package/node_modules/@buddi/core/dist/lock.d.ts.map +1 -0
  112. package/node_modules/@buddi/core/dist/lock.js +167 -0
  113. package/node_modules/@buddi/core/dist/lock.js.map +1 -0
  114. package/node_modules/@buddi/core/dist/metrics.d.ts.map +1 -1
  115. package/node_modules/@buddi/core/dist/metrics.js +4 -2
  116. package/node_modules/@buddi/core/dist/metrics.js.map +1 -1
  117. package/node_modules/@buddi/core/dist/onboarding/store.d.ts +5 -0
  118. package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
  119. package/node_modules/@buddi/core/dist/onboarding/store.js +35 -5
  120. package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
  121. package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
  122. package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
  123. package/node_modules/@buddi/core/dist/onboarding/types.js +2 -0
  124. package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
  125. package/node_modules/@buddi/core/dist/owner-format.d.ts +14 -0
  126. package/node_modules/@buddi/core/dist/owner-format.d.ts.map +1 -0
  127. package/node_modules/@buddi/core/dist/owner-format.js +47 -0
  128. package/node_modules/@buddi/core/dist/owner-format.js.map +1 -0
  129. package/node_modules/@buddi/core/dist/owner-timezone.d.ts +46 -0
  130. package/node_modules/@buddi/core/dist/owner-timezone.d.ts.map +1 -0
  131. package/node_modules/@buddi/core/dist/owner-timezone.js +43 -0
  132. package/node_modules/@buddi/core/dist/owner-timezone.js.map +1 -0
  133. package/node_modules/@buddi/core/dist/owner.d.ts +2 -1
  134. package/node_modules/@buddi/core/dist/owner.d.ts.map +1 -1
  135. package/node_modules/@buddi/core/dist/owner.js.map +1 -1
  136. package/node_modules/@buddi/core/dist/pages.d.ts +37 -38
  137. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  138. package/node_modules/@buddi/core/dist/pages.js +30 -3
  139. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  140. package/node_modules/@buddi/core/dist/places.d.ts +110 -0
  141. package/node_modules/@buddi/core/dist/places.d.ts.map +1 -0
  142. package/node_modules/@buddi/core/dist/places.js +239 -0
  143. package/node_modules/@buddi/core/dist/places.js.map +1 -0
  144. package/node_modules/@buddi/core/dist/plugin/index.d.ts +13 -5
  145. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  146. package/node_modules/@buddi/core/dist/plugin/index.js +3 -0
  147. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  148. package/node_modules/@buddi/core/dist/plugin/requires.d.ts +75 -0
  149. package/node_modules/@buddi/core/dist/plugin/requires.d.ts.map +1 -0
  150. package/node_modules/@buddi/core/dist/plugin/requires.js +77 -0
  151. package/node_modules/@buddi/core/dist/plugin/requires.js.map +1 -0
  152. package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
  153. package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
  154. package/node_modules/@buddi/core/dist/plugin/uses.js +2 -0
  155. package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
  156. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  157. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  158. package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts +5 -0
  159. package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts.map +1 -1
  160. package/node_modules/@buddi/core/dist/queue/retry-policy.js +19 -2
  161. package/node_modules/@buddi/core/dist/queue/retry-policy.js.map +1 -1
  162. package/node_modules/@buddi/core/dist/registry.d.ts +47 -3
  163. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  164. package/node_modules/@buddi/core/dist/registry.js +150 -3
  165. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  166. package/node_modules/@buddi/core/dist/scheduler/enqueue.d.ts +71 -0
  167. package/node_modules/@buddi/core/dist/scheduler/enqueue.d.ts.map +1 -0
  168. package/node_modules/@buddi/core/dist/scheduler/enqueue.js +116 -0
  169. package/node_modules/@buddi/core/dist/scheduler/enqueue.js.map +1 -0
  170. package/node_modules/@buddi/core/dist/scheduler/index.d.ts +1 -0
  171. package/node_modules/@buddi/core/dist/scheduler/index.d.ts.map +1 -1
  172. package/node_modules/@buddi/core/dist/scheduler/index.js +1 -0
  173. package/node_modules/@buddi/core/dist/scheduler/index.js.map +1 -1
  174. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +15 -0
  175. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  176. package/node_modules/@buddi/core/dist/scheduler/missions.js +43 -4
  177. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  178. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +10 -0
  179. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  180. package/node_modules/@buddi/core/dist/scheduler/types.js +3 -0
  181. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  182. package/node_modules/@buddi/core/dist/secrets/settings.d.ts +6 -6
  183. package/node_modules/@buddi/core/dist/semver.d.ts +17 -0
  184. package/node_modules/@buddi/core/dist/semver.d.ts.map +1 -1
  185. package/node_modules/@buddi/core/dist/semver.js +130 -0
  186. package/node_modules/@buddi/core/dist/semver.js.map +1 -1
  187. package/node_modules/@buddi/core/dist/sentinels/run.d.ts +6 -1
  188. package/node_modules/@buddi/core/dist/sentinels/run.d.ts.map +1 -1
  189. package/node_modules/@buddi/core/dist/sentinels/run.js +43 -24
  190. package/node_modules/@buddi/core/dist/sentinels/run.js.map +1 -1
  191. package/node_modules/@buddi/core/dist/sentinels/types.d.ts +13 -0
  192. package/node_modules/@buddi/core/dist/sentinels/types.d.ts.map +1 -1
  193. package/node_modules/@buddi/core/dist/sentinels/types.js.map +1 -1
  194. package/node_modules/@buddi/core/dist/sources/index.d.ts +1 -0
  195. package/node_modules/@buddi/core/dist/sources/index.d.ts.map +1 -1
  196. package/node_modules/@buddi/core/dist/sources/index.js +1 -0
  197. package/node_modules/@buddi/core/dist/sources/index.js.map +1 -1
  198. package/node_modules/@buddi/core/dist/sources/run.d.ts +8 -0
  199. package/node_modules/@buddi/core/dist/sources/run.d.ts.map +1 -1
  200. package/node_modules/@buddi/core/dist/sources/run.js +1 -1
  201. package/node_modules/@buddi/core/dist/sources/run.js.map +1 -1
  202. package/node_modules/@buddi/core/dist/sources/watch.d.ts +40 -0
  203. package/node_modules/@buddi/core/dist/sources/watch.d.ts.map +1 -0
  204. package/node_modules/@buddi/core/dist/sources/watch.js +81 -0
  205. package/node_modules/@buddi/core/dist/sources/watch.js.map +1 -0
  206. package/node_modules/@buddi/core/dist/time.d.ts +17 -3
  207. package/node_modules/@buddi/core/dist/time.d.ts.map +1 -1
  208. package/node_modules/@buddi/core/dist/time.js +27 -3
  209. package/node_modules/@buddi/core/dist/time.js.map +1 -1
  210. package/node_modules/@buddi/core/dist/tools.d.ts +77 -1
  211. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  212. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  213. package/node_modules/@buddi/core/dist/views.d.ts +68 -68
  214. package/node_modules/@buddi/core/dist/views.d.ts.map +1 -1
  215. package/node_modules/@buddi/core/dist/views.js +3 -0
  216. package/node_modules/@buddi/core/dist/views.js.map +1 -1
  217. package/node_modules/@buddi/core/dist/widget-settings.d.ts +161 -0
  218. package/node_modules/@buddi/core/dist/widget-settings.d.ts.map +1 -0
  219. package/node_modules/@buddi/core/dist/widget-settings.js +314 -0
  220. package/node_modules/@buddi/core/dist/widget-settings.js.map +1 -0
  221. package/node_modules/@buddi/core/dist/widgets.d.ts +206 -0
  222. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -0
  223. package/node_modules/@buddi/core/dist/widgets.js +247 -0
  224. package/node_modules/@buddi/core/dist/widgets.js.map +1 -0
  225. package/node_modules/@buddi/core/migrations/056_dashboard_sessions.sql +37 -0
  226. package/node_modules/@buddi/core/migrations/057_proposal_decided_by.sql +34 -0
  227. package/node_modules/@buddi/core/migrations/058_message_feedback.sql +50 -0
  228. package/node_modules/@buddi/core/migrations/059_dashboard_lock.sql +33 -0
  229. package/node_modules/@buddi/core/migrations/060_owner_places.sql +30 -0
  230. package/node_modules/@buddi/core/migrations/061_owner_formats.sql +10 -0
  231. package/node_modules/@buddi/core/migrations/062_group_deleted.sql +7 -0
  232. package/node_modules/@buddi/core/migrations/063_provider_account_limits.sql +20 -0
  233. package/node_modules/@buddi/core/migrations/064_mission_coalesce.sql +12 -0
  234. package/node_modules/@buddi/core/migrations/065_api_tokens.sql +28 -0
  235. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  236. package/node_modules/@buddi/gateway/dist/account-limits.d.ts +45 -0
  237. package/node_modules/@buddi/gateway/dist/account-limits.d.ts.map +1 -0
  238. package/node_modules/@buddi/gateway/dist/account-limits.js +87 -0
  239. package/node_modules/@buddi/gateway/dist/account-limits.js.map +1 -0
  240. package/node_modules/@buddi/gateway/dist/accounts-cli.d.ts +88 -0
  241. package/node_modules/@buddi/gateway/dist/accounts-cli.d.ts.map +1 -0
  242. package/node_modules/@buddi/gateway/dist/accounts-cli.js +216 -0
  243. package/node_modules/@buddi/gateway/dist/accounts-cli.js.map +1 -0
  244. package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +20 -20
  245. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +11 -1
  246. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +43 -4
  248. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  250. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +3 -2
  251. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  252. package/node_modules/@buddi/gateway/dist/agents/platform-files.d.ts +2 -0
  253. package/node_modules/@buddi/gateway/dist/agents/platform-files.d.ts.map +1 -1
  254. package/node_modules/@buddi/gateway/dist/agents/platform-files.js +2 -0
  255. package/node_modules/@buddi/gateway/dist/agents/platform-files.js.map +1 -1
  256. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +40 -20
  257. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/agents/platform.js +46 -3
  259. package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
  260. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +1 -1
  261. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
  262. package/node_modules/@buddi/gateway/dist/agents-cli.js +12 -2
  263. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  264. package/node_modules/@buddi/gateway/dist/api-token-cli.d.ts +17 -0
  265. package/node_modules/@buddi/gateway/dist/api-token-cli.d.ts.map +1 -0
  266. package/node_modules/@buddi/gateway/dist/api-token-cli.js +108 -0
  267. package/node_modules/@buddi/gateway/dist/api-token-cli.js.map +1 -0
  268. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts +6 -2
  269. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  270. package/node_modules/@buddi/gateway/dist/bootstrap.js +25 -7
  271. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  272. package/node_modules/@buddi/gateway/dist/chat/session.d.ts +5 -0
  273. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  274. package/node_modules/@buddi/gateway/dist/chat/session.js +13 -2
  275. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  276. package/node_modules/@buddi/gateway/dist/cli.d.ts.map +1 -1
  277. package/node_modules/@buddi/gateway/dist/cli.js +14 -3
  278. package/node_modules/@buddi/gateway/dist/cli.js.map +1 -1
  279. package/node_modules/@buddi/gateway/dist/index.d.ts +3 -0
  280. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  281. package/node_modules/@buddi/gateway/dist/index.js +3 -0
  282. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  283. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
  284. package/node_modules/@buddi/gateway/dist/mcp/requests.js +1 -0
  285. package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
  286. package/node_modules/@buddi/gateway/dist/missions/dead-letter.d.ts +2 -1
  287. package/node_modules/@buddi/gateway/dist/missions/dead-letter.d.ts.map +1 -1
  288. package/node_modules/@buddi/gateway/dist/missions/dead-letter.js +19 -5
  289. package/node_modules/@buddi/gateway/dist/missions/dead-letter.js.map +1 -1
  290. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts +6 -0
  291. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts.map +1 -1
  292. package/node_modules/@buddi/gateway/dist/missions/defaults.js +10 -2
  293. package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
  294. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  295. package/node_modules/@buddi/gateway/dist/missions/execute.js +14 -8
  296. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  297. package/node_modules/@buddi/gateway/dist/missions/inline.js +1 -1
  298. package/node_modules/@buddi/gateway/dist/missions/inline.js.map +1 -1
  299. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts +11 -0
  300. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  301. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js +37 -1
  302. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js.map +1 -1
  303. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
  304. package/node_modules/@buddi/gateway/dist/missions-cli.js +5 -5
  305. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  306. package/node_modules/@buddi/gateway/dist/nudges-cli.js +2 -2
  307. package/node_modules/@buddi/gateway/dist/nudges-cli.js.map +1 -1
  308. package/node_modules/@buddi/gateway/dist/owner-seed.js +2 -2
  309. package/node_modules/@buddi/gateway/dist/owner-seed.js.map +1 -1
  310. package/node_modules/@buddi/gateway/dist/plugins/approve.js +4 -1
  311. package/node_modules/@buddi/gateway/dist/plugins/approve.js.map +1 -1
  312. package/node_modules/@buddi/gateway/dist/plugins/live.d.ts +8 -1
  313. package/node_modules/@buddi/gateway/dist/plugins/live.d.ts.map +1 -1
  314. package/node_modules/@buddi/gateway/dist/plugins/live.js +25 -7
  315. package/node_modules/@buddi/gateway/dist/plugins/live.js.map +1 -1
  316. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts +55 -0
  317. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
  318. package/node_modules/@buddi/gateway/dist/plugins/load.js +100 -4
  319. package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
  320. package/node_modules/@buddi/gateway/dist/plugins/paths.d.ts +14 -0
  321. package/node_modules/@buddi/gateway/dist/plugins/paths.d.ts.map +1 -1
  322. package/node_modules/@buddi/gateway/dist/plugins/paths.js +27 -1
  323. package/node_modules/@buddi/gateway/dist/plugins/paths.js.map +1 -1
  324. package/node_modules/@buddi/gateway/dist/plugins/requires.d.ts +79 -0
  325. package/node_modules/@buddi/gateway/dist/plugins/requires.d.ts.map +1 -0
  326. package/node_modules/@buddi/gateway/dist/plugins/requires.js +178 -0
  327. package/node_modules/@buddi/gateway/dist/plugins/requires.js.map +1 -0
  328. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +33 -3
  329. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  330. package/node_modules/@buddi/gateway/dist/plugins/stage.js +41 -6
  331. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  332. package/node_modules/@buddi/gateway/dist/plugins/update.d.ts +21 -0
  333. package/node_modules/@buddi/gateway/dist/plugins/update.d.ts.map +1 -1
  334. package/node_modules/@buddi/gateway/dist/plugins/update.js +16 -0
  335. package/node_modules/@buddi/gateway/dist/plugins/update.js.map +1 -1
  336. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +5 -1
  337. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  338. package/node_modules/@buddi/gateway/dist/plugins-cli.js +48 -11
  339. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  340. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +4 -0
  341. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  342. package/node_modules/@buddi/gateway/dist/provider-accounts.js +68 -10
  343. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  344. package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts.map +1 -1
  345. package/node_modules/@buddi/gateway/dist/provider-diagnostics.js +9 -0
  346. package/node_modules/@buddi/gateway/dist/provider-diagnostics.js.map +1 -1
  347. package/node_modules/@buddi/gateway/dist/reminders-cli.js +2 -2
  348. package/node_modules/@buddi/gateway/dist/reminders-cli.js.map +1 -1
  349. package/node_modules/@buddi/gateway/dist/serve.d.ts +2 -0
  350. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  351. package/node_modules/@buddi/gateway/dist/serve.js +78 -8
  352. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  353. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.d.ts +2 -1
  354. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.d.ts.map +1 -1
  355. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js +8 -5
  356. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  357. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.d.ts +27 -4
  358. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.d.ts.map +1 -1
  359. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.js +57 -7
  360. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.js.map +1 -1
  361. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.d.ts +89 -0
  362. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.d.ts.map +1 -0
  363. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.js +172 -0
  364. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.js.map +1 -0
  365. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.d.ts +5 -2
  366. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.d.ts.map +1 -1
  367. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.js +5 -2
  368. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.js.map +1 -1
  369. package/node_modules/@buddi/gateway/dist/surfaces/failure.d.ts.map +1 -1
  370. package/node_modules/@buddi/gateway/dist/surfaces/failure.js +9 -1
  371. package/node_modules/@buddi/gateway/dist/surfaces/failure.js.map +1 -1
  372. package/node_modules/@buddi/gateway/dist/system-context.d.ts +18 -0
  373. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  374. package/node_modules/@buddi/gateway/dist/system-context.js +46 -4
  375. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  376. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +34 -2
  377. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
  378. package/node_modules/@buddi/gateway/dist/telegram/api.js +15 -2
  379. package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
  380. package/node_modules/@buddi/gateway/dist/telegram/env-owner.d.ts +30 -0
  381. package/node_modules/@buddi/gateway/dist/telegram/env-owner.d.ts.map +1 -0
  382. package/node_modules/@buddi/gateway/dist/telegram/env-owner.js +45 -0
  383. package/node_modules/@buddi/gateway/dist/telegram/env-owner.js.map +1 -0
  384. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts +0 -2
  385. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  386. package/node_modules/@buddi/gateway/dist/telegram/main.js +21 -28
  387. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  388. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts.map +1 -1
  389. package/node_modules/@buddi/gateway/dist/telegram/notify.js +1 -1
  390. package/node_modules/@buddi/gateway/dist/telegram/notify.js.map +1 -1
  391. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +3 -3
  392. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
  393. package/node_modules/@buddi/gateway/dist/telegram/outbound.js +19 -5
  394. package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
  395. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts +45 -0
  396. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts.map +1 -0
  397. package/node_modules/@buddi/gateway/dist/telegram/reactions.js +107 -0
  398. package/node_modules/@buddi/gateway/dist/telegram/reactions.js.map +1 -0
  399. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +5 -1
  400. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  401. package/node_modules/@buddi/gateway/dist/telegram/surface.js +93 -12
  402. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  403. package/node_modules/@buddi/gateway/dist/tips/engine.d.ts +2 -0
  404. package/node_modules/@buddi/gateway/dist/tips/engine.d.ts.map +1 -1
  405. package/node_modules/@buddi/gateway/dist/tips/engine.js +8 -5
  406. package/node_modules/@buddi/gateway/dist/tips/engine.js.map +1 -1
  407. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +23 -0
  408. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
  409. package/node_modules/@buddi/gateway/dist/tips/facts.js +19 -0
  410. package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
  411. package/node_modules/@buddi/gateway/dist/tips/route.js +2 -2
  412. package/node_modules/@buddi/gateway/dist/tips/route.js.map +1 -1
  413. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +3 -2
  414. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
  415. package/node_modules/@buddi/gateway/dist/tips/rules.js +26 -0
  416. package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
  417. package/node_modules/@buddi/gateway/dist/web/agents.d.ts +3 -1
  418. package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
  419. package/node_modules/@buddi/gateway/dist/web/agents.js +20 -2
  420. package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
  421. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +103 -0
  422. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -0
  423. package/node_modules/@buddi/gateway/dist/web/api-routes.js +1200 -0
  424. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -0
  425. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +17 -0
  426. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -0
  427. package/node_modules/@buddi/gateway/dist/web/api-scan.js +206 -0
  428. package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -0
  429. package/node_modules/@buddi/gateway/dist/web/api-tokens.d.ts +58 -0
  430. package/node_modules/@buddi/gateway/dist/web/api-tokens.d.ts.map +1 -0
  431. package/node_modules/@buddi/gateway/dist/web/api-tokens.js +136 -0
  432. package/node_modules/@buddi/gateway/dist/web/api-tokens.js.map +1 -0
  433. package/node_modules/@buddi/gateway/dist/web/backups.js +2 -2
  434. package/node_modules/@buddi/gateway/dist/web/backups.js.map +1 -1
  435. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +10 -3
  436. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  437. package/node_modules/@buddi/gateway/dist/web/chat.js +18 -5
  438. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  439. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.d.ts +18 -0
  440. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.d.ts.map +1 -0
  441. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.js +46 -0
  442. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.js.map +1 -0
  443. package/node_modules/@buddi/gateway/dist/web/lock-image.d.ts +37 -0
  444. package/node_modules/@buddi/gateway/dist/web/lock-image.d.ts.map +1 -0
  445. package/node_modules/@buddi/gateway/dist/web/lock-image.js +253 -0
  446. package/node_modules/@buddi/gateway/dist/web/lock-image.js.map +1 -0
  447. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +162 -0
  448. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -0
  449. package/node_modules/@buddi/gateway/dist/web/lock.js +472 -0
  450. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -0
  451. package/node_modules/@buddi/gateway/dist/web/pages.d.ts +1 -0
  452. package/node_modules/@buddi/gateway/dist/web/pages.d.ts.map +1 -1
  453. package/node_modules/@buddi/gateway/dist/web/pages.js +12 -1
  454. package/node_modules/@buddi/gateway/dist/web/pages.js.map +1 -1
  455. package/node_modules/@buddi/gateway/dist/web/places.d.ts +27 -0
  456. package/node_modules/@buddi/gateway/dist/web/places.d.ts.map +1 -0
  457. package/node_modules/@buddi/gateway/dist/web/places.js +90 -0
  458. package/node_modules/@buddi/gateway/dist/web/places.js.map +1 -0
  459. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +34 -1
  460. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
  461. package/node_modules/@buddi/gateway/dist/web/plugins.js +99 -10
  462. package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
  463. package/node_modules/@buddi/gateway/dist/web/proposals.d.ts +21 -0
  464. package/node_modules/@buddi/gateway/dist/web/proposals.d.ts.map +1 -1
  465. package/node_modules/@buddi/gateway/dist/web/proposals.js +50 -1
  466. package/node_modules/@buddi/gateway/dist/web/proposals.js.map +1 -1
  467. package/node_modules/@buddi/gateway/dist/web/read.d.ts +6 -0
  468. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  469. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  470. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts +19 -2
  471. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts.map +1 -1
  472. package/node_modules/@buddi/gateway/dist/web/recovery.js +148 -7
  473. package/node_modules/@buddi/gateway/dist/web/recovery.js.map +1 -1
  474. package/node_modules/@buddi/gateway/dist/web/server.d.ts +9 -0
  475. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  476. package/node_modules/@buddi/gateway/dist/web/server.js +479 -52
  477. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  478. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +124 -9
  479. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  480. package/node_modules/@buddi/gateway/dist/web/sessions.js +306 -24
  481. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  482. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +45 -0
  483. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -0
  484. package/node_modules/@buddi/gateway/dist/web/signed-out.js +201 -0
  485. package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -0
  486. package/node_modules/@buddi/gateway/dist/web/stream.d.ts.map +1 -1
  487. package/node_modules/@buddi/gateway/dist/web/stream.js +14 -0
  488. package/node_modules/@buddi/gateway/dist/web/stream.js.map +1 -1
  489. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts +46 -4
  490. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +1 -1
  491. package/node_modules/@buddi/gateway/dist/web/tailscale.js +88 -16
  492. package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +1 -1
  493. package/node_modules/@buddi/gateway/dist/web/widgets.d.ts +130 -0
  494. package/node_modules/@buddi/gateway/dist/web/widgets.d.ts.map +1 -0
  495. package/node_modules/@buddi/gateway/dist/web/widgets.js +473 -0
  496. package/node_modules/@buddi/gateway/dist/web/widgets.js.map +1 -0
  497. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  498. package/node_modules/@buddi/install/dist/backup.d.ts +18 -0
  499. package/node_modules/@buddi/install/dist/backup.d.ts.map +1 -1
  500. package/node_modules/@buddi/install/dist/backup.js +39 -2
  501. package/node_modules/@buddi/install/dist/backup.js.map +1 -1
  502. package/node_modules/@buddi/install/dist/kept-data.d.ts +20 -0
  503. package/node_modules/@buddi/install/dist/kept-data.d.ts.map +1 -0
  504. package/node_modules/@buddi/install/dist/kept-data.js +34 -0
  505. package/node_modules/@buddi/install/dist/kept-data.js.map +1 -0
  506. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  507. package/node_modules/@buddi/install/dist/launcher.js +17 -3
  508. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  509. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  510. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +9 -0
  511. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  512. package/node_modules/@buddi/runtime/dist/anthropic.js +26 -9
  513. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  514. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +2 -1
  515. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -1
  516. package/node_modules/@buddi/runtime/dist/codex-direct.js +13 -6
  517. package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -1
  518. package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
  519. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  520. package/node_modules/@buddi/runtime/dist/index.js +1 -0
  521. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  522. package/node_modules/@buddi/runtime/dist/loop.d.ts +2 -0
  523. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  524. package/node_modules/@buddi/runtime/dist/loop.js +22 -0
  525. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  526. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  527. package/node_modules/@buddi/runtime/dist/openai.js +19 -7
  528. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  529. package/node_modules/@buddi/runtime/dist/rate-limit.d.ts +91 -0
  530. package/node_modules/@buddi/runtime/dist/rate-limit.d.ts.map +1 -0
  531. package/node_modules/@buddi/runtime/dist/rate-limit.js +291 -0
  532. package/node_modules/@buddi/runtime/dist/rate-limit.js.map +1 -0
  533. package/node_modules/@buddi/runtime/dist/retry.d.ts +40 -0
  534. package/node_modules/@buddi/runtime/dist/retry.d.ts.map +1 -1
  535. package/node_modules/@buddi/runtime/dist/retry.js +42 -8
  536. package/node_modules/@buddi/runtime/dist/retry.js.map +1 -1
  537. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  538. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  539. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  540. package/node_modules/@buddi/tool-email/dist/agent.d.ts.map +1 -1
  541. package/node_modules/@buddi/tool-email/dist/agent.js +11 -0
  542. package/node_modules/@buddi/tool-email/dist/agent.js.map +1 -1
  543. package/node_modules/@buddi/tool-email/dist/folders.d.ts +14 -0
  544. package/node_modules/@buddi/tool-email/dist/folders.d.ts.map +1 -1
  545. package/node_modules/@buddi/tool-email/dist/folders.js +23 -0
  546. package/node_modules/@buddi/tool-email/dist/folders.js.map +1 -1
  547. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts +144 -3
  548. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts.map +1 -1
  549. package/node_modules/@buddi/tool-email/dist/imap/fake.js +393 -4
  550. package/node_modules/@buddi/tool-email/dist/imap/fake.js.map +1 -1
  551. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +14 -1
  552. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
  553. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +222 -2
  554. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
  555. package/node_modules/@buddi/tool-email/dist/index.d.ts +14 -2
  556. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  557. package/node_modules/@buddi/tool-email/dist/index.js +26 -4
  558. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  559. package/node_modules/@buddi/tool-email/dist/logins.d.ts +24 -0
  560. package/node_modules/@buddi/tool-email/dist/logins.d.ts.map +1 -0
  561. package/node_modules/@buddi/tool-email/dist/logins.js +35 -0
  562. package/node_modules/@buddi/tool-email/dist/logins.js.map +1 -0
  563. package/node_modules/@buddi/tool-email/dist/mail.d.ts +20 -0
  564. package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
  565. package/node_modules/@buddi/tool-email/dist/mail.js +26 -0
  566. package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
  567. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts +290 -0
  568. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts.map +1 -0
  569. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js +1105 -0
  570. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js.map +1 -0
  571. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.d.ts +61 -0
  572. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.d.ts.map +1 -0
  573. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.js +153 -0
  574. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.js.map +1 -0
  575. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts +53 -0
  576. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts.map +1 -0
  577. package/node_modules/@buddi/tool-email/dist/mailbox/select.js +124 -0
  578. package/node_modules/@buddi/tool-email/dist/mailbox/select.js.map +1 -0
  579. package/node_modules/@buddi/tool-email/dist/metrics.d.ts +3 -3
  580. package/node_modules/@buddi/tool-email/dist/metrics.js +4 -4
  581. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts +37 -1
  582. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts.map +1 -1
  583. package/node_modules/@buddi/tool-email/dist/pages/accounts.js +104 -2
  584. package/node_modules/@buddi/tool-email/dist/pages/accounts.js.map +1 -1
  585. package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
  586. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +156 -0
  587. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
  588. package/node_modules/@buddi/tool-email/dist/pages/drafts-tools.d.ts +2 -2
  589. package/node_modules/@buddi/tool-email/dist/pages/format.d.ts +1 -12
  590. package/node_modules/@buddi/tool-email/dist/pages/format.d.ts.map +1 -1
  591. package/node_modules/@buddi/tool-email/dist/pages/format.js +17 -0
  592. package/node_modules/@buddi/tool-email/dist/pages/format.js.map +1 -1
  593. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
  594. package/node_modules/@buddi/tool-email/dist/pages/index.js +5 -1
  595. package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
  596. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.d.ts +7 -0
  597. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.d.ts.map +1 -1
  598. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.js +11 -2
  599. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.js.map +1 -1
  600. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +23 -0
  601. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  602. package/node_modules/@buddi/tool-email/dist/pages/queries.js +185 -4
  603. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  604. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts +133 -0
  605. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts.map +1 -0
  606. package/node_modules/@buddi/tool-email/dist/policies/auto.js +296 -0
  607. package/node_modules/@buddi/tool-email/dist/policies/auto.js.map +1 -0
  608. package/node_modules/@buddi/tool-email/dist/policies/gate.d.ts +34 -10
  609. package/node_modules/@buddi/tool-email/dist/policies/gate.d.ts.map +1 -1
  610. package/node_modules/@buddi/tool-email/dist/policies/gate.js +27 -12
  611. package/node_modules/@buddi/tool-email/dist/policies/gate.js.map +1 -1
  612. package/node_modules/@buddi/tool-email/dist/policies/learn.d.ts +26 -18
  613. package/node_modules/@buddi/tool-email/dist/policies/learn.d.ts.map +1 -1
  614. package/node_modules/@buddi/tool-email/dist/policies/learn.js +36 -10
  615. package/node_modules/@buddi/tool-email/dist/policies/learn.js.map +1 -1
  616. package/node_modules/@buddi/tool-email/dist/policies/learned.d.ts +25 -2
  617. package/node_modules/@buddi/tool-email/dist/policies/learned.d.ts.map +1 -1
  618. package/node_modules/@buddi/tool-email/dist/policies/learned.js +47 -5
  619. package/node_modules/@buddi/tool-email/dist/policies/learned.js.map +1 -1
  620. package/node_modules/@buddi/tool-email/dist/policies/store.d.ts +8 -2
  621. package/node_modules/@buddi/tool-email/dist/policies/store.d.ts.map +1 -1
  622. package/node_modules/@buddi/tool-email/dist/policies/store.js +19 -5
  623. package/node_modules/@buddi/tool-email/dist/policies/store.js.map +1 -1
  624. package/node_modules/@buddi/tool-email/dist/ports.d.ts +126 -0
  625. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  626. package/node_modules/@buddi/tool-email/dist/ports.js +6 -0
  627. package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
  628. package/node_modules/@buddi/tool-email/dist/rows.d.ts.map +1 -1
  629. package/node_modules/@buddi/tool-email/dist/rows.js +3 -1
  630. package/node_modules/@buddi/tool-email/dist/rows.js.map +1 -1
  631. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.d.ts +2 -2
  632. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.d.ts.map +1 -1
  633. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.js +8 -3
  634. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.js.map +1 -1
  635. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts +98 -0
  636. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts.map +1 -0
  637. package/node_modules/@buddi/tool-email/dist/sources/idle.js +317 -0
  638. package/node_modules/@buddi/tool-email/dist/sources/idle.js.map +1 -0
  639. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts +79 -1
  640. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
  641. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +420 -145
  642. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
  643. package/node_modules/@buddi/tool-email/dist/sources/presence.d.ts +47 -0
  644. package/node_modules/@buddi/tool-email/dist/sources/presence.d.ts.map +1 -0
  645. package/node_modules/@buddi/tool-email/dist/sources/presence.js +128 -0
  646. package/node_modules/@buddi/tool-email/dist/sources/presence.js.map +1 -0
  647. package/node_modules/@buddi/tool-email/dist/threads.d.ts +2 -0
  648. package/node_modules/@buddi/tool-email/dist/threads.d.ts.map +1 -1
  649. package/node_modules/@buddi/tool-email/dist/threads.js +12 -3
  650. package/node_modules/@buddi/tool-email/dist/threads.js.map +1 -1
  651. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts +108 -0
  652. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts.map +1 -0
  653. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js +359 -0
  654. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js.map +1 -0
  655. package/node_modules/@buddi/tool-email/dist/tools/policies.d.ts +8 -2
  656. package/node_modules/@buddi/tool-email/dist/tools/policies.d.ts.map +1 -1
  657. package/node_modules/@buddi/tool-email/dist/tools/policies.js +43 -3
  658. package/node_modules/@buddi/tool-email/dist/tools/policies.js.map +1 -1
  659. package/node_modules/@buddi/tool-email/dist/tools/read.d.ts +2 -2
  660. package/node_modules/@buddi/tool-email/dist/tools/read.d.ts.map +1 -1
  661. package/node_modules/@buddi/tool-email/dist/tools/read.js +29 -2
  662. package/node_modules/@buddi/tool-email/dist/tools/read.js.map +1 -1
  663. package/node_modules/@buddi/tool-email/dist/tools/threads.d.ts +2 -2
  664. package/node_modules/@buddi/tool-email/dist/tools/triage.d.ts.map +1 -1
  665. package/node_modules/@buddi/tool-email/dist/tools/triage.js +10 -4
  666. package/node_modules/@buddi/tool-email/dist/tools/triage.js.map +1 -1
  667. package/node_modules/@buddi/tool-email/dist/widgets.d.ts +13 -0
  668. package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -0
  669. package/node_modules/@buddi/tool-email/dist/widgets.js +51 -0
  670. package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -0
  671. package/node_modules/@buddi/tool-email/migrations/017_mailbox_actions.sql +60 -0
  672. package/node_modules/@buddi/tool-email/migrations/018_learned_auto.sql +30 -0
  673. package/node_modules/@buddi/tool-email/migrations/019_arrival_pending.sql +26 -0
  674. package/node_modules/@buddi/tool-email/migrations/020_mailbox_presence.sql +44 -0
  675. package/node_modules/@buddi/tool-email/migrations/021_learned_line.sql +9 -0
  676. package/node_modules/@buddi/tool-email/migrations/022_bulk_checked.sql +13 -0
  677. package/node_modules/@buddi/tool-email/package.json +3 -2
  678. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  679. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  680. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  681. package/node_modules/@buddi/tool-memory/dist/admin.d.ts +9 -0
  682. package/node_modules/@buddi/tool-memory/dist/admin.d.ts.map +1 -1
  683. package/node_modules/@buddi/tool-memory/dist/admin.js +11 -0
  684. package/node_modules/@buddi/tool-memory/dist/admin.js.map +1 -1
  685. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  686. package/node_modules/imapflow/CHANGELOG.md +14 -0
  687. package/node_modules/imapflow/dist/cjs/commands/fetch.js +1 -1
  688. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +2 -0
  689. package/node_modules/imapflow/dist/cjs/imap-flow.js +14 -1
  690. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  691. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  692. package/node_modules/imapflow/dist/cjs/tools.d.ts +2 -1
  693. package/node_modules/imapflow/dist/cjs/tools.js +8 -6
  694. package/node_modules/imapflow/dist/cjs/types.d.ts +9 -1
  695. package/node_modules/imapflow/dist/esm/commands/fetch.js +1 -1
  696. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +2 -0
  697. package/node_modules/imapflow/dist/esm/imap-flow.js +14 -1
  698. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  699. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  700. package/node_modules/imapflow/dist/esm/tools.d.ts +2 -1
  701. package/node_modules/imapflow/dist/esm/tools.js +8 -6
  702. package/node_modules/imapflow/dist/esm/types.d.ts +9 -1
  703. package/node_modules/imapflow/package.json +4 -4
  704. package/package.json +2 -2
  705. package/packages/cli/dist/.tsbuildinfo +1 -1
  706. package/packages/cli/dist/args.d.ts +13 -2
  707. package/packages/cli/dist/args.d.ts.map +1 -1
  708. package/packages/cli/dist/args.js +12 -3
  709. package/packages/cli/dist/args.js.map +1 -1
  710. package/packages/cli/dist/commands.d.ts +10 -0
  711. package/packages/cli/dist/commands.d.ts.map +1 -1
  712. package/packages/cli/dist/commands.js +301 -20
  713. package/packages/cli/dist/commands.js.map +1 -1
  714. package/packages/cli/dist/dashboard-cmd.d.ts +3 -0
  715. package/packages/cli/dist/dashboard-cmd.d.ts.map +1 -1
  716. package/packages/cli/dist/dashboard-cmd.js +63 -0
  717. package/packages/cli/dist/dashboard-cmd.js.map +1 -1
  718. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  719. package/packages/cli/dist/doctor-probes.js +12 -10
  720. package/packages/cli/dist/doctor-probes.js.map +1 -1
  721. package/packages/cli/dist/doctor.d.ts +14 -1
  722. package/packages/cli/dist/doctor.d.ts.map +1 -1
  723. package/packages/cli/dist/doctor.js +18 -0
  724. package/packages/cli/dist/doctor.js.map +1 -1
  725. package/packages/cli/dist/main.d.ts.map +1 -1
  726. package/packages/cli/dist/main.js +22 -1
  727. package/packages/cli/dist/main.js.map +1 -1
  728. package/packages/cli/dist/mcp/gateway-client.d.ts +19 -17
  729. package/packages/cli/dist/mcp/gateway-client.d.ts.map +1 -1
  730. package/packages/cli/dist/mcp/gateway-client.js +128 -29
  731. package/packages/cli/dist/mcp/gateway-client.js.map +1 -1
  732. package/packages/cli/dist/mcp/tools.d.ts +6 -0
  733. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  734. package/packages/cli/dist/mcp/tools.js +23 -3
  735. package/packages/cli/dist/mcp/tools.js.map +1 -1
  736. package/packages/cli/dist/telegram-cmd.d.ts.map +1 -1
  737. package/packages/cli/dist/telegram-cmd.js +5 -4
  738. package/packages/cli/dist/telegram-cmd.js.map +1 -1
  739. package/packages/core/dist/.tsbuildinfo +1 -1
  740. package/packages/core/dist/agents/catalog.d.ts +3 -0
  741. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  742. package/packages/core/dist/agents/catalog.js +8 -6
  743. package/packages/core/dist/agents/catalog.js.map +1 -1
  744. package/packages/core/dist/agents/edit.d.ts +3 -0
  745. package/packages/core/dist/agents/edit.d.ts.map +1 -1
  746. package/packages/core/dist/agents/edit.js +3 -1
  747. package/packages/core/dist/agents/edit.js.map +1 -1
  748. package/packages/core/dist/agents/frontmatter.d.ts +22 -12
  749. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  750. package/packages/core/dist/agents/frontmatter.js +7 -0
  751. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  752. package/packages/core/dist/agents/idle-rollover.d.ts +20 -0
  753. package/packages/core/dist/agents/idle-rollover.d.ts.map +1 -0
  754. package/packages/core/dist/agents/idle-rollover.js +30 -0
  755. package/packages/core/dist/agents/idle-rollover.js.map +1 -0
  756. package/packages/core/dist/agents/index.d.ts +1 -0
  757. package/packages/core/dist/agents/index.d.ts.map +1 -1
  758. package/packages/core/dist/agents/index.js +1 -0
  759. package/packages/core/dist/agents/index.js.map +1 -1
  760. package/packages/core/dist/agents/skills.d.ts +2 -2
  761. package/packages/core/dist/backup/dump.d.ts +9 -0
  762. package/packages/core/dist/backup/dump.d.ts.map +1 -1
  763. package/packages/core/dist/backup/dump.js +10 -1
  764. package/packages/core/dist/backup/dump.js.map +1 -1
  765. package/packages/core/dist/backup/pending.d.ts +13 -0
  766. package/packages/core/dist/backup/pending.d.ts.map +1 -1
  767. package/packages/core/dist/backup/pending.js +56 -4
  768. package/packages/core/dist/backup/pending.js.map +1 -1
  769. package/packages/core/dist/backup/restore.d.ts +3 -1
  770. package/packages/core/dist/backup/restore.d.ts.map +1 -1
  771. package/packages/core/dist/backup/restore.js +1 -1
  772. package/packages/core/dist/backup/restore.js.map +1 -1
  773. package/packages/core/dist/clock-widget.d.ts +38 -0
  774. package/packages/core/dist/clock-widget.d.ts.map +1 -0
  775. package/packages/core/dist/clock-widget.js +114 -0
  776. package/packages/core/dist/clock-widget.js.map +1 -0
  777. package/packages/core/dist/failures/owner-message.d.ts +25 -0
  778. package/packages/core/dist/failures/owner-message.d.ts.map +1 -1
  779. package/packages/core/dist/failures/owner-message.js +90 -0
  780. package/packages/core/dist/failures/owner-message.js.map +1 -1
  781. package/packages/core/dist/feedback/index.d.ts +129 -0
  782. package/packages/core/dist/feedback/index.d.ts.map +1 -0
  783. package/packages/core/dist/feedback/index.js +180 -0
  784. package/packages/core/dist/feedback/index.js.map +1 -0
  785. package/packages/core/dist/groups.d.ts +33 -0
  786. package/packages/core/dist/groups.d.ts.map +1 -1
  787. package/packages/core/dist/groups.js +76 -4
  788. package/packages/core/dist/groups.js.map +1 -1
  789. package/packages/core/dist/home.d.ts +5 -5
  790. package/packages/core/dist/host/build.d.ts +19 -1
  791. package/packages/core/dist/host/build.d.ts.map +1 -1
  792. package/packages/core/dist/host/build.js +150 -3
  793. package/packages/core/dist/host/build.js.map +1 -1
  794. package/packages/core/dist/host/types.d.ts +62 -2
  795. package/packages/core/dist/host/types.d.ts.map +1 -1
  796. package/packages/core/dist/index.d.ts +9 -0
  797. package/packages/core/dist/index.d.ts.map +1 -1
  798. package/packages/core/dist/index.js +9 -0
  799. package/packages/core/dist/index.js.map +1 -1
  800. package/packages/core/dist/learning/policies.d.ts +7 -1
  801. package/packages/core/dist/learning/policies.d.ts.map +1 -1
  802. package/packages/core/dist/learning/policies.js +4 -1
  803. package/packages/core/dist/learning/policies.js.map +1 -1
  804. package/packages/core/dist/learning/store.d.ts +29 -1
  805. package/packages/core/dist/learning/store.d.ts.map +1 -1
  806. package/packages/core/dist/learning/store.js +33 -8
  807. package/packages/core/dist/learning/store.js.map +1 -1
  808. package/packages/core/dist/learning/types.d.ts +24 -1
  809. package/packages/core/dist/learning/types.d.ts.map +1 -1
  810. package/packages/core/dist/learning/types.js +6 -0
  811. package/packages/core/dist/learning/types.js.map +1 -1
  812. package/packages/core/dist/lock.d.ts +76 -0
  813. package/packages/core/dist/lock.d.ts.map +1 -0
  814. package/packages/core/dist/lock.js +167 -0
  815. package/packages/core/dist/lock.js.map +1 -0
  816. package/packages/core/dist/metrics.d.ts.map +1 -1
  817. package/packages/core/dist/metrics.js +4 -2
  818. package/packages/core/dist/metrics.js.map +1 -1
  819. package/packages/core/dist/onboarding/store.d.ts +5 -0
  820. package/packages/core/dist/onboarding/store.d.ts.map +1 -1
  821. package/packages/core/dist/onboarding/store.js +35 -5
  822. package/packages/core/dist/onboarding/store.js.map +1 -1
  823. package/packages/core/dist/onboarding/types.d.ts +10 -0
  824. package/packages/core/dist/onboarding/types.d.ts.map +1 -1
  825. package/packages/core/dist/onboarding/types.js +2 -0
  826. package/packages/core/dist/onboarding/types.js.map +1 -1
  827. package/packages/core/dist/owner-format.d.ts +14 -0
  828. package/packages/core/dist/owner-format.d.ts.map +1 -0
  829. package/packages/core/dist/owner-format.js +47 -0
  830. package/packages/core/dist/owner-format.js.map +1 -0
  831. package/packages/core/dist/owner-timezone.d.ts +46 -0
  832. package/packages/core/dist/owner-timezone.d.ts.map +1 -0
  833. package/packages/core/dist/owner-timezone.js +43 -0
  834. package/packages/core/dist/owner-timezone.js.map +1 -0
  835. package/packages/core/dist/owner.d.ts +2 -1
  836. package/packages/core/dist/owner.d.ts.map +1 -1
  837. package/packages/core/dist/owner.js.map +1 -1
  838. package/packages/core/dist/pages.d.ts +37 -38
  839. package/packages/core/dist/pages.d.ts.map +1 -1
  840. package/packages/core/dist/pages.js +30 -3
  841. package/packages/core/dist/pages.js.map +1 -1
  842. package/packages/core/dist/places.d.ts +110 -0
  843. package/packages/core/dist/places.d.ts.map +1 -0
  844. package/packages/core/dist/places.js +239 -0
  845. package/packages/core/dist/places.js.map +1 -0
  846. package/packages/core/dist/plugin/index.d.ts +13 -5
  847. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  848. package/packages/core/dist/plugin/index.js +3 -0
  849. package/packages/core/dist/plugin/index.js.map +1 -1
  850. package/packages/core/dist/plugin/requires.d.ts +75 -0
  851. package/packages/core/dist/plugin/requires.d.ts.map +1 -0
  852. package/packages/core/dist/plugin/requires.js +77 -0
  853. package/packages/core/dist/plugin/requires.js.map +1 -0
  854. package/packages/core/dist/plugin/uses.d.ts +1 -1
  855. package/packages/core/dist/plugin/uses.d.ts.map +1 -1
  856. package/packages/core/dist/plugin/uses.js +2 -0
  857. package/packages/core/dist/plugin/uses.js.map +1 -1
  858. package/packages/core/dist/plugin/version.d.ts +1 -1
  859. package/packages/core/dist/plugin/version.js +1 -1
  860. package/packages/core/dist/queue/retry-policy.d.ts +5 -0
  861. package/packages/core/dist/queue/retry-policy.d.ts.map +1 -1
  862. package/packages/core/dist/queue/retry-policy.js +19 -2
  863. package/packages/core/dist/queue/retry-policy.js.map +1 -1
  864. package/packages/core/dist/registry.d.ts +47 -3
  865. package/packages/core/dist/registry.d.ts.map +1 -1
  866. package/packages/core/dist/registry.js +150 -3
  867. package/packages/core/dist/registry.js.map +1 -1
  868. package/packages/core/dist/scheduler/enqueue.d.ts +71 -0
  869. package/packages/core/dist/scheduler/enqueue.d.ts.map +1 -0
  870. package/packages/core/dist/scheduler/enqueue.js +116 -0
  871. package/packages/core/dist/scheduler/enqueue.js.map +1 -0
  872. package/packages/core/dist/scheduler/index.d.ts +1 -0
  873. package/packages/core/dist/scheduler/index.d.ts.map +1 -1
  874. package/packages/core/dist/scheduler/index.js +1 -0
  875. package/packages/core/dist/scheduler/index.js.map +1 -1
  876. package/packages/core/dist/scheduler/missions.d.ts +15 -0
  877. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  878. package/packages/core/dist/scheduler/missions.js +43 -4
  879. package/packages/core/dist/scheduler/missions.js.map +1 -1
  880. package/packages/core/dist/scheduler/types.d.ts +10 -0
  881. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  882. package/packages/core/dist/scheduler/types.js +3 -0
  883. package/packages/core/dist/scheduler/types.js.map +1 -1
  884. package/packages/core/dist/secrets/settings.d.ts +6 -6
  885. package/packages/core/dist/semver.d.ts +17 -0
  886. package/packages/core/dist/semver.d.ts.map +1 -1
  887. package/packages/core/dist/semver.js +130 -0
  888. package/packages/core/dist/semver.js.map +1 -1
  889. package/packages/core/dist/sentinels/run.d.ts +6 -1
  890. package/packages/core/dist/sentinels/run.d.ts.map +1 -1
  891. package/packages/core/dist/sentinels/run.js +43 -24
  892. package/packages/core/dist/sentinels/run.js.map +1 -1
  893. package/packages/core/dist/sentinels/types.d.ts +13 -0
  894. package/packages/core/dist/sentinels/types.d.ts.map +1 -1
  895. package/packages/core/dist/sentinels/types.js.map +1 -1
  896. package/packages/core/dist/sources/index.d.ts +1 -0
  897. package/packages/core/dist/sources/index.d.ts.map +1 -1
  898. package/packages/core/dist/sources/index.js +1 -0
  899. package/packages/core/dist/sources/index.js.map +1 -1
  900. package/packages/core/dist/sources/run.d.ts +8 -0
  901. package/packages/core/dist/sources/run.d.ts.map +1 -1
  902. package/packages/core/dist/sources/run.js +1 -1
  903. package/packages/core/dist/sources/run.js.map +1 -1
  904. package/packages/core/dist/sources/watch.d.ts +40 -0
  905. package/packages/core/dist/sources/watch.d.ts.map +1 -0
  906. package/packages/core/dist/sources/watch.js +81 -0
  907. package/packages/core/dist/sources/watch.js.map +1 -0
  908. package/packages/core/dist/time.d.ts +17 -3
  909. package/packages/core/dist/time.d.ts.map +1 -1
  910. package/packages/core/dist/time.js +27 -3
  911. package/packages/core/dist/time.js.map +1 -1
  912. package/packages/core/dist/tools.d.ts +77 -1
  913. package/packages/core/dist/tools.d.ts.map +1 -1
  914. package/packages/core/dist/tools.js.map +1 -1
  915. package/packages/core/dist/views.d.ts +68 -68
  916. package/packages/core/dist/views.d.ts.map +1 -1
  917. package/packages/core/dist/views.js +3 -0
  918. package/packages/core/dist/views.js.map +1 -1
  919. package/packages/core/dist/widget-settings.d.ts +161 -0
  920. package/packages/core/dist/widget-settings.d.ts.map +1 -0
  921. package/packages/core/dist/widget-settings.js +314 -0
  922. package/packages/core/dist/widget-settings.js.map +1 -0
  923. package/packages/core/dist/widgets.d.ts +206 -0
  924. package/packages/core/dist/widgets.d.ts.map +1 -0
  925. package/packages/core/dist/widgets.js +247 -0
  926. package/packages/core/dist/widgets.js.map +1 -0
  927. package/packages/core/migrations/056_dashboard_sessions.sql +37 -0
  928. package/packages/core/migrations/057_proposal_decided_by.sql +34 -0
  929. package/packages/core/migrations/058_message_feedback.sql +50 -0
  930. package/packages/core/migrations/059_dashboard_lock.sql +33 -0
  931. package/packages/core/migrations/060_owner_places.sql +30 -0
  932. package/packages/core/migrations/061_owner_formats.sql +10 -0
  933. package/packages/core/migrations/062_group_deleted.sql +7 -0
  934. package/packages/core/migrations/063_provider_account_limits.sql +20 -0
  935. package/packages/core/migrations/064_mission_coalesce.sql +12 -0
  936. package/packages/core/migrations/065_api_tokens.sql +28 -0
  937. package/packages/gateway/dist/.tsbuildinfo +1 -1
  938. package/packages/gateway/dist/account-limits.d.ts +45 -0
  939. package/packages/gateway/dist/account-limits.d.ts.map +1 -0
  940. package/packages/gateway/dist/account-limits.js +87 -0
  941. package/packages/gateway/dist/account-limits.js.map +1 -0
  942. package/packages/gateway/dist/accounts-cli.d.ts +88 -0
  943. package/packages/gateway/dist/accounts-cli.d.ts.map +1 -0
  944. package/packages/gateway/dist/accounts-cli.js +216 -0
  945. package/packages/gateway/dist/accounts-cli.js.map +1 -0
  946. package/packages/gateway/dist/agents/canvas.d.ts +20 -20
  947. package/packages/gateway/dist/agents/learning-digest.d.ts +11 -1
  948. package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  949. package/packages/gateway/dist/agents/learning-digest.js +43 -4
  950. package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
  951. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  952. package/packages/gateway/dist/agents/owner-tools.js +3 -2
  953. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  954. package/packages/gateway/dist/agents/platform-files.d.ts +2 -0
  955. package/packages/gateway/dist/agents/platform-files.d.ts.map +1 -1
  956. package/packages/gateway/dist/agents/platform-files.js +2 -0
  957. package/packages/gateway/dist/agents/platform-files.js.map +1 -1
  958. package/packages/gateway/dist/agents/platform.d.ts +40 -20
  959. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  960. package/packages/gateway/dist/agents/platform.js +46 -3
  961. package/packages/gateway/dist/agents/platform.js.map +1 -1
  962. package/packages/gateway/dist/agents-cli.d.ts +1 -1
  963. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  964. package/packages/gateway/dist/agents-cli.js +12 -2
  965. package/packages/gateway/dist/agents-cli.js.map +1 -1
  966. package/packages/gateway/dist/api-token-cli.d.ts +17 -0
  967. package/packages/gateway/dist/api-token-cli.d.ts.map +1 -0
  968. package/packages/gateway/dist/api-token-cli.js +108 -0
  969. package/packages/gateway/dist/api-token-cli.js.map +1 -0
  970. package/packages/gateway/dist/bootstrap.d.ts +6 -2
  971. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  972. package/packages/gateway/dist/bootstrap.js +25 -7
  973. package/packages/gateway/dist/bootstrap.js.map +1 -1
  974. package/packages/gateway/dist/chat/session.d.ts +5 -0
  975. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  976. package/packages/gateway/dist/chat/session.js +13 -2
  977. package/packages/gateway/dist/chat/session.js.map +1 -1
  978. package/packages/gateway/dist/cli.d.ts.map +1 -1
  979. package/packages/gateway/dist/cli.js +14 -3
  980. package/packages/gateway/dist/cli.js.map +1 -1
  981. package/packages/gateway/dist/index.d.ts +3 -0
  982. package/packages/gateway/dist/index.d.ts.map +1 -1
  983. package/packages/gateway/dist/index.js +3 -0
  984. package/packages/gateway/dist/index.js.map +1 -1
  985. package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
  986. package/packages/gateway/dist/mcp/requests.js +1 -0
  987. package/packages/gateway/dist/mcp/requests.js.map +1 -1
  988. package/packages/gateway/dist/missions/dead-letter.d.ts +2 -1
  989. package/packages/gateway/dist/missions/dead-letter.d.ts.map +1 -1
  990. package/packages/gateway/dist/missions/dead-letter.js +19 -5
  991. package/packages/gateway/dist/missions/dead-letter.js.map +1 -1
  992. package/packages/gateway/dist/missions/defaults.d.ts +6 -0
  993. package/packages/gateway/dist/missions/defaults.d.ts.map +1 -1
  994. package/packages/gateway/dist/missions/defaults.js +10 -2
  995. package/packages/gateway/dist/missions/defaults.js.map +1 -1
  996. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  997. package/packages/gateway/dist/missions/execute.js +14 -8
  998. package/packages/gateway/dist/missions/execute.js.map +1 -1
  999. package/packages/gateway/dist/missions/inline.js +1 -1
  1000. package/packages/gateway/dist/missions/inline.js.map +1 -1
  1001. package/packages/gateway/dist/missions/sentinel-wake.d.ts +11 -0
  1002. package/packages/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  1003. package/packages/gateway/dist/missions/sentinel-wake.js +37 -1
  1004. package/packages/gateway/dist/missions/sentinel-wake.js.map +1 -1
  1005. package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
  1006. package/packages/gateway/dist/missions-cli.js +5 -5
  1007. package/packages/gateway/dist/missions-cli.js.map +1 -1
  1008. package/packages/gateway/dist/nudges-cli.js +2 -2
  1009. package/packages/gateway/dist/nudges-cli.js.map +1 -1
  1010. package/packages/gateway/dist/owner-seed.js +2 -2
  1011. package/packages/gateway/dist/owner-seed.js.map +1 -1
  1012. package/packages/gateway/dist/plugins/approve.js +4 -1
  1013. package/packages/gateway/dist/plugins/approve.js.map +1 -1
  1014. package/packages/gateway/dist/plugins/live.d.ts +8 -1
  1015. package/packages/gateway/dist/plugins/live.d.ts.map +1 -1
  1016. package/packages/gateway/dist/plugins/live.js +25 -7
  1017. package/packages/gateway/dist/plugins/live.js.map +1 -1
  1018. package/packages/gateway/dist/plugins/load.d.ts +55 -0
  1019. package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
  1020. package/packages/gateway/dist/plugins/load.js +100 -4
  1021. package/packages/gateway/dist/plugins/load.js.map +1 -1
  1022. package/packages/gateway/dist/plugins/paths.d.ts +14 -0
  1023. package/packages/gateway/dist/plugins/paths.d.ts.map +1 -1
  1024. package/packages/gateway/dist/plugins/paths.js +27 -1
  1025. package/packages/gateway/dist/plugins/paths.js.map +1 -1
  1026. package/packages/gateway/dist/plugins/requires.d.ts +79 -0
  1027. package/packages/gateway/dist/plugins/requires.d.ts.map +1 -0
  1028. package/packages/gateway/dist/plugins/requires.js +178 -0
  1029. package/packages/gateway/dist/plugins/requires.js.map +1 -0
  1030. package/packages/gateway/dist/plugins/stage.d.ts +33 -3
  1031. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  1032. package/packages/gateway/dist/plugins/stage.js +41 -6
  1033. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  1034. package/packages/gateway/dist/plugins/update.d.ts +21 -0
  1035. package/packages/gateway/dist/plugins/update.d.ts.map +1 -1
  1036. package/packages/gateway/dist/plugins/update.js +16 -0
  1037. package/packages/gateway/dist/plugins/update.js.map +1 -1
  1038. package/packages/gateway/dist/plugins-cli.d.ts +5 -1
  1039. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  1040. package/packages/gateway/dist/plugins-cli.js +48 -11
  1041. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  1042. package/packages/gateway/dist/provider-accounts.d.ts +4 -0
  1043. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  1044. package/packages/gateway/dist/provider-accounts.js +68 -10
  1045. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  1046. package/packages/gateway/dist/provider-diagnostics.d.ts.map +1 -1
  1047. package/packages/gateway/dist/provider-diagnostics.js +9 -0
  1048. package/packages/gateway/dist/provider-diagnostics.js.map +1 -1
  1049. package/packages/gateway/dist/reminders-cli.js +2 -2
  1050. package/packages/gateway/dist/reminders-cli.js.map +1 -1
  1051. package/packages/gateway/dist/serve.d.ts +2 -0
  1052. package/packages/gateway/dist/serve.d.ts.map +1 -1
  1053. package/packages/gateway/dist/serve.js +78 -8
  1054. package/packages/gateway/dist/serve.js.map +1 -1
  1055. package/packages/gateway/dist/surfaces/browser-continuation.d.ts +2 -1
  1056. package/packages/gateway/dist/surfaces/browser-continuation.d.ts.map +1 -1
  1057. package/packages/gateway/dist/surfaces/browser-continuation.js +8 -5
  1058. package/packages/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  1059. package/packages/gateway/dist/surfaces/browser-handoff.d.ts +27 -4
  1060. package/packages/gateway/dist/surfaces/browser-handoff.d.ts.map +1 -1
  1061. package/packages/gateway/dist/surfaces/browser-handoff.js +57 -7
  1062. package/packages/gateway/dist/surfaces/browser-handoff.js.map +1 -1
  1063. package/packages/gateway/dist/surfaces/carry-over.d.ts +89 -0
  1064. package/packages/gateway/dist/surfaces/carry-over.d.ts.map +1 -0
  1065. package/packages/gateway/dist/surfaces/carry-over.js +172 -0
  1066. package/packages/gateway/dist/surfaces/carry-over.js.map +1 -0
  1067. package/packages/gateway/dist/surfaces/conversation-lifetime.d.ts +5 -2
  1068. package/packages/gateway/dist/surfaces/conversation-lifetime.d.ts.map +1 -1
  1069. package/packages/gateway/dist/surfaces/conversation-lifetime.js +5 -2
  1070. package/packages/gateway/dist/surfaces/conversation-lifetime.js.map +1 -1
  1071. package/packages/gateway/dist/surfaces/failure.d.ts.map +1 -1
  1072. package/packages/gateway/dist/surfaces/failure.js +9 -1
  1073. package/packages/gateway/dist/surfaces/failure.js.map +1 -1
  1074. package/packages/gateway/dist/system-context.d.ts +18 -0
  1075. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  1076. package/packages/gateway/dist/system-context.js +46 -4
  1077. package/packages/gateway/dist/system-context.js.map +1 -1
  1078. package/packages/gateway/dist/telegram/api.d.ts +34 -2
  1079. package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
  1080. package/packages/gateway/dist/telegram/api.js +15 -2
  1081. package/packages/gateway/dist/telegram/api.js.map +1 -1
  1082. package/packages/gateway/dist/telegram/env-owner.d.ts +30 -0
  1083. package/packages/gateway/dist/telegram/env-owner.d.ts.map +1 -0
  1084. package/packages/gateway/dist/telegram/env-owner.js +45 -0
  1085. package/packages/gateway/dist/telegram/env-owner.js.map +1 -0
  1086. package/packages/gateway/dist/telegram/main.d.ts +0 -2
  1087. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  1088. package/packages/gateway/dist/telegram/main.js +21 -28
  1089. package/packages/gateway/dist/telegram/main.js.map +1 -1
  1090. package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
  1091. package/packages/gateway/dist/telegram/notify.js +1 -1
  1092. package/packages/gateway/dist/telegram/notify.js.map +1 -1
  1093. package/packages/gateway/dist/telegram/outbound.d.ts +3 -3
  1094. package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
  1095. package/packages/gateway/dist/telegram/outbound.js +19 -5
  1096. package/packages/gateway/dist/telegram/outbound.js.map +1 -1
  1097. package/packages/gateway/dist/telegram/reactions.d.ts +45 -0
  1098. package/packages/gateway/dist/telegram/reactions.d.ts.map +1 -0
  1099. package/packages/gateway/dist/telegram/reactions.js +107 -0
  1100. package/packages/gateway/dist/telegram/reactions.js.map +1 -0
  1101. package/packages/gateway/dist/telegram/surface.d.ts +5 -1
  1102. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  1103. package/packages/gateway/dist/telegram/surface.js +93 -12
  1104. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  1105. package/packages/gateway/dist/tips/engine.d.ts +2 -0
  1106. package/packages/gateway/dist/tips/engine.d.ts.map +1 -1
  1107. package/packages/gateway/dist/tips/engine.js +8 -5
  1108. package/packages/gateway/dist/tips/engine.js.map +1 -1
  1109. package/packages/gateway/dist/tips/facts.d.ts +23 -0
  1110. package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
  1111. package/packages/gateway/dist/tips/facts.js +19 -0
  1112. package/packages/gateway/dist/tips/facts.js.map +1 -1
  1113. package/packages/gateway/dist/tips/route.js +2 -2
  1114. package/packages/gateway/dist/tips/route.js.map +1 -1
  1115. package/packages/gateway/dist/tips/rules.d.ts +3 -2
  1116. package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
  1117. package/packages/gateway/dist/tips/rules.js +26 -0
  1118. package/packages/gateway/dist/tips/rules.js.map +1 -1
  1119. package/packages/gateway/dist/web/agents.d.ts +3 -1
  1120. package/packages/gateway/dist/web/agents.d.ts.map +1 -1
  1121. package/packages/gateway/dist/web/agents.js +20 -2
  1122. package/packages/gateway/dist/web/agents.js.map +1 -1
  1123. package/packages/gateway/dist/web/api-routes.d.ts +103 -0
  1124. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -0
  1125. package/packages/gateway/dist/web/api-routes.js +1200 -0
  1126. package/packages/gateway/dist/web/api-routes.js.map +1 -0
  1127. package/packages/gateway/dist/web/api-scan.d.ts +17 -0
  1128. package/packages/gateway/dist/web/api-scan.d.ts.map +1 -0
  1129. package/packages/gateway/dist/web/api-scan.js +206 -0
  1130. package/packages/gateway/dist/web/api-scan.js.map +1 -0
  1131. package/packages/gateway/dist/web/api-tokens.d.ts +58 -0
  1132. package/packages/gateway/dist/web/api-tokens.d.ts.map +1 -0
  1133. package/packages/gateway/dist/web/api-tokens.js +136 -0
  1134. package/packages/gateway/dist/web/api-tokens.js.map +1 -0
  1135. package/packages/gateway/dist/web/backups.js +2 -2
  1136. package/packages/gateway/dist/web/backups.js.map +1 -1
  1137. package/packages/gateway/dist/web/chat.d.ts +10 -3
  1138. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  1139. package/packages/gateway/dist/web/chat.js +18 -5
  1140. package/packages/gateway/dist/web/chat.js.map +1 -1
  1141. package/packages/gateway/dist/web/group-lifecycle.d.ts +18 -0
  1142. package/packages/gateway/dist/web/group-lifecycle.d.ts.map +1 -0
  1143. package/packages/gateway/dist/web/group-lifecycle.js +46 -0
  1144. package/packages/gateway/dist/web/group-lifecycle.js.map +1 -0
  1145. package/packages/gateway/dist/web/lock-image.d.ts +37 -0
  1146. package/packages/gateway/dist/web/lock-image.d.ts.map +1 -0
  1147. package/packages/gateway/dist/web/lock-image.js +253 -0
  1148. package/packages/gateway/dist/web/lock-image.js.map +1 -0
  1149. package/packages/gateway/dist/web/lock.d.ts +162 -0
  1150. package/packages/gateway/dist/web/lock.d.ts.map +1 -0
  1151. package/packages/gateway/dist/web/lock.js +472 -0
  1152. package/packages/gateway/dist/web/lock.js.map +1 -0
  1153. package/packages/gateway/dist/web/pages.d.ts +1 -0
  1154. package/packages/gateway/dist/web/pages.d.ts.map +1 -1
  1155. package/packages/gateway/dist/web/pages.js +12 -1
  1156. package/packages/gateway/dist/web/pages.js.map +1 -1
  1157. package/packages/gateway/dist/web/places.d.ts +27 -0
  1158. package/packages/gateway/dist/web/places.d.ts.map +1 -0
  1159. package/packages/gateway/dist/web/places.js +90 -0
  1160. package/packages/gateway/dist/web/places.js.map +1 -0
  1161. package/packages/gateway/dist/web/plugins.d.ts +34 -1
  1162. package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
  1163. package/packages/gateway/dist/web/plugins.js +99 -10
  1164. package/packages/gateway/dist/web/plugins.js.map +1 -1
  1165. package/packages/gateway/dist/web/proposals.d.ts +21 -0
  1166. package/packages/gateway/dist/web/proposals.d.ts.map +1 -1
  1167. package/packages/gateway/dist/web/proposals.js +50 -1
  1168. package/packages/gateway/dist/web/proposals.js.map +1 -1
  1169. package/packages/gateway/dist/web/read.d.ts +6 -0
  1170. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  1171. package/packages/gateway/dist/web/read.js.map +1 -1
  1172. package/packages/gateway/dist/web/recovery.d.ts +19 -2
  1173. package/packages/gateway/dist/web/recovery.d.ts.map +1 -1
  1174. package/packages/gateway/dist/web/recovery.js +148 -7
  1175. package/packages/gateway/dist/web/recovery.js.map +1 -1
  1176. package/packages/gateway/dist/web/server.d.ts +9 -0
  1177. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  1178. package/packages/gateway/dist/web/server.js +479 -52
  1179. package/packages/gateway/dist/web/server.js.map +1 -1
  1180. package/packages/gateway/dist/web/sessions.d.ts +124 -9
  1181. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  1182. package/packages/gateway/dist/web/sessions.js +306 -24
  1183. package/packages/gateway/dist/web/sessions.js.map +1 -1
  1184. package/packages/gateway/dist/web/signed-out.d.ts +45 -0
  1185. package/packages/gateway/dist/web/signed-out.d.ts.map +1 -0
  1186. package/packages/gateway/dist/web/signed-out.js +201 -0
  1187. package/packages/gateway/dist/web/signed-out.js.map +1 -0
  1188. package/packages/gateway/dist/web/stream.d.ts.map +1 -1
  1189. package/packages/gateway/dist/web/stream.js +14 -0
  1190. package/packages/gateway/dist/web/stream.js.map +1 -1
  1191. package/packages/gateway/dist/web/tailscale.d.ts +46 -4
  1192. package/packages/gateway/dist/web/tailscale.d.ts.map +1 -1
  1193. package/packages/gateway/dist/web/tailscale.js +88 -16
  1194. package/packages/gateway/dist/web/tailscale.js.map +1 -1
  1195. package/packages/gateway/dist/web/widgets.d.ts +130 -0
  1196. package/packages/gateway/dist/web/widgets.d.ts.map +1 -0
  1197. package/packages/gateway/dist/web/widgets.js +473 -0
  1198. package/packages/gateway/dist/web/widgets.js.map +1 -0
  1199. package/packages/install/dist/.tsbuildinfo +1 -1
  1200. package/packages/install/dist/backup.d.ts +18 -0
  1201. package/packages/install/dist/backup.d.ts.map +1 -1
  1202. package/packages/install/dist/backup.js +39 -2
  1203. package/packages/install/dist/backup.js.map +1 -1
  1204. package/packages/install/dist/kept-data.d.ts +20 -0
  1205. package/packages/install/dist/kept-data.d.ts.map +1 -0
  1206. package/packages/install/dist/kept-data.js +34 -0
  1207. package/packages/install/dist/kept-data.js.map +1 -0
  1208. package/packages/install/dist/launcher.d.ts.map +1 -1
  1209. package/packages/install/dist/launcher.js +17 -3
  1210. package/packages/install/dist/launcher.js.map +1 -1
  1211. package/packages/runtime/dist/.tsbuildinfo +1 -1
  1212. package/packages/runtime/dist/anthropic.d.ts +9 -0
  1213. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  1214. package/packages/runtime/dist/anthropic.js +26 -9
  1215. package/packages/runtime/dist/anthropic.js.map +1 -1
  1216. package/packages/runtime/dist/codex-direct.d.ts +2 -1
  1217. package/packages/runtime/dist/codex-direct.d.ts.map +1 -1
  1218. package/packages/runtime/dist/codex-direct.js +13 -6
  1219. package/packages/runtime/dist/codex-direct.js.map +1 -1
  1220. package/packages/runtime/dist/index.d.ts +1 -0
  1221. package/packages/runtime/dist/index.d.ts.map +1 -1
  1222. package/packages/runtime/dist/index.js +1 -0
  1223. package/packages/runtime/dist/index.js.map +1 -1
  1224. package/packages/runtime/dist/loop.d.ts +2 -0
  1225. package/packages/runtime/dist/loop.d.ts.map +1 -1
  1226. package/packages/runtime/dist/loop.js +22 -0
  1227. package/packages/runtime/dist/loop.js.map +1 -1
  1228. package/packages/runtime/dist/openai.d.ts.map +1 -1
  1229. package/packages/runtime/dist/openai.js +19 -7
  1230. package/packages/runtime/dist/openai.js.map +1 -1
  1231. package/packages/runtime/dist/rate-limit.d.ts +91 -0
  1232. package/packages/runtime/dist/rate-limit.d.ts.map +1 -0
  1233. package/packages/runtime/dist/rate-limit.js +291 -0
  1234. package/packages/runtime/dist/rate-limit.js.map +1 -0
  1235. package/packages/runtime/dist/retry.d.ts +40 -0
  1236. package/packages/runtime/dist/retry.d.ts.map +1 -1
  1237. package/packages/runtime/dist/retry.js +42 -8
  1238. package/packages/runtime/dist/retry.js.map +1 -1
  1239. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  1240. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  1241. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  1242. package/packages/tools/email/dist/agent.d.ts.map +1 -1
  1243. package/packages/tools/email/dist/agent.js +11 -0
  1244. package/packages/tools/email/dist/agent.js.map +1 -1
  1245. package/packages/tools/email/dist/folders.d.ts +14 -0
  1246. package/packages/tools/email/dist/folders.d.ts.map +1 -1
  1247. package/packages/tools/email/dist/folders.js +23 -0
  1248. package/packages/tools/email/dist/folders.js.map +1 -1
  1249. package/packages/tools/email/dist/imap/fake.d.ts +144 -3
  1250. package/packages/tools/email/dist/imap/fake.d.ts.map +1 -1
  1251. package/packages/tools/email/dist/imap/fake.js +393 -4
  1252. package/packages/tools/email/dist/imap/fake.js.map +1 -1
  1253. package/packages/tools/email/dist/imap/imapflow-client.d.ts +14 -1
  1254. package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
  1255. package/packages/tools/email/dist/imap/imapflow-client.js +222 -2
  1256. package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
  1257. package/packages/tools/email/dist/index.d.ts +14 -2
  1258. package/packages/tools/email/dist/index.d.ts.map +1 -1
  1259. package/packages/tools/email/dist/index.js +26 -4
  1260. package/packages/tools/email/dist/index.js.map +1 -1
  1261. package/packages/tools/email/dist/logins.d.ts +24 -0
  1262. package/packages/tools/email/dist/logins.d.ts.map +1 -0
  1263. package/packages/tools/email/dist/logins.js +35 -0
  1264. package/packages/tools/email/dist/logins.js.map +1 -0
  1265. package/packages/tools/email/dist/mail.d.ts +20 -0
  1266. package/packages/tools/email/dist/mail.d.ts.map +1 -1
  1267. package/packages/tools/email/dist/mail.js +26 -0
  1268. package/packages/tools/email/dist/mail.js.map +1 -1
  1269. package/packages/tools/email/dist/mailbox/actions.d.ts +290 -0
  1270. package/packages/tools/email/dist/mailbox/actions.d.ts.map +1 -0
  1271. package/packages/tools/email/dist/mailbox/actions.js +1105 -0
  1272. package/packages/tools/email/dist/mailbox/actions.js.map +1 -0
  1273. package/packages/tools/email/dist/mailbox/arrival.d.ts +61 -0
  1274. package/packages/tools/email/dist/mailbox/arrival.d.ts.map +1 -0
  1275. package/packages/tools/email/dist/mailbox/arrival.js +153 -0
  1276. package/packages/tools/email/dist/mailbox/arrival.js.map +1 -0
  1277. package/packages/tools/email/dist/mailbox/select.d.ts +53 -0
  1278. package/packages/tools/email/dist/mailbox/select.d.ts.map +1 -0
  1279. package/packages/tools/email/dist/mailbox/select.js +124 -0
  1280. package/packages/tools/email/dist/mailbox/select.js.map +1 -0
  1281. package/packages/tools/email/dist/metrics.d.ts +3 -3
  1282. package/packages/tools/email/dist/metrics.js +4 -4
  1283. package/packages/tools/email/dist/pages/accounts.d.ts +37 -1
  1284. package/packages/tools/email/dist/pages/accounts.d.ts.map +1 -1
  1285. package/packages/tools/email/dist/pages/accounts.js +104 -2
  1286. package/packages/tools/email/dist/pages/accounts.js.map +1 -1
  1287. package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
  1288. package/packages/tools/email/dist/pages/descriptors.js +156 -0
  1289. package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
  1290. package/packages/tools/email/dist/pages/drafts-tools.d.ts +2 -2
  1291. package/packages/tools/email/dist/pages/format.d.ts +1 -12
  1292. package/packages/tools/email/dist/pages/format.d.ts.map +1 -1
  1293. package/packages/tools/email/dist/pages/format.js +17 -0
  1294. package/packages/tools/email/dist/pages/format.js.map +1 -1
  1295. package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
  1296. package/packages/tools/email/dist/pages/index.js +5 -1
  1297. package/packages/tools/email/dist/pages/index.js.map +1 -1
  1298. package/packages/tools/email/dist/pages/policies-tools.d.ts +7 -0
  1299. package/packages/tools/email/dist/pages/policies-tools.d.ts.map +1 -1
  1300. package/packages/tools/email/dist/pages/policies-tools.js +11 -2
  1301. package/packages/tools/email/dist/pages/policies-tools.js.map +1 -1
  1302. package/packages/tools/email/dist/pages/queries.d.ts +23 -0
  1303. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  1304. package/packages/tools/email/dist/pages/queries.js +185 -4
  1305. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  1306. package/packages/tools/email/dist/policies/auto.d.ts +133 -0
  1307. package/packages/tools/email/dist/policies/auto.d.ts.map +1 -0
  1308. package/packages/tools/email/dist/policies/auto.js +296 -0
  1309. package/packages/tools/email/dist/policies/auto.js.map +1 -0
  1310. package/packages/tools/email/dist/policies/gate.d.ts +34 -10
  1311. package/packages/tools/email/dist/policies/gate.d.ts.map +1 -1
  1312. package/packages/tools/email/dist/policies/gate.js +27 -12
  1313. package/packages/tools/email/dist/policies/gate.js.map +1 -1
  1314. package/packages/tools/email/dist/policies/learn.d.ts +26 -18
  1315. package/packages/tools/email/dist/policies/learn.d.ts.map +1 -1
  1316. package/packages/tools/email/dist/policies/learn.js +36 -10
  1317. package/packages/tools/email/dist/policies/learn.js.map +1 -1
  1318. package/packages/tools/email/dist/policies/learned.d.ts +25 -2
  1319. package/packages/tools/email/dist/policies/learned.d.ts.map +1 -1
  1320. package/packages/tools/email/dist/policies/learned.js +47 -5
  1321. package/packages/tools/email/dist/policies/learned.js.map +1 -1
  1322. package/packages/tools/email/dist/policies/store.d.ts +8 -2
  1323. package/packages/tools/email/dist/policies/store.d.ts.map +1 -1
  1324. package/packages/tools/email/dist/policies/store.js +19 -5
  1325. package/packages/tools/email/dist/policies/store.js.map +1 -1
  1326. package/packages/tools/email/dist/ports.d.ts +126 -0
  1327. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  1328. package/packages/tools/email/dist/ports.js +6 -0
  1329. package/packages/tools/email/dist/ports.js.map +1 -1
  1330. package/packages/tools/email/dist/rows.d.ts.map +1 -1
  1331. package/packages/tools/email/dist/rows.js +3 -1
  1332. package/packages/tools/email/dist/rows.js.map +1 -1
  1333. package/packages/tools/email/dist/sentinels/waiting-on-me.d.ts +2 -2
  1334. package/packages/tools/email/dist/sentinels/waiting-on-me.d.ts.map +1 -1
  1335. package/packages/tools/email/dist/sentinels/waiting-on-me.js +8 -3
  1336. package/packages/tools/email/dist/sentinels/waiting-on-me.js.map +1 -1
  1337. package/packages/tools/email/dist/sources/idle.d.ts +98 -0
  1338. package/packages/tools/email/dist/sources/idle.d.ts.map +1 -0
  1339. package/packages/tools/email/dist/sources/idle.js +317 -0
  1340. package/packages/tools/email/dist/sources/idle.js.map +1 -0
  1341. package/packages/tools/email/dist/sources/inbox-poll.d.ts +79 -1
  1342. package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
  1343. package/packages/tools/email/dist/sources/inbox-poll.js +420 -145
  1344. package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
  1345. package/packages/tools/email/dist/sources/presence.d.ts +47 -0
  1346. package/packages/tools/email/dist/sources/presence.d.ts.map +1 -0
  1347. package/packages/tools/email/dist/sources/presence.js +128 -0
  1348. package/packages/tools/email/dist/sources/presence.js.map +1 -0
  1349. package/packages/tools/email/dist/threads.d.ts +2 -0
  1350. package/packages/tools/email/dist/threads.d.ts.map +1 -1
  1351. package/packages/tools/email/dist/threads.js +12 -3
  1352. package/packages/tools/email/dist/threads.js.map +1 -1
  1353. package/packages/tools/email/dist/tools/mailbox.d.ts +108 -0
  1354. package/packages/tools/email/dist/tools/mailbox.d.ts.map +1 -0
  1355. package/packages/tools/email/dist/tools/mailbox.js +359 -0
  1356. package/packages/tools/email/dist/tools/mailbox.js.map +1 -0
  1357. package/packages/tools/email/dist/tools/policies.d.ts +8 -2
  1358. package/packages/tools/email/dist/tools/policies.d.ts.map +1 -1
  1359. package/packages/tools/email/dist/tools/policies.js +43 -3
  1360. package/packages/tools/email/dist/tools/policies.js.map +1 -1
  1361. package/packages/tools/email/dist/tools/read.d.ts +2 -2
  1362. package/packages/tools/email/dist/tools/read.d.ts.map +1 -1
  1363. package/packages/tools/email/dist/tools/read.js +29 -2
  1364. package/packages/tools/email/dist/tools/read.js.map +1 -1
  1365. package/packages/tools/email/dist/tools/threads.d.ts +2 -2
  1366. package/packages/tools/email/dist/tools/triage.d.ts.map +1 -1
  1367. package/packages/tools/email/dist/tools/triage.js +10 -4
  1368. package/packages/tools/email/dist/tools/triage.js.map +1 -1
  1369. package/packages/tools/email/dist/widgets.d.ts +13 -0
  1370. package/packages/tools/email/dist/widgets.d.ts.map +1 -0
  1371. package/packages/tools/email/dist/widgets.js +51 -0
  1372. package/packages/tools/email/dist/widgets.js.map +1 -0
  1373. package/packages/tools/email/migrations/017_mailbox_actions.sql +60 -0
  1374. package/packages/tools/email/migrations/018_learned_auto.sql +30 -0
  1375. package/packages/tools/email/migrations/019_arrival_pending.sql +26 -0
  1376. package/packages/tools/email/migrations/020_mailbox_presence.sql +44 -0
  1377. package/packages/tools/email/migrations/021_learned_line.sql +9 -0
  1378. package/packages/tools/email/migrations/022_bulk_checked.sql +13 -0
  1379. package/packages/tools/email/package.json +3 -2
  1380. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  1381. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  1382. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  1383. package/packages/tools/memory/dist/admin.d.ts +9 -0
  1384. package/packages/tools/memory/dist/admin.d.ts.map +1 -1
  1385. package/packages/tools/memory/dist/admin.js +11 -0
  1386. package/packages/tools/memory/dist/admin.js.map +1 -1
  1387. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  1388. package/packages/web/dist/assets/index-D8_tmf2k.js +131 -0
  1389. package/packages/web/dist/assets/index-DYQyioa6.css +1 -0
  1390. package/packages/web/dist/assets/{lottie_light-DmJaDM4A.js → lottie_light-Cdn77Osu.js} +1 -1
  1391. package/packages/web/dist/build.json +1 -1
  1392. package/packages/web/dist/index.html +2 -2
  1393. package/packages/web/dist/precache.json +4 -4
  1394. package/packages/web/dist/assets/index-Cn-3X1OI.js +0 -130
  1395. package/packages/web/dist/assets/index-bdj791NB.css +0 -1
@@ -9,16 +9,18 @@
9
9
  * sender judged promo, promo, reply-needed, promo is a sender the owner may
10
10
  * well hear from, and the run is counted from the newest verdict back, so
11
11
  * one dissenting judgement resets it.
12
- * - **Nothing applies itself.** A proposal is a card on the owner's
13
- * Settings → Proposals inbox (`core.proposals`, docs/learning.md §2
14
- * item 3), beside what the agents propose; this plugin writes no rule until
15
- * the owner keeps it there, and then writes it through its own apply
16
- * (`learned.ts`). The gate reads only kept rows. Promo is no exception. Since step 3 the
17
- * Sent folder is synced, so "the owner never wrote back" is read off his own
18
- * mail rather than inferred from drafts buddi sent — but a mailbox is synced
19
- * from *now*, not from its beginning, and a sender answered before buddi
20
- * arrived still looks unanswered. Silencing somebody on a history this
21
- * installation has only part of stays the owner's tap to make.
12
+ * - **A card, unless the rule only quiets a bulk sender.** A proposal is a
13
+ * card on the owner's Settings → Proposals inbox (`core.proposals`,
14
+ * docs/learning.md §2 item 3), beside what the agents propose; this plugin
15
+ * writes no rule until the owner keeps it there, and then writes it through
16
+ * its own apply (`learned.ts`). The gate reads only kept rows. The
17
+ * exception is `auto.ts`: a rule that only quiets a sender the owner never
18
+ * wrote to keeps itself when the sender's mail is bulk (List-Unsubscribe,
19
+ * List-Id, Precedence, a no-reply address) or the owner has kept five of
20
+ * its kind running. It is still recorded as a kept card, listed under
21
+ * Learned on the Mail page with Undo, and the owner hears about it once a
22
+ * day. Anyone else stays a card: a mailbox is synced from *now*, and a
23
+ * person answered before buddi arrived still looks unanswered.
22
24
  * - **The owner writing back vetoes silence.** Any proposal that would stop a
23
25
  * run is refused for a sender the owner has actually sent mail to. A person
24
26
  * who gets answers is not a newsletter, whatever the categories say.
@@ -29,8 +31,9 @@
29
31
  * The rule is a pure function; the query around it is the only database part.
30
32
  */
31
33
  import type { DbArea } from '@buddi/core/plugin';
32
- import type { ProposalsArea, Proposal as CoreProposal, ToolContext } from '@buddi/core/plugin';
34
+ import type { Proposal as CoreProposal, ToolContext } from '@buddi/core/plugin';
33
35
  import type { PolicyAction } from './gate.js';
36
+ import { type AutoHost, type AutoReason } from './auto.js';
34
37
  /** `ctx.buddi.db`, a transaction's handle, or anything that answers a query as they do. */
35
38
  type Db = Pick<DbArea, 'query'>;
36
39
  /** How many verdicts running make a pattern. Three: two is a coincidence. */
@@ -44,7 +47,9 @@ export interface Verdict {
44
47
  }
45
48
  export interface Proposal {
46
49
  action: PolicyAction;
47
- /** Always true today: nothing learned applies itself. See the module note. */
50
+ /** The rule's kind (`learned.ts`, `LEARNED_KIND_LABELS`). */
51
+ kind: 'quiet-promo-sender' | 'quiet-low-sender' | 'notify-sender';
52
+ /** True: the pure rule proposes. Whether it keeps itself is `auto.ts`'s, on facts read around it. */
48
53
  proposed: boolean;
49
54
  /** The verdicts it was learned from, newest first. */
50
55
  createdFrom: Array<{
@@ -112,17 +117,20 @@ export interface OwnerReplies {
112
117
  * out of the average rather than guessed at.
113
118
  */
114
119
  export declare function ownerReplies(db: Db, accountId: string, address: string): Promise<OwnerReplies>;
115
- /** What `learnFromVerdict` proposed: a new card on the owner's inbox. */
120
+ /** What `learnFromVerdict` learned: a new card on the owner's inbox, or a rule that kept itself. */
116
121
  export interface LearnedPolicy {
117
122
  proposal: CoreProposal;
118
123
  action: PolicyAction;
119
124
  matcher: string;
125
+ /** Set when the rule kept itself rather than waiting on a card, and why. */
126
+ keptItself: AutoReason | null;
120
127
  }
121
128
  /**
122
- * Called after a verdict is recorded. Proposes at most one rule on the
123
- * owner's Proposals inbox and returns it, or null when nothing was learned —
124
- * which is the usual answer. The rule itself is written only when the owner
125
- * keeps the card (`learned.ts`, `applyLearnedPolicy`).
129
+ * Called after a verdict is recorded. Learns at most one rule and returns it,
130
+ * or null when nothing was learned — which is the usual answer. The rule is a
131
+ * card the owner keeps (`learned.ts`, `applyLearnedPolicy`), unless it only
132
+ * quiets a sender `auto.ts` allows it to keep itself for; then it is written
133
+ * at once, recorded as kept by `auto`, and the owner's daily line is updated.
126
134
  *
127
135
  * A sender that already has a live policy learns nothing: whatever is there is
128
136
  * the owner's decision, and overwriting it would be this plugin arguing with
@@ -134,7 +142,7 @@ export interface LearnedPolicy {
134
142
  * untrusted, so the messages are the proposal's sources — by subject and
135
143
  * sender, never by body.
136
144
  */
137
- export declare function learnFromVerdict(db: Db, proposals: ProposalsArea, input: {
145
+ export declare function learnFromVerdict(host: AutoHost, input: {
138
146
  from: string;
139
147
  accountId: string;
140
148
  }, now: Date, run?: Pick<ToolContext, 'agentId' | 'conversationId' | 'toolUseId' | 'provenance'> | null): Promise<LearnedPolicy | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"learn.d.ts","sourceRoot":"","sources":["../../src/policies/learn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,IAAI,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,2FAA2F;AAC3F,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhC,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,WAAW,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,eAAe,EAAE,OAAO,GACvB,QAAQ,GAAG,IAAI,CA2CjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAA4B,GAClC,OAAO,CAAC,OAAO,EAAE,CAAC,CA0BpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAED,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC1C,GAAG,EAAE,IAAI,EACT,GAAG,GAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC,GAAG,IAAW,GAC9F,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAiC/B"}
1
+ {"version":3,"file":"learn.d.ts","sourceRoot":"","sources":["../../src/policies/learn.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { normalizeAddress } from '../mail.js';
2
2
  import { policyForSender } from './store.js';
3
3
  import { learnedPolicyInput, mailSources } from './learned.js';
4
+ import { isBulkSender, keepLearnedItself, mayKeepItself, ownerHasWrittenAnywhere, tellOwnerLearned } from './auto.js';
4
5
  /** How many verdicts running make a pattern. Three: two is a coincidence. */
5
6
  export const CONSISTENT_VERDICTS = 3;
6
7
  /**
@@ -27,6 +28,7 @@ export function learnedProposal(verdicts, ownerHasReplied) {
27
28
  if (sameCategory && category === 'promo' && !ownerHasReplied) {
28
29
  return {
29
30
  action: 'ignore',
31
+ kind: 'quiet-promo-sender',
30
32
  proposed: true,
31
33
  createdFrom,
32
34
  why: `The last ${CONSISTENT_VERDICTS} messages from this sender were all marketing, and nothing here says you ever wrote back.`,
@@ -36,6 +38,7 @@ export function learnedProposal(verdicts, ownerHasReplied) {
36
38
  if (allLow && !ownerHasReplied) {
37
39
  return {
38
40
  action: 'ignore',
41
+ kind: 'quiet-low-sender',
39
42
  proposed: true,
40
43
  createdFrom,
41
44
  why: `The last ${CONSISTENT_VERDICTS} messages from this sender were all judged low — nothing is lost if you never read them.`,
@@ -45,6 +48,7 @@ export function learnedProposal(verdicts, ownerHasReplied) {
45
48
  if (sameCategory && (category === 'reply-needed' || category === 'relationship')) {
46
49
  return {
47
50
  action: 'notify',
51
+ kind: 'notify-sender',
48
52
  proposed: true,
49
53
  createdFrom,
50
54
  why: `The last ${CONSISTENT_VERDICTS} messages from this sender were all ${category}; a line when they write may be enough.`,
@@ -176,10 +180,11 @@ export async function ownerReplies(db, accountId, address) {
176
180
  };
177
181
  }
178
182
  /**
179
- * Called after a verdict is recorded. Proposes at most one rule on the
180
- * owner's Proposals inbox and returns it, or null when nothing was learned —
181
- * which is the usual answer. The rule itself is written only when the owner
182
- * keeps the card (`learned.ts`, `applyLearnedPolicy`).
183
+ * Called after a verdict is recorded. Learns at most one rule and returns it,
184
+ * or null when nothing was learned — which is the usual answer. The rule is a
185
+ * card the owner keeps (`learned.ts`, `applyLearnedPolicy`), unless it only
186
+ * quiets a sender `auto.ts` allows it to keep itself for; then it is written
187
+ * at once, recorded as kept by `auto`, and the owner's daily line is updated.
183
188
  *
184
189
  * A sender that already has a live policy learns nothing: whatever is there is
185
190
  * the owner's decision, and overwriting it would be this plugin arguing with
@@ -191,7 +196,8 @@ export async function ownerReplies(db, accountId, address) {
191
196
  * untrusted, so the messages are the proposal's sources — by subject and
192
197
  * sender, never by body.
193
198
  */
194
- export async function learnFromVerdict(db, proposals, input, now, run = null) {
199
+ export async function learnFromVerdict(host, input, now, run = null) {
200
+ const db = host.db;
195
201
  const address = normalizeAddress(input.from);
196
202
  // No account is no learning. A policy learned from "every mailbox" would be a
197
203
  // rule about mail it was never shown.
@@ -205,13 +211,14 @@ export async function learnFromVerdict(db, proposals, input, now, run = null) {
205
211
  const proposal = learnedProposal(verdicts, replied);
206
212
  if (!proposal)
207
213
  return null;
214
+ const params = proposal.action === 'ignore'
215
+ ? { category: verdicts[0]?.category ?? 'promo', urgency: 'low' }
216
+ : { note: proposal.why };
208
217
  const ask = await learnedPolicyInput(db, {
209
218
  accountId: input.accountId,
210
219
  sender: address,
211
220
  action: proposal.action,
212
- params: proposal.action === 'ignore'
213
- ? { category: verdicts[0]?.category ?? 'promo', urgency: 'low' }
214
- : { note: proposal.why },
221
+ params,
215
222
  verdicts: verdicts.slice(0, CONSISTENT_VERDICTS).map((v) => ({
216
223
  messageId: v.messageId,
217
224
  processingVersion: v.processingVersion,
@@ -220,10 +227,29 @@ export async function learnFromVerdict(db, proposals, input, now, run = null) {
220
227
  })),
221
228
  why: proposal.why,
222
229
  sources: await mailSources(db, proposal.createdFrom.map((v) => v.messageId)),
230
+ kind: proposal.kind,
223
231
  });
224
- const result = await proposals.proposePolicy(run, ask);
232
+ // Only a quiet rule is even asked about; the facts are read only then.
233
+ if (proposal.action === 'ignore') {
234
+ const reason = mayKeepItself({
235
+ scope: 'sender',
236
+ action: proposal.action,
237
+ params,
238
+ ownerHasWritten: replied || (await ownerHasWrittenAnywhere(db, address)),
239
+ bulk: await isBulkSender(db, input.accountId, address),
240
+ trusted: (await host.proposals.trackRecord(proposal.kind)).trusted,
241
+ });
242
+ if (reason) {
243
+ const kept = await keepLearnedItself(host, ask, reason, now, run);
244
+ if (kept) {
245
+ await tellOwnerLearned(host, now);
246
+ return { proposal: kept, action: proposal.action, matcher: address, keptItself: reason };
247
+ }
248
+ }
249
+ }
250
+ const result = await host.proposals.proposePolicy(run, ask);
225
251
  if (!result.ok)
226
252
  return null;
227
- return { proposal: result.proposal, action: proposal.action, matcher: address };
253
+ return { proposal: result.proposal, action: proposal.action, matcher: address, keptItself: null };
228
254
  }
229
255
  //# sourceMappingURL=learn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"learn.js","sourceRoot":"","sources":["../../src/policies/learn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learn.js","sourceRoot":"","sources":["../../src/policies/learn.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@
12
12
  * proposal became. A card that was never kept has none, and says so.
13
13
  * - **adopt** — once, on start: the rows this plugin used to hold with
14
14
  * `proposed = true` move to core as open cards, and the rows go. Kept rows
15
- * are untouched. Idempotent: a moved row is no longer there to move.
15
+ * are untouched. Idempotent: a moved row is no longer there to move. Then
16
+ * the open cards that qualify as a bulk sender's quiet rule keep
17
+ * themselves (`auto.ts`, `sweepOpenBulkCards`).
16
18
  *
17
19
  * The payload is the plugin's own terms, readable without knowing email:
18
20
  * `matcher` is `{ <scope>: <value>, account, accountId }` (the card hides the
@@ -44,7 +46,17 @@ export declare function learnedPolicyInput(db: Db, input: {
44
46
  verdicts: LearnedVerdict[];
45
47
  why: string;
46
48
  sources: UntrustedSource[];
49
+ /** The rule's kind (`learn.ts`, `LEARNED_KINDS`): the track record and the inbox's groups. */
50
+ kind?: string;
47
51
  }): Promise<ProposePolicyInput>;
52
+ /**
53
+ * The kinds of rule this plugin learns, and how the owner reads each. The
54
+ * owner's track record is counted per kind (docs/learning.md §4), and Settings
55
+ * → Proposals groups open cards by it.
56
+ */
57
+ export declare const LEARNED_KIND_LABELS: Record<string, string>;
58
+ /** The kind of a learned rule, from its action and the verdicts behind it. */
59
+ export declare function learnedKind(action: string, category: string | undefined): string;
48
60
  /** The rule a policy payload describes, or why it describes none. */
49
61
  export declare function ruleOf(payload: Record<string, unknown>): {
50
62
  ok: true;
@@ -58,8 +70,19 @@ export declare function ruleOf(payload: Record<string, unknown>): {
58
70
  ok: false;
59
71
  note: string;
60
72
  };
61
- /** Keep: write the rule the gate reads. */
73
+ /** Who kept a rule, and why when it kept itself. */
74
+ export interface KeptHow {
75
+ keptBy: 'owner' | 'auto';
76
+ autoReason?: string | null;
77
+ }
78
+ /** Keep: write the rule the gate reads. The owner's keep, through core's apply. */
62
79
  export declare function applyLearnedPolicy(proposal: Proposal, ctx: PolicyHandlerContext): Promise<PolicyApplyResult>;
80
+ /**
81
+ * Write the kept rule a proposal describes, as the owner's keep or as one
82
+ * that kept itself (`auto.ts`). The one apply path for both: the same
83
+ * refusals, the same slot replaced.
84
+ */
85
+ export declare function writeLearnedRule(db: Db, proposal: Proposal, now: Date, how: KeptHow): Promise<PolicyApplyResult>;
63
86
  /**
64
87
  * Discard: revoke the live learned rule this proposal became, if it became
65
88
  * one (the same slot, learned from the same messages). An open card that was
@@ -1 +1 @@
1
- {"version":3,"file":"learned.d.ts","sourceRoot":"","sources":["../../src/policies/learned.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EACV,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAiC,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGlH,2FAA2F;AAC3F,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhC,eAAO,MAAM,YAAY,UAAU,CAAC;AAKpC,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sGAAsG;AACtG,wBAAsB,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAiBnG;AAQD,0DAA0D;AAC1D,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B,GACA,OAAO,CAAC,kBAAkB,CAAC,CAgB7B;AAED,qEAAqE;AACrE,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAanL;AAED,2CAA2C;AAC3C,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8BlH;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBlH;AASD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCtF;AAED,mEAAmE;AACnE;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAWtG;AAED,eAAO,MAAM,kBAAkB,EAAE,aAKhC,CAAC"}
1
+ {"version":3,"file":"learned.d.ts","sourceRoot":"","sources":["../../src/policies/learned.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { POLICY_ACTIONS, POLICY_SCOPES } from './gate.js';
2
2
  import { createPolicy, normalizeMatcher, refusalFor, PolicyRefusal } from './store.js';
3
+ import { sweepOpenBulkCards, tellOwnerLearned } from './auto.js';
3
4
  export const EMAIL_PLUGIN = 'email';
4
5
  /** How a source line names the tool whose verdicts it came from. */
5
6
  const VIA = 'email.triage_record';
@@ -41,8 +42,25 @@ export async function learnedPolicyInput(db, input) {
41
42
  verdicts: input.verdicts,
42
43
  why: input.why,
43
44
  sources: input.sources,
45
+ ...(input.kind ? { kind: input.kind, kindLabel: LEARNED_KIND_LABELS[input.kind] ?? input.kind } : {}),
44
46
  };
45
47
  }
48
+ /**
49
+ * The kinds of rule this plugin learns, and how the owner reads each. The
50
+ * owner's track record is counted per kind (docs/learning.md §4), and Settings
51
+ * → Proposals groups open cards by it.
52
+ */
53
+ export const LEARNED_KIND_LABELS = {
54
+ 'quiet-promo-sender': 'Quiet a marketing sender',
55
+ 'quiet-low-sender': 'Quiet a sender whose mail is always low',
56
+ 'notify-sender': 'A line when a sender writes',
57
+ };
58
+ /** The kind of a learned rule, from its action and the verdicts behind it. */
59
+ export function learnedKind(action, category) {
60
+ if (action === 'ignore')
61
+ return category === 'promo' ? 'quiet-promo-sender' : 'quiet-low-sender';
62
+ return 'notify-sender';
63
+ }
46
64
  /** The rule a policy payload describes, or why it describes none. */
47
65
  export function ruleOf(payload) {
48
66
  if (payload.plugin !== EMAIL_PLUGIN)
@@ -61,8 +79,16 @@ export function ruleOf(payload) {
61
79
  const params = (payload.params && typeof payload.params === 'object' ? payload.params : {});
62
80
  return { ok: true, scope, matcher: String(matcher[scope]), accountId, action, params, verdicts };
63
81
  }
64
- /** Keep: write the rule the gate reads. */
82
+ /** Keep: write the rule the gate reads. The owner's keep, through core's apply. */
65
83
  export async function applyLearnedPolicy(proposal, ctx) {
84
+ return writeLearnedRule(ctx.db, proposal, ctx.now, { keptBy: 'owner' });
85
+ }
86
+ /**
87
+ * Write the kept rule a proposal describes, as the owner's keep or as one
88
+ * that kept itself (`auto.ts`). The one apply path for both: the same
89
+ * refusals, the same slot replaced.
90
+ */
91
+ export async function writeLearnedRule(db, proposal, now, how) {
66
92
  const rule = ruleOf(proposal.payload);
67
93
  if (!rule.ok)
68
94
  return rule;
@@ -70,7 +96,7 @@ export async function applyLearnedPolicy(proposal, ctx) {
70
96
  if (refusal)
71
97
  return { ok: false, note: refusal };
72
98
  try {
73
- const policy = await createPolicy(ctx.db, {
99
+ const policy = await createPolicy(db, {
74
100
  accountId: rule.accountId,
75
101
  scope: rule.scope,
76
102
  matcher: rule.matcher,
@@ -79,12 +105,17 @@ export async function applyLearnedPolicy(proposal, ctx) {
79
105
  origin: 'learned',
80
106
  proposed: false,
81
107
  kept: true,
108
+ keptBy: how.keptBy,
109
+ proposalId: proposal.id,
110
+ autoReason: how.autoReason ?? null,
82
111
  createdFrom: rule.verdicts.map((v) => ({ messageId: v.messageId, processingVersion: v.processingVersion })),
83
- }, ctx.now);
112
+ }, now);
84
113
  return {
85
114
  ok: true,
86
115
  ref: policy.id,
87
- note: `Kept; email now ${policy.action === 'ignore' ? 'ignores' : `applies "${policy.action}" to`} mail from ${policy.matcher} with no model run. Revoke it under Settings → Email → Policies.`,
116
+ note: how.keptBy === 'auto'
117
+ ? `Kept by itself; email now ignores mail from ${policy.matcher} with no model run. Undo it under Learned on the Mail page.`
118
+ : `Kept; email now ${policy.action === 'ignore' ? 'ignores' : `applies "${policy.action}" to`} mail from ${policy.matcher} with no model run. Revoke it under Settings → Email → Policies.`,
88
119
  };
89
120
  }
90
121
  catch (err) {
@@ -130,7 +161,7 @@ export async function adoptProposedPolicies(ctx) {
130
161
  if (ctx.buddi === undefined || proposals === undefined) {
131
162
  throw new Error('email cannot move its proposed rules without its host (buddi.proposals).');
132
163
  }
133
- return ctx.buddi.db.transaction(async (tx) => {
164
+ const moved = await ctx.buddi.db.transaction(async (tx) => {
134
165
  let moved = 0;
135
166
  const { rows } = await tx.query(`select id, account_id, scope, matcher, action, params, created_from
136
167
  from email.policies
@@ -158,6 +189,17 @@ export async function adoptProposedPolicies(ctx) {
158
189
  }
159
190
  return moved;
160
191
  });
192
+ /*
193
+ * Then the open pile (docs/email.md §5, "What keeps itself"): every open
194
+ * card that now qualifies as a bulk sender's quiet rule is kept the way a
195
+ * new one would be, so the dozens waiting from before this build land in
196
+ * Learned. Idempotent: a kept card is no longer open.
197
+ */
198
+ const host = { db: ctx.buddi.db, owner: ctx.buddi.owner, proposals };
199
+ const swept = await sweepOpenBulkCards(host, ctx.now);
200
+ if (swept > 0)
201
+ await tellOwnerLearned(host, ctx.now);
202
+ return moved;
161
203
  }
162
204
  /** What the email plugin registers with core for kind `policy`. */
163
205
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"learned.js","sourceRoot":"","sources":["../../src/policies/learned.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learned.js","sourceRoot":"","sources":["../../src/policies/learned.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import type { DbArea } from '@buddi/core/plugin';
8
8
  import { type PolicyAction, type PolicyOrigin, type PolicyParams, type PolicyRecord, type PolicyScope } from './gate.js';
9
9
  /** `ctx.buddi.db`, a transaction's handle, or anything that answers a query as they do. */
10
10
  type Db = Pick<DbArea, 'query'>;
11
- export declare const POLICY_COLUMNS = "id, account_id, scope, matcher, action, params, origin, proposed, created_from, created_at, revoked_at, kept_at";
11
+ export declare const POLICY_COLUMNS = "id, account_id, scope, matcher, action, params, origin, proposed, created_from, created_at, revoked_at, kept_at, kept_by, proposal_id, auto_reason";
12
12
  export declare function toPolicy(row: Record<string, any>): PolicyRecord;
13
13
  /**
14
14
  * The matcher, as it is stored: lowercased, and reduced to the thing the scope
@@ -44,8 +44,14 @@ export interface CreatePolicyInput {
44
44
  messageId: string;
45
45
  processingVersion: number;
46
46
  }>;
47
- /** The owner kept this from Settings → Proposals: it is stamped kept at `now`. */
47
+ /** Kept from Settings → Proposals (or kept itself): it is stamped kept at `now`. */
48
48
  kept?: boolean;
49
+ /** Who kept it, with `kept`: the owner (the default) or the plugin itself. */
50
+ keptBy?: 'owner' | 'auto';
51
+ /** The proposal card it came from. */
52
+ proposalId?: string | null;
53
+ /** Why it kept itself, when `keptBy` is `auto`. */
54
+ autoReason?: string | null;
49
55
  }
50
56
  /**
51
57
  * Write one policy, replacing whatever live one held the same slot.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/policies/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAEnB,2FAA2F;AAC3F,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhC,eAAO,MAAM,cAAc,oHACwF,CAAC;AAOpH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBxE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,GAAG,MAAM,GAAG,IAAI,CAchB;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAkB,IAAI,mBAAmB;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,YAAY,CAAC,CAmCvB;AAED,iFAAiF;AACjF,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAS7F;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAGjF;AAED,uDAAuD;AACvD,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAW9B;AAED,wEAAwE;AACxE,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAOjF;AAED,6EAA6E;AAC7E,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9F;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,QAAQ,EACzB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,gBAAgB,CAAC,CA0B3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,wCAAyC,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,0DAA0D,CAAC;AAErF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAU3D;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,EACD,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,SAAS,CAAC,CAgBpB;AAED,8EAA8E;AAC9E,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,GACL,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAmBvF;AAED,iFAAiF;AACjF,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/policies/store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { normalizeAddress, normalizeListId } from '../mail.js';
2
- import { domainOf, isUnimplementedAction, POLICY_ACTIONS, POLICY_SCOPES, } from './gate.js';
3
- export const POLICY_COLUMNS = 'id, account_id, scope, matcher, action, params, origin, proposed, created_from, created_at, revoked_at, kept_at';
2
+ import { ARRIVAL_KINDS, domainOf, isUnimplementedAction, POLICY_ACTIONS, POLICY_SCOPES, } from './gate.js';
3
+ export const POLICY_COLUMNS = 'id, account_id, scope, matcher, action, params, origin, proposed, created_from, created_at, revoked_at, kept_at, kept_by, proposal_id, auto_reason';
4
4
  function iso(value) {
5
5
  if (value === null || value === undefined)
6
6
  return null;
@@ -20,6 +20,9 @@ export function toPolicy(row) {
20
20
  createdAt: iso(row.created_at),
21
21
  revokedAt: iso(row.revoked_at),
22
22
  keptAt: iso(row.kept_at),
23
+ keptBy: row.kept_by === 'owner' || row.kept_by === 'auto' ? row.kept_by : null,
24
+ proposalId: row.proposal_id ? String(row.proposal_id) : null,
25
+ autoReason: row.auto_reason ?? null,
23
26
  };
24
27
  }
25
28
  /**
@@ -67,7 +70,14 @@ export function refusalFor(input) {
67
70
  if (input.scope === 'domain' && !matcher.includes('.'))
68
71
  return 'a domain policy needs a domain';
69
72
  if (isUnimplementedAction(input.action)) {
70
- return `not yet: "${input.action}" needs to write to the mailbox over IMAP, and this build only ever reads it. Ignore, notify, draft, hand-to-agent and wake work today.`;
73
+ return `not as an action: "${input.action}" is not one. To archive (or mark read, or move) matching mail as it arrives, pick ignore, notify, draft, hand-to-agent or wake and add the on-arrival mailbox action.`;
74
+ }
75
+ const arrival = input.params?.onArrival;
76
+ if (arrival) {
77
+ if (!ARRIVAL_KINDS.includes(arrival.kind))
78
+ return `unknown on-arrival action: ${String(arrival.kind)}`;
79
+ if (arrival.kind === 'move' && !arrival.folder?.trim())
80
+ return 'moving on arrival needs the folder to move to';
71
81
  }
72
82
  if (input.action === 'hand-to-agent' && !input.params?.agentId?.trim()) {
73
83
  return 'hand-to-agent needs the id of the agent that should get the message';
@@ -96,8 +106,9 @@ export async function createPolicy(db, input, now) {
96
106
  and coalesce(account_id, '00000000-0000-0000-0000-000000000000'::uuid)
97
107
  = coalesce($4::uuid, '00000000-0000-0000-0000-000000000000'::uuid)`, [now, input.scope, matcher, accountId]);
98
108
  const { rows } = await db.query(`insert into email.policies
99
- (account_id, scope, matcher, action, params, origin, proposed, created_from, created_at, kept_at)
100
- values ($1, $2, $3, $4, $5::jsonb, $6, $7, $8::jsonb, $9, $10)
109
+ (account_id, scope, matcher, action, params, origin, proposed, created_from, created_at, kept_at,
110
+ kept_by, proposal_id, auto_reason)
111
+ values ($1, $2, $3, $4, $5::jsonb, $6, $7, $8::jsonb, $9, $10, $11, $12::uuid, $13)
101
112
  returning ${POLICY_COLUMNS}`, [
102
113
  accountId,
103
114
  input.scope,
@@ -109,6 +120,9 @@ export async function createPolicy(db, input, now) {
109
120
  JSON.stringify(input.createdFrom ?? []),
110
121
  now,
111
122
  input.kept === true ? now : null,
123
+ input.kept === true ? (input.keptBy ?? 'owner') : null,
124
+ input.proposalId ?? null,
125
+ input.keptBy === 'auto' ? (input.autoReason ?? null) : null,
112
126
  ]);
113
127
  const row = rows[0];
114
128
  if (!row)
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/policies/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/policies/store.ts"],"names":[],"mappings":"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"}