@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
@@ -56,6 +56,9 @@ export const STREAM_KINDS = {
56
56
  // own `run.finished`. It still has to end on the stream, or the page waits
57
57
  // forever — so it ends as one, with the honest `stopped`.
58
58
  'chat.run.failed': 'run.finished',
59
+ // The owner reacted on Telegram to a message in this conversation (or took
60
+ // it back, or left a note on a 👎): the page draws it now.
61
+ 'chat.reaction': 'reaction',
59
62
  };
60
63
  /** The kinds the tail asks for. Derived, so the two can never drift. */
61
64
  export const STREAM_KIND_LIST = Object.keys(STREAM_KINDS);
@@ -100,6 +103,17 @@ export function toStreamEvent(row) {
100
103
  return { event: name, data: { at, role: p.role ?? 'assistant', runId: p.runId ?? null } };
101
104
  case 'awaiting-approval':
102
105
  return { event: name, data: { at, actionId: p.actionId ?? null, runId: p.runId ?? null } };
106
+ case 'reaction':
107
+ return {
108
+ event: name,
109
+ data: {
110
+ at,
111
+ messageId: p.messageId ?? null,
112
+ ...(typeof p.value === 'string' ? { value: p.value } : {}),
113
+ ...(typeof p.emoji === 'string' ? { emoji: p.emoji } : {}),
114
+ cleared: p.cleared === true,
115
+ },
116
+ };
103
117
  case 'run.finished':
104
118
  return {
105
119
  event: name,
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/web/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/web/stream.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,11 @@ export interface TailscaleIdentityDeps {
29
29
  setting: () => Promise<TailscaleSetting | null>;
30
30
  whois: TailscaleWhois;
31
31
  /**
32
- * The caller's sign-in budget, asked immediately before the daemon is. False
33
- * means "over budget": no whois is made and the request earns no identity.
32
+ * An extra gate asked immediately before the daemon is. False means "not
33
+ * now": no whois is made and the request earns no identity. The gateway
34
+ * does not pass the sign-in limiter here any more — failed cookies and
35
+ * tickets are not questions to the daemon, and every tailnet request shares
36
+ * one address — the daemon's own budget lives in `daemonWhois`.
34
37
  */
35
38
  mayAskDaemon?: (() => boolean) | undefined;
36
39
  log?: ((line: string) => void) | undefined;
@@ -93,6 +96,12 @@ export type TailscaleRefusal = 'setting-off' | 'not-this-machine' | 'forwarded-m
93
96
  * login or address, which is what makes it safe to show on a page too.
94
97
  */
95
98
  export declare function tailscaleRefusalReason(reason: TailscaleRefusal): string;
99
+ /**
100
+ * The refusals that say nothing about who is asking: the daemon could not be
101
+ * asked, or not yet. A session is never ended for one of these — it is not an
102
+ * answer — and nothing counts it as a failed sign-in.
103
+ */
104
+ export declare function isUnansweredRefusal(reason: TailscaleRefusal | undefined): boolean;
96
105
  /** The refusals that mean "Tailscale sign-in is set up, and this login is not the one it allows". */
97
106
  export declare function isLoginRefusal(reason: TailscaleRefusal | undefined): boolean;
98
107
  /** Test seam: forget what has been said, so a suite can assert on the throttle. */
@@ -135,13 +144,14 @@ export declare function resolveTailscaleBinary(look?: BinaryLookup): string | nu
135
144
  export type TailscaleExec = (binary: string, args: string[]) => Promise<{
136
145
  code: number;
137
146
  stdout: string;
147
+ stderr?: string;
138
148
  }>;
139
149
  /**
140
150
  * One `tailscale` invocation.
141
151
  *
142
152
  * `execFile`, so there is no shell and no word of the argv is ever parsed by
143
153
  * one; a five second timeout, so a wedged daemon cannot hold a request open.
144
- * A non-zero exit is an answer ("does not know"), not a crash.
154
+ * A non-zero exit is reported, not thrown; `whoisOnce` decides what it means.
145
155
  */
146
156
  export declare const execTailscale: TailscaleExec;
147
157
  /**
@@ -201,8 +211,27 @@ export declare function whoisOnce(address: string, deps?: TailscaleDaemonDeps):
201
211
  * enough that removing a device from the tailnet takes effect while the owner
202
212
  * is still looking at the screen, and long enough that a page of a dozen
203
213
  * requests asks the daemon once.
214
+ *
215
+ * Questions about one address that arrive while it is being asked share the
216
+ * answer: a restarted gateway gets a page's dozen requests at once, and a
217
+ * dozen `tailscale` processes racing a five-second timeout is how a slow
218
+ * daemon turned into "does not know". A failure is never remembered (the next
219
+ * request asks again), "does not know" only briefly, and the daemon is asked
220
+ * at most `asksPerMinute` times a minute in all. That budget counts questions
221
+ * actually put to the daemon, never failed sign-ins, so a stale tab cannot
222
+ * spend the owner's way in.
204
223
  */
205
- export declare function daemonWhois(deps?: TailscaleDaemonDeps): TailscaleWhois;
224
+ export declare function daemonWhois(deps?: TailscaleDaemonDeps & {
225
+ asksPerMinute?: number;
226
+ }): TailscaleWhois;
227
+ /** How long "the daemon does not know this address" is remembered. */
228
+ export declare const WHOIS_UNKNOWN_CACHE_MS = 15000;
229
+ /** The most questions put to the daemon in a minute, whatever the traffic. */
230
+ export declare const DAEMON_ASKS_PER_MINUTE = 30;
231
+ /** The daemon was asked its limit this minute and is not asked again until it is over. */
232
+ export declare class TailscaleBusyError extends Error {
233
+ constructor();
234
+ }
206
235
  /** Is Tailscale running here, and who is this machine signed in as? */
207
236
  export declare function tailscaleSelf(deps?: TailscaleDaemonDeps): Promise<{
208
237
  available: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tailscale.d.ts","sourceRoot":"","sources":["../../src/web/tailscale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailscale.d.ts","sourceRoot":"","sources":["../../src/web/tailscale.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,7 @@ const REASONS = {
167
167
  'not-a-tailnet-address': 'the forwarded address is not a tailnet address',
168
168
  'not-forwarded-over-https': 'the request was not forwarded over HTTPS',
169
169
  'login-not-allowed': 'the forwarded login is not the login allowed to sign in through Tailscale',
170
- 'too-many-attempts': 'too many failed sign-ins from here to ask the local tailscaled again yet',
170
+ 'too-many-attempts': 'the local tailscaled was asked too often in the last minute; asking it again shortly',
171
171
  'daemon-unreachable': 'the local tailscaled could not be asked about the forwarded address',
172
172
  'daemon-does-not-know': 'the local tailscaled does not know the forwarded address',
173
173
  'daemon-names-another-login': 'the local tailscaled names a different login for the forwarded address',
@@ -185,6 +185,14 @@ const lastLogged = new Map();
185
185
  export function tailscaleRefusalReason(reason) {
186
186
  return REASONS[reason];
187
187
  }
188
+ /**
189
+ * The refusals that say nothing about who is asking: the daemon could not be
190
+ * asked, or not yet. A session is never ended for one of these — it is not an
191
+ * answer — and nothing counts it as a failed sign-in.
192
+ */
193
+ export function isUnansweredRefusal(reason) {
194
+ return reason === 'too-many-attempts' || reason === 'daemon-unreachable';
195
+ }
188
196
  /** The refusals that mean "Tailscale sign-in is set up, and this login is not the one it allows". */
189
197
  export function isLoginRefusal(reason) {
190
198
  return reason === 'login-not-allowed' || reason === 'daemon-names-another-login';
@@ -242,10 +250,9 @@ export async function tailscaleIdentity(req, deps) {
242
250
  * Only now is the daemon asked.
243
251
  *
244
252
  * Everything above is a string comparison this process makes to itself. The
245
- * whois is a round trip to `tailscaled` over its socket, so it sits behind
246
- * the same per-caller sign-in budget the 401 below consumes: a caller
247
- * varying a header to miss the one-minute whois cache cannot turn the
248
- * gateway into a load generator pointed at the daemon.
253
+ * whois is a round trip to `tailscaled`, so it has a budget of its own
254
+ * (`daemonWhois`): a caller varying a header to miss the one-minute whois
255
+ * cache cannot turn the gateway into a load generator pointed at the daemon.
249
256
  */
250
257
  if (deps.mayAskDaemon && !deps.mayAskDaemon())
251
258
  return complain(deps, 'too-many-attempts', at);
@@ -253,8 +260,8 @@ export async function tailscaleIdentity(req, deps) {
253
260
  try {
254
261
  profile = await deps.whois(address);
255
262
  }
256
- catch {
257
- return complain(deps, 'daemon-unreachable', at);
263
+ catch (err) {
264
+ return complain(deps, err instanceof TailscaleBusyError ? 'too-many-attempts' : 'daemon-unreachable', at);
258
265
  }
259
266
  if (!profile)
260
267
  return complain(deps, 'daemon-does-not-know', at);
@@ -329,12 +336,16 @@ function defaultCanExec(path) {
329
336
  *
330
337
  * `execFile`, so there is no shell and no word of the argv is ever parsed by
331
338
  * one; a five second timeout, so a wedged daemon cannot hold a request open.
332
- * A non-zero exit is an answer ("does not know"), not a crash.
339
+ * A non-zero exit is reported, not thrown; `whoisOnce` decides what it means.
333
340
  */
334
341
  export const execTailscale = (binary, args) => new Promise((resolve) => {
335
- execFile(binary, args, { timeout: TAILSCALE_TIMEOUT_MS, maxBuffer: MAX_OUTPUT, shell: false, windowsHide: true }, (error, stdout) => {
342
+ execFile(binary, args, { timeout: TAILSCALE_TIMEOUT_MS, maxBuffer: MAX_OUTPUT, shell: false, windowsHide: true }, (error, stdout, stderr) => {
336
343
  const code = error === null ? 0 : typeof error.code === 'number' ? error.code : 1;
337
- resolve({ code, stdout: typeof stdout === 'string' ? stdout : String(stdout ?? '') });
344
+ resolve({
345
+ code,
346
+ stdout: typeof stdout === 'string' ? stdout : String(stdout ?? ''),
347
+ stderr: typeof stderr === 'string' ? stderr : String(stderr ?? ''),
348
+ });
338
349
  });
339
350
  });
340
351
  /**
@@ -472,8 +483,17 @@ export async function whoisOnce(address, deps = {}) {
472
483
  const binary = binaryOf(deps);
473
484
  if (binary !== null) {
474
485
  const res = await (deps.exec ?? execTailscale)(binary, ['whois', '--json', address]);
475
- if (res.code !== 0)
476
- return null;
486
+ if (res.code !== 0) {
487
+ /*
488
+ * Only the daemon saying it has no such peer is an answer. Any other
489
+ * failure — a timeout, a daemon still starting, the app's CLI failing to
490
+ * reach it — is "could not ask", which must never end a session or be
491
+ * remembered as "does not know".
492
+ */
493
+ if (WHOIS_NO_MATCH.test(`${res.stderr ?? ''}\n${res.stdout}`))
494
+ return null;
495
+ throw new Error(`tailscale whois exited ${res.code}`);
496
+ }
477
497
  return parseWhois(res.stdout);
478
498
  }
479
499
  const socket = socketOf(deps);
@@ -489,20 +509,60 @@ export async function whoisOnce(address, deps = {}) {
489
509
  * enough that removing a device from the tailnet takes effect while the owner
490
510
  * is still looking at the screen, and long enough that a page of a dozen
491
511
  * requests asks the daemon once.
512
+ *
513
+ * Questions about one address that arrive while it is being asked share the
514
+ * answer: a restarted gateway gets a page's dozen requests at once, and a
515
+ * dozen `tailscale` processes racing a five-second timeout is how a slow
516
+ * daemon turned into "does not know". A failure is never remembered (the next
517
+ * request asks again), "does not know" only briefly, and the daemon is asked
518
+ * at most `asksPerMinute` times a minute in all. That budget counts questions
519
+ * actually put to the daemon, never failed sign-ins, so a stale tab cannot
520
+ * spend the owner's way in.
492
521
  */
493
522
  export function daemonWhois(deps = {}) {
494
523
  const now = deps.now ?? (() => new Date());
524
+ const limit = deps.asksPerMinute ?? DAEMON_ASKS_PER_MINUTE;
495
525
  const cache = new Map();
526
+ const inFlight = new Map();
527
+ let window = { start: Number.NEGATIVE_INFINITY, asks: 0 };
496
528
  return async (address) => {
497
529
  const at = now().getTime();
498
530
  const hit = cache.get(address);
499
- if (hit && at - hit.at < WHOIS_CACHE_MS)
531
+ if (hit && at - hit.at < (hit.profile ? WHOIS_CACHE_MS : WHOIS_UNKNOWN_CACHE_MS))
500
532
  return hit.profile;
501
- const profile = await whoisOnce(address, deps);
502
- cache.set(address, { at, profile });
503
- return profile;
533
+ const pending = inFlight.get(address);
534
+ if (pending)
535
+ return pending;
536
+ if (at - window.start >= 60_000)
537
+ window = { start: at, asks: 0 };
538
+ if (window.asks >= limit)
539
+ throw new TailscaleBusyError();
540
+ window.asks += 1;
541
+ const asking = whoisOnce(address, deps)
542
+ .then((profile) => {
543
+ if (cache.size > 1024)
544
+ cache.clear();
545
+ cache.set(address, { at: now().getTime(), profile });
546
+ return profile;
547
+ })
548
+ .finally(() => inFlight.delete(address));
549
+ inFlight.set(address, asking);
550
+ return asking;
504
551
  };
505
552
  }
553
+ /** What `tailscale whois` says when the address is no peer it knows. */
554
+ const WHOIS_NO_MATCH = /no match|not found|404/i;
555
+ /** How long "the daemon does not know this address" is remembered. */
556
+ export const WHOIS_UNKNOWN_CACHE_MS = 15_000;
557
+ /** The most questions put to the daemon in a minute, whatever the traffic. */
558
+ export const DAEMON_ASKS_PER_MINUTE = 30;
559
+ /** The daemon was asked its limit this minute and is not asked again until it is over. */
560
+ export class TailscaleBusyError extends Error {
561
+ constructor() {
562
+ super('the local tailscaled was asked too often in the last minute');
563
+ this.name = 'TailscaleBusyError';
564
+ }
565
+ }
506
566
  /** Is Tailscale running here, and who is this machine signed in as? */
507
567
  export async function tailscaleSelf(deps = {}) {
508
568
  const binary = binaryOf(deps);
@@ -1 +1 @@
1
- {"version":3,"file":"tailscale.js","sourceRoot":"","sources":["../../src/web/tailscale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailscale.js","sourceRoot":"","sources":["../../src/web/tailscale.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { type CoreToolContext, type StoredWidgetSettings, type ToolRegistry, type WidgetBody, type WidgetSettingField, type WidgetSettingOption, type WidgetSize, type WidgetSurface } from '@buddi/core';
2
+ /** The `core.web_settings` key the placements are kept under. */
3
+ export declare const WIDGETS_SETTINGS_KEY = "widgets";
4
+ /** How long one production may take before its frame says it could not load. */
5
+ export declare const WIDGET_TIMEOUT_MS = 5000;
6
+ /** After a failure, how long before it is tried again (or its refresh, if shorter). */
7
+ export declare const WIDGET_RETRY_MS = 60000;
8
+ /** At most this many placements on Home. */
9
+ export declare const WIDGET_LAYOUT_MAX = 24;
10
+ /** At most this many on the lock screen. */
11
+ export declare const LOCK_WIDGETS_MAX = 4;
12
+ /** A select's read choices are kept this long, so a Home poll does not ask the plugin each time. */
13
+ export declare const WIDGET_OPTIONS_CACHE_MS = 60000;
14
+ type Db = {
15
+ query(sql: string, params?: unknown[]): Promise<{
16
+ rows: any[];
17
+ }>;
18
+ };
19
+ export interface Placement {
20
+ /** Stable for the placement's life: what a refresh, a view and the page's React key name. */
21
+ key: string;
22
+ widget: string;
23
+ size: WidgetSize;
24
+ /** What the owner set, as kept: only what differs from the defaults. */
25
+ settings: StoredWidgetSettings;
26
+ }
27
+ /** A placement as the page reads it: with its name ("Weather · Work"). */
28
+ export interface PlacementView extends Placement {
29
+ label: string;
30
+ }
31
+ /** A field as the sheet draws it: a select's choices present when they are fixed. */
32
+ export type WidgetFieldView = Omit<WidgetSettingField, 'options'> & {
33
+ options?: WidgetSettingOption[];
34
+ dynamic?: true;
35
+ };
36
+ /** One widget as the gallery and the frame know it. */
37
+ export interface WidgetInfo {
38
+ id: string;
39
+ plugin: string;
40
+ title: string;
41
+ sizes: WidgetSize[];
42
+ link?: {
43
+ plugin: string;
44
+ page: string;
45
+ place: 'rail' | 'settings';
46
+ };
47
+ sensitive?: boolean;
48
+ /** What a placement of it can set; absent when nothing. */
49
+ settings?: WidgetFieldView[];
50
+ /** buddi's own: no plugin behind it. */
51
+ builtIn?: true;
52
+ }
53
+ /** A placement, now: what the frame draws. */
54
+ export interface WidgetView {
55
+ /** `ok`: a body. `empty`: nothing to show. `stale`: the last body, the refresh failed. `error`: failed, no body. */
56
+ state: 'ok' | 'empty' | 'stale' | 'error';
57
+ body?: WidgetBody;
58
+ /** When the body (or the nothing) was produced. */
59
+ updatedAt?: string;
60
+ /** Why the last try failed, for `stale` and `error`. */
61
+ error?: string;
62
+ }
63
+ export interface WidgetsAnswer {
64
+ available: WidgetInfo[];
65
+ home: PlacementView[];
66
+ lock: PlacementView[];
67
+ /** The owner has saved that surface; until then it is the default. */
68
+ arranged: {
69
+ home: boolean;
70
+ lock: boolean;
71
+ };
72
+ /** By placement key, for each placement of the surface asked. */
73
+ views: Record<string, WidgetView>;
74
+ }
75
+ /** How a browser reads a clock: sent while the owner left Time on Auto. */
76
+ export type HourCycle = '12' | '24';
77
+ export declare const hourOf: (value: unknown) => HourCycle | undefined;
78
+ export interface WidgetsDeps {
79
+ pool: Db;
80
+ registry: ToolRegistry;
81
+ ctx: CoreToolContext;
82
+ now: () => Date;
83
+ timeoutMs?: number;
84
+ }
85
+ interface Stored {
86
+ home?: Placement[];
87
+ lock?: Placement[];
88
+ }
89
+ /**
90
+ * What `core.web_settings.widgets` holds, read the new way. Widgets v1's
91
+ * `{ layout: [{ id, size }] }` is Home's placements with no settings: the one
92
+ * conversion, kept until the next save writes the new shape.
93
+ */
94
+ export declare function readStoredWidgets(value: unknown): Stored;
95
+ /**
96
+ * The widgets service: one per web server, holding the cache. `answer()` is
97
+ * GET; `saveSurface()` PUT; `settingsFor()` the sheet; `preview()` its live body.
98
+ */
99
+ export declare function createWidgets(deps: WidgetsDeps): {
100
+ answer: (opts?: {
101
+ surface?: WidgetSurface;
102
+ force?: string;
103
+ hour?: HourCycle;
104
+ timeFormat?: "12h" | "24h";
105
+ }) => Promise<WidgetsAnswer>;
106
+ saveSurface: (surface: WidgetSurface, body: unknown, hour?: HourCycle) => Promise<{
107
+ status: number;
108
+ body: unknown;
109
+ }>;
110
+ settingsFor: (widget: string) => Promise<{
111
+ status: number;
112
+ body: unknown;
113
+ }>;
114
+ preview: (body: unknown) => Promise<{
115
+ status: number;
116
+ body: unknown;
117
+ }>;
118
+ };
119
+ export type WidgetsService = ReturnType<typeof createWidgets>;
120
+ /** The routes, one module, as tips and connections do. */
121
+ export declare function widgetsRoute(service: WidgetsService, req: {
122
+ method: string;
123
+ path: string;
124
+ body: unknown;
125
+ query?: URLSearchParams;
126
+ }): Promise<{
127
+ status: number;
128
+ body: unknown;
129
+ }>;
130
+ export {};
131
+ //# sourceMappingURL=widgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/web/widgets.ts"],"names":[],"mappings":"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"}