@withbuddi/buddi 0.1.0-pre.28 → 0.1.0-pre.30

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 (1190) 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 +19 -3
  5. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  6. package/node_modules/@buddi/cli/dist/args.js +19 -5
  7. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  8. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  9. package/node_modules/@buddi/cli/dist/commands.js +80 -8
  10. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  11. package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts +3 -0
  12. package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts.map +1 -1
  13. package/node_modules/@buddi/cli/dist/dashboard-cmd.js +63 -0
  14. package/node_modules/@buddi/cli/dist/dashboard-cmd.js.map +1 -1
  15. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  16. package/node_modules/@buddi/cli/dist/doctor-probes.js +11 -4
  17. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  18. package/node_modules/@buddi/cli/dist/doctor.d.ts +1 -1
  19. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  20. package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts +4 -0
  21. package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts.map +1 -1
  22. package/node_modules/@buddi/cli/dist/jobs-cmd.js +53 -4
  23. package/node_modules/@buddi/cli/dist/jobs-cmd.js.map +1 -1
  24. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  25. package/node_modules/@buddi/cli/dist/main.js +27 -2
  26. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  27. package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts +19 -17
  28. package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts.map +1 -1
  29. package/node_modules/@buddi/cli/dist/mcp/gateway-client.js +128 -29
  30. package/node_modules/@buddi/cli/dist/mcp/gateway-client.js.map +1 -1
  31. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts +6 -0
  32. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  33. package/node_modules/@buddi/cli/dist/mcp/tools.js +20 -1
  34. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  35. package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts.map +1 -1
  36. package/node_modules/@buddi/cli/dist/telegram-cmd.js +5 -4
  37. package/node_modules/@buddi/cli/dist/telegram-cmd.js.map +1 -1
  38. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  39. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/agents/catalog.js +7 -6
  41. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  42. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +12 -12
  43. package/node_modules/@buddi/core/dist/agents/skills.d.ts +2 -2
  44. package/node_modules/@buddi/core/dist/clock-widget.d.ts +38 -0
  45. package/node_modules/@buddi/core/dist/clock-widget.d.ts.map +1 -0
  46. package/node_modules/@buddi/core/dist/clock-widget.js +114 -0
  47. package/node_modules/@buddi/core/dist/clock-widget.js.map +1 -0
  48. package/node_modules/@buddi/core/dist/failures/owner-message.d.ts +25 -0
  49. package/node_modules/@buddi/core/dist/failures/owner-message.d.ts.map +1 -1
  50. package/node_modules/@buddi/core/dist/failures/owner-message.js +90 -0
  51. package/node_modules/@buddi/core/dist/failures/owner-message.js.map +1 -1
  52. package/node_modules/@buddi/core/dist/feedback/index.d.ts +23 -2
  53. package/node_modules/@buddi/core/dist/feedback/index.d.ts.map +1 -1
  54. package/node_modules/@buddi/core/dist/feedback/index.js +23 -3
  55. package/node_modules/@buddi/core/dist/feedback/index.js.map +1 -1
  56. package/node_modules/@buddi/core/dist/groups.d.ts +33 -0
  57. package/node_modules/@buddi/core/dist/groups.d.ts.map +1 -1
  58. package/node_modules/@buddi/core/dist/groups.js +76 -4
  59. package/node_modules/@buddi/core/dist/groups.js.map +1 -1
  60. package/node_modules/@buddi/core/dist/home.d.ts +5 -5
  61. package/node_modules/@buddi/core/dist/host/build.d.ts +19 -1
  62. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  63. package/node_modules/@buddi/core/dist/host/build.js +122 -2
  64. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  65. package/node_modules/@buddi/core/dist/host/types.d.ts +33 -0
  66. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  67. package/node_modules/@buddi/core/dist/index.d.ts +8 -0
  68. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  69. package/node_modules/@buddi/core/dist/index.js +8 -0
  70. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  71. package/node_modules/@buddi/core/dist/lock.d.ts +82 -0
  72. package/node_modules/@buddi/core/dist/lock.d.ts.map +1 -0
  73. package/node_modules/@buddi/core/dist/lock.js +182 -0
  74. package/node_modules/@buddi/core/dist/lock.js.map +1 -0
  75. package/node_modules/@buddi/core/dist/metrics.d.ts.map +1 -1
  76. package/node_modules/@buddi/core/dist/metrics.js +4 -2
  77. package/node_modules/@buddi/core/dist/metrics.js.map +1 -1
  78. package/node_modules/@buddi/core/dist/onboarding/store.d.ts +5 -0
  79. package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
  80. package/node_modules/@buddi/core/dist/onboarding/store.js +35 -5
  81. package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
  82. package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
  83. package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
  84. package/node_modules/@buddi/core/dist/onboarding/types.js +2 -0
  85. package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
  86. package/node_modules/@buddi/core/dist/owner-format.d.ts +14 -0
  87. package/node_modules/@buddi/core/dist/owner-format.d.ts.map +1 -0
  88. package/node_modules/@buddi/core/dist/owner-format.js +47 -0
  89. package/node_modules/@buddi/core/dist/owner-format.js.map +1 -0
  90. package/node_modules/@buddi/core/dist/owner-timezone.d.ts +46 -0
  91. package/node_modules/@buddi/core/dist/owner-timezone.d.ts.map +1 -0
  92. package/node_modules/@buddi/core/dist/owner-timezone.js +43 -0
  93. package/node_modules/@buddi/core/dist/owner-timezone.js.map +1 -0
  94. package/node_modules/@buddi/core/dist/pages.d.ts +13 -39
  95. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  96. package/node_modules/@buddi/core/dist/pages.js +12 -1
  97. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  98. package/node_modules/@buddi/core/dist/places.d.ts +110 -0
  99. package/node_modules/@buddi/core/dist/places.d.ts.map +1 -0
  100. package/node_modules/@buddi/core/dist/places.js +239 -0
  101. package/node_modules/@buddi/core/dist/places.js.map +1 -0
  102. package/node_modules/@buddi/core/dist/plugin/index.d.ts +9 -2
  103. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  104. package/node_modules/@buddi/core/dist/plugin/index.js +3 -0
  105. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  106. package/node_modules/@buddi/core/dist/plugin/requires.d.ts +75 -0
  107. package/node_modules/@buddi/core/dist/plugin/requires.d.ts.map +1 -0
  108. package/node_modules/@buddi/core/dist/plugin/requires.js +77 -0
  109. package/node_modules/@buddi/core/dist/plugin/requires.js.map +1 -0
  110. package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
  111. package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
  112. package/node_modules/@buddi/core/dist/plugin/uses.js +2 -0
  113. package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
  114. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  115. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  116. package/node_modules/@buddi/core/dist/queue/failures.d.ts +84 -0
  117. package/node_modules/@buddi/core/dist/queue/failures.d.ts.map +1 -0
  118. package/node_modules/@buddi/core/dist/queue/failures.js +195 -0
  119. package/node_modules/@buddi/core/dist/queue/failures.js.map +1 -0
  120. package/node_modules/@buddi/core/dist/queue/index.d.ts +1 -0
  121. package/node_modules/@buddi/core/dist/queue/index.d.ts.map +1 -1
  122. package/node_modules/@buddi/core/dist/queue/index.js +1 -0
  123. package/node_modules/@buddi/core/dist/queue/index.js.map +1 -1
  124. package/node_modules/@buddi/core/dist/queue/jobs.d.ts +39 -3
  125. package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
  126. package/node_modules/@buddi/core/dist/queue/jobs.js +54 -4
  127. package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
  128. package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts +5 -0
  129. package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts.map +1 -1
  130. package/node_modules/@buddi/core/dist/queue/retry-policy.js +19 -2
  131. package/node_modules/@buddi/core/dist/queue/retry-policy.js.map +1 -1
  132. package/node_modules/@buddi/core/dist/queue/types.d.ts +20 -0
  133. package/node_modules/@buddi/core/dist/queue/types.d.ts.map +1 -1
  134. package/node_modules/@buddi/core/dist/queue/types.js +17 -0
  135. package/node_modules/@buddi/core/dist/queue/types.js.map +1 -1
  136. package/node_modules/@buddi/core/dist/registry.d.ts +37 -2
  137. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  138. package/node_modules/@buddi/core/dist/registry.js +137 -3
  139. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  140. package/node_modules/@buddi/core/dist/scheduler/enqueue.d.ts +71 -0
  141. package/node_modules/@buddi/core/dist/scheduler/enqueue.d.ts.map +1 -0
  142. package/node_modules/@buddi/core/dist/scheduler/enqueue.js +116 -0
  143. package/node_modules/@buddi/core/dist/scheduler/enqueue.js.map +1 -0
  144. package/node_modules/@buddi/core/dist/scheduler/index.d.ts +1 -0
  145. package/node_modules/@buddi/core/dist/scheduler/index.d.ts.map +1 -1
  146. package/node_modules/@buddi/core/dist/scheduler/index.js +1 -0
  147. package/node_modules/@buddi/core/dist/scheduler/index.js.map +1 -1
  148. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +15 -0
  149. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  150. package/node_modules/@buddi/core/dist/scheduler/missions.js +43 -4
  151. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  152. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +10 -0
  153. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  154. package/node_modules/@buddi/core/dist/scheduler/types.js +3 -0
  155. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  156. package/node_modules/@buddi/core/dist/secrets/settings.d.ts +6 -6
  157. package/node_modules/@buddi/core/dist/secrets/settings.d.ts.map +1 -1
  158. package/node_modules/@buddi/core/dist/secrets/settings.js +23 -3
  159. package/node_modules/@buddi/core/dist/secrets/settings.js.map +1 -1
  160. package/node_modules/@buddi/core/dist/semver.d.ts +17 -0
  161. package/node_modules/@buddi/core/dist/semver.d.ts.map +1 -1
  162. package/node_modules/@buddi/core/dist/semver.js +130 -0
  163. package/node_modules/@buddi/core/dist/semver.js.map +1 -1
  164. package/node_modules/@buddi/core/dist/sentinels/digest.d.ts +8 -1
  165. package/node_modules/@buddi/core/dist/sentinels/digest.d.ts.map +1 -1
  166. package/node_modules/@buddi/core/dist/sentinels/digest.js +10 -3
  167. package/node_modules/@buddi/core/dist/sentinels/digest.js.map +1 -1
  168. package/node_modules/@buddi/core/dist/sentinels/index.d.ts +1 -0
  169. package/node_modules/@buddi/core/dist/sentinels/index.d.ts.map +1 -1
  170. package/node_modules/@buddi/core/dist/sentinels/index.js +1 -0
  171. package/node_modules/@buddi/core/dist/sentinels/index.js.map +1 -1
  172. package/node_modules/@buddi/core/dist/sentinels/mutes.d.ts +51 -0
  173. package/node_modules/@buddi/core/dist/sentinels/mutes.d.ts.map +1 -0
  174. package/node_modules/@buddi/core/dist/sentinels/mutes.js +86 -0
  175. package/node_modules/@buddi/core/dist/sentinels/mutes.js.map +1 -0
  176. package/node_modules/@buddi/core/dist/sentinels/run.d.ts +20 -5
  177. package/node_modules/@buddi/core/dist/sentinels/run.d.ts.map +1 -1
  178. package/node_modules/@buddi/core/dist/sentinels/run.js +105 -42
  179. package/node_modules/@buddi/core/dist/sentinels/run.js.map +1 -1
  180. package/node_modules/@buddi/core/dist/sentinels/types.d.ts +165 -2
  181. package/node_modules/@buddi/core/dist/sentinels/types.d.ts.map +1 -1
  182. package/node_modules/@buddi/core/dist/sentinels/types.js +126 -2
  183. package/node_modules/@buddi/core/dist/sentinels/types.js.map +1 -1
  184. package/node_modules/@buddi/core/dist/sources/run.d.ts +8 -0
  185. package/node_modules/@buddi/core/dist/sources/run.d.ts.map +1 -1
  186. package/node_modules/@buddi/core/dist/sources/run.js +1 -1
  187. package/node_modules/@buddi/core/dist/sources/run.js.map +1 -1
  188. package/node_modules/@buddi/core/dist/sources/watch.d.ts +3 -0
  189. package/node_modules/@buddi/core/dist/sources/watch.d.ts.map +1 -1
  190. package/node_modules/@buddi/core/dist/sources/watch.js +1 -1
  191. package/node_modules/@buddi/core/dist/sources/watch.js.map +1 -1
  192. package/node_modules/@buddi/core/dist/time.d.ts +17 -3
  193. package/node_modules/@buddi/core/dist/time.d.ts.map +1 -1
  194. package/node_modules/@buddi/core/dist/time.js +27 -3
  195. package/node_modules/@buddi/core/dist/time.js.map +1 -1
  196. package/node_modules/@buddi/core/dist/tools.d.ts +30 -1
  197. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  198. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  199. package/node_modules/@buddi/core/dist/views.d.ts +164 -164
  200. package/node_modules/@buddi/core/dist/views.d.ts.map +1 -1
  201. package/node_modules/@buddi/core/dist/views.js +5 -0
  202. package/node_modules/@buddi/core/dist/views.js.map +1 -1
  203. package/node_modules/@buddi/core/dist/widget-settings.d.ts +161 -0
  204. package/node_modules/@buddi/core/dist/widget-settings.d.ts.map +1 -0
  205. package/node_modules/@buddi/core/dist/widget-settings.js +314 -0
  206. package/node_modules/@buddi/core/dist/widget-settings.js.map +1 -0
  207. package/node_modules/@buddi/core/dist/widgets.d.ts +206 -0
  208. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -0
  209. package/node_modules/@buddi/core/dist/widgets.js +247 -0
  210. package/node_modules/@buddi/core/dist/widgets.js.map +1 -0
  211. package/node_modules/@buddi/core/migrations/059_dashboard_lock.sql +33 -0
  212. package/node_modules/@buddi/core/migrations/060_owner_places.sql +30 -0
  213. package/node_modules/@buddi/core/migrations/061_owner_formats.sql +10 -0
  214. package/node_modules/@buddi/core/migrations/062_group_deleted.sql +7 -0
  215. package/node_modules/@buddi/core/migrations/063_provider_account_limits.sql +20 -0
  216. package/node_modules/@buddi/core/migrations/064_mission_coalesce.sql +12 -0
  217. package/node_modules/@buddi/core/migrations/065_api_tokens.sql +28 -0
  218. package/node_modules/@buddi/core/migrations/066_alert_decisions.sql +45 -0
  219. package/node_modules/@buddi/core/migrations/067_job_acknowledged.sql +21 -0
  220. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  221. package/node_modules/@buddi/gateway/dist/account-limits.d.ts +45 -0
  222. package/node_modules/@buddi/gateway/dist/account-limits.d.ts.map +1 -0
  223. package/node_modules/@buddi/gateway/dist/account-limits.js +87 -0
  224. package/node_modules/@buddi/gateway/dist/account-limits.js.map +1 -0
  225. package/node_modules/@buddi/gateway/dist/accounts-cli.d.ts +88 -0
  226. package/node_modules/@buddi/gateway/dist/accounts-cli.d.ts.map +1 -0
  227. package/node_modules/@buddi/gateway/dist/accounts-cli.js +216 -0
  228. package/node_modules/@buddi/gateway/dist/accounts-cli.js.map +1 -0
  229. package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +20 -20
  230. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +4 -0
  231. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  232. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +18 -5
  233. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
  234. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  235. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +3 -2
  236. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  237. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +24 -24
  238. package/node_modules/@buddi/gateway/dist/api-token-cli.d.ts +17 -0
  239. package/node_modules/@buddi/gateway/dist/api-token-cli.d.ts.map +1 -0
  240. package/node_modules/@buddi/gateway/dist/api-token-cli.js +108 -0
  241. package/node_modules/@buddi/gateway/dist/api-token-cli.js.map +1 -0
  242. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts +6 -2
  243. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  244. package/node_modules/@buddi/gateway/dist/bootstrap.js +25 -7
  245. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  246. package/node_modules/@buddi/gateway/dist/chat/conversations.d.ts.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/chat/conversations.js +8 -2
  248. package/node_modules/@buddi/gateway/dist/chat/conversations.js.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/chat/session.d.ts +5 -0
  250. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  251. package/node_modules/@buddi/gateway/dist/chat/session.js +11 -1
  252. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  253. package/node_modules/@buddi/gateway/dist/cli.d.ts.map +1 -1
  254. package/node_modules/@buddi/gateway/dist/cli.js +14 -3
  255. package/node_modules/@buddi/gateway/dist/cli.js.map +1 -1
  256. package/node_modules/@buddi/gateway/dist/index.d.ts +3 -0
  257. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/index.js +3 -0
  259. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  260. package/node_modules/@buddi/gateway/dist/missions/dead-letter.d.ts +2 -1
  261. package/node_modules/@buddi/gateway/dist/missions/dead-letter.d.ts.map +1 -1
  262. package/node_modules/@buddi/gateway/dist/missions/dead-letter.js +19 -5
  263. package/node_modules/@buddi/gateway/dist/missions/dead-letter.js.map +1 -1
  264. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts +6 -0
  265. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts.map +1 -1
  266. package/node_modules/@buddi/gateway/dist/missions/defaults.js +10 -2
  267. package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
  268. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  269. package/node_modules/@buddi/gateway/dist/missions/execute.js +49 -9
  270. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  271. package/node_modules/@buddi/gateway/dist/missions/goals.d.ts +12 -1
  272. package/node_modules/@buddi/gateway/dist/missions/goals.d.ts.map +1 -1
  273. package/node_modules/@buddi/gateway/dist/missions/goals.js +21 -1
  274. package/node_modules/@buddi/gateway/dist/missions/goals.js.map +1 -1
  275. package/node_modules/@buddi/gateway/dist/missions/inline.js +1 -1
  276. package/node_modules/@buddi/gateway/dist/missions/inline.js.map +1 -1
  277. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts +14 -0
  278. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  279. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js +41 -2
  280. package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js.map +1 -1
  281. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
  282. package/node_modules/@buddi/gateway/dist/missions-cli.js +5 -5
  283. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  284. package/node_modules/@buddi/gateway/dist/nudges-cli.js +2 -2
  285. package/node_modules/@buddi/gateway/dist/nudges-cli.js.map +1 -1
  286. package/node_modules/@buddi/gateway/dist/owner-seed.js +2 -2
  287. package/node_modules/@buddi/gateway/dist/owner-seed.js.map +1 -1
  288. package/node_modules/@buddi/gateway/dist/plugins/live.d.ts +8 -1
  289. package/node_modules/@buddi/gateway/dist/plugins/live.d.ts.map +1 -1
  290. package/node_modules/@buddi/gateway/dist/plugins/live.js +25 -7
  291. package/node_modules/@buddi/gateway/dist/plugins/live.js.map +1 -1
  292. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts +55 -0
  293. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
  294. package/node_modules/@buddi/gateway/dist/plugins/load.js +100 -4
  295. package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
  296. package/node_modules/@buddi/gateway/dist/plugins/requires.d.ts +79 -0
  297. package/node_modules/@buddi/gateway/dist/plugins/requires.d.ts.map +1 -0
  298. package/node_modules/@buddi/gateway/dist/plugins/requires.js +178 -0
  299. package/node_modules/@buddi/gateway/dist/plugins/requires.js.map +1 -0
  300. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +6 -0
  301. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  302. package/node_modules/@buddi/gateway/dist/plugins/stage.js +6 -1
  303. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  304. package/node_modules/@buddi/gateway/dist/plugins/update.d.ts +21 -0
  305. package/node_modules/@buddi/gateway/dist/plugins/update.d.ts.map +1 -1
  306. package/node_modules/@buddi/gateway/dist/plugins/update.js +16 -0
  307. package/node_modules/@buddi/gateway/dist/plugins/update.js.map +1 -1
  308. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +1 -1
  309. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  310. package/node_modules/@buddi/gateway/dist/plugins-cli.js +6 -2
  311. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  312. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +4 -0
  313. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  314. package/node_modules/@buddi/gateway/dist/provider-accounts.js +68 -10
  315. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  316. package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts.map +1 -1
  317. package/node_modules/@buddi/gateway/dist/provider-diagnostics.js +9 -0
  318. package/node_modules/@buddi/gateway/dist/provider-diagnostics.js.map +1 -1
  319. package/node_modules/@buddi/gateway/dist/reminders-cli.js +2 -2
  320. package/node_modules/@buddi/gateway/dist/reminders-cli.js.map +1 -1
  321. package/node_modules/@buddi/gateway/dist/serve.d.ts +2 -0
  322. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  323. package/node_modules/@buddi/gateway/dist/serve.js +66 -8
  324. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  325. package/node_modules/@buddi/gateway/dist/surfaces/failure.d.ts.map +1 -1
  326. package/node_modules/@buddi/gateway/dist/surfaces/failure.js +9 -1
  327. package/node_modules/@buddi/gateway/dist/surfaces/failure.js.map +1 -1
  328. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts +17 -0
  329. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  330. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +27 -0
  331. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
  332. package/node_modules/@buddi/gateway/dist/system-context.d.ts +18 -0
  333. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  334. package/node_modules/@buddi/gateway/dist/system-context.js +46 -4
  335. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  336. package/node_modules/@buddi/gateway/dist/telegram/main.js +3 -3
  337. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  338. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +1 -1
  339. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
  340. package/node_modules/@buddi/gateway/dist/telegram/outbound.js +7 -2
  341. package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
  342. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts.map +1 -1
  343. package/node_modules/@buddi/gateway/dist/telegram/reactions.js +12 -2
  344. package/node_modules/@buddi/gateway/dist/telegram/reactions.js.map +1 -1
  345. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +4 -1
  346. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  347. package/node_modules/@buddi/gateway/dist/telegram/surface.js +13 -3
  348. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  349. package/node_modules/@buddi/gateway/dist/tips/engine.d.ts +2 -0
  350. package/node_modules/@buddi/gateway/dist/tips/engine.d.ts.map +1 -1
  351. package/node_modules/@buddi/gateway/dist/tips/engine.js +8 -5
  352. package/node_modules/@buddi/gateway/dist/tips/engine.js.map +1 -1
  353. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +23 -0
  354. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
  355. package/node_modules/@buddi/gateway/dist/tips/facts.js +19 -0
  356. package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
  357. package/node_modules/@buddi/gateway/dist/tips/route.js +2 -2
  358. package/node_modules/@buddi/gateway/dist/tips/route.js.map +1 -1
  359. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +3 -2
  360. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
  361. package/node_modules/@buddi/gateway/dist/tips/rules.js +26 -0
  362. package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
  363. package/node_modules/@buddi/gateway/dist/web/alerts.d.ts +179 -0
  364. package/node_modules/@buddi/gateway/dist/web/alerts.d.ts.map +1 -0
  365. package/node_modules/@buddi/gateway/dist/web/alerts.js +363 -0
  366. package/node_modules/@buddi/gateway/dist/web/alerts.js.map +1 -0
  367. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +103 -0
  368. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -0
  369. package/node_modules/@buddi/gateway/dist/web/api-routes.js +1239 -0
  370. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -0
  371. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +17 -0
  372. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -0
  373. package/node_modules/@buddi/gateway/dist/web/api-scan.js +206 -0
  374. package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -0
  375. package/node_modules/@buddi/gateway/dist/web/api-tokens.d.ts +58 -0
  376. package/node_modules/@buddi/gateway/dist/web/api-tokens.d.ts.map +1 -0
  377. package/node_modules/@buddi/gateway/dist/web/api-tokens.js +136 -0
  378. package/node_modules/@buddi/gateway/dist/web/api-tokens.js.map +1 -0
  379. package/node_modules/@buddi/gateway/dist/web/backups.js +2 -2
  380. package/node_modules/@buddi/gateway/dist/web/backups.js.map +1 -1
  381. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +1 -0
  382. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  383. package/node_modules/@buddi/gateway/dist/web/chat.js +4 -3
  384. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  385. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.d.ts +18 -0
  386. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.d.ts.map +1 -0
  387. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.js +46 -0
  388. package/node_modules/@buddi/gateway/dist/web/group-lifecycle.js.map +1 -0
  389. package/node_modules/@buddi/gateway/dist/web/lock-image.d.ts +37 -0
  390. package/node_modules/@buddi/gateway/dist/web/lock-image.d.ts.map +1 -0
  391. package/node_modules/@buddi/gateway/dist/web/lock-image.js +253 -0
  392. package/node_modules/@buddi/gateway/dist/web/lock-image.js.map +1 -0
  393. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +165 -0
  394. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -0
  395. package/node_modules/@buddi/gateway/dist/web/lock.js +478 -0
  396. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -0
  397. package/node_modules/@buddi/gateway/dist/web/pages.d.ts +1 -0
  398. package/node_modules/@buddi/gateway/dist/web/pages.d.ts.map +1 -1
  399. package/node_modules/@buddi/gateway/dist/web/pages.js +12 -1
  400. package/node_modules/@buddi/gateway/dist/web/pages.js.map +1 -1
  401. package/node_modules/@buddi/gateway/dist/web/places.d.ts +27 -0
  402. package/node_modules/@buddi/gateway/dist/web/places.d.ts.map +1 -0
  403. package/node_modules/@buddi/gateway/dist/web/places.js +90 -0
  404. package/node_modules/@buddi/gateway/dist/web/places.js.map +1 -0
  405. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +28 -0
  406. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
  407. package/node_modules/@buddi/gateway/dist/web/plugins.js +83 -9
  408. package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
  409. package/node_modules/@buddi/gateway/dist/web/read.d.ts +52 -26
  410. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  411. package/node_modules/@buddi/gateway/dist/web/read.js +52 -36
  412. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  413. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts +61 -1
  414. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
  415. package/node_modules/@buddi/gateway/dist/web/secrets.js +111 -3
  416. package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
  417. package/node_modules/@buddi/gateway/dist/web/server.d.ts +9 -0
  418. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  419. package/node_modules/@buddi/gateway/dist/web/server.js +531 -46
  420. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  421. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +43 -2
  422. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  423. package/node_modules/@buddi/gateway/dist/web/sessions.js +67 -3
  424. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  425. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +17 -18
  426. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -1
  427. package/node_modules/@buddi/gateway/dist/web/signed-out.js +135 -33
  428. package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -1
  429. package/node_modules/@buddi/gateway/dist/web/stream.d.ts.map +1 -1
  430. package/node_modules/@buddi/gateway/dist/web/stream.js +14 -0
  431. package/node_modules/@buddi/gateway/dist/web/stream.js.map +1 -1
  432. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts +33 -4
  433. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +1 -1
  434. package/node_modules/@buddi/gateway/dist/web/tailscale.js +76 -16
  435. package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +1 -1
  436. package/node_modules/@buddi/gateway/dist/web/widgets.d.ts +131 -0
  437. package/node_modules/@buddi/gateway/dist/web/widgets.d.ts.map +1 -0
  438. package/node_modules/@buddi/gateway/dist/web/widgets.js +478 -0
  439. package/node_modules/@buddi/gateway/dist/web/widgets.js.map +1 -0
  440. package/node_modules/@buddi/gateway/dist/web/write.d.ts +23 -0
  441. package/node_modules/@buddi/gateway/dist/web/write.d.ts.map +1 -1
  442. package/node_modules/@buddi/gateway/dist/web/write.js +46 -1
  443. package/node_modules/@buddi/gateway/dist/web/write.js.map +1 -1
  444. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  445. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  446. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +15 -0
  447. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  448. package/node_modules/@buddi/runtime/dist/anthropic.js +26 -9
  449. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  450. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +2 -1
  451. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -1
  452. package/node_modules/@buddi/runtime/dist/codex-direct.js +13 -6
  453. package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -1
  454. package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
  455. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  456. package/node_modules/@buddi/runtime/dist/index.js +1 -0
  457. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  458. package/node_modules/@buddi/runtime/dist/loop.d.ts +2 -0
  459. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  460. package/node_modules/@buddi/runtime/dist/loop.js +22 -0
  461. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  462. package/node_modules/@buddi/runtime/dist/openai.d.ts +34 -1
  463. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  464. package/node_modules/@buddi/runtime/dist/openai.js +85 -19
  465. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  466. package/node_modules/@buddi/runtime/dist/rate-limit.d.ts +91 -0
  467. package/node_modules/@buddi/runtime/dist/rate-limit.d.ts.map +1 -0
  468. package/node_modules/@buddi/runtime/dist/rate-limit.js +291 -0
  469. package/node_modules/@buddi/runtime/dist/rate-limit.js.map +1 -0
  470. package/node_modules/@buddi/runtime/dist/retry.d.ts +40 -0
  471. package/node_modules/@buddi/runtime/dist/retry.d.ts.map +1 -1
  472. package/node_modules/@buddi/runtime/dist/retry.js +42 -8
  473. package/node_modules/@buddi/runtime/dist/retry.js.map +1 -1
  474. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  475. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  476. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  477. package/node_modules/@buddi/tool-email/dist/agent.js +1 -1
  478. package/node_modules/@buddi/tool-email/dist/folders.d.ts +14 -0
  479. package/node_modules/@buddi/tool-email/dist/folders.d.ts.map +1 -1
  480. package/node_modules/@buddi/tool-email/dist/folders.js +23 -0
  481. package/node_modules/@buddi/tool-email/dist/folders.js.map +1 -1
  482. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts +55 -0
  483. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts.map +1 -1
  484. package/node_modules/@buddi/tool-email/dist/imap/fake.js +163 -4
  485. package/node_modules/@buddi/tool-email/dist/imap/fake.js.map +1 -1
  486. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +8 -0
  487. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
  488. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +124 -4
  489. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
  490. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  491. package/node_modules/@buddi/tool-email/dist/index.js +3 -0
  492. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  493. package/node_modules/@buddi/tool-email/dist/mail.d.ts +48 -0
  494. package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
  495. package/node_modules/@buddi/tool-email/dist/mail.js +119 -0
  496. package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
  497. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts +90 -5
  498. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts.map +1 -1
  499. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js +643 -200
  500. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js.map +1 -1
  501. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts +6 -0
  502. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts.map +1 -1
  503. package/node_modules/@buddi/tool-email/dist/mailbox/select.js +20 -2
  504. package/node_modules/@buddi/tool-email/dist/mailbox/select.js.map +1 -1
  505. package/node_modules/@buddi/tool-email/dist/metrics.d.ts +8 -9
  506. package/node_modules/@buddi/tool-email/dist/metrics.d.ts.map +1 -1
  507. package/node_modules/@buddi/tool-email/dist/metrics.js +8 -9
  508. package/node_modules/@buddi/tool-email/dist/metrics.js.map +1 -1
  509. package/node_modules/@buddi/tool-email/dist/needs-you.d.ts +58 -0
  510. package/node_modules/@buddi/tool-email/dist/needs-you.d.ts.map +1 -0
  511. package/node_modules/@buddi/tool-email/dist/needs-you.js +97 -0
  512. package/node_modules/@buddi/tool-email/dist/needs-you.js.map +1 -0
  513. package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
  514. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +126 -80
  515. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
  516. package/node_modules/@buddi/tool-email/dist/pages/drafts-tools.d.ts +2 -2
  517. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +14 -0
  518. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  519. package/node_modules/@buddi/tool-email/dist/pages/queries.js +65 -7
  520. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  521. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts +9 -9
  522. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts.map +1 -1
  523. package/node_modules/@buddi/tool-email/dist/policies/auto.js +79 -24
  524. package/node_modules/@buddi/tool-email/dist/policies/auto.js.map +1 -1
  525. package/node_modules/@buddi/tool-email/dist/ports.d.ts +55 -0
  526. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  527. package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
  528. package/node_modules/@buddi/tool-email/dist/sentinels/suspicious-sender.d.ts.map +1 -1
  529. package/node_modules/@buddi/tool-email/dist/sentinels/suspicious-sender.js +4 -1
  530. package/node_modules/@buddi/tool-email/dist/sentinels/suspicious-sender.js.map +1 -1
  531. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.d.ts +19 -22
  532. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.d.ts.map +1 -1
  533. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.js +44 -63
  534. package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.js.map +1 -1
  535. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts +10 -2
  536. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts.map +1 -1
  537. package/node_modules/@buddi/tool-email/dist/sources/idle.js +70 -3
  538. package/node_modules/@buddi/tool-email/dist/sources/idle.js.map +1 -1
  539. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts +69 -2
  540. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
  541. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +143 -13
  542. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
  543. package/node_modules/@buddi/tool-email/dist/sources/presence.d.ts +47 -0
  544. package/node_modules/@buddi/tool-email/dist/sources/presence.d.ts.map +1 -0
  545. package/node_modules/@buddi/tool-email/dist/sources/presence.js +128 -0
  546. package/node_modules/@buddi/tool-email/dist/sources/presence.js.map +1 -0
  547. package/node_modules/@buddi/tool-email/dist/suspicions-store.d.ts +6 -0
  548. package/node_modules/@buddi/tool-email/dist/suspicions-store.d.ts.map +1 -1
  549. package/node_modules/@buddi/tool-email/dist/suspicions-store.js +16 -1
  550. package/node_modules/@buddi/tool-email/dist/suspicions-store.js.map +1 -1
  551. package/node_modules/@buddi/tool-email/dist/threads.d.ts +19 -2
  552. package/node_modules/@buddi/tool-email/dist/threads.d.ts.map +1 -1
  553. package/node_modules/@buddi/tool-email/dist/threads.js +47 -17
  554. package/node_modules/@buddi/tool-email/dist/threads.js.map +1 -1
  555. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts +3 -0
  556. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts.map +1 -1
  557. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js +9 -4
  558. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js.map +1 -1
  559. package/node_modules/@buddi/tool-email/dist/tools/read.d.ts.map +1 -1
  560. package/node_modules/@buddi/tool-email/dist/tools/read.js +29 -2
  561. package/node_modules/@buddi/tool-email/dist/tools/read.js.map +1 -1
  562. package/node_modules/@buddi/tool-email/dist/tools/threads.d.ts +7 -3
  563. package/node_modules/@buddi/tool-email/dist/tools/threads.d.ts.map +1 -1
  564. package/node_modules/@buddi/tool-email/dist/tools/threads.js +18 -5
  565. package/node_modules/@buddi/tool-email/dist/tools/threads.js.map +1 -1
  566. package/node_modules/@buddi/tool-email/dist/watchers.d.ts +91 -7
  567. package/node_modules/@buddi/tool-email/dist/watchers.d.ts.map +1 -1
  568. package/node_modules/@buddi/tool-email/dist/watchers.js +164 -1
  569. package/node_modules/@buddi/tool-email/dist/watchers.js.map +1 -1
  570. package/node_modules/@buddi/tool-email/dist/widgets.d.ts +14 -0
  571. package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -0
  572. package/node_modules/@buddi/tool-email/dist/widgets.js +51 -0
  573. package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -0
  574. package/node_modules/@buddi/tool-email/migrations/020_mailbox_presence.sql +44 -0
  575. package/node_modules/@buddi/tool-email/migrations/021_learned_line.sql +9 -0
  576. package/node_modules/@buddi/tool-email/migrations/022_bulk_checked.sql +13 -0
  577. package/node_modules/@buddi/tool-email/migrations/023_attention.sql +100 -0
  578. package/node_modules/@buddi/tool-email/migrations/024_auth_domain.sql +9 -0
  579. package/node_modules/@buddi/tool-email/migrations/025_thread_ignore.sql +77 -0
  580. package/node_modules/@buddi/tool-email/package.json +1 -1
  581. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  582. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  583. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  584. package/node_modules/@buddi/tool-memory/dist/admin.d.ts +9 -0
  585. package/node_modules/@buddi/tool-memory/dist/admin.d.ts.map +1 -1
  586. package/node_modules/@buddi/tool-memory/dist/admin.js +11 -0
  587. package/node_modules/@buddi/tool-memory/dist/admin.js.map +1 -1
  588. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  589. package/node_modules/ip-address/README.md +34 -34
  590. package/node_modules/ip-address/dist/ipv4.js +7 -0
  591. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  592. package/node_modules/ip-address/package.json +1 -1
  593. package/package.json +2 -2
  594. package/packages/cli/dist/.tsbuildinfo +1 -1
  595. package/packages/cli/dist/args.d.ts +19 -3
  596. package/packages/cli/dist/args.d.ts.map +1 -1
  597. package/packages/cli/dist/args.js +19 -5
  598. package/packages/cli/dist/args.js.map +1 -1
  599. package/packages/cli/dist/commands.d.ts.map +1 -1
  600. package/packages/cli/dist/commands.js +80 -8
  601. package/packages/cli/dist/commands.js.map +1 -1
  602. package/packages/cli/dist/dashboard-cmd.d.ts +3 -0
  603. package/packages/cli/dist/dashboard-cmd.d.ts.map +1 -1
  604. package/packages/cli/dist/dashboard-cmd.js +63 -0
  605. package/packages/cli/dist/dashboard-cmd.js.map +1 -1
  606. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  607. package/packages/cli/dist/doctor-probes.js +11 -4
  608. package/packages/cli/dist/doctor-probes.js.map +1 -1
  609. package/packages/cli/dist/doctor.d.ts +1 -1
  610. package/packages/cli/dist/doctor.d.ts.map +1 -1
  611. package/packages/cli/dist/jobs-cmd.d.ts +4 -0
  612. package/packages/cli/dist/jobs-cmd.d.ts.map +1 -1
  613. package/packages/cli/dist/jobs-cmd.js +53 -4
  614. package/packages/cli/dist/jobs-cmd.js.map +1 -1
  615. package/packages/cli/dist/main.d.ts.map +1 -1
  616. package/packages/cli/dist/main.js +27 -2
  617. package/packages/cli/dist/main.js.map +1 -1
  618. package/packages/cli/dist/mcp/gateway-client.d.ts +19 -17
  619. package/packages/cli/dist/mcp/gateway-client.d.ts.map +1 -1
  620. package/packages/cli/dist/mcp/gateway-client.js +128 -29
  621. package/packages/cli/dist/mcp/gateway-client.js.map +1 -1
  622. package/packages/cli/dist/mcp/tools.d.ts +6 -0
  623. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  624. package/packages/cli/dist/mcp/tools.js +20 -1
  625. package/packages/cli/dist/mcp/tools.js.map +1 -1
  626. package/packages/cli/dist/telegram-cmd.d.ts.map +1 -1
  627. package/packages/cli/dist/telegram-cmd.js +5 -4
  628. package/packages/cli/dist/telegram-cmd.js.map +1 -1
  629. package/packages/core/dist/.tsbuildinfo +1 -1
  630. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  631. package/packages/core/dist/agents/catalog.js +7 -6
  632. package/packages/core/dist/agents/catalog.js.map +1 -1
  633. package/packages/core/dist/agents/frontmatter.d.ts +12 -12
  634. package/packages/core/dist/agents/skills.d.ts +2 -2
  635. package/packages/core/dist/clock-widget.d.ts +38 -0
  636. package/packages/core/dist/clock-widget.d.ts.map +1 -0
  637. package/packages/core/dist/clock-widget.js +114 -0
  638. package/packages/core/dist/clock-widget.js.map +1 -0
  639. package/packages/core/dist/failures/owner-message.d.ts +25 -0
  640. package/packages/core/dist/failures/owner-message.d.ts.map +1 -1
  641. package/packages/core/dist/failures/owner-message.js +90 -0
  642. package/packages/core/dist/failures/owner-message.js.map +1 -1
  643. package/packages/core/dist/feedback/index.d.ts +23 -2
  644. package/packages/core/dist/feedback/index.d.ts.map +1 -1
  645. package/packages/core/dist/feedback/index.js +23 -3
  646. package/packages/core/dist/feedback/index.js.map +1 -1
  647. package/packages/core/dist/groups.d.ts +33 -0
  648. package/packages/core/dist/groups.d.ts.map +1 -1
  649. package/packages/core/dist/groups.js +76 -4
  650. package/packages/core/dist/groups.js.map +1 -1
  651. package/packages/core/dist/home.d.ts +5 -5
  652. package/packages/core/dist/host/build.d.ts +19 -1
  653. package/packages/core/dist/host/build.d.ts.map +1 -1
  654. package/packages/core/dist/host/build.js +122 -2
  655. package/packages/core/dist/host/build.js.map +1 -1
  656. package/packages/core/dist/host/types.d.ts +33 -0
  657. package/packages/core/dist/host/types.d.ts.map +1 -1
  658. package/packages/core/dist/index.d.ts +8 -0
  659. package/packages/core/dist/index.d.ts.map +1 -1
  660. package/packages/core/dist/index.js +8 -0
  661. package/packages/core/dist/index.js.map +1 -1
  662. package/packages/core/dist/lock.d.ts +82 -0
  663. package/packages/core/dist/lock.d.ts.map +1 -0
  664. package/packages/core/dist/lock.js +182 -0
  665. package/packages/core/dist/lock.js.map +1 -0
  666. package/packages/core/dist/metrics.d.ts.map +1 -1
  667. package/packages/core/dist/metrics.js +4 -2
  668. package/packages/core/dist/metrics.js.map +1 -1
  669. package/packages/core/dist/onboarding/store.d.ts +5 -0
  670. package/packages/core/dist/onboarding/store.d.ts.map +1 -1
  671. package/packages/core/dist/onboarding/store.js +35 -5
  672. package/packages/core/dist/onboarding/store.js.map +1 -1
  673. package/packages/core/dist/onboarding/types.d.ts +10 -0
  674. package/packages/core/dist/onboarding/types.d.ts.map +1 -1
  675. package/packages/core/dist/onboarding/types.js +2 -0
  676. package/packages/core/dist/onboarding/types.js.map +1 -1
  677. package/packages/core/dist/owner-format.d.ts +14 -0
  678. package/packages/core/dist/owner-format.d.ts.map +1 -0
  679. package/packages/core/dist/owner-format.js +47 -0
  680. package/packages/core/dist/owner-format.js.map +1 -0
  681. package/packages/core/dist/owner-timezone.d.ts +46 -0
  682. package/packages/core/dist/owner-timezone.d.ts.map +1 -0
  683. package/packages/core/dist/owner-timezone.js +43 -0
  684. package/packages/core/dist/owner-timezone.js.map +1 -0
  685. package/packages/core/dist/pages.d.ts +13 -39
  686. package/packages/core/dist/pages.d.ts.map +1 -1
  687. package/packages/core/dist/pages.js +12 -1
  688. package/packages/core/dist/pages.js.map +1 -1
  689. package/packages/core/dist/places.d.ts +110 -0
  690. package/packages/core/dist/places.d.ts.map +1 -0
  691. package/packages/core/dist/places.js +239 -0
  692. package/packages/core/dist/places.js.map +1 -0
  693. package/packages/core/dist/plugin/index.d.ts +9 -2
  694. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  695. package/packages/core/dist/plugin/index.js +3 -0
  696. package/packages/core/dist/plugin/index.js.map +1 -1
  697. package/packages/core/dist/plugin/requires.d.ts +75 -0
  698. package/packages/core/dist/plugin/requires.d.ts.map +1 -0
  699. package/packages/core/dist/plugin/requires.js +77 -0
  700. package/packages/core/dist/plugin/requires.js.map +1 -0
  701. package/packages/core/dist/plugin/uses.d.ts +1 -1
  702. package/packages/core/dist/plugin/uses.d.ts.map +1 -1
  703. package/packages/core/dist/plugin/uses.js +2 -0
  704. package/packages/core/dist/plugin/uses.js.map +1 -1
  705. package/packages/core/dist/plugin/version.d.ts +1 -1
  706. package/packages/core/dist/plugin/version.js +1 -1
  707. package/packages/core/dist/queue/failures.d.ts +84 -0
  708. package/packages/core/dist/queue/failures.d.ts.map +1 -0
  709. package/packages/core/dist/queue/failures.js +195 -0
  710. package/packages/core/dist/queue/failures.js.map +1 -0
  711. package/packages/core/dist/queue/index.d.ts +1 -0
  712. package/packages/core/dist/queue/index.d.ts.map +1 -1
  713. package/packages/core/dist/queue/index.js +1 -0
  714. package/packages/core/dist/queue/index.js.map +1 -1
  715. package/packages/core/dist/queue/jobs.d.ts +39 -3
  716. package/packages/core/dist/queue/jobs.d.ts.map +1 -1
  717. package/packages/core/dist/queue/jobs.js +54 -4
  718. package/packages/core/dist/queue/jobs.js.map +1 -1
  719. package/packages/core/dist/queue/retry-policy.d.ts +5 -0
  720. package/packages/core/dist/queue/retry-policy.d.ts.map +1 -1
  721. package/packages/core/dist/queue/retry-policy.js +19 -2
  722. package/packages/core/dist/queue/retry-policy.js.map +1 -1
  723. package/packages/core/dist/queue/types.d.ts +20 -0
  724. package/packages/core/dist/queue/types.d.ts.map +1 -1
  725. package/packages/core/dist/queue/types.js +17 -0
  726. package/packages/core/dist/queue/types.js.map +1 -1
  727. package/packages/core/dist/registry.d.ts +37 -2
  728. package/packages/core/dist/registry.d.ts.map +1 -1
  729. package/packages/core/dist/registry.js +137 -3
  730. package/packages/core/dist/registry.js.map +1 -1
  731. package/packages/core/dist/scheduler/enqueue.d.ts +71 -0
  732. package/packages/core/dist/scheduler/enqueue.d.ts.map +1 -0
  733. package/packages/core/dist/scheduler/enqueue.js +116 -0
  734. package/packages/core/dist/scheduler/enqueue.js.map +1 -0
  735. package/packages/core/dist/scheduler/index.d.ts +1 -0
  736. package/packages/core/dist/scheduler/index.d.ts.map +1 -1
  737. package/packages/core/dist/scheduler/index.js +1 -0
  738. package/packages/core/dist/scheduler/index.js.map +1 -1
  739. package/packages/core/dist/scheduler/missions.d.ts +15 -0
  740. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  741. package/packages/core/dist/scheduler/missions.js +43 -4
  742. package/packages/core/dist/scheduler/missions.js.map +1 -1
  743. package/packages/core/dist/scheduler/types.d.ts +10 -0
  744. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  745. package/packages/core/dist/scheduler/types.js +3 -0
  746. package/packages/core/dist/scheduler/types.js.map +1 -1
  747. package/packages/core/dist/secrets/settings.d.ts +6 -6
  748. package/packages/core/dist/secrets/settings.d.ts.map +1 -1
  749. package/packages/core/dist/secrets/settings.js +23 -3
  750. package/packages/core/dist/secrets/settings.js.map +1 -1
  751. package/packages/core/dist/semver.d.ts +17 -0
  752. package/packages/core/dist/semver.d.ts.map +1 -1
  753. package/packages/core/dist/semver.js +130 -0
  754. package/packages/core/dist/semver.js.map +1 -1
  755. package/packages/core/dist/sentinels/digest.d.ts +8 -1
  756. package/packages/core/dist/sentinels/digest.d.ts.map +1 -1
  757. package/packages/core/dist/sentinels/digest.js +10 -3
  758. package/packages/core/dist/sentinels/digest.js.map +1 -1
  759. package/packages/core/dist/sentinels/index.d.ts +1 -0
  760. package/packages/core/dist/sentinels/index.d.ts.map +1 -1
  761. package/packages/core/dist/sentinels/index.js +1 -0
  762. package/packages/core/dist/sentinels/index.js.map +1 -1
  763. package/packages/core/dist/sentinels/mutes.d.ts +51 -0
  764. package/packages/core/dist/sentinels/mutes.d.ts.map +1 -0
  765. package/packages/core/dist/sentinels/mutes.js +86 -0
  766. package/packages/core/dist/sentinels/mutes.js.map +1 -0
  767. package/packages/core/dist/sentinels/run.d.ts +20 -5
  768. package/packages/core/dist/sentinels/run.d.ts.map +1 -1
  769. package/packages/core/dist/sentinels/run.js +105 -42
  770. package/packages/core/dist/sentinels/run.js.map +1 -1
  771. package/packages/core/dist/sentinels/types.d.ts +165 -2
  772. package/packages/core/dist/sentinels/types.d.ts.map +1 -1
  773. package/packages/core/dist/sentinels/types.js +126 -2
  774. package/packages/core/dist/sentinels/types.js.map +1 -1
  775. package/packages/core/dist/sources/run.d.ts +8 -0
  776. package/packages/core/dist/sources/run.d.ts.map +1 -1
  777. package/packages/core/dist/sources/run.js +1 -1
  778. package/packages/core/dist/sources/run.js.map +1 -1
  779. package/packages/core/dist/sources/watch.d.ts +3 -0
  780. package/packages/core/dist/sources/watch.d.ts.map +1 -1
  781. package/packages/core/dist/sources/watch.js +1 -1
  782. package/packages/core/dist/sources/watch.js.map +1 -1
  783. package/packages/core/dist/time.d.ts +17 -3
  784. package/packages/core/dist/time.d.ts.map +1 -1
  785. package/packages/core/dist/time.js +27 -3
  786. package/packages/core/dist/time.js.map +1 -1
  787. package/packages/core/dist/tools.d.ts +30 -1
  788. package/packages/core/dist/tools.d.ts.map +1 -1
  789. package/packages/core/dist/tools.js.map +1 -1
  790. package/packages/core/dist/views.d.ts +164 -164
  791. package/packages/core/dist/views.d.ts.map +1 -1
  792. package/packages/core/dist/views.js +5 -0
  793. package/packages/core/dist/views.js.map +1 -1
  794. package/packages/core/dist/widget-settings.d.ts +161 -0
  795. package/packages/core/dist/widget-settings.d.ts.map +1 -0
  796. package/packages/core/dist/widget-settings.js +314 -0
  797. package/packages/core/dist/widget-settings.js.map +1 -0
  798. package/packages/core/dist/widgets.d.ts +206 -0
  799. package/packages/core/dist/widgets.d.ts.map +1 -0
  800. package/packages/core/dist/widgets.js +247 -0
  801. package/packages/core/dist/widgets.js.map +1 -0
  802. package/packages/core/migrations/059_dashboard_lock.sql +33 -0
  803. package/packages/core/migrations/060_owner_places.sql +30 -0
  804. package/packages/core/migrations/061_owner_formats.sql +10 -0
  805. package/packages/core/migrations/062_group_deleted.sql +7 -0
  806. package/packages/core/migrations/063_provider_account_limits.sql +20 -0
  807. package/packages/core/migrations/064_mission_coalesce.sql +12 -0
  808. package/packages/core/migrations/065_api_tokens.sql +28 -0
  809. package/packages/core/migrations/066_alert_decisions.sql +45 -0
  810. package/packages/core/migrations/067_job_acknowledged.sql +21 -0
  811. package/packages/gateway/dist/.tsbuildinfo +1 -1
  812. package/packages/gateway/dist/account-limits.d.ts +45 -0
  813. package/packages/gateway/dist/account-limits.d.ts.map +1 -0
  814. package/packages/gateway/dist/account-limits.js +87 -0
  815. package/packages/gateway/dist/account-limits.js.map +1 -0
  816. package/packages/gateway/dist/accounts-cli.d.ts +88 -0
  817. package/packages/gateway/dist/accounts-cli.d.ts.map +1 -0
  818. package/packages/gateway/dist/accounts-cli.js +216 -0
  819. package/packages/gateway/dist/accounts-cli.js.map +1 -0
  820. package/packages/gateway/dist/agents/canvas.d.ts +20 -20
  821. package/packages/gateway/dist/agents/learning-digest.d.ts +4 -0
  822. package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  823. package/packages/gateway/dist/agents/learning-digest.js +18 -5
  824. package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
  825. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  826. package/packages/gateway/dist/agents/owner-tools.js +3 -2
  827. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  828. package/packages/gateway/dist/agents/platform.d.ts +24 -24
  829. package/packages/gateway/dist/api-token-cli.d.ts +17 -0
  830. package/packages/gateway/dist/api-token-cli.d.ts.map +1 -0
  831. package/packages/gateway/dist/api-token-cli.js +108 -0
  832. package/packages/gateway/dist/api-token-cli.js.map +1 -0
  833. package/packages/gateway/dist/bootstrap.d.ts +6 -2
  834. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  835. package/packages/gateway/dist/bootstrap.js +25 -7
  836. package/packages/gateway/dist/bootstrap.js.map +1 -1
  837. package/packages/gateway/dist/chat/conversations.d.ts.map +1 -1
  838. package/packages/gateway/dist/chat/conversations.js +8 -2
  839. package/packages/gateway/dist/chat/conversations.js.map +1 -1
  840. package/packages/gateway/dist/chat/session.d.ts +5 -0
  841. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  842. package/packages/gateway/dist/chat/session.js +11 -1
  843. package/packages/gateway/dist/chat/session.js.map +1 -1
  844. package/packages/gateway/dist/cli.d.ts.map +1 -1
  845. package/packages/gateway/dist/cli.js +14 -3
  846. package/packages/gateway/dist/cli.js.map +1 -1
  847. package/packages/gateway/dist/index.d.ts +3 -0
  848. package/packages/gateway/dist/index.d.ts.map +1 -1
  849. package/packages/gateway/dist/index.js +3 -0
  850. package/packages/gateway/dist/index.js.map +1 -1
  851. package/packages/gateway/dist/missions/dead-letter.d.ts +2 -1
  852. package/packages/gateway/dist/missions/dead-letter.d.ts.map +1 -1
  853. package/packages/gateway/dist/missions/dead-letter.js +19 -5
  854. package/packages/gateway/dist/missions/dead-letter.js.map +1 -1
  855. package/packages/gateway/dist/missions/defaults.d.ts +6 -0
  856. package/packages/gateway/dist/missions/defaults.d.ts.map +1 -1
  857. package/packages/gateway/dist/missions/defaults.js +10 -2
  858. package/packages/gateway/dist/missions/defaults.js.map +1 -1
  859. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  860. package/packages/gateway/dist/missions/execute.js +49 -9
  861. package/packages/gateway/dist/missions/execute.js.map +1 -1
  862. package/packages/gateway/dist/missions/goals.d.ts +12 -1
  863. package/packages/gateway/dist/missions/goals.d.ts.map +1 -1
  864. package/packages/gateway/dist/missions/goals.js +21 -1
  865. package/packages/gateway/dist/missions/goals.js.map +1 -1
  866. package/packages/gateway/dist/missions/inline.js +1 -1
  867. package/packages/gateway/dist/missions/inline.js.map +1 -1
  868. package/packages/gateway/dist/missions/sentinel-wake.d.ts +14 -0
  869. package/packages/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
  870. package/packages/gateway/dist/missions/sentinel-wake.js +41 -2
  871. package/packages/gateway/dist/missions/sentinel-wake.js.map +1 -1
  872. package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
  873. package/packages/gateway/dist/missions-cli.js +5 -5
  874. package/packages/gateway/dist/missions-cli.js.map +1 -1
  875. package/packages/gateway/dist/nudges-cli.js +2 -2
  876. package/packages/gateway/dist/nudges-cli.js.map +1 -1
  877. package/packages/gateway/dist/owner-seed.js +2 -2
  878. package/packages/gateway/dist/owner-seed.js.map +1 -1
  879. package/packages/gateway/dist/plugins/live.d.ts +8 -1
  880. package/packages/gateway/dist/plugins/live.d.ts.map +1 -1
  881. package/packages/gateway/dist/plugins/live.js +25 -7
  882. package/packages/gateway/dist/plugins/live.js.map +1 -1
  883. package/packages/gateway/dist/plugins/load.d.ts +55 -0
  884. package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
  885. package/packages/gateway/dist/plugins/load.js +100 -4
  886. package/packages/gateway/dist/plugins/load.js.map +1 -1
  887. package/packages/gateway/dist/plugins/requires.d.ts +79 -0
  888. package/packages/gateway/dist/plugins/requires.d.ts.map +1 -0
  889. package/packages/gateway/dist/plugins/requires.js +178 -0
  890. package/packages/gateway/dist/plugins/requires.js.map +1 -0
  891. package/packages/gateway/dist/plugins/stage.d.ts +6 -0
  892. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  893. package/packages/gateway/dist/plugins/stage.js +6 -1
  894. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  895. package/packages/gateway/dist/plugins/update.d.ts +21 -0
  896. package/packages/gateway/dist/plugins/update.d.ts.map +1 -1
  897. package/packages/gateway/dist/plugins/update.js +16 -0
  898. package/packages/gateway/dist/plugins/update.js.map +1 -1
  899. package/packages/gateway/dist/plugins-cli.d.ts +1 -1
  900. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  901. package/packages/gateway/dist/plugins-cli.js +6 -2
  902. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  903. package/packages/gateway/dist/provider-accounts.d.ts +4 -0
  904. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  905. package/packages/gateway/dist/provider-accounts.js +68 -10
  906. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  907. package/packages/gateway/dist/provider-diagnostics.d.ts.map +1 -1
  908. package/packages/gateway/dist/provider-diagnostics.js +9 -0
  909. package/packages/gateway/dist/provider-diagnostics.js.map +1 -1
  910. package/packages/gateway/dist/reminders-cli.js +2 -2
  911. package/packages/gateway/dist/reminders-cli.js.map +1 -1
  912. package/packages/gateway/dist/serve.d.ts +2 -0
  913. package/packages/gateway/dist/serve.d.ts.map +1 -1
  914. package/packages/gateway/dist/serve.js +66 -8
  915. package/packages/gateway/dist/serve.js.map +1 -1
  916. package/packages/gateway/dist/surfaces/failure.d.ts.map +1 -1
  917. package/packages/gateway/dist/surfaces/failure.js +9 -1
  918. package/packages/gateway/dist/surfaces/failure.js.map +1 -1
  919. package/packages/gateway/dist/surfaces/offered-actions.d.ts +17 -0
  920. package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  921. package/packages/gateway/dist/surfaces/offered-actions.js +27 -0
  922. package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
  923. package/packages/gateway/dist/system-context.d.ts +18 -0
  924. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  925. package/packages/gateway/dist/system-context.js +46 -4
  926. package/packages/gateway/dist/system-context.js.map +1 -1
  927. package/packages/gateway/dist/telegram/main.js +3 -3
  928. package/packages/gateway/dist/telegram/main.js.map +1 -1
  929. package/packages/gateway/dist/telegram/outbound.d.ts +1 -1
  930. package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
  931. package/packages/gateway/dist/telegram/outbound.js +7 -2
  932. package/packages/gateway/dist/telegram/outbound.js.map +1 -1
  933. package/packages/gateway/dist/telegram/reactions.d.ts.map +1 -1
  934. package/packages/gateway/dist/telegram/reactions.js +12 -2
  935. package/packages/gateway/dist/telegram/reactions.js.map +1 -1
  936. package/packages/gateway/dist/telegram/surface.d.ts +4 -1
  937. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  938. package/packages/gateway/dist/telegram/surface.js +13 -3
  939. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  940. package/packages/gateway/dist/tips/engine.d.ts +2 -0
  941. package/packages/gateway/dist/tips/engine.d.ts.map +1 -1
  942. package/packages/gateway/dist/tips/engine.js +8 -5
  943. package/packages/gateway/dist/tips/engine.js.map +1 -1
  944. package/packages/gateway/dist/tips/facts.d.ts +23 -0
  945. package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
  946. package/packages/gateway/dist/tips/facts.js +19 -0
  947. package/packages/gateway/dist/tips/facts.js.map +1 -1
  948. package/packages/gateway/dist/tips/route.js +2 -2
  949. package/packages/gateway/dist/tips/route.js.map +1 -1
  950. package/packages/gateway/dist/tips/rules.d.ts +3 -2
  951. package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
  952. package/packages/gateway/dist/tips/rules.js +26 -0
  953. package/packages/gateway/dist/tips/rules.js.map +1 -1
  954. package/packages/gateway/dist/web/alerts.d.ts +179 -0
  955. package/packages/gateway/dist/web/alerts.d.ts.map +1 -0
  956. package/packages/gateway/dist/web/alerts.js +363 -0
  957. package/packages/gateway/dist/web/alerts.js.map +1 -0
  958. package/packages/gateway/dist/web/api-routes.d.ts +103 -0
  959. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -0
  960. package/packages/gateway/dist/web/api-routes.js +1239 -0
  961. package/packages/gateway/dist/web/api-routes.js.map +1 -0
  962. package/packages/gateway/dist/web/api-scan.d.ts +17 -0
  963. package/packages/gateway/dist/web/api-scan.d.ts.map +1 -0
  964. package/packages/gateway/dist/web/api-scan.js +206 -0
  965. package/packages/gateway/dist/web/api-scan.js.map +1 -0
  966. package/packages/gateway/dist/web/api-tokens.d.ts +58 -0
  967. package/packages/gateway/dist/web/api-tokens.d.ts.map +1 -0
  968. package/packages/gateway/dist/web/api-tokens.js +136 -0
  969. package/packages/gateway/dist/web/api-tokens.js.map +1 -0
  970. package/packages/gateway/dist/web/backups.js +2 -2
  971. package/packages/gateway/dist/web/backups.js.map +1 -1
  972. package/packages/gateway/dist/web/chat.d.ts +1 -0
  973. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  974. package/packages/gateway/dist/web/chat.js +4 -3
  975. package/packages/gateway/dist/web/chat.js.map +1 -1
  976. package/packages/gateway/dist/web/group-lifecycle.d.ts +18 -0
  977. package/packages/gateway/dist/web/group-lifecycle.d.ts.map +1 -0
  978. package/packages/gateway/dist/web/group-lifecycle.js +46 -0
  979. package/packages/gateway/dist/web/group-lifecycle.js.map +1 -0
  980. package/packages/gateway/dist/web/lock-image.d.ts +37 -0
  981. package/packages/gateway/dist/web/lock-image.d.ts.map +1 -0
  982. package/packages/gateway/dist/web/lock-image.js +253 -0
  983. package/packages/gateway/dist/web/lock-image.js.map +1 -0
  984. package/packages/gateway/dist/web/lock.d.ts +165 -0
  985. package/packages/gateway/dist/web/lock.d.ts.map +1 -0
  986. package/packages/gateway/dist/web/lock.js +478 -0
  987. package/packages/gateway/dist/web/lock.js.map +1 -0
  988. package/packages/gateway/dist/web/pages.d.ts +1 -0
  989. package/packages/gateway/dist/web/pages.d.ts.map +1 -1
  990. package/packages/gateway/dist/web/pages.js +12 -1
  991. package/packages/gateway/dist/web/pages.js.map +1 -1
  992. package/packages/gateway/dist/web/places.d.ts +27 -0
  993. package/packages/gateway/dist/web/places.d.ts.map +1 -0
  994. package/packages/gateway/dist/web/places.js +90 -0
  995. package/packages/gateway/dist/web/places.js.map +1 -0
  996. package/packages/gateway/dist/web/plugins.d.ts +28 -0
  997. package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
  998. package/packages/gateway/dist/web/plugins.js +83 -9
  999. package/packages/gateway/dist/web/plugins.js.map +1 -1
  1000. package/packages/gateway/dist/web/read.d.ts +52 -26
  1001. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  1002. package/packages/gateway/dist/web/read.js +52 -36
  1003. package/packages/gateway/dist/web/read.js.map +1 -1
  1004. package/packages/gateway/dist/web/secrets.d.ts +61 -1
  1005. package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
  1006. package/packages/gateway/dist/web/secrets.js +111 -3
  1007. package/packages/gateway/dist/web/secrets.js.map +1 -1
  1008. package/packages/gateway/dist/web/server.d.ts +9 -0
  1009. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  1010. package/packages/gateway/dist/web/server.js +531 -46
  1011. package/packages/gateway/dist/web/server.js.map +1 -1
  1012. package/packages/gateway/dist/web/sessions.d.ts +43 -2
  1013. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  1014. package/packages/gateway/dist/web/sessions.js +67 -3
  1015. package/packages/gateway/dist/web/sessions.js.map +1 -1
  1016. package/packages/gateway/dist/web/signed-out.d.ts +17 -18
  1017. package/packages/gateway/dist/web/signed-out.d.ts.map +1 -1
  1018. package/packages/gateway/dist/web/signed-out.js +135 -33
  1019. package/packages/gateway/dist/web/signed-out.js.map +1 -1
  1020. package/packages/gateway/dist/web/stream.d.ts.map +1 -1
  1021. package/packages/gateway/dist/web/stream.js +14 -0
  1022. package/packages/gateway/dist/web/stream.js.map +1 -1
  1023. package/packages/gateway/dist/web/tailscale.d.ts +33 -4
  1024. package/packages/gateway/dist/web/tailscale.d.ts.map +1 -1
  1025. package/packages/gateway/dist/web/tailscale.js +76 -16
  1026. package/packages/gateway/dist/web/tailscale.js.map +1 -1
  1027. package/packages/gateway/dist/web/widgets.d.ts +131 -0
  1028. package/packages/gateway/dist/web/widgets.d.ts.map +1 -0
  1029. package/packages/gateway/dist/web/widgets.js +478 -0
  1030. package/packages/gateway/dist/web/widgets.js.map +1 -0
  1031. package/packages/gateway/dist/web/write.d.ts +23 -0
  1032. package/packages/gateway/dist/web/write.d.ts.map +1 -1
  1033. package/packages/gateway/dist/web/write.js +46 -1
  1034. package/packages/gateway/dist/web/write.js.map +1 -1
  1035. package/packages/install/dist/.tsbuildinfo +1 -1
  1036. package/packages/runtime/dist/.tsbuildinfo +1 -1
  1037. package/packages/runtime/dist/anthropic.d.ts +15 -0
  1038. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  1039. package/packages/runtime/dist/anthropic.js +26 -9
  1040. package/packages/runtime/dist/anthropic.js.map +1 -1
  1041. package/packages/runtime/dist/codex-direct.d.ts +2 -1
  1042. package/packages/runtime/dist/codex-direct.d.ts.map +1 -1
  1043. package/packages/runtime/dist/codex-direct.js +13 -6
  1044. package/packages/runtime/dist/codex-direct.js.map +1 -1
  1045. package/packages/runtime/dist/index.d.ts +1 -0
  1046. package/packages/runtime/dist/index.d.ts.map +1 -1
  1047. package/packages/runtime/dist/index.js +1 -0
  1048. package/packages/runtime/dist/index.js.map +1 -1
  1049. package/packages/runtime/dist/loop.d.ts +2 -0
  1050. package/packages/runtime/dist/loop.d.ts.map +1 -1
  1051. package/packages/runtime/dist/loop.js +22 -0
  1052. package/packages/runtime/dist/loop.js.map +1 -1
  1053. package/packages/runtime/dist/openai.d.ts +34 -1
  1054. package/packages/runtime/dist/openai.d.ts.map +1 -1
  1055. package/packages/runtime/dist/openai.js +85 -19
  1056. package/packages/runtime/dist/openai.js.map +1 -1
  1057. package/packages/runtime/dist/rate-limit.d.ts +91 -0
  1058. package/packages/runtime/dist/rate-limit.d.ts.map +1 -0
  1059. package/packages/runtime/dist/rate-limit.js +291 -0
  1060. package/packages/runtime/dist/rate-limit.js.map +1 -0
  1061. package/packages/runtime/dist/retry.d.ts +40 -0
  1062. package/packages/runtime/dist/retry.d.ts.map +1 -1
  1063. package/packages/runtime/dist/retry.js +42 -8
  1064. package/packages/runtime/dist/retry.js.map +1 -1
  1065. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  1066. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  1067. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  1068. package/packages/tools/email/dist/agent.js +1 -1
  1069. package/packages/tools/email/dist/folders.d.ts +14 -0
  1070. package/packages/tools/email/dist/folders.d.ts.map +1 -1
  1071. package/packages/tools/email/dist/folders.js +23 -0
  1072. package/packages/tools/email/dist/folders.js.map +1 -1
  1073. package/packages/tools/email/dist/imap/fake.d.ts +55 -0
  1074. package/packages/tools/email/dist/imap/fake.d.ts.map +1 -1
  1075. package/packages/tools/email/dist/imap/fake.js +163 -4
  1076. package/packages/tools/email/dist/imap/fake.js.map +1 -1
  1077. package/packages/tools/email/dist/imap/imapflow-client.d.ts +8 -0
  1078. package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
  1079. package/packages/tools/email/dist/imap/imapflow-client.js +124 -4
  1080. package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
  1081. package/packages/tools/email/dist/index.d.ts.map +1 -1
  1082. package/packages/tools/email/dist/index.js +3 -0
  1083. package/packages/tools/email/dist/index.js.map +1 -1
  1084. package/packages/tools/email/dist/mail.d.ts +48 -0
  1085. package/packages/tools/email/dist/mail.d.ts.map +1 -1
  1086. package/packages/tools/email/dist/mail.js +119 -0
  1087. package/packages/tools/email/dist/mail.js.map +1 -1
  1088. package/packages/tools/email/dist/mailbox/actions.d.ts +90 -5
  1089. package/packages/tools/email/dist/mailbox/actions.d.ts.map +1 -1
  1090. package/packages/tools/email/dist/mailbox/actions.js +643 -200
  1091. package/packages/tools/email/dist/mailbox/actions.js.map +1 -1
  1092. package/packages/tools/email/dist/mailbox/select.d.ts +6 -0
  1093. package/packages/tools/email/dist/mailbox/select.d.ts.map +1 -1
  1094. package/packages/tools/email/dist/mailbox/select.js +20 -2
  1095. package/packages/tools/email/dist/mailbox/select.js.map +1 -1
  1096. package/packages/tools/email/dist/metrics.d.ts +8 -9
  1097. package/packages/tools/email/dist/metrics.d.ts.map +1 -1
  1098. package/packages/tools/email/dist/metrics.js +8 -9
  1099. package/packages/tools/email/dist/metrics.js.map +1 -1
  1100. package/packages/tools/email/dist/needs-you.d.ts +58 -0
  1101. package/packages/tools/email/dist/needs-you.d.ts.map +1 -0
  1102. package/packages/tools/email/dist/needs-you.js +97 -0
  1103. package/packages/tools/email/dist/needs-you.js.map +1 -0
  1104. package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
  1105. package/packages/tools/email/dist/pages/descriptors.js +126 -80
  1106. package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
  1107. package/packages/tools/email/dist/pages/drafts-tools.d.ts +2 -2
  1108. package/packages/tools/email/dist/pages/queries.d.ts +14 -0
  1109. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  1110. package/packages/tools/email/dist/pages/queries.js +65 -7
  1111. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  1112. package/packages/tools/email/dist/policies/auto.d.ts +9 -9
  1113. package/packages/tools/email/dist/policies/auto.d.ts.map +1 -1
  1114. package/packages/tools/email/dist/policies/auto.js +79 -24
  1115. package/packages/tools/email/dist/policies/auto.js.map +1 -1
  1116. package/packages/tools/email/dist/ports.d.ts +55 -0
  1117. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  1118. package/packages/tools/email/dist/ports.js.map +1 -1
  1119. package/packages/tools/email/dist/sentinels/suspicious-sender.d.ts.map +1 -1
  1120. package/packages/tools/email/dist/sentinels/suspicious-sender.js +4 -1
  1121. package/packages/tools/email/dist/sentinels/suspicious-sender.js.map +1 -1
  1122. package/packages/tools/email/dist/sentinels/waiting-on-me.d.ts +19 -22
  1123. package/packages/tools/email/dist/sentinels/waiting-on-me.d.ts.map +1 -1
  1124. package/packages/tools/email/dist/sentinels/waiting-on-me.js +44 -63
  1125. package/packages/tools/email/dist/sentinels/waiting-on-me.js.map +1 -1
  1126. package/packages/tools/email/dist/sources/idle.d.ts +10 -2
  1127. package/packages/tools/email/dist/sources/idle.d.ts.map +1 -1
  1128. package/packages/tools/email/dist/sources/idle.js +70 -3
  1129. package/packages/tools/email/dist/sources/idle.js.map +1 -1
  1130. package/packages/tools/email/dist/sources/inbox-poll.d.ts +69 -2
  1131. package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
  1132. package/packages/tools/email/dist/sources/inbox-poll.js +143 -13
  1133. package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
  1134. package/packages/tools/email/dist/sources/presence.d.ts +47 -0
  1135. package/packages/tools/email/dist/sources/presence.d.ts.map +1 -0
  1136. package/packages/tools/email/dist/sources/presence.js +128 -0
  1137. package/packages/tools/email/dist/sources/presence.js.map +1 -0
  1138. package/packages/tools/email/dist/suspicions-store.d.ts +6 -0
  1139. package/packages/tools/email/dist/suspicions-store.d.ts.map +1 -1
  1140. package/packages/tools/email/dist/suspicions-store.js +16 -1
  1141. package/packages/tools/email/dist/suspicions-store.js.map +1 -1
  1142. package/packages/tools/email/dist/threads.d.ts +19 -2
  1143. package/packages/tools/email/dist/threads.d.ts.map +1 -1
  1144. package/packages/tools/email/dist/threads.js +47 -17
  1145. package/packages/tools/email/dist/threads.js.map +1 -1
  1146. package/packages/tools/email/dist/tools/mailbox.d.ts +3 -0
  1147. package/packages/tools/email/dist/tools/mailbox.d.ts.map +1 -1
  1148. package/packages/tools/email/dist/tools/mailbox.js +9 -4
  1149. package/packages/tools/email/dist/tools/mailbox.js.map +1 -1
  1150. package/packages/tools/email/dist/tools/read.d.ts.map +1 -1
  1151. package/packages/tools/email/dist/tools/read.js +29 -2
  1152. package/packages/tools/email/dist/tools/read.js.map +1 -1
  1153. package/packages/tools/email/dist/tools/threads.d.ts +7 -3
  1154. package/packages/tools/email/dist/tools/threads.d.ts.map +1 -1
  1155. package/packages/tools/email/dist/tools/threads.js +18 -5
  1156. package/packages/tools/email/dist/tools/threads.js.map +1 -1
  1157. package/packages/tools/email/dist/watchers.d.ts +91 -7
  1158. package/packages/tools/email/dist/watchers.d.ts.map +1 -1
  1159. package/packages/tools/email/dist/watchers.js +164 -1
  1160. package/packages/tools/email/dist/watchers.js.map +1 -1
  1161. package/packages/tools/email/dist/widgets.d.ts +14 -0
  1162. package/packages/tools/email/dist/widgets.d.ts.map +1 -0
  1163. package/packages/tools/email/dist/widgets.js +51 -0
  1164. package/packages/tools/email/dist/widgets.js.map +1 -0
  1165. package/packages/tools/email/migrations/020_mailbox_presence.sql +44 -0
  1166. package/packages/tools/email/migrations/021_learned_line.sql +9 -0
  1167. package/packages/tools/email/migrations/022_bulk_checked.sql +13 -0
  1168. package/packages/tools/email/migrations/023_attention.sql +100 -0
  1169. package/packages/tools/email/migrations/024_auth_domain.sql +9 -0
  1170. package/packages/tools/email/migrations/025_thread_ignore.sql +77 -0
  1171. package/packages/tools/email/package.json +1 -1
  1172. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  1173. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  1174. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  1175. package/packages/tools/memory/dist/admin.d.ts +9 -0
  1176. package/packages/tools/memory/dist/admin.d.ts.map +1 -1
  1177. package/packages/tools/memory/dist/admin.js +11 -0
  1178. package/packages/tools/memory/dist/admin.js.map +1 -1
  1179. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  1180. package/packages/web/dist/assets/earth-2560-Ce3xs8Cb.webp +0 -0
  1181. package/packages/web/dist/assets/earth-phone-BqC7cDhk.webp +0 -0
  1182. package/packages/web/dist/assets/index-WS4UjGsy.js +129 -0
  1183. package/packages/web/dist/assets/index-Zrt_o2UG.css +1 -0
  1184. package/packages/web/dist/assets/{lottie_light-CSeMXM8D.js → lottie_light-Ls7i1ATS.js} +1 -1
  1185. package/packages/web/dist/build.json +1 -1
  1186. package/packages/web/dist/index.html +2 -2
  1187. package/packages/web/dist/precache.json +4 -4
  1188. package/packages/web/dist/sw.js +3 -2
  1189. package/packages/web/dist/assets/index-CKuhKCWw.js +0 -131
  1190. package/packages/web/dist/assets/index-DsK8UWCJ.css +0 -1
@@ -2,13 +2,16 @@ import { findAccount, INBOX, listAccounts, markAccountSynced } from '../config.j
2
2
  import { mailboxAuth } from '../credentials.js';
3
3
  import { clearLoginFailure, isAuthFailure, recordLoginFailure } from '../logins.js';
4
4
  import { applyPendingArrivals, oweArrivalAction } from '../mailbox/arrival.js';
5
- import { planFolders } from '../folders.js';
5
+ import { reconcilePendingChanges } from '../mailbox/actions.js';
6
+ import { placeWords, planFolders } from '../folders.js';
6
7
  import { prepareForIngest, triagePrompt } from '../mail.js';
7
8
  import { scanMessageDates, skipDates } from '../dates-store.js';
8
9
  import { applyPolicies } from '../policies/gate.js';
9
10
  import { loadPolicies, recordEvent, settleEvent } from '../policies/store.js';
10
11
  import { ownerReplies, senderVerdicts } from '../policies/learn.js';
12
+ import { sweepOpenBulkCards, tellOwnerLearned } from '../policies/auto.js';
11
13
  import { IDLE_SLOW_POLL_SECONDS, IdleWatchers } from './idle.js';
14
+ import { checkPresence } from './presence.js';
12
15
  import { FOLDER_COLUMNS, toFolder } from '../rows.js';
13
16
  import { findThread, joinThread, threadMessages } from '../threads.js';
14
17
  import { PROCESSING_VERSION } from '../tools/shared.js';
@@ -30,6 +33,11 @@ export const MAX_PER_POLL = 50;
30
33
  export const FLAG_SYNC_WINDOW = 2_000;
31
34
  /** Uids per `UID FETCH … FLAGS`, so one command line stays a sane length. */
32
35
  export const FLAG_SYNC_BATCH = 500;
36
+ /**
37
+ * Older mail whose `bulk` was never read from its headers, re-read per poll:
38
+ * at most this many messages, newest first, in one header-only fetch.
39
+ */
40
+ export const BULK_BACKFILL_PER_POLL = 200;
33
41
  /** Deadline for every single IMAP call. Env: `EMAIL_POLL_TIMEOUT_MS`. */
34
42
  export const DEFAULT_POLL_TIMEOUT_MS = 45_000;
35
43
  export const POLL_TIMEOUT_VAR = 'EMAIL_POLL_TIMEOUT_MS';
@@ -103,12 +111,13 @@ export function triageDedupKey(messageRowId) {
103
111
  * LIST/STATUS fills an uninitialised cursor but never replaces one already in
104
112
  * use.
105
113
  */
106
- async function ensureFolder(db, account, name, kind = 'other', synced = false, boundary) {
107
- const { rows } = await db.query(`insert into email.folders (account_id, name, kind, synced, uidvalidity, last_uid)
108
- values ($1, $2, $3, $4, $5, $6)
114
+ async function ensureFolder(db, account, name, kind = 'other', synced = false, boundary, specialUse = null) {
115
+ const { rows } = await db.query(`insert into email.folders (account_id, name, kind, synced, uidvalidity, last_uid, special_use)
116
+ values ($1, $2, $3, $4, $5, $6, $7)
109
117
  on conflict (account_id, name) do update
110
118
  set kind = excluded.kind,
111
119
  synced = excluded.synced,
120
+ special_use = coalesce(excluded.special_use, email.folders.special_use),
112
121
  uidvalidity = case
113
122
  when email.folders.uidvalidity is null and excluded.kind = 'sent'
114
123
  then excluded.uidvalidity
@@ -119,7 +128,7 @@ async function ensureFolder(db, account, name, kind = 'other', synced = false, b
119
128
  then excluded.last_uid
120
129
  else email.folders.last_uid
121
130
  end
122
- returning ${FOLDER_COLUMNS}`, [account.id, name, kind, synced, boundary?.uidValidity ?? null, boundary?.lastUid ?? 0]);
131
+ returning ${FOLDER_COLUMNS}`, [account.id, name, kind, synced, boundary?.uidValidity ?? null, boundary?.lastUid ?? 0, specialUse]);
123
132
  const row = rows[0];
124
133
  if (!row)
125
134
  throw new Error('email.inbox-poll: folder upsert returned no row');
@@ -177,7 +186,11 @@ async function discoverFolders(db, account, client, timeoutMs, log) {
177
186
  }
178
187
  : undefined;
179
188
  try {
180
- await ensureFolder(db, account, folder.name, folder.kind, folder.synced, boundary);
189
+ const use = listed
190
+ ? [listed.specialUse ?? '', ...listed.flags].map((f) => f.trim().toLowerCase())
191
+ .find((f) => ['\\all', '\\archive', '\\trash', '\\junk', '\\sent', '\\drafts'].includes(f)) ?? null
192
+ : null;
193
+ await ensureFolder(db, account, folder.name, folder.kind, folder.synced, boundary, use);
181
194
  if (folder.kind === 'sent')
182
195
  sentPersisted = true;
183
196
  }
@@ -237,12 +250,33 @@ async function commitBatch(db, account, folder, uidValidity, fetched, direction,
237
250
  return db.transaction(async (client) => {
238
251
  const pending = [];
239
252
  for (const message of fetched) {
253
+ /*
254
+ * Back in the inbox: a message buddi holds as gone, placed outside
255
+ * the inbox (archived, labelled, trashed in another app), or put back
256
+ * here with its new uid unknown, arriving under a new uid is the same
257
+ * message — its row follows, and it is neither stored twice nor
258
+ * triaged again.
259
+ */
260
+ if (direction === 'in' && message.messageId) {
261
+ const back = await client.query(`update email.messages m
262
+ set folder_id = $3, uidvalidity = $4, uid = $5, gone_at = null, flags = $6::jsonb
263
+ from email.folders f
264
+ where f.id = m.folder_id and m.account_id = $1 and m.message_id = $2 and m.direction = 'in'
265
+ and (m.gone_at is not null or f.kind <> 'inbox' or m.uidvalidity = 0)
266
+ and not exists (select 1 from email.messages o
267
+ where o.account_id = $1 and o.folder_id = $3 and o.uidvalidity = $4 and o.uid = $5)
268
+ returning m.id`, [account.id, message.messageId, folder.id, uidValidity, message.uid, JSON.stringify(message.flags)]);
269
+ if ((back.rowCount ?? 0) > 0) {
270
+ await client.query(`update email.threads set last_folder_id = $2, last_uidvalidity = $3, last_uid = $4 where last_message_id = $1`, [String(back.rows[0].id), folder.id, uidValidity, message.uid]);
271
+ continue;
272
+ }
273
+ }
240
274
  const { rows } = await client.query(`insert into email.messages
241
275
  (account_id, folder_id, uidvalidity, uid, message_id, thread_key, list_id, from_addr,
242
276
  to_addrs, cc, subject, date, internal_date, snippet, body_text, has_attachments,
243
- attachments, flags, direction, triage_enqueued_at, bulk)
277
+ attachments, flags, direction, triage_enqueued_at, bulk, auth_domain)
244
278
  values ($1, $2, $3, $4, $5, $6, $7, $8, $9::jsonb, $10::jsonb, $11, $12, $13, $14, $15,
245
- $16, $17::jsonb, $18::jsonb, $19, $20, $21)
279
+ $16, $17::jsonb, $18::jsonb, $19, $20, $21, $22)
246
280
  on conflict (account_id, folder_id, uidvalidity, uid) do nothing
247
281
  returning id`, [
248
282
  account.id,
@@ -267,6 +301,7 @@ async function commitBatch(db, account, folder, uidValidity, fetched, direction,
267
301
  // Sent mail is nobody's to triage; it is stamped as it lands.
268
302
  direction === 'out' ? now : null,
269
303
  message.bulk === true,
304
+ message.authDomain ?? null,
270
305
  ]);
271
306
  const id = rows[0]?.id;
272
307
  if (!id)
@@ -501,6 +536,43 @@ export function createInboxPollSource(opts) {
501
536
  complete = false;
502
537
  pass.failures.push(err);
503
538
  }
539
+ // What left the inbox in another app (`presence.ts`): after the
540
+ // flags, so a departed row keeps the flags it last had there.
541
+ try {
542
+ const reader = client;
543
+ await checkPresence(ctx.buddi.db, account, reader, polled.folder, polled.status, {
544
+ window: FLAG_SYNC_WINDOW,
545
+ now: ctx.buddi.clock.now(),
546
+ log,
547
+ deadline: (op, work) => withDeadline(op, timeoutMs, work),
548
+ });
549
+ }
550
+ catch (err) {
551
+ log(`email.inbox-poll: could not check what left ${account.address}/${folder.name}: ` +
552
+ `${err instanceof Error ? err.message : String(err)}; new mail still landed`);
553
+ complete = false;
554
+ pass.failures.push(err);
555
+ }
556
+ // Older mail never read for List-Unsubscribe / Precedence: a
557
+ // bounded few, header lines only; a newsletter found keeps the
558
+ // waiting cards for it the way a new one would.
559
+ try {
560
+ const found = await backfillBulk(ctx.buddi.db, client, polled.folder, polled.status, timeoutMs);
561
+ if (found > 0) {
562
+ log(`email.inbox-poll: ${found} older message(s) on ${account.address}/${folder.name} read as sent to many`);
563
+ const proposals = ctx.buddi.proposals;
564
+ if (proposals) {
565
+ const host = { db: ctx.buddi.db, owner: ctx.buddi.owner, proposals };
566
+ const now = ctx.buddi.clock.now();
567
+ if ((await sweepOpenBulkCards(host, now)) > 0)
568
+ await tellOwnerLearned(host, now);
569
+ }
570
+ }
571
+ }
572
+ catch (err) {
573
+ log(`email.inbox-poll: could not re-read older mail's list headers on ${account.address}/${folder.name}: ` +
574
+ `${err instanceof Error ? err.message : String(err)}; new mail still landed`);
575
+ }
504
576
  }
505
577
  }
506
578
  catch (err) {
@@ -556,6 +628,20 @@ export function createInboxPollSource(opts) {
556
628
  * drain's, and an earlier poll's that failed — is tried; a failure is
557
629
  * logged, counted, and costs nobody their triage.
558
630
  */
631
+ /*
632
+ * Intent first: a mailbox change this process did not finish (buddi
633
+ * stopped between the server change and its record) left a `pending`
634
+ * trail row. Settle it with the server before any new change acts.
635
+ */
636
+ try {
637
+ const settled = await reconcilePendingChanges(ctx, account, { connect: opts.connect, ...(opts.env ? { env: opts.env } : {}) });
638
+ if (settled > 0)
639
+ log(`email.inbox-poll: settled ${settled} interrupted mailbox change(s) on ${account.address} with the server`);
640
+ }
641
+ catch (err) {
642
+ log(`email.inbox-poll: could not settle interrupted mailbox changes on ${account.address}: ` +
643
+ `${err instanceof Error ? err.message : String(err)}; the next poll tries again`);
644
+ }
559
645
  {
560
646
  try {
561
647
  await applyPendingArrivals(ctx, account, { connect: opts.connect, ...(opts.env ? { env: opts.env } : {}) });
@@ -722,15 +808,14 @@ async function pollFolder(ctx, account, client, folder, opts) {
722
808
  * than skipped.
723
809
  *
724
810
  * **A message gone from INBOX** (archived or deleted in another client) is
725
- * simply not in the answer. `email.messages` has no "still in the inbox"
726
- * field, and this does not invent one: such a row keeps the flags it last had.
727
- * The full fetch could tell it apart; CONDSTORE without QRESYNC cannot.
811
+ * simply not in the answer here, and keeps the flags it last had; the
812
+ * presence check after this (`presence.ts`) is what records that it left.
728
813
  */
729
814
  async function syncFlags(db, account, client, folder, status, timeoutMs, log) {
730
815
  const started = Date.now();
731
816
  const serverModseq = status.highestModseq ?? null;
732
817
  const { rows } = await db.query(`select uid from email.messages
733
- where folder_id = $1 and uidvalidity = $2
818
+ where folder_id = $1 and uidvalidity = $2 and gone_at is null
734
819
  order by uid desc
735
820
  limit $3`, [folder.id, status.uidValidity, FLAG_SYNC_WINDOW]);
736
821
  const uids = rows.map((r) => Number(r.uid)).sort((a, b) => a - b);
@@ -768,11 +853,39 @@ async function syncFlags(db, account, client, folder, status, timeoutMs, log) {
768
853
  log(`email.inbox-poll: flags on ${account.address}/${folder.name} re-synced via ${mode} in ` +
769
854
  `${Date.now() - started}ms — ${uids.length} held, ${reported} reported, ${updated} changed`);
770
855
  }
856
+ /**
857
+ * Read `List-Unsubscribe` and `Precedence` for held messages stored before
858
+ * `messages.bulk` was read at ingest (`bulk_checked = false`), at most
859
+ * `BULK_BACKFILL_PER_POLL` a poll, newest first, and mark them. A message the
860
+ * server no longer has is marked too: there is nothing more to read. Returns
861
+ * how many were found to be bulk. A client without `fetchBulk` reads nothing.
862
+ */
863
+ export async function backfillBulk(db, client, folder, status, timeoutMs, limit = BULK_BACKFILL_PER_POLL) {
864
+ if (!client.fetchBulk)
865
+ return 0;
866
+ const { rows } = await db.query(`select uid from email.messages
867
+ where folder_id = $1 and uidvalidity = $2 and not bulk_checked and gone_at is null
868
+ order by uid desc
869
+ limit $3`, [folder.id, status.uidValidity, limit]);
870
+ const uids = rows.map((r) => Number(r.uid));
871
+ if (uids.length === 0)
872
+ return 0;
873
+ const read = await withDeadline('bulk headers', timeoutMs, client.fetchBulk(folder.name, uids));
874
+ const bulk = uids.filter((uid) => read.get(uid) === true);
875
+ await db.query(`update email.messages
876
+ set bulk_checked = true, bulk = bulk or uid = any($4::bigint[])
877
+ where folder_id = $1 and uidvalidity = $2 and uid = any($3::bigint[])`, [folder.id, status.uidValidity, uids, bulk]);
878
+ return bulk.length;
879
+ }
771
880
  /** Persist the generation and the cursor together, and return the fresh row. */
772
881
  async function plantCursor(db, folderId, uidValidity, lastUid) {
773
882
  const { rows } = await db.query(`update email.folders set uidvalidity = $2, last_uid = $3,
774
883
  -- A modseq belongs to its generation; the next re-sync starts over.
775
- highest_modseq = case when uidvalidity is distinct from $2 then null else highest_modseq end
884
+ highest_modseq = case when uidvalidity is distinct from $2 then null else highest_modseq end,
885
+ -- So does what the presence check last saw (presence.ts).
886
+ presence_uidnext = case when uidvalidity is distinct from $2 then null else presence_uidnext end,
887
+ presence_exists = case when uidvalidity is distinct from $2 then null else presence_exists end,
888
+ presence_modseq = case when uidvalidity is distinct from $2 then null else presence_modseq end
776
889
  where id = $1 returning ${FOLDER_COLUMNS}`, [folderId, uidValidity, lastUid]);
777
890
  const row = rows[0];
778
891
  if (!row)
@@ -976,7 +1089,9 @@ async function promptFor(ctx, account, message, decision, policies) {
976
1089
  const senderPolicy = decision.policy ??
977
1090
  policies.find((p) => p.scope === 'sender' && p.matcher === message.from.trim().toLowerCase()) ??
978
1091
  null;
1092
+ const place = await placeOf(ctx.buddi.db, message.id);
979
1093
  return triagePrompt({
1094
+ ...(place ? { place } : {}),
980
1095
  messageId: message.id,
981
1096
  from: message.from,
982
1097
  to: message.to,
@@ -1007,6 +1122,21 @@ async function promptFor(ctx, account, message, decision, policies) {
1007
1122
  ...(instructionFor(decision) ? { instruction: instructionFor(decision) } : {}),
1008
1123
  });
1009
1124
  }
1125
+ /** Where a message is now, in words, when that is not the inbox (`placeWords`); '' otherwise. */
1126
+ async function placeOf(db, messageId) {
1127
+ const { rows } = await db.query(`select m.gone_at, m.direction, f.kind, f.name, f.special_use
1128
+ from email.messages m left join email.folders f on f.id = m.folder_id where m.id = $1`, [messageId]);
1129
+ const r = rows[0];
1130
+ if (!r)
1131
+ return '';
1132
+ return placeWords({
1133
+ kind: r.kind ?? null,
1134
+ name: r.name ?? null,
1135
+ specialUse: r.special_use ?? null,
1136
+ gone: r.gone_at !== null && r.gone_at !== undefined,
1137
+ direction: r.direction === 'out' ? 'out' : 'in',
1138
+ });
1139
+ }
1010
1140
  /** How many earlier turns of the thread are quoted, and how many are a line. */
1011
1141
  export const THREAD_TURNS_QUOTED = 3;
1012
1142
  export const THREAD_TURNS_LISTED = 10;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-poll.js","sourceRoot":"","sources":["../../src/sources/inbox-poll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox-poll.js","sourceRoot":"","sources":["../../src/sources/inbox-poll.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Mail moved, archived or deleted in another mail app.
3
+ *
4
+ * Each inbox poll asks which of the messages buddi holds there have left the
5
+ * server's INBOX, and writes the answer on the rows, so the unread count, the
6
+ * Mail page, `email.select_messages` and the undo trail see the inbox as the
7
+ * owner left it on his phone.
8
+ *
9
+ * - **Usually free.** The SELECT the poll already made reports UIDNEXT and
10
+ * EXISTS. If both are what they were after the last check, nothing left
11
+ * and nothing arrived, so no command is sent at all.
12
+ * - **Otherwise one command.** On a server that ENABLEd QRESYNC (RFC 7162)
13
+ * and a modseq from the last check, the server's own VANISHED list; else a
14
+ * `UID SEARCH UID <lowest>:<highest>` over the rows buddi holds (at most
15
+ * the flag re-sync's window), diffed with them. Uids only.
16
+ * - **Gmail says where it went.** A departed message is looked up by its
17
+ * Message-ID in All Mail (archived; its X-GM-LABELS read, and a label the
18
+ * owner gave it is the folder the row points at), then Trash, then Spam.
19
+ * At most `LOCATE_PER_POLL` lookups a poll; the rest, and every departure
20
+ * on any other server, are marked gone (`messages.gone_at`, migration 020):
21
+ * no longer in the inbox, place unknown.
22
+ */
23
+ import type { DbArea } from '@buddi/core/plugin';
24
+ import type { AccountRecord, ImapClient, MailboxStatus } from '../ports.js';
25
+ import type { FolderRecord } from '../rows.js';
26
+ type Db = Pick<DbArea, 'query'>;
27
+ /** How many departed messages one poll looks up on Gmail. The rest are marked gone. */
28
+ export declare const LOCATE_PER_POLL = 50;
29
+ export interface PresenceResult {
30
+ /** How the question was answered: not asked (nothing changed), VANISHED, or a search. */
31
+ via: 'unchanged' | 'vanished' | 'search' | 'unsupported' | 'empty';
32
+ departed: number;
33
+ located: number;
34
+ gone: number;
35
+ }
36
+ /**
37
+ * Check the inbox's held rows against the server and record what left.
38
+ * `deadline` wraps each IMAP call the way the poll does.
39
+ */
40
+ export declare function checkPresence(db: Db, account: AccountRecord, client: ImapClient, folder: FolderRecord, status: MailboxStatus, opts: {
41
+ window: number;
42
+ now: Date;
43
+ log: (line: string) => void;
44
+ deadline: <T>(op: string, work: Promise<T>) => Promise<T>;
45
+ }): Promise<PresenceResult>;
46
+ export {};
47
+ //# sourceMappingURL=presence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/sources/presence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhC,uFAAuF;AACvF,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,yFAAyF;IACzF,GAAG,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAUD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3D,GACA,OAAO,CAAC,cAAc,CAAC,CAmEzB"}
@@ -0,0 +1,128 @@
1
+ import { folderRow, relocateRow, GMAIL_INBOX_LABEL } from '../mailbox/actions.js';
2
+ /** How many departed messages one poll looks up on Gmail. The rest are marked gone. */
3
+ export const LOCATE_PER_POLL = 50;
4
+ function attributes(info) {
5
+ return [info.specialUse ?? '', ...info.flags].map((f) => f.trim().toLowerCase()).filter((f) => f !== '');
6
+ }
7
+ function special(listing, use) {
8
+ return listing.find((info) => attributes(info).includes(use)) ?? null;
9
+ }
10
+ /**
11
+ * Check the inbox's held rows against the server and record what left.
12
+ * `deadline` wraps each IMAP call the way the poll does.
13
+ */
14
+ export async function checkPresence(db, account, client, folder, status, opts) {
15
+ const { rows: stateRows } = await db.query(`select presence_uidnext, presence_exists, presence_modseq, uidvalidity from email.folders where id = $1`, [folder.id]);
16
+ const state = stateRows[0];
17
+ const sameGeneration = state !== undefined && Number(state.uidvalidity) === status.uidValidity;
18
+ const record = async () => {
19
+ await db.query(`update email.folders set presence_uidnext = $2, presence_exists = $3, presence_modseq = $4
20
+ where id = $1 and uidvalidity = $5`, [folder.id, status.uidNext, status.exists, status.highestModseq ?? null, status.uidValidity]);
21
+ };
22
+ if (sameGeneration &&
23
+ state.presence_uidnext !== null && Number(state.presence_uidnext) === status.uidNext &&
24
+ state.presence_exists !== null && Number(state.presence_exists) === status.exists) {
25
+ return { via: 'unchanged', departed: 0, located: 0, gone: 0 };
26
+ }
27
+ if (!client.departures)
28
+ return { via: 'unsupported', departed: 0, located: 0, gone: 0 };
29
+ const { rows: held } = await db.query(`select id, uid, message_id from email.messages
30
+ where folder_id = $1 and uidvalidity = $2 and gone_at is null and uid > 0
31
+ order by uid desc limit $3`, [folder.id, status.uidValidity, opts.window]);
32
+ if (held.length === 0) {
33
+ await record();
34
+ return { via: 'empty', departed: 0, located: 0, gone: 0 };
35
+ }
36
+ const uids = held.map((r) => Number(r.uid));
37
+ const fromUid = Math.min(...uids);
38
+ const toUid = Math.max(...uids);
39
+ const since = sameGeneration && state.presence_modseq !== null && status.highestModseq ? String(state.presence_modseq) : null;
40
+ const answer = await opts.deadline('presence', client.departures(folder.name, { fromUid, toUid, changedSince: since }));
41
+ const via = 'vanished' in answer ? 'vanished' : 'search';
42
+ const departedUids = 'vanished' in answer
43
+ ? new Set(answer.vanished)
44
+ : (() => {
45
+ const present = new Set(answer.present);
46
+ return new Set(uids.filter((u) => !present.has(u)));
47
+ })();
48
+ const departed = held.filter((r) => departedUids.has(Number(r.uid)));
49
+ let located = 0;
50
+ let gone = 0;
51
+ if (departed.length > 0) {
52
+ const found = await locateOnGmail(db, account, client, departed, opts);
53
+ located = found.size;
54
+ const unplaced = departed.filter((r) => !found.has(String(r.id))).map((r) => String(r.id));
55
+ if (unplaced.length > 0) {
56
+ const result = await db.query(`update email.messages set gone_at = $2 where id = any($1::uuid[]) and gone_at is null`, [unplaced, opts.now]);
57
+ gone = result.rowCount ?? unplaced.length;
58
+ }
59
+ opts.log(`email.inbox-poll: ${departed.length} message(s) left ${account.address}/${folder.name} in another app ` +
60
+ `(found via ${via}): ${located} located, ${gone} marked no longer in the inbox`);
61
+ }
62
+ await record();
63
+ return { via, departed: departed.length, located, gone };
64
+ }
65
+ /**
66
+ * Gmail only: where each departed message went, by Message-ID — All Mail
67
+ * (archived, with its labels; a label that is a folder is where the row then
68
+ * points), Trash, Spam. Returns the row ids it placed.
69
+ */
70
+ async function locateOnGmail(db, account, client, departed, opts) {
71
+ const placed = new Set();
72
+ if (!client.capabilities || !client.findByMessageId || !client.fetchLabels)
73
+ return placed;
74
+ const caps = await opts.deadline('capability', client.capabilities());
75
+ if (!caps.includes('X-GM-EXT-1'))
76
+ return placed;
77
+ const listing = await opts.deadline('list', client.listMailboxes());
78
+ const allMail = special(listing, '\\all');
79
+ const places = [allMail, special(listing, '\\trash'), special(listing, '\\junk')].filter((p) => p !== null);
80
+ if (places.length === 0)
81
+ return placed;
82
+ const userFolders = new Set(listing
83
+ .filter((info) => info.name.toUpperCase() !== 'INBOX' && !attributes(info).some((a) => a.startsWith('\\') && a !== '\\haschildren' && a !== '\\hasnochildren'))
84
+ .map((info) => info.name));
85
+ const generation = new Map();
86
+ const uidValidityOf = async (name) => {
87
+ if (!generation.has(name))
88
+ generation.set(name, (await opts.deadline('select', client.open(name))).uidValidity);
89
+ return generation.get(name);
90
+ };
91
+ for (const row of departed.slice(0, LOCATE_PER_POLL)) {
92
+ const messageId = row.message_id;
93
+ if (!messageId)
94
+ continue;
95
+ for (const place of places) {
96
+ await uidValidityOf(place.name);
97
+ const uid = await opts.deadline('search', client.findByMessageId(place.name, messageId));
98
+ if (uid === null)
99
+ continue;
100
+ let folderName = place.name;
101
+ let folderUid = uid;
102
+ let labels = [];
103
+ if (place === allMail) {
104
+ labels = [...new Set(((await opts.deadline('labels', client.fetchLabels(place.name, [uid]))).get(uid) ?? [])
105
+ .filter((l) => l !== GMAIL_INBOX_LABEL))].sort();
106
+ // Labelled in another app: point the row at that label, as buddi's own move would.
107
+ const label = labels.find((l) => userFolders.has(l));
108
+ if (label) {
109
+ await uidValidityOf(label);
110
+ const there = await opts.deadline('search', client.findByMessageId(label, messageId));
111
+ if (there !== null) {
112
+ folderName = label;
113
+ folderUid = there;
114
+ }
115
+ }
116
+ }
117
+ const uidValidity = await uidValidityOf(folderName);
118
+ const info = listing.find((f) => f.name === folderName);
119
+ const use = info ? attributes(info).find((a) => ['\\all', '\\trash', '\\junk'].includes(a)) ?? null : null;
120
+ const destId = await folderRow(db, account.id, folderName, use);
121
+ await relocateRow(db, { id: String(row.id), accountId: account.id }, destId, uidValidity, folderUid, labels);
122
+ placed.add(String(row.id));
123
+ break;
124
+ }
125
+ }
126
+ return placed;
127
+ }
128
+ //# sourceMappingURL=presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.js","sourceRoot":"","sources":["../../src/sources/presence.ts"],"names":[],"mappings":"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"}