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

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 (818) hide show
  1. package/extension/manifest.json +2 -2
  2. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  3. package/node_modules/@buddi/cli/dist/commands.d.ts +10 -0
  4. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  5. package/node_modules/@buddi/cli/dist/commands.js +237 -18
  6. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  7. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  8. package/node_modules/@buddi/cli/dist/doctor-probes.js +10 -8
  9. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  10. package/node_modules/@buddi/cli/dist/doctor.d.ts +28 -0
  11. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  12. package/node_modules/@buddi/cli/dist/doctor.js +36 -0
  13. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  14. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  15. package/node_modules/@buddi/cli/dist/mcp/tools.js +3 -2
  16. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  17. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  18. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +3 -0
  19. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  20. package/node_modules/@buddi/core/dist/agents/catalog.js +1 -0
  21. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  22. package/node_modules/@buddi/core/dist/agents/edit.d.ts +3 -0
  23. package/node_modules/@buddi/core/dist/agents/edit.d.ts.map +1 -1
  24. package/node_modules/@buddi/core/dist/agents/edit.js +3 -1
  25. package/node_modules/@buddi/core/dist/agents/edit.js.map +1 -1
  26. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +10 -0
  27. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  28. package/node_modules/@buddi/core/dist/agents/frontmatter.js +7 -0
  29. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  30. package/node_modules/@buddi/core/dist/agents/idle-rollover.d.ts +20 -0
  31. package/node_modules/@buddi/core/dist/agents/idle-rollover.d.ts.map +1 -0
  32. package/node_modules/@buddi/core/dist/agents/idle-rollover.js +30 -0
  33. package/node_modules/@buddi/core/dist/agents/idle-rollover.js.map +1 -0
  34. package/node_modules/@buddi/core/dist/agents/index.d.ts +1 -0
  35. package/node_modules/@buddi/core/dist/agents/index.d.ts.map +1 -1
  36. package/node_modules/@buddi/core/dist/agents/index.js +1 -0
  37. package/node_modules/@buddi/core/dist/agents/index.js.map +1 -1
  38. package/node_modules/@buddi/core/dist/backup/dump.d.ts +9 -0
  39. package/node_modules/@buddi/core/dist/backup/dump.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/backup/dump.js +10 -1
  41. package/node_modules/@buddi/core/dist/backup/dump.js.map +1 -1
  42. package/node_modules/@buddi/core/dist/backup/index.d.ts +1 -0
  43. package/node_modules/@buddi/core/dist/backup/index.d.ts.map +1 -1
  44. package/node_modules/@buddi/core/dist/backup/index.js +1 -0
  45. package/node_modules/@buddi/core/dist/backup/index.js.map +1 -1
  46. package/node_modules/@buddi/core/dist/backup/load.d.ts +18 -0
  47. package/node_modules/@buddi/core/dist/backup/load.d.ts.map +1 -1
  48. package/node_modules/@buddi/core/dist/backup/load.js +3 -2
  49. package/node_modules/@buddi/core/dist/backup/load.js.map +1 -1
  50. package/node_modules/@buddi/core/dist/backup/pending.d.ts +114 -0
  51. package/node_modules/@buddi/core/dist/backup/pending.d.ts.map +1 -0
  52. package/node_modules/@buddi/core/dist/backup/pending.js +392 -0
  53. package/node_modules/@buddi/core/dist/backup/pending.js.map +1 -0
  54. package/node_modules/@buddi/core/dist/backup/restore.d.ts +3 -1
  55. package/node_modules/@buddi/core/dist/backup/restore.d.ts.map +1 -1
  56. package/node_modules/@buddi/core/dist/backup/restore.js +55 -2
  57. package/node_modules/@buddi/core/dist/backup/restore.js.map +1 -1
  58. package/node_modules/@buddi/core/dist/feedback/index.d.ts +108 -0
  59. package/node_modules/@buddi/core/dist/feedback/index.d.ts.map +1 -0
  60. package/node_modules/@buddi/core/dist/feedback/index.js +160 -0
  61. package/node_modules/@buddi/core/dist/feedback/index.js.map +1 -0
  62. package/node_modules/@buddi/core/dist/home.d.ts +24 -0
  63. package/node_modules/@buddi/core/dist/home.d.ts.map +1 -1
  64. package/node_modules/@buddi/core/dist/home.js +3 -0
  65. package/node_modules/@buddi/core/dist/home.js.map +1 -1
  66. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  67. package/node_modules/@buddi/core/dist/host/build.js +28 -1
  68. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  69. package/node_modules/@buddi/core/dist/host/types.d.ts +29 -2
  70. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  71. package/node_modules/@buddi/core/dist/index.d.ts +1 -0
  72. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  73. package/node_modules/@buddi/core/dist/index.js +1 -0
  74. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  75. package/node_modules/@buddi/core/dist/learning/policies.d.ts +7 -1
  76. package/node_modules/@buddi/core/dist/learning/policies.d.ts.map +1 -1
  77. package/node_modules/@buddi/core/dist/learning/policies.js +4 -1
  78. package/node_modules/@buddi/core/dist/learning/policies.js.map +1 -1
  79. package/node_modules/@buddi/core/dist/learning/store.d.ts +29 -1
  80. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  81. package/node_modules/@buddi/core/dist/learning/store.js +33 -8
  82. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  83. package/node_modules/@buddi/core/dist/learning/types.d.ts +24 -1
  84. package/node_modules/@buddi/core/dist/learning/types.d.ts.map +1 -1
  85. package/node_modules/@buddi/core/dist/learning/types.js +6 -0
  86. package/node_modules/@buddi/core/dist/learning/types.js.map +1 -1
  87. package/node_modules/@buddi/core/dist/owner.d.ts +2 -1
  88. package/node_modules/@buddi/core/dist/owner.d.ts.map +1 -1
  89. package/node_modules/@buddi/core/dist/owner.js.map +1 -1
  90. package/node_modules/@buddi/core/dist/pages.d.ts +27 -0
  91. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  92. package/node_modules/@buddi/core/dist/pages.js +24 -3
  93. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  94. package/node_modules/@buddi/core/dist/plugin/index.d.ts +7 -6
  95. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  96. package/node_modules/@buddi/core/dist/plugin/index.js +1 -1
  97. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  98. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  99. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  100. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts +3 -1
  101. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts.map +1 -1
  102. package/node_modules/@buddi/core/dist/postgres/binaries.js +15 -23
  103. package/node_modules/@buddi/core/dist/postgres/binaries.js.map +1 -1
  104. package/node_modules/@buddi/core/dist/postgres/cluster.js +1 -1
  105. package/node_modules/@buddi/core/dist/postgres/cluster.js.map +1 -1
  106. package/node_modules/@buddi/core/dist/postgres/index.d.ts +1 -0
  107. package/node_modules/@buddi/core/dist/postgres/index.d.ts.map +1 -1
  108. package/node_modules/@buddi/core/dist/postgres/index.js +1 -0
  109. package/node_modules/@buddi/core/dist/postgres/index.js.map +1 -1
  110. package/node_modules/@buddi/core/dist/postgres/links.d.ts +15 -0
  111. package/node_modules/@buddi/core/dist/postgres/links.d.ts.map +1 -0
  112. package/node_modules/@buddi/core/dist/postgres/links.js +98 -0
  113. package/node_modules/@buddi/core/dist/postgres/links.js.map +1 -0
  114. package/node_modules/@buddi/core/dist/registry.d.ts +10 -1
  115. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  116. package/node_modules/@buddi/core/dist/registry.js +13 -0
  117. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  118. package/node_modules/@buddi/core/dist/sources/index.d.ts +1 -0
  119. package/node_modules/@buddi/core/dist/sources/index.d.ts.map +1 -1
  120. package/node_modules/@buddi/core/dist/sources/index.js +1 -0
  121. package/node_modules/@buddi/core/dist/sources/index.js.map +1 -1
  122. package/node_modules/@buddi/core/dist/sources/watch.d.ts +37 -0
  123. package/node_modules/@buddi/core/dist/sources/watch.d.ts.map +1 -0
  124. package/node_modules/@buddi/core/dist/sources/watch.js +81 -0
  125. package/node_modules/@buddi/core/dist/sources/watch.js.map +1 -0
  126. package/node_modules/@buddi/core/dist/tools.d.ts +47 -0
  127. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  128. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  129. package/node_modules/@buddi/core/migrations/055_pending_plugin_data.sql +24 -0
  130. package/node_modules/@buddi/core/migrations/056_dashboard_sessions.sql +37 -0
  131. package/node_modules/@buddi/core/migrations/057_proposal_decided_by.sql +34 -0
  132. package/node_modules/@buddi/core/migrations/058_message_feedback.sql +50 -0
  133. package/node_modules/@buddi/core/package.json +4 -0
  134. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  135. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +7 -1
  136. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  137. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +29 -3
  138. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
  139. package/node_modules/@buddi/gateway/dist/agents/platform-files.d.ts +2 -0
  140. package/node_modules/@buddi/gateway/dist/agents/platform-files.d.ts.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/agents/platform-files.js +2 -0
  142. package/node_modules/@buddi/gateway/dist/agents/platform-files.js.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +20 -0
  144. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/agents/platform.js +46 -3
  146. package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
  147. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +1 -1
  148. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
  149. package/node_modules/@buddi/gateway/dist/agents-cli.js +12 -2
  150. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  151. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/chat/session.js +2 -1
  153. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
  155. package/node_modules/@buddi/gateway/dist/mcp/requests.js +1 -0
  156. package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
  157. package/node_modules/@buddi/gateway/dist/plugins/approve.d.ts.map +1 -1
  158. package/node_modules/@buddi/gateway/dist/plugins/approve.js +13 -2
  159. package/node_modules/@buddi/gateway/dist/plugins/approve.js.map +1 -1
  160. package/node_modules/@buddi/gateway/dist/plugins/migrate.d.ts.map +1 -1
  161. package/node_modules/@buddi/gateway/dist/plugins/migrate.js +11 -1
  162. package/node_modules/@buddi/gateway/dist/plugins/migrate.js.map +1 -1
  163. package/node_modules/@buddi/gateway/dist/plugins/paths.d.ts +14 -0
  164. package/node_modules/@buddi/gateway/dist/plugins/paths.d.ts.map +1 -1
  165. package/node_modules/@buddi/gateway/dist/plugins/paths.js +27 -1
  166. package/node_modules/@buddi/gateway/dist/plugins/paths.js.map +1 -1
  167. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +27 -3
  168. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  169. package/node_modules/@buddi/gateway/dist/plugins/stage.js +35 -5
  170. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  171. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +4 -0
  172. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  173. package/node_modules/@buddi/gateway/dist/plugins-cli.js +42 -9
  174. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  176. package/node_modules/@buddi/gateway/dist/serve.js +14 -2
  177. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  178. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.d.ts +2 -1
  179. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.d.ts.map +1 -1
  180. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js +8 -5
  181. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  182. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.d.ts +27 -4
  183. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.d.ts.map +1 -1
  184. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.js +57 -7
  185. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.js.map +1 -1
  186. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.d.ts +89 -0
  187. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.d.ts.map +1 -0
  188. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.js +172 -0
  189. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.js.map +1 -0
  190. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.d.ts +5 -2
  191. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.d.ts.map +1 -1
  192. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.js +5 -2
  193. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.js.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +34 -2
  195. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/telegram/api.js +15 -2
  197. package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
  198. package/node_modules/@buddi/gateway/dist/telegram/env-owner.d.ts +30 -0
  199. package/node_modules/@buddi/gateway/dist/telegram/env-owner.d.ts.map +1 -0
  200. package/node_modules/@buddi/gateway/dist/telegram/env-owner.js +45 -0
  201. package/node_modules/@buddi/gateway/dist/telegram/env-owner.js.map +1 -0
  202. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts +0 -2
  203. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  204. package/node_modules/@buddi/gateway/dist/telegram/main.js +20 -25
  205. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  206. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts.map +1 -1
  207. package/node_modules/@buddi/gateway/dist/telegram/notify.js +1 -1
  208. package/node_modules/@buddi/gateway/dist/telegram/notify.js.map +1 -1
  209. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +2 -2
  210. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
  211. package/node_modules/@buddi/gateway/dist/telegram/outbound.js +12 -3
  212. package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
  213. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts +45 -0
  214. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts.map +1 -0
  215. package/node_modules/@buddi/gateway/dist/telegram/reactions.js +97 -0
  216. package/node_modules/@buddi/gateway/dist/telegram/reactions.js.map +1 -0
  217. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +27 -1
  218. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  219. package/node_modules/@buddi/gateway/dist/telegram/surface.js +186 -12
  220. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  221. package/node_modules/@buddi/gateway/dist/web/agents.d.ts +7 -1
  222. package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
  223. package/node_modules/@buddi/gateway/dist/web/agents.js +32 -2
  224. package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
  225. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +10 -3
  226. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  227. package/node_modules/@buddi/gateway/dist/web/chat.js +18 -5
  228. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  229. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +6 -1
  230. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/web/plugins.js +31 -2
  232. package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/web/proposals.d.ts +21 -0
  234. package/node_modules/@buddi/gateway/dist/web/proposals.d.ts.map +1 -1
  235. package/node_modules/@buddi/gateway/dist/web/proposals.js +50 -1
  236. package/node_modules/@buddi/gateway/dist/web/proposals.js.map +1 -1
  237. package/node_modules/@buddi/gateway/dist/web/read.d.ts +23 -0
  238. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  239. package/node_modules/@buddi/gateway/dist/web/read.js +36 -1
  240. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  241. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts +40 -2
  242. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts.map +1 -1
  243. package/node_modules/@buddi/gateway/dist/web/recovery.js +215 -18
  244. package/node_modules/@buddi/gateway/dist/web/recovery.js.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  246. package/node_modules/@buddi/gateway/dist/web/server.js +87 -29
  247. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  248. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +81 -7
  249. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  250. package/node_modules/@buddi/gateway/dist/web/sessions.js +242 -24
  251. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  252. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +46 -0
  253. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -0
  254. package/node_modules/@buddi/gateway/dist/web/signed-out.js +99 -0
  255. package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -0
  256. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts +13 -0
  257. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/web/tailscale.js +12 -0
  259. package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +1 -1
  260. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  261. package/node_modules/@buddi/install/dist/backup.d.ts +18 -0
  262. package/node_modules/@buddi/install/dist/backup.d.ts.map +1 -1
  263. package/node_modules/@buddi/install/dist/backup.js +39 -2
  264. package/node_modules/@buddi/install/dist/backup.js.map +1 -1
  265. package/node_modules/@buddi/install/dist/kept-data.d.ts +20 -0
  266. package/node_modules/@buddi/install/dist/kept-data.d.ts.map +1 -0
  267. package/node_modules/@buddi/install/dist/kept-data.js +34 -0
  268. package/node_modules/@buddi/install/dist/kept-data.js.map +1 -0
  269. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  270. package/node_modules/@buddi/install/dist/launcher.js +17 -3
  271. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  272. package/node_modules/@buddi/install/dist/postgres-check.d.ts +18 -0
  273. package/node_modules/@buddi/install/dist/postgres-check.d.ts.map +1 -0
  274. package/node_modules/@buddi/install/dist/postgres-check.js +66 -0
  275. package/node_modules/@buddi/install/dist/postgres-check.js.map +1 -0
  276. package/node_modules/@buddi/install/dist/upgrade.d.ts +3 -0
  277. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  278. package/node_modules/@buddi/install/dist/upgrade.js +30 -0
  279. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  280. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  281. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  282. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  283. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  284. package/node_modules/@buddi/tool-email/dist/agent.d.ts.map +1 -1
  285. package/node_modules/@buddi/tool-email/dist/agent.js +11 -0
  286. package/node_modules/@buddi/tool-email/dist/agent.js.map +1 -1
  287. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts +89 -3
  288. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts.map +1 -1
  289. package/node_modules/@buddi/tool-email/dist/imap/fake.js +234 -4
  290. package/node_modules/@buddi/tool-email/dist/imap/fake.js.map +1 -1
  291. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +14 -1
  292. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
  293. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +157 -2
  294. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
  295. package/node_modules/@buddi/tool-email/dist/index.d.ts +14 -2
  296. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  297. package/node_modules/@buddi/tool-email/dist/index.js +23 -4
  298. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  299. package/node_modules/@buddi/tool-email/dist/logins.d.ts +24 -0
  300. package/node_modules/@buddi/tool-email/dist/logins.d.ts.map +1 -0
  301. package/node_modules/@buddi/tool-email/dist/logins.js +35 -0
  302. package/node_modules/@buddi/tool-email/dist/logins.js.map +1 -0
  303. package/node_modules/@buddi/tool-email/dist/mail.d.ts +14 -0
  304. package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
  305. package/node_modules/@buddi/tool-email/dist/mail.js +23 -0
  306. package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
  307. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts +205 -0
  308. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts.map +1 -0
  309. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js +662 -0
  310. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js.map +1 -0
  311. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.d.ts +61 -0
  312. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.d.ts.map +1 -0
  313. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.js +153 -0
  314. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.js.map +1 -0
  315. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts +53 -0
  316. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts.map +1 -0
  317. package/node_modules/@buddi/tool-email/dist/mailbox/select.js +117 -0
  318. package/node_modules/@buddi/tool-email/dist/mailbox/select.js.map +1 -0
  319. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts +37 -1
  320. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts.map +1 -1
  321. package/node_modules/@buddi/tool-email/dist/pages/accounts.js +104 -2
  322. package/node_modules/@buddi/tool-email/dist/pages/accounts.js.map +1 -1
  323. package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
  324. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +142 -0
  325. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
  326. package/node_modules/@buddi/tool-email/dist/pages/drafts-tools.d.ts +2 -2
  327. package/node_modules/@buddi/tool-email/dist/pages/format.d.ts +1 -12
  328. package/node_modules/@buddi/tool-email/dist/pages/format.d.ts.map +1 -1
  329. package/node_modules/@buddi/tool-email/dist/pages/format.js +17 -0
  330. package/node_modules/@buddi/tool-email/dist/pages/format.js.map +1 -1
  331. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
  332. package/node_modules/@buddi/tool-email/dist/pages/index.js +5 -1
  333. package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
  334. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.d.ts +7 -0
  335. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.d.ts.map +1 -1
  336. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.js +11 -2
  337. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.js.map +1 -1
  338. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +16 -0
  339. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  340. package/node_modules/@buddi/tool-email/dist/pages/queries.js +154 -3
  341. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  342. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts +133 -0
  343. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts.map +1 -0
  344. package/node_modules/@buddi/tool-email/dist/policies/auto.js +241 -0
  345. package/node_modules/@buddi/tool-email/dist/policies/auto.js.map +1 -0
  346. package/node_modules/@buddi/tool-email/dist/policies/gate.d.ts +34 -10
  347. package/node_modules/@buddi/tool-email/dist/policies/gate.d.ts.map +1 -1
  348. package/node_modules/@buddi/tool-email/dist/policies/gate.js +27 -12
  349. package/node_modules/@buddi/tool-email/dist/policies/gate.js.map +1 -1
  350. package/node_modules/@buddi/tool-email/dist/policies/learn.d.ts +26 -18
  351. package/node_modules/@buddi/tool-email/dist/policies/learn.d.ts.map +1 -1
  352. package/node_modules/@buddi/tool-email/dist/policies/learn.js +36 -10
  353. package/node_modules/@buddi/tool-email/dist/policies/learn.js.map +1 -1
  354. package/node_modules/@buddi/tool-email/dist/policies/learned.d.ts +25 -2
  355. package/node_modules/@buddi/tool-email/dist/policies/learned.d.ts.map +1 -1
  356. package/node_modules/@buddi/tool-email/dist/policies/learned.js +47 -5
  357. package/node_modules/@buddi/tool-email/dist/policies/learned.js.map +1 -1
  358. package/node_modules/@buddi/tool-email/dist/policies/store.d.ts +8 -2
  359. package/node_modules/@buddi/tool-email/dist/policies/store.d.ts.map +1 -1
  360. package/node_modules/@buddi/tool-email/dist/policies/store.js +19 -5
  361. package/node_modules/@buddi/tool-email/dist/policies/store.js.map +1 -1
  362. package/node_modules/@buddi/tool-email/dist/ports.d.ts +79 -0
  363. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  364. package/node_modules/@buddi/tool-email/dist/ports.js +6 -0
  365. package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
  366. package/node_modules/@buddi/tool-email/dist/rows.d.ts.map +1 -1
  367. package/node_modules/@buddi/tool-email/dist/rows.js +3 -1
  368. package/node_modules/@buddi/tool-email/dist/rows.js.map +1 -1
  369. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts +90 -0
  370. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts.map +1 -0
  371. package/node_modules/@buddi/tool-email/dist/sources/idle.js +250 -0
  372. package/node_modules/@buddi/tool-email/dist/sources/idle.js.map +1 -0
  373. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts +12 -1
  374. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
  375. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +280 -134
  376. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
  377. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts +108 -0
  378. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts.map +1 -0
  379. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js +359 -0
  380. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js.map +1 -0
  381. package/node_modules/@buddi/tool-email/dist/tools/policies.d.ts +8 -2
  382. package/node_modules/@buddi/tool-email/dist/tools/policies.d.ts.map +1 -1
  383. package/node_modules/@buddi/tool-email/dist/tools/policies.js +43 -3
  384. package/node_modules/@buddi/tool-email/dist/tools/policies.js.map +1 -1
  385. package/node_modules/@buddi/tool-email/dist/tools/read.d.ts +2 -2
  386. package/node_modules/@buddi/tool-email/dist/tools/triage.d.ts.map +1 -1
  387. package/node_modules/@buddi/tool-email/dist/tools/triage.js +10 -4
  388. package/node_modules/@buddi/tool-email/dist/tools/triage.js.map +1 -1
  389. package/node_modules/@buddi/tool-email/migrations/017_mailbox_actions.sql +60 -0
  390. package/node_modules/@buddi/tool-email/migrations/018_learned_auto.sql +30 -0
  391. package/node_modules/@buddi/tool-email/migrations/019_arrival_pending.sql +26 -0
  392. package/node_modules/@buddi/tool-email/package.json +3 -2
  393. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  394. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  395. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  396. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  397. package/node_modules/imapflow/CHANGELOG.md +14 -0
  398. package/node_modules/imapflow/dist/cjs/commands/fetch.js +1 -1
  399. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +2 -0
  400. package/node_modules/imapflow/dist/cjs/imap-flow.js +14 -1
  401. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  402. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  403. package/node_modules/imapflow/dist/cjs/tools.d.ts +2 -1
  404. package/node_modules/imapflow/dist/cjs/tools.js +8 -6
  405. package/node_modules/imapflow/dist/cjs/types.d.ts +9 -1
  406. package/node_modules/imapflow/dist/esm/commands/fetch.js +1 -1
  407. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +2 -0
  408. package/node_modules/imapflow/dist/esm/imap-flow.js +14 -1
  409. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  410. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  411. package/node_modules/imapflow/dist/esm/tools.d.ts +2 -1
  412. package/node_modules/imapflow/dist/esm/tools.js +8 -6
  413. package/node_modules/imapflow/dist/esm/types.d.ts +9 -1
  414. package/node_modules/imapflow/package.json +4 -4
  415. package/package.json +2 -2
  416. package/packages/cli/dist/.tsbuildinfo +1 -1
  417. package/packages/cli/dist/commands.d.ts +10 -0
  418. package/packages/cli/dist/commands.d.ts.map +1 -1
  419. package/packages/cli/dist/commands.js +237 -18
  420. package/packages/cli/dist/commands.js.map +1 -1
  421. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  422. package/packages/cli/dist/doctor-probes.js +10 -8
  423. package/packages/cli/dist/doctor-probes.js.map +1 -1
  424. package/packages/cli/dist/doctor.d.ts +28 -0
  425. package/packages/cli/dist/doctor.d.ts.map +1 -1
  426. package/packages/cli/dist/doctor.js +36 -0
  427. package/packages/cli/dist/doctor.js.map +1 -1
  428. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  429. package/packages/cli/dist/mcp/tools.js +3 -2
  430. package/packages/cli/dist/mcp/tools.js.map +1 -1
  431. package/packages/core/dist/.tsbuildinfo +1 -1
  432. package/packages/core/dist/agents/catalog.d.ts +3 -0
  433. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  434. package/packages/core/dist/agents/catalog.js +1 -0
  435. package/packages/core/dist/agents/catalog.js.map +1 -1
  436. package/packages/core/dist/agents/edit.d.ts +3 -0
  437. package/packages/core/dist/agents/edit.d.ts.map +1 -1
  438. package/packages/core/dist/agents/edit.js +3 -1
  439. package/packages/core/dist/agents/edit.js.map +1 -1
  440. package/packages/core/dist/agents/frontmatter.d.ts +10 -0
  441. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  442. package/packages/core/dist/agents/frontmatter.js +7 -0
  443. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  444. package/packages/core/dist/agents/idle-rollover.d.ts +20 -0
  445. package/packages/core/dist/agents/idle-rollover.d.ts.map +1 -0
  446. package/packages/core/dist/agents/idle-rollover.js +30 -0
  447. package/packages/core/dist/agents/idle-rollover.js.map +1 -0
  448. package/packages/core/dist/agents/index.d.ts +1 -0
  449. package/packages/core/dist/agents/index.d.ts.map +1 -1
  450. package/packages/core/dist/agents/index.js +1 -0
  451. package/packages/core/dist/agents/index.js.map +1 -1
  452. package/packages/core/dist/backup/dump.d.ts +9 -0
  453. package/packages/core/dist/backup/dump.d.ts.map +1 -1
  454. package/packages/core/dist/backup/dump.js +10 -1
  455. package/packages/core/dist/backup/dump.js.map +1 -1
  456. package/packages/core/dist/backup/index.d.ts +1 -0
  457. package/packages/core/dist/backup/index.d.ts.map +1 -1
  458. package/packages/core/dist/backup/index.js +1 -0
  459. package/packages/core/dist/backup/index.js.map +1 -1
  460. package/packages/core/dist/backup/load.d.ts +18 -0
  461. package/packages/core/dist/backup/load.d.ts.map +1 -1
  462. package/packages/core/dist/backup/load.js +3 -2
  463. package/packages/core/dist/backup/load.js.map +1 -1
  464. package/packages/core/dist/backup/pending.d.ts +114 -0
  465. package/packages/core/dist/backup/pending.d.ts.map +1 -0
  466. package/packages/core/dist/backup/pending.js +392 -0
  467. package/packages/core/dist/backup/pending.js.map +1 -0
  468. package/packages/core/dist/backup/restore.d.ts +3 -1
  469. package/packages/core/dist/backup/restore.d.ts.map +1 -1
  470. package/packages/core/dist/backup/restore.js +55 -2
  471. package/packages/core/dist/backup/restore.js.map +1 -1
  472. package/packages/core/dist/feedback/index.d.ts +108 -0
  473. package/packages/core/dist/feedback/index.d.ts.map +1 -0
  474. package/packages/core/dist/feedback/index.js +160 -0
  475. package/packages/core/dist/feedback/index.js.map +1 -0
  476. package/packages/core/dist/home.d.ts +24 -0
  477. package/packages/core/dist/home.d.ts.map +1 -1
  478. package/packages/core/dist/home.js +3 -0
  479. package/packages/core/dist/home.js.map +1 -1
  480. package/packages/core/dist/host/build.d.ts.map +1 -1
  481. package/packages/core/dist/host/build.js +28 -1
  482. package/packages/core/dist/host/build.js.map +1 -1
  483. package/packages/core/dist/host/types.d.ts +29 -2
  484. package/packages/core/dist/host/types.d.ts.map +1 -1
  485. package/packages/core/dist/index.d.ts +1 -0
  486. package/packages/core/dist/index.d.ts.map +1 -1
  487. package/packages/core/dist/index.js +1 -0
  488. package/packages/core/dist/index.js.map +1 -1
  489. package/packages/core/dist/learning/policies.d.ts +7 -1
  490. package/packages/core/dist/learning/policies.d.ts.map +1 -1
  491. package/packages/core/dist/learning/policies.js +4 -1
  492. package/packages/core/dist/learning/policies.js.map +1 -1
  493. package/packages/core/dist/learning/store.d.ts +29 -1
  494. package/packages/core/dist/learning/store.d.ts.map +1 -1
  495. package/packages/core/dist/learning/store.js +33 -8
  496. package/packages/core/dist/learning/store.js.map +1 -1
  497. package/packages/core/dist/learning/types.d.ts +24 -1
  498. package/packages/core/dist/learning/types.d.ts.map +1 -1
  499. package/packages/core/dist/learning/types.js +6 -0
  500. package/packages/core/dist/learning/types.js.map +1 -1
  501. package/packages/core/dist/owner.d.ts +2 -1
  502. package/packages/core/dist/owner.d.ts.map +1 -1
  503. package/packages/core/dist/owner.js.map +1 -1
  504. package/packages/core/dist/pages.d.ts +27 -0
  505. package/packages/core/dist/pages.d.ts.map +1 -1
  506. package/packages/core/dist/pages.js +24 -3
  507. package/packages/core/dist/pages.js.map +1 -1
  508. package/packages/core/dist/plugin/index.d.ts +7 -6
  509. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  510. package/packages/core/dist/plugin/index.js +1 -1
  511. package/packages/core/dist/plugin/index.js.map +1 -1
  512. package/packages/core/dist/plugin/version.d.ts +1 -1
  513. package/packages/core/dist/plugin/version.js +1 -1
  514. package/packages/core/dist/postgres/binaries.d.ts +3 -1
  515. package/packages/core/dist/postgres/binaries.d.ts.map +1 -1
  516. package/packages/core/dist/postgres/binaries.js +15 -23
  517. package/packages/core/dist/postgres/binaries.js.map +1 -1
  518. package/packages/core/dist/postgres/cluster.js +1 -1
  519. package/packages/core/dist/postgres/cluster.js.map +1 -1
  520. package/packages/core/dist/postgres/index.d.ts +1 -0
  521. package/packages/core/dist/postgres/index.d.ts.map +1 -1
  522. package/packages/core/dist/postgres/index.js +1 -0
  523. package/packages/core/dist/postgres/index.js.map +1 -1
  524. package/packages/core/dist/postgres/links.d.ts +15 -0
  525. package/packages/core/dist/postgres/links.d.ts.map +1 -0
  526. package/packages/core/dist/postgres/links.js +98 -0
  527. package/packages/core/dist/postgres/links.js.map +1 -0
  528. package/packages/core/dist/registry.d.ts +10 -1
  529. package/packages/core/dist/registry.d.ts.map +1 -1
  530. package/packages/core/dist/registry.js +13 -0
  531. package/packages/core/dist/registry.js.map +1 -1
  532. package/packages/core/dist/sources/index.d.ts +1 -0
  533. package/packages/core/dist/sources/index.d.ts.map +1 -1
  534. package/packages/core/dist/sources/index.js +1 -0
  535. package/packages/core/dist/sources/index.js.map +1 -1
  536. package/packages/core/dist/sources/watch.d.ts +37 -0
  537. package/packages/core/dist/sources/watch.d.ts.map +1 -0
  538. package/packages/core/dist/sources/watch.js +81 -0
  539. package/packages/core/dist/sources/watch.js.map +1 -0
  540. package/packages/core/dist/tools.d.ts +47 -0
  541. package/packages/core/dist/tools.d.ts.map +1 -1
  542. package/packages/core/dist/tools.js.map +1 -1
  543. package/packages/core/migrations/055_pending_plugin_data.sql +24 -0
  544. package/packages/core/migrations/056_dashboard_sessions.sql +37 -0
  545. package/packages/core/migrations/057_proposal_decided_by.sql +34 -0
  546. package/packages/core/migrations/058_message_feedback.sql +50 -0
  547. package/packages/core/package.json +4 -0
  548. package/packages/gateway/dist/.tsbuildinfo +1 -1
  549. package/packages/gateway/dist/agents/learning-digest.d.ts +7 -1
  550. package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  551. package/packages/gateway/dist/agents/learning-digest.js +29 -3
  552. package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
  553. package/packages/gateway/dist/agents/platform-files.d.ts +2 -0
  554. package/packages/gateway/dist/agents/platform-files.d.ts.map +1 -1
  555. package/packages/gateway/dist/agents/platform-files.js +2 -0
  556. package/packages/gateway/dist/agents/platform-files.js.map +1 -1
  557. package/packages/gateway/dist/agents/platform.d.ts +20 -0
  558. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  559. package/packages/gateway/dist/agents/platform.js +46 -3
  560. package/packages/gateway/dist/agents/platform.js.map +1 -1
  561. package/packages/gateway/dist/agents-cli.d.ts +1 -1
  562. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  563. package/packages/gateway/dist/agents-cli.js +12 -2
  564. package/packages/gateway/dist/agents-cli.js.map +1 -1
  565. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  566. package/packages/gateway/dist/chat/session.js +2 -1
  567. package/packages/gateway/dist/chat/session.js.map +1 -1
  568. package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
  569. package/packages/gateway/dist/mcp/requests.js +1 -0
  570. package/packages/gateway/dist/mcp/requests.js.map +1 -1
  571. package/packages/gateway/dist/plugins/approve.d.ts.map +1 -1
  572. package/packages/gateway/dist/plugins/approve.js +13 -2
  573. package/packages/gateway/dist/plugins/approve.js.map +1 -1
  574. package/packages/gateway/dist/plugins/migrate.d.ts.map +1 -1
  575. package/packages/gateway/dist/plugins/migrate.js +11 -1
  576. package/packages/gateway/dist/plugins/migrate.js.map +1 -1
  577. package/packages/gateway/dist/plugins/paths.d.ts +14 -0
  578. package/packages/gateway/dist/plugins/paths.d.ts.map +1 -1
  579. package/packages/gateway/dist/plugins/paths.js +27 -1
  580. package/packages/gateway/dist/plugins/paths.js.map +1 -1
  581. package/packages/gateway/dist/plugins/stage.d.ts +27 -3
  582. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  583. package/packages/gateway/dist/plugins/stage.js +35 -5
  584. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  585. package/packages/gateway/dist/plugins-cli.d.ts +4 -0
  586. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  587. package/packages/gateway/dist/plugins-cli.js +42 -9
  588. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  589. package/packages/gateway/dist/serve.d.ts.map +1 -1
  590. package/packages/gateway/dist/serve.js +14 -2
  591. package/packages/gateway/dist/serve.js.map +1 -1
  592. package/packages/gateway/dist/surfaces/browser-continuation.d.ts +2 -1
  593. package/packages/gateway/dist/surfaces/browser-continuation.d.ts.map +1 -1
  594. package/packages/gateway/dist/surfaces/browser-continuation.js +8 -5
  595. package/packages/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  596. package/packages/gateway/dist/surfaces/browser-handoff.d.ts +27 -4
  597. package/packages/gateway/dist/surfaces/browser-handoff.d.ts.map +1 -1
  598. package/packages/gateway/dist/surfaces/browser-handoff.js +57 -7
  599. package/packages/gateway/dist/surfaces/browser-handoff.js.map +1 -1
  600. package/packages/gateway/dist/surfaces/carry-over.d.ts +89 -0
  601. package/packages/gateway/dist/surfaces/carry-over.d.ts.map +1 -0
  602. package/packages/gateway/dist/surfaces/carry-over.js +172 -0
  603. package/packages/gateway/dist/surfaces/carry-over.js.map +1 -0
  604. package/packages/gateway/dist/surfaces/conversation-lifetime.d.ts +5 -2
  605. package/packages/gateway/dist/surfaces/conversation-lifetime.d.ts.map +1 -1
  606. package/packages/gateway/dist/surfaces/conversation-lifetime.js +5 -2
  607. package/packages/gateway/dist/surfaces/conversation-lifetime.js.map +1 -1
  608. package/packages/gateway/dist/telegram/api.d.ts +34 -2
  609. package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
  610. package/packages/gateway/dist/telegram/api.js +15 -2
  611. package/packages/gateway/dist/telegram/api.js.map +1 -1
  612. package/packages/gateway/dist/telegram/env-owner.d.ts +30 -0
  613. package/packages/gateway/dist/telegram/env-owner.d.ts.map +1 -0
  614. package/packages/gateway/dist/telegram/env-owner.js +45 -0
  615. package/packages/gateway/dist/telegram/env-owner.js.map +1 -0
  616. package/packages/gateway/dist/telegram/main.d.ts +0 -2
  617. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  618. package/packages/gateway/dist/telegram/main.js +20 -25
  619. package/packages/gateway/dist/telegram/main.js.map +1 -1
  620. package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
  621. package/packages/gateway/dist/telegram/notify.js +1 -1
  622. package/packages/gateway/dist/telegram/notify.js.map +1 -1
  623. package/packages/gateway/dist/telegram/outbound.d.ts +2 -2
  624. package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
  625. package/packages/gateway/dist/telegram/outbound.js +12 -3
  626. package/packages/gateway/dist/telegram/outbound.js.map +1 -1
  627. package/packages/gateway/dist/telegram/reactions.d.ts +45 -0
  628. package/packages/gateway/dist/telegram/reactions.d.ts.map +1 -0
  629. package/packages/gateway/dist/telegram/reactions.js +97 -0
  630. package/packages/gateway/dist/telegram/reactions.js.map +1 -0
  631. package/packages/gateway/dist/telegram/surface.d.ts +27 -1
  632. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  633. package/packages/gateway/dist/telegram/surface.js +186 -12
  634. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  635. package/packages/gateway/dist/web/agents.d.ts +7 -1
  636. package/packages/gateway/dist/web/agents.d.ts.map +1 -1
  637. package/packages/gateway/dist/web/agents.js +32 -2
  638. package/packages/gateway/dist/web/agents.js.map +1 -1
  639. package/packages/gateway/dist/web/chat.d.ts +10 -3
  640. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  641. package/packages/gateway/dist/web/chat.js +18 -5
  642. package/packages/gateway/dist/web/chat.js.map +1 -1
  643. package/packages/gateway/dist/web/plugins.d.ts +6 -1
  644. package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
  645. package/packages/gateway/dist/web/plugins.js +31 -2
  646. package/packages/gateway/dist/web/plugins.js.map +1 -1
  647. package/packages/gateway/dist/web/proposals.d.ts +21 -0
  648. package/packages/gateway/dist/web/proposals.d.ts.map +1 -1
  649. package/packages/gateway/dist/web/proposals.js +50 -1
  650. package/packages/gateway/dist/web/proposals.js.map +1 -1
  651. package/packages/gateway/dist/web/read.d.ts +23 -0
  652. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  653. package/packages/gateway/dist/web/read.js +36 -1
  654. package/packages/gateway/dist/web/read.js.map +1 -1
  655. package/packages/gateway/dist/web/recovery.d.ts +40 -2
  656. package/packages/gateway/dist/web/recovery.d.ts.map +1 -1
  657. package/packages/gateway/dist/web/recovery.js +215 -18
  658. package/packages/gateway/dist/web/recovery.js.map +1 -1
  659. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  660. package/packages/gateway/dist/web/server.js +87 -29
  661. package/packages/gateway/dist/web/server.js.map +1 -1
  662. package/packages/gateway/dist/web/sessions.d.ts +81 -7
  663. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  664. package/packages/gateway/dist/web/sessions.js +242 -24
  665. package/packages/gateway/dist/web/sessions.js.map +1 -1
  666. package/packages/gateway/dist/web/signed-out.d.ts +46 -0
  667. package/packages/gateway/dist/web/signed-out.d.ts.map +1 -0
  668. package/packages/gateway/dist/web/signed-out.js +99 -0
  669. package/packages/gateway/dist/web/signed-out.js.map +1 -0
  670. package/packages/gateway/dist/web/tailscale.d.ts +13 -0
  671. package/packages/gateway/dist/web/tailscale.d.ts.map +1 -1
  672. package/packages/gateway/dist/web/tailscale.js +12 -0
  673. package/packages/gateway/dist/web/tailscale.js.map +1 -1
  674. package/packages/install/dist/.tsbuildinfo +1 -1
  675. package/packages/install/dist/backup.d.ts +18 -0
  676. package/packages/install/dist/backup.d.ts.map +1 -1
  677. package/packages/install/dist/backup.js +39 -2
  678. package/packages/install/dist/backup.js.map +1 -1
  679. package/packages/install/dist/kept-data.d.ts +20 -0
  680. package/packages/install/dist/kept-data.d.ts.map +1 -0
  681. package/packages/install/dist/kept-data.js +34 -0
  682. package/packages/install/dist/kept-data.js.map +1 -0
  683. package/packages/install/dist/launcher.d.ts.map +1 -1
  684. package/packages/install/dist/launcher.js +17 -3
  685. package/packages/install/dist/launcher.js.map +1 -1
  686. package/packages/install/dist/postgres-check.d.ts +18 -0
  687. package/packages/install/dist/postgres-check.d.ts.map +1 -0
  688. package/packages/install/dist/postgres-check.js +66 -0
  689. package/packages/install/dist/postgres-check.js.map +1 -0
  690. package/packages/install/dist/upgrade.d.ts +3 -0
  691. package/packages/install/dist/upgrade.d.ts.map +1 -1
  692. package/packages/install/dist/upgrade.js +30 -0
  693. package/packages/install/dist/upgrade.js.map +1 -1
  694. package/packages/runtime/dist/.tsbuildinfo +1 -1
  695. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  696. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  697. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  698. package/packages/tools/email/dist/agent.d.ts.map +1 -1
  699. package/packages/tools/email/dist/agent.js +11 -0
  700. package/packages/tools/email/dist/agent.js.map +1 -1
  701. package/packages/tools/email/dist/imap/fake.d.ts +89 -3
  702. package/packages/tools/email/dist/imap/fake.d.ts.map +1 -1
  703. package/packages/tools/email/dist/imap/fake.js +234 -4
  704. package/packages/tools/email/dist/imap/fake.js.map +1 -1
  705. package/packages/tools/email/dist/imap/imapflow-client.d.ts +14 -1
  706. package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
  707. package/packages/tools/email/dist/imap/imapflow-client.js +157 -2
  708. package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
  709. package/packages/tools/email/dist/index.d.ts +14 -2
  710. package/packages/tools/email/dist/index.d.ts.map +1 -1
  711. package/packages/tools/email/dist/index.js +23 -4
  712. package/packages/tools/email/dist/index.js.map +1 -1
  713. package/packages/tools/email/dist/logins.d.ts +24 -0
  714. package/packages/tools/email/dist/logins.d.ts.map +1 -0
  715. package/packages/tools/email/dist/logins.js +35 -0
  716. package/packages/tools/email/dist/logins.js.map +1 -0
  717. package/packages/tools/email/dist/mail.d.ts +14 -0
  718. package/packages/tools/email/dist/mail.d.ts.map +1 -1
  719. package/packages/tools/email/dist/mail.js +23 -0
  720. package/packages/tools/email/dist/mail.js.map +1 -1
  721. package/packages/tools/email/dist/mailbox/actions.d.ts +205 -0
  722. package/packages/tools/email/dist/mailbox/actions.d.ts.map +1 -0
  723. package/packages/tools/email/dist/mailbox/actions.js +662 -0
  724. package/packages/tools/email/dist/mailbox/actions.js.map +1 -0
  725. package/packages/tools/email/dist/mailbox/arrival.d.ts +61 -0
  726. package/packages/tools/email/dist/mailbox/arrival.d.ts.map +1 -0
  727. package/packages/tools/email/dist/mailbox/arrival.js +153 -0
  728. package/packages/tools/email/dist/mailbox/arrival.js.map +1 -0
  729. package/packages/tools/email/dist/mailbox/select.d.ts +53 -0
  730. package/packages/tools/email/dist/mailbox/select.d.ts.map +1 -0
  731. package/packages/tools/email/dist/mailbox/select.js +117 -0
  732. package/packages/tools/email/dist/mailbox/select.js.map +1 -0
  733. package/packages/tools/email/dist/pages/accounts.d.ts +37 -1
  734. package/packages/tools/email/dist/pages/accounts.d.ts.map +1 -1
  735. package/packages/tools/email/dist/pages/accounts.js +104 -2
  736. package/packages/tools/email/dist/pages/accounts.js.map +1 -1
  737. package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
  738. package/packages/tools/email/dist/pages/descriptors.js +142 -0
  739. package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
  740. package/packages/tools/email/dist/pages/drafts-tools.d.ts +2 -2
  741. package/packages/tools/email/dist/pages/format.d.ts +1 -12
  742. package/packages/tools/email/dist/pages/format.d.ts.map +1 -1
  743. package/packages/tools/email/dist/pages/format.js +17 -0
  744. package/packages/tools/email/dist/pages/format.js.map +1 -1
  745. package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
  746. package/packages/tools/email/dist/pages/index.js +5 -1
  747. package/packages/tools/email/dist/pages/index.js.map +1 -1
  748. package/packages/tools/email/dist/pages/policies-tools.d.ts +7 -0
  749. package/packages/tools/email/dist/pages/policies-tools.d.ts.map +1 -1
  750. package/packages/tools/email/dist/pages/policies-tools.js +11 -2
  751. package/packages/tools/email/dist/pages/policies-tools.js.map +1 -1
  752. package/packages/tools/email/dist/pages/queries.d.ts +16 -0
  753. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  754. package/packages/tools/email/dist/pages/queries.js +154 -3
  755. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  756. package/packages/tools/email/dist/policies/auto.d.ts +133 -0
  757. package/packages/tools/email/dist/policies/auto.d.ts.map +1 -0
  758. package/packages/tools/email/dist/policies/auto.js +241 -0
  759. package/packages/tools/email/dist/policies/auto.js.map +1 -0
  760. package/packages/tools/email/dist/policies/gate.d.ts +34 -10
  761. package/packages/tools/email/dist/policies/gate.d.ts.map +1 -1
  762. package/packages/tools/email/dist/policies/gate.js +27 -12
  763. package/packages/tools/email/dist/policies/gate.js.map +1 -1
  764. package/packages/tools/email/dist/policies/learn.d.ts +26 -18
  765. package/packages/tools/email/dist/policies/learn.d.ts.map +1 -1
  766. package/packages/tools/email/dist/policies/learn.js +36 -10
  767. package/packages/tools/email/dist/policies/learn.js.map +1 -1
  768. package/packages/tools/email/dist/policies/learned.d.ts +25 -2
  769. package/packages/tools/email/dist/policies/learned.d.ts.map +1 -1
  770. package/packages/tools/email/dist/policies/learned.js +47 -5
  771. package/packages/tools/email/dist/policies/learned.js.map +1 -1
  772. package/packages/tools/email/dist/policies/store.d.ts +8 -2
  773. package/packages/tools/email/dist/policies/store.d.ts.map +1 -1
  774. package/packages/tools/email/dist/policies/store.js +19 -5
  775. package/packages/tools/email/dist/policies/store.js.map +1 -1
  776. package/packages/tools/email/dist/ports.d.ts +79 -0
  777. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  778. package/packages/tools/email/dist/ports.js +6 -0
  779. package/packages/tools/email/dist/ports.js.map +1 -1
  780. package/packages/tools/email/dist/rows.d.ts.map +1 -1
  781. package/packages/tools/email/dist/rows.js +3 -1
  782. package/packages/tools/email/dist/rows.js.map +1 -1
  783. package/packages/tools/email/dist/sources/idle.d.ts +90 -0
  784. package/packages/tools/email/dist/sources/idle.d.ts.map +1 -0
  785. package/packages/tools/email/dist/sources/idle.js +250 -0
  786. package/packages/tools/email/dist/sources/idle.js.map +1 -0
  787. package/packages/tools/email/dist/sources/inbox-poll.d.ts +12 -1
  788. package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
  789. package/packages/tools/email/dist/sources/inbox-poll.js +280 -134
  790. package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
  791. package/packages/tools/email/dist/tools/mailbox.d.ts +108 -0
  792. package/packages/tools/email/dist/tools/mailbox.d.ts.map +1 -0
  793. package/packages/tools/email/dist/tools/mailbox.js +359 -0
  794. package/packages/tools/email/dist/tools/mailbox.js.map +1 -0
  795. package/packages/tools/email/dist/tools/policies.d.ts +8 -2
  796. package/packages/tools/email/dist/tools/policies.d.ts.map +1 -1
  797. package/packages/tools/email/dist/tools/policies.js +43 -3
  798. package/packages/tools/email/dist/tools/policies.js.map +1 -1
  799. package/packages/tools/email/dist/tools/read.d.ts +2 -2
  800. package/packages/tools/email/dist/tools/triage.d.ts.map +1 -1
  801. package/packages/tools/email/dist/tools/triage.js +10 -4
  802. package/packages/tools/email/dist/tools/triage.js.map +1 -1
  803. package/packages/tools/email/migrations/017_mailbox_actions.sql +60 -0
  804. package/packages/tools/email/migrations/018_learned_auto.sql +30 -0
  805. package/packages/tools/email/migrations/019_arrival_pending.sql +26 -0
  806. package/packages/tools/email/package.json +3 -2
  807. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  808. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  809. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  810. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  811. package/packages/web/dist/assets/index-CKuhKCWw.js +131 -0
  812. package/packages/web/dist/assets/index-DsK8UWCJ.css +1 -0
  813. package/packages/web/dist/assets/{lottie_light-7wQnGwdw.js → lottie_light-CSeMXM8D.js} +1 -1
  814. package/packages/web/dist/build.json +1 -1
  815. package/packages/web/dist/index.html +2 -2
  816. package/packages/web/dist/precache.json +4 -4
  817. package/packages/web/dist/assets/index-BxbiKNMS.css +0 -1
  818. package/packages/web/dist/assets/index-Rrze3bGo.js +0 -130
@@ -319,6 +319,11 @@ export interface RunReply {
319
319
  artifacts?: readonly string[];
320
320
  /** What the turn left on the canvas, if it drew anything. */
321
321
  canvas?: CanvasView;
322
+ /**
323
+ * The run stopped because it spent its steps per reply (`stopped:
324
+ * 'max_turns'`). The answer then carries a Continue button.
325
+ */
326
+ budgetStopped?: boolean;
322
327
  }
323
328
  /** The text of a reply, whichever shape the runner returned. */
324
329
  export declare function replyText(reply: string | RunReply): string;
@@ -493,6 +498,7 @@ export declare function conversationForChatTurn(pool: Queryable, chatId: string,
493
498
  continuation?: boolean | undefined;
494
499
  log?: ((line: string) => void) | undefined;
495
500
  onConversationRollover?: import('../surfaces/browser-continuation.js').ConversationRolloverHook | undefined;
501
+ idleMs?: number | undefined;
496
502
  }): Promise<TurnConversation>;
497
503
  /** Drop the mapping so the next message to this agent starts fresh. */
498
504
  export declare function startNewConversationForChat(pool: Queryable, chatId: string, agentId: string, beforeAdopt?: (conversationId: string) => Promise<void>): Promise<string>;
@@ -576,11 +582,20 @@ export declare function parseQuestionCallback(data: string | undefined): {
576
582
  export declare function questionKeyboard(question: Question): InlineKeyboardMarkup;
577
583
  /** What a tap answers once the run is queued. */
578
584
  export declare const OFFER_TAKEN_TEXT = "On it.";
585
+ export declare const CONTINUE_CALLBACK_PREFIX = "cnt";
586
+ /** What a Continue tap sends as the owner: exactly what typing it would. */
587
+ export declare const CONTINUE_TEXT = "continue";
588
+ /** `cnt:<agentId>`, refused rather than truncated if it cannot fit. */
589
+ export declare function continueCallbackData(agentId: string): string;
590
+ /** The agent id in a `cnt:` callback, or nothing. */
591
+ export declare function parseContinueCallback(data: string | undefined): string | undefined;
592
+ /** The one-button keyboard under an answer whose run spent its step budget. */
593
+ export declare function continueKeyboard(agentId: string): InlineKeyboardMarkup;
579
594
  /**
580
595
  * Which handler owns a callback payload. One small dispatcher keyed by prefix,
581
596
  * so approvals keep owning `apr:` and nothing else has to know about them.
582
597
  */
583
- export type CallbackKind = 'agent' | 'reminder' | 'offer' | 'question' | 'proposal' | 'approval';
598
+ export type CallbackKind = 'agent' | 'reminder' | 'offer' | 'question' | 'proposal' | 'continue' | 'approval';
584
599
  export declare function callbackKind(data: string | undefined): CallbackKind;
585
600
  /**
586
601
  * One button per agent, one per row: `Switch to Ledger`, and `✓ Ledger
@@ -670,6 +685,17 @@ export declare class TelegramSurface {
670
685
  handleReminderCallback(query: NonNullable<TelegramUpdate['callback_query']>): Promise<void>;
671
686
  /** Resolve one exact structured answer. It supplies input; it grants nothing. */
672
687
  handleQuestionCallback(query: NonNullable<TelegramUpdate['callback_query']>): Promise<void>;
688
+ /**
689
+ * A tap on Continue under an answer whose run spent its step budget.
690
+ *
691
+ * It is the owner typing "continue" to that agent: the sender is
692
+ * re-authenticated against core like every other callback, a stranger gets
693
+ * an empty answer and a `surface.rejected` row, and the button is cleared
694
+ * before the run so it cannot be pressed twice. The callback names the
695
+ * agent, so the word lands in that agent's conversation for this chat and
696
+ * the run picks up with the whole history.
697
+ */
698
+ handleContinueCallback(query: NonNullable<TelegramUpdate['callback_query']>): Promise<void>;
673
699
  /**
674
700
  * A tap on an offered action.
675
701
  *
@@ -1 +1 @@
1
- {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/telegram/surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/telegram/surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EA0BL,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyC,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAEhB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAcL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAIvF,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAoBL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,OAAO,aAAa,CAAC;AAElC,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,kEAAkE,CAAC;AACzG,eAAO,MAAM,sBAAsB,kEAAkE,CAAC;AAGtG,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,+BAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAUjE,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,sCAAsC,CAAC;AAE9C,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAetC,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,SAAmB,GAAG,MAAM,CAO9F;AAED,eAAO,MAAM,IAAI,QAkCL,CAAC;AAEb;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,4IACwG,CAAC;AAE5I,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,mEACgC,CAAC;AAE9D,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,iFACyC,CAAC;AAEjF,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,iDAAiD,CAAC;AAEjF,sCAAsC;AACtC,eAAO,MAAM,mBAAmB,gFAAgF,CAAC;AAEjH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAoBD,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,QAAiB,CAAC;AAEhD,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,QAAgB,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAE/C,+EAA+E;AAC/E,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAcpF;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED,MAAM,WAAW,OAAO;IACtB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKpF;AAED,gFAAgF;AAChF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,iFAC6C,CAAC;AAEjF,eAAO,MAAM,sBAAsB,mIAC+F,CAAC;AAEnI,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,2FACoD,CAAC;AAE3F,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,0FACuD,CAAC;AAE1F;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QAGqB,CAAC;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,KAChD,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,cAAc,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,8BAA8B,EAAE,kBAAkB,CAAC;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAoBD,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,iDAAiD;IACjD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,CAAC,EAAE,OAAO,qCAAqC,EAAE,wBAAwB,CAAC;IAChG,+EAA+E;IAC/E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,4EAA4E;IAC5E,OAAO,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,yEAAyE;IACzE,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IACjD;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE;QAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACpG,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjE,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;GAOG;AACH,qBAAa,cAAc;;IASvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBALH,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,MAAM,EAClC,WAAW,GAAE,MAAyB;IAKxC,uEAAuE;IACvE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAqBhC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI;IAIf,uEAAuE;IACvE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxB;AAYD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,yEAAyE;AACzE,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,qCAAqC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5O,OAAO,CAAC,gBAAgB,CAAC,CAY3B;AAED,uEAAuE;AACvE,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACtD,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAC/D,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAMD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAKzC,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAK/E;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKlF;AAED,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,kGACmE,CAAC;AAElG,0EAA0E;AAC1E,wBAAgB,aAAa,CAC3B,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GACtC,MAAM,CAWR;AAOD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,QAAQ,EAAE,MAAM,GACf,oBAAoB,CAStB;AAED,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAMxE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAK/E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,oBAAoB,CAM7E;AAED,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMpF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAKzG;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,oBAAoB,CAOzE;AAED,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAMzC,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,4EAA4E;AAC5E,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKlF;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAEtE;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAE9G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CASnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAC/D,QAAQ,EAAE,MAAM,GACf,oBAAoB,CAYtB;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAkBD,qBAAa,eAAe;;gBAoCd,IAAI,EAAE,sBAAsB;IAKxC,8CAA8C;IAC9C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEnC;IAED,+EAA+E;IACzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B,wDAAwD;IACxD,IAAI,IAAI,IAAI;IAKZ,+DAA+D;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D,6EAA6E;IACvE,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA+QrD;;;OAGG;IACG,aAAa,CACjB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC;IA0DhB,0BAA0B;IAC1B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBjE;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBxD,yEAAyE;IACnE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6hB5E;;;;;;;OAOG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA0GhB,kFAAkF;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5D;;;;;;;OAOG;IACG,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyE9F;;;;;;OAMG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD;;;;;;OAMG;IACG,sBAAsB,CAC1B,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IA6DhB,iFAAiF;IAC3E,sBAAsB,CAC1B,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAgDhB;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IA4DhB;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,CACvB,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAkFhB;;;;;;;;;OASG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAehE;;;;;;;OAOG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgMhD;;;;OAIG;IACH,qGAAqG;IAC/F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqL9D"}
@@ -15,13 +15,14 @@
15
15
  * - Runs are serialized per chat, so two quick messages cannot interleave in
16
16
  * one conversation.
17
17
  */
18
- import { DEFAULT_TIMEZONE, cancelReminder, getOnboarding, consumePairingCode, getActiveAgent, getOwnerDisplayName, listReminders, listSurfaceIdentitiesDetailed, localDateString, recordOfferJob, renderOffers, localDateTimeString, recordSurfaceUpdate, resolveOwnerForSurface, roleProblemMessage, setActiveAgent, setSurfaceCursor, takeOffer, answerQuestion, getQuestion, TELEGRAM_SURFACE, touchSurfaceIdentity, presenceTouch, readFocusState, setFocus, } from '@buddi/core';
18
+ import { DEFAULT_TIMEZONE, cancelReminder, getOnboarding, consumePairingCode, getActiveAgent, getOwnerDisplayName, listReminders, listSurfaceIdentitiesDetailed, localDateString, recordOfferJob, renderOffers, localDateTimeString, recordSurfaceUpdate, resolveOwnerForSurface, roleProblemMessage, setActiveAgent, setSurfaceCursor, takeOffer, answerQuestion, getQuestion, TELEGRAM_SURFACE, touchSurfaceIdentity, presenceTouch, readFocusState, setFocus, idleRolloverMs, } from '@buddi/core';
19
19
  import { InterjectionQueue, createConversation } from '@buddi/runtime';
20
20
  import { MAX_CALLBACK_DATA_BYTES, } from './api.js';
21
21
  import { extractAttachment, filesText, formatBytes, getLastAttachment, gotAudioText, gotFileText, listChatAttachments, MAX_ATTACHMENT_BYTES, ATTACHMENT_RECENCY_MS, oversizeText, recordChatAttachment, referencesAttachment, } from './attachments.js';
22
22
  import { BROWSER_COMMAND_HELP, parseBrowserCommand, } from './browser-view.js';
23
23
  import { isUnknownAgentError } from './types.js';
24
24
  import { whereText } from './commands.js';
25
+ import { handleReaction, recordSentAnswer, takeFeedbackNote } from './reactions.js';
25
26
  import { focusSetText, focusStatusText, FOCUS_USAGE_TEXT, parseFocusArg } from './focus.js';
26
27
  import { BURST_GAP_MS, StreamedAnswer, sendBurst, sendRunExtras, toPlainText, } from './outbound.js';
27
28
  import { FIRST_RUN_SUFFIX, shouldStartFirstRun } from '../agents/first-run.js';
@@ -318,12 +319,13 @@ export function newAgentOpening(arg) {
318
319
  return said === '' ? NEW_AGENT_OPENING : said;
319
320
  }
320
321
  /** The extras a reply carries past its text, copied onto the drawn turn. */
321
- function extrasOf(produced) {
322
+ function extrasOf(produced, agentId) {
322
323
  if (typeof produced === 'string')
323
324
  return {};
324
325
  return {
325
326
  ...(produced.artifacts && produced.artifacts.length > 0 ? { artifacts: produced.artifacts } : {}),
326
327
  ...(produced.canvas ? { canvas: produced.canvas } : {}),
328
+ ...(produced.budgetStopped === true && agentId !== undefined ? { continueAgentId: agentId } : {}),
327
329
  };
328
330
  }
329
331
  /** The text of a reply, whichever shape the runner returned. */
@@ -457,6 +459,7 @@ export async function conversationForChatTurn(pool, chatId, agentId, opts) {
457
459
  now: opts.now,
458
460
  ...(opts.continuation === undefined ? {} : { continuation: opts.continuation }),
459
461
  ...(opts.log === undefined ? {} : { log: opts.log }),
462
+ ...(opts.idleMs === undefined ? {} : { idleMs: opts.idleMs }),
460
463
  });
461
464
  }
462
465
  /** Drop the mapping so the next message to this agent starts fresh. */
@@ -637,6 +640,32 @@ export function questionKeyboard(question) {
637
640
  }
638
641
  /** What a tap answers once the run is queued. */
639
642
  export const OFFER_TAKEN_TEXT = 'On it.';
643
+ /* ------------------------------------------------------------------ *
644
+ * Continue after a step-budget stop
645
+ * ------------------------------------------------------------------ */
646
+ export const CONTINUE_CALLBACK_PREFIX = 'cnt';
647
+ /** What a Continue tap sends as the owner: exactly what typing it would. */
648
+ export const CONTINUE_TEXT = 'continue';
649
+ /** `cnt:<agentId>`, refused rather than truncated if it cannot fit. */
650
+ export function continueCallbackData(agentId) {
651
+ const data = `${CONTINUE_CALLBACK_PREFIX}:${agentId}`;
652
+ if (Buffer.byteLength(data, 'utf8') > MAX_CALLBACK_DATA_BYTES) {
653
+ throw new Error(`continue callback data is too long for Telegram: ${data.length} bytes`);
654
+ }
655
+ return data;
656
+ }
657
+ /** The agent id in a `cnt:` callback, or nothing. */
658
+ export function parseContinueCallback(data) {
659
+ const raw = (data ?? '').trim();
660
+ if (!raw.startsWith(`${CONTINUE_CALLBACK_PREFIX}:`))
661
+ return undefined;
662
+ const id = raw.slice(CONTINUE_CALLBACK_PREFIX.length + 1);
663
+ return AGENT_ID_RE.test(id) ? id : undefined;
664
+ }
665
+ /** The one-button keyboard under an answer whose run spent its step budget. */
666
+ export function continueKeyboard(agentId) {
667
+ return { inline_keyboard: [[{ text: 'Continue', callback_data: continueCallbackData(agentId) }]] };
668
+ }
640
669
  export function callbackKind(data) {
641
670
  const raw = (data ?? '').trim();
642
671
  if (raw.startsWith(`${USE_CALLBACK_PREFIX}:`))
@@ -649,6 +678,8 @@ export function callbackKind(data) {
649
678
  return 'question';
650
679
  if (raw.startsWith(`${PROPOSAL_CALLBACK_PREFIX}:`))
651
680
  return 'proposal';
681
+ if (raw.startsWith(`${CONTINUE_CALLBACK_PREFIX}:`))
682
+ return 'continue';
652
683
  return 'approval';
653
684
  }
654
685
  /**
@@ -713,6 +744,8 @@ export class TelegramSurface {
713
744
  #pending = new PendingQuestions();
714
745
  /** The chats whose message in hand is a voice note the owner spoke; read by `#runFor`. */
715
746
  #ownerSpoke = new Set();
747
+ /** The Continue buttons already pressed, by `chat:message`, so a second tap runs nothing. */
748
+ #continued = new Set();
716
749
  /** The language of the voice note being run now, per chat, by name. */
717
750
  #ownerLanguage = new Map();
718
751
  #offset;
@@ -780,6 +813,10 @@ export class TelegramSurface {
780
813
  }
781
814
  /** Authenticate and enqueue. Returns once the work is *queued*, not done. */
782
815
  async dispatch(update) {
816
+ if (update.message_reaction) {
817
+ await this.#dispatchReaction(update, update.message_reaction);
818
+ return;
819
+ }
783
820
  const message = update.message ?? update.edited_message;
784
821
  if (!message) {
785
822
  const callback = update.callback_query;
@@ -807,6 +844,10 @@ export class TelegramSurface {
807
844
  this.enqueue(chain, () => this.handleQuestionCallback(callback));
808
845
  return;
809
846
  }
847
+ if (kind === 'continue') {
848
+ this.enqueue(chain, () => this.handleContinueCallback(callback));
849
+ return;
850
+ }
810
851
  if (kind === 'proposal') {
811
852
  const proposals = this.#opts.proposals;
812
853
  if (!proposals) {
@@ -919,6 +960,20 @@ export class TelegramSurface {
919
960
  * check against the raw string sees no slash and would push a command
920
961
  * into the agent's context as though it were a sentence.
921
962
  */
963
+ // The owner's Reply to "What was off?" is the note on their 👎, not a turn.
964
+ const repliedTo = message.reply_to_message?.message_id;
965
+ if (repliedTo !== undefined && update.message) {
966
+ const noted = await takeFeedbackNote(this.#reactionDeps(), chatId, {
967
+ replyTo: repliedTo,
968
+ messageId: message.message_id,
969
+ text,
970
+ }).catch((err) => {
971
+ this.#log(`telegram: chat ${chatId} — feedback note not kept: ${message_(err)}`);
972
+ return false;
973
+ });
974
+ if (noted)
975
+ return;
976
+ }
922
977
  const normalized = stripBotMention(text, this.#opts.botUsername).trim();
923
978
  const live = this.#interjections.get(chatId);
924
979
  if (live
@@ -931,6 +986,45 @@ export class TelegramSurface {
931
986
  }
932
987
  this.enqueue(chatId, () => this.handleText(chatId, userId, text));
933
988
  }
989
+ #reactionDeps() {
990
+ return { pool: this.#opts.pool, api: this.#opts.api, log: this.#log, now: () => this.#now() };
991
+ }
992
+ /** The messages an agent's answer landed in, mapped to the turn, for reactions. */
993
+ async #recordSent(chatId, conversationId, ids) {
994
+ await recordSentAnswer({ pool: this.#opts.pool }, chatId, conversationId, ids);
995
+ }
996
+ /**
997
+ * A reaction. Only the paired owner's, in their private chat, counts; anyone
998
+ * else's is dropped as silently as their messages are. Never queued behind a
999
+ * run: it writes a row and, at most, asks one short question.
1000
+ */
1001
+ async #dispatchReaction(update, reaction) {
1002
+ const fromId = reaction.user?.id;
1003
+ const chatId = String(reaction.chat?.id ?? '');
1004
+ if (fromId === undefined || chatId === '')
1005
+ return;
1006
+ const userId = String(fromId);
1007
+ if (reaction.chat.type !== 'private') {
1008
+ await this.#reject(update, userId, chatId, 'non-private-chat');
1009
+ return;
1010
+ }
1011
+ if (reaction.user?.is_bot === true) {
1012
+ await this.#reject(update, userId, chatId, 'bot-sender');
1013
+ return;
1014
+ }
1015
+ const resolution = await resolveOwnerForSurface(this.#opts.pool, {
1016
+ surface: SURFACE,
1017
+ externalUserId: userId,
1018
+ externalChatId: chatId,
1019
+ });
1020
+ if (!resolution.ok) {
1021
+ await this.#reject(update, userId, chatId, resolution.reason);
1022
+ return;
1023
+ }
1024
+ await handleReaction(this.#reactionDeps(), chatId, reaction).catch((err) => {
1025
+ this.#log(`telegram: chat ${chatId} — reaction not recorded: ${message_(err)}`);
1026
+ });
1027
+ }
934
1028
  /** Never replies. An unknown sender learns nothing from silence. */
935
1029
  async #reject(update, userId, chatId, reason, detail) {
936
1030
  this.#log(`telegram: rejected update ${update.update_id} (${reason}) from user ${userId} in chat ${chatId}`);
@@ -1390,6 +1484,7 @@ export class TelegramSurface {
1390
1484
  ...(opts.continuation === undefined ? {} : { continuation: opts.continuation }),
1391
1485
  log: (line) => this.#log(`telegram: chat ${chatId} — ${line}`),
1392
1486
  onConversationRollover: this.#opts.onConversationRollover,
1487
+ idleMs: idleRolloverMs(agent.idleRollover),
1393
1488
  });
1394
1489
  // The thread that question was asked in is over; nothing may still claim
1395
1490
  // the owner's next message on its behalf.
@@ -1443,9 +1538,9 @@ export class TelegramSurface {
1443
1538
  return {
1444
1539
  ...renderOffers(TELEGRAM_SURFACE, note ? `${note}\n\n${reply}` : reply, typeof produced === 'string' ? [] : (produced.offers ?? [])),
1445
1540
  ...(typeof produced !== 'string' && produced.question ? { question: produced.question } : {}),
1446
- ...extrasOf(produced),
1541
+ ...extrasOf(produced, agent.id),
1447
1542
  };
1448
- }, label, carried ? readingText(label) : undefined, { agentId: agent.id, conversationId, prompt }, spoken);
1543
+ }, label, carried ? readingText(label) : undefined, { agentId: agent.id, conversationId, prompt }, spoken, (ids) => this.#recordSent(chatId, conversationId, ids));
1449
1544
  }
1450
1545
  finally {
1451
1546
  /*
@@ -1829,6 +1924,69 @@ export class TelegramSurface {
1829
1924
  this.#pending.clear(chatId);
1830
1925
  await this.#runFor(chatId, agent, option.label, { continuation: true });
1831
1926
  }
1927
+ /**
1928
+ * A tap on Continue under an answer whose run spent its step budget.
1929
+ *
1930
+ * It is the owner typing "continue" to that agent: the sender is
1931
+ * re-authenticated against core like every other callback, a stranger gets
1932
+ * an empty answer and a `surface.rejected` row, and the button is cleared
1933
+ * before the run so it cannot be pressed twice. The callback names the
1934
+ * agent, so the word lands in that agent's conversation for this chat and
1935
+ * the run picks up with the whole history.
1936
+ */
1937
+ async handleContinueCallback(query) {
1938
+ const api = this.#opts.api;
1939
+ const pool = this.#opts.pool;
1940
+ const userId = query.from?.id === undefined ? '' : String(query.from.id);
1941
+ const chatId = query.message?.chat?.id === undefined ? '' : String(query.message.chat.id);
1942
+ const messageId = query.message?.message_id;
1943
+ const agentId = parseContinueCallback(query.data);
1944
+ if (agentId === undefined || userId === '' || chatId === '') {
1945
+ await api.answerCallbackQuery(query.id).catch(() => { });
1946
+ return;
1947
+ }
1948
+ const resolution = await resolveOwnerForSurface(pool, {
1949
+ surface: SURFACE,
1950
+ externalUserId: userId,
1951
+ externalChatId: chatId,
1952
+ });
1953
+ if (!resolution.ok) {
1954
+ this.#log(`telegram: continue callback rejected (${resolution.reason}) from user ${userId} in chat ${chatId}`);
1955
+ await appendSurfaceEvent(pool, 'surface.rejected', {
1956
+ surface: SURFACE,
1957
+ kind: 'callback',
1958
+ reason: resolution.reason,
1959
+ externalUserId: userId,
1960
+ externalChatId: chatId,
1961
+ callbackId: query.id,
1962
+ agentId,
1963
+ });
1964
+ await api.answerCallbackQuery(query.id).catch(() => { });
1965
+ return;
1966
+ }
1967
+ // Taps are serialized per chat, so a second tap on the same button arrives
1968
+ // after the first has run; it finds the key and does nothing.
1969
+ const key = messageId === undefined ? undefined : `${chatId}:${messageId}`;
1970
+ if (key !== undefined && this.#continued.has(key)) {
1971
+ await api.answerCallbackQuery(query.id).catch(() => { });
1972
+ return;
1973
+ }
1974
+ if (key !== undefined)
1975
+ this.#continued.add(key);
1976
+ const agent = this.#opts.catalog.get(agentId);
1977
+ if (!agent) {
1978
+ await api.answerCallbackQuery(query.id, UNKNOWN_AGENT_TEXT).catch(() => { });
1979
+ return;
1980
+ }
1981
+ await api.answerCallbackQuery(query.id).catch(() => { });
1982
+ if (messageId !== undefined) {
1983
+ await api.editMessageReplyMarkup(chatId, messageId, { inline_keyboard: [] }).catch((err) => {
1984
+ this.#log(`telegram: clearing the Continue button failed: ${message(err)}`);
1985
+ });
1986
+ }
1987
+ this.#pending.clear(chatId);
1988
+ await this.#runFor(chatId, agent, CONTINUE_TEXT);
1989
+ }
1832
1990
  /**
1833
1991
  * A tap on an offered action.
1834
1992
  *
@@ -1987,7 +2145,12 @@ export class TelegramSurface {
1987
2145
  */
1988
2146
  retry,
1989
2147
  /** Send the answer as a voice note, with its text as the caption. */
1990
- speak = false) {
2148
+ speak = false,
2149
+ /**
2150
+ * Told the ids of the messages the answer landed in, once it has. A
2151
+ * failure here is logged, never the owner's problem.
2152
+ */
2153
+ onLanded) {
1991
2154
  const stopTyping = this.#startTyping(chatId);
1992
2155
  const placeholder = placeholderOverride ?? placeholderText(agentName);
1993
2156
  // The thinking Blob first, when this bot has its sticker: it cannot become
@@ -2035,14 +2198,21 @@ export class TelegramSurface {
2035
2198
  const drawn = typeof produced === 'string' ? { text: produced, controls: [] } : produced;
2036
2199
  const reply = toPlainText(drawn.text);
2037
2200
  await progress.settle();
2038
- const keyboard = drawn.question && drawn.question.options.length > 0
2201
+ const offered = drawn.question && drawn.question.options.length > 0
2039
2202
  ? questionKeyboard(drawn.question)
2040
2203
  : drawn.controls.length === 0 ? undefined : offersKeyboard(drawn.controls);
2204
+ // A run that spent its step budget ends on a Continue button, under
2205
+ // whatever else the answer offers.
2206
+ const keyboard = drawn.continueAgentId === undefined
2207
+ ? offered
2208
+ : { inline_keyboard: [...(offered?.inline_keyboard ?? []), ...continueKeyboard(drawn.continueAgentId).inline_keyboard] };
2041
2209
  // Buttons need a text message to sit under: an answer that carries any
2042
2210
  // stays text, as cards and questions do.
2043
2211
  const voice = speak && keyboard === undefined ? await this.#speakAnswer(chatId, placeholderId, reply, progress) : { sent: false };
2044
- if (!voice.sent)
2045
- await stream.finish(reply, keyboard);
2212
+ const landed = voice.sent ? (voice.landed ?? []) : await stream.finish(reply, keyboard);
2213
+ if (onLanded && landed.length > 0) {
2214
+ await onLanded(landed).catch((err) => this.#log(`telegram: chat ${chatId} — the sent answer was not mapped for reactions: ${message(err)}`));
2215
+ }
2046
2216
  if (voice.note)
2047
2217
  await this.#opts.api.sendMessage(chatId, voice.note).catch(() => { });
2048
2218
  // Then what else the turn made: the view it drew, the files it saved.
@@ -2251,8 +2421,9 @@ export class TelegramSurface {
2251
2421
  const withText = form === 'both';
2252
2422
  const long = reply.length > MAX_VOICE_CAPTION_CHARS;
2253
2423
  progress.silence();
2424
+ let voiceId;
2254
2425
  try {
2255
- await api.sendVoice(chatId, Buffer.from(loaded.data, 'base64'), {
2426
+ voiceId = await api.sendVoice(chatId, Buffer.from(loaded.data, 'base64'), {
2256
2427
  contentType: loaded.mime,
2257
2428
  filename: loaded.mime === 'audio/mpeg' ? 'voice.mp3' : 'voice.ogg',
2258
2429
  ...(withText && !long ? { caption: reply } : {}),
@@ -2261,11 +2432,10 @@ export class TelegramSurface {
2261
2432
  catch (err) {
2262
2433
  return fallback('failed', message(err));
2263
2434
  }
2264
- if (withText && long)
2265
- await api.sendMessage(chatId, reply);
2435
+ const textId = withText && long ? await api.sendMessage(chatId, reply) : undefined;
2266
2436
  if (placeholderId !== undefined)
2267
2437
  await api.deleteMessage(chatId, placeholderId).catch(() => { });
2268
- return { sent: true };
2438
+ return { sent: true, landed: [voiceId, textId].filter((id) => typeof id === 'number') };
2269
2439
  }
2270
2440
  /** Every agent's handle and name, so a spoken `@ledger` is read as its name. */
2271
2441
  #handleNames() {
@@ -2325,4 +2495,8 @@ function sleep(ms) {
2325
2495
  t.unref();
2326
2496
  });
2327
2497
  }
2498
+ /** `message`, under a name a local `message` (the Telegram message) cannot shadow. */
2499
+ function message_(err) {
2500
+ return message(err);
2501
+ }
2328
2502
  //# sourceMappingURL=surface.js.map