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

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 (600) hide show
  1. package/README.md +58 -368
  2. package/examples/agents/concierge/agent.md +10 -2
  3. package/extension/manifest.json +2 -2
  4. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  5. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.d.ts +50 -0
  6. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.d.ts.map +1 -0
  7. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.js +328 -0
  8. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.js.map +1 -0
  9. package/node_modules/@buddi/cli/dist/args.d.ts +5 -0
  10. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  11. package/node_modules/@buddi/cli/dist/args.js +8 -0
  12. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  13. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  14. package/node_modules/@buddi/cli/dist/commands.js +63 -1
  15. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  16. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  17. package/node_modules/@buddi/cli/dist/doctor-probes.js +4 -11
  18. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  19. package/node_modules/@buddi/cli/dist/doctor.d.ts +16 -0
  20. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  21. package/node_modules/@buddi/cli/dist/doctor.js +30 -0
  22. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  23. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  24. package/node_modules/@buddi/cli/dist/main.js +44 -9
  25. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  26. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  27. package/node_modules/@buddi/cli/dist/mcp/tools.js +3 -1
  28. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  29. package/node_modules/@buddi/cli/dist/skills-cmd.d.ts +15 -0
  30. package/node_modules/@buddi/cli/dist/skills-cmd.d.ts.map +1 -0
  31. package/node_modules/@buddi/cli/dist/skills-cmd.js +54 -0
  32. package/node_modules/@buddi/cli/dist/skills-cmd.js.map +1 -0
  33. package/node_modules/@buddi/cli/dist/status.d.ts +15 -9
  34. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
  35. package/node_modules/@buddi/cli/dist/status.js +6 -11
  36. package/node_modules/@buddi/cli/dist/status.js.map +1 -1
  37. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  38. package/node_modules/@buddi/core/dist/actions/store.d.ts +8 -0
  39. package/node_modules/@buddi/core/dist/actions/store.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/actions/store.js +13 -0
  41. package/node_modules/@buddi/core/dist/actions/store.js.map +1 -1
  42. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +11 -3
  43. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  44. package/node_modules/@buddi/core/dist/agents/catalog.js +58 -10
  45. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  46. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +1 -1
  47. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  48. package/node_modules/@buddi/core/dist/agents/frontmatter.js +1 -1
  49. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  50. package/node_modules/@buddi/core/dist/agents/skills.d.ts +29 -3
  51. package/node_modules/@buddi/core/dist/agents/skills.d.ts.map +1 -1
  52. package/node_modules/@buddi/core/dist/agents/skills.js +49 -2
  53. package/node_modules/@buddi/core/dist/agents/skills.js.map +1 -1
  54. package/node_modules/@buddi/core/dist/clock-widget.d.ts.map +1 -1
  55. package/node_modules/@buddi/core/dist/clock-widget.js +5 -3
  56. package/node_modules/@buddi/core/dist/clock-widget.js.map +1 -1
  57. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  58. package/node_modules/@buddi/core/dist/host/build.js +11 -0
  59. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  60. package/node_modules/@buddi/core/dist/host/types.d.ts +7 -0
  61. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  62. package/node_modules/@buddi/core/dist/learning/store.d.ts +7 -0
  63. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  64. package/node_modules/@buddi/core/dist/learning/store.js +6 -0
  65. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  66. package/node_modules/@buddi/core/dist/notifications/agent.d.ts +7 -0
  67. package/node_modules/@buddi/core/dist/notifications/agent.d.ts.map +1 -1
  68. package/node_modules/@buddi/core/dist/notifications/agent.js +2 -0
  69. package/node_modules/@buddi/core/dist/notifications/agent.js.map +1 -1
  70. package/node_modules/@buddi/core/dist/notifications/index.d.ts +1 -0
  71. package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -1
  72. package/node_modules/@buddi/core/dist/notifications/index.js +1 -0
  73. package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -1
  74. package/node_modules/@buddi/core/dist/notifications/needs.d.ts +49 -0
  75. package/node_modules/@buddi/core/dist/notifications/needs.d.ts.map +1 -0
  76. package/node_modules/@buddi/core/dist/notifications/needs.js +41 -0
  77. package/node_modules/@buddi/core/dist/notifications/needs.js.map +1 -0
  78. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
  79. package/node_modules/@buddi/core/dist/notifications/notify.js +16 -7
  80. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
  81. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
  82. package/node_modules/@buddi/core/dist/notifications/store.js +2 -1
  83. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
  84. package/node_modules/@buddi/core/dist/notifications/types.d.ts +10 -0
  85. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
  86. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -1
  87. package/node_modules/@buddi/core/dist/offers/store.d.ts.map +1 -1
  88. package/node_modules/@buddi/core/dist/offers/store.js +9 -4
  89. package/node_modules/@buddi/core/dist/offers/store.js.map +1 -1
  90. package/node_modules/@buddi/core/dist/offers/types.d.ts +24 -1
  91. package/node_modules/@buddi/core/dist/offers/types.d.ts.map +1 -1
  92. package/node_modules/@buddi/core/dist/offers/types.js +23 -1
  93. package/node_modules/@buddi/core/dist/offers/types.js.map +1 -1
  94. package/node_modules/@buddi/core/dist/owner-timezone.d.ts +20 -22
  95. package/node_modules/@buddi/core/dist/owner-timezone.d.ts.map +1 -1
  96. package/node_modules/@buddi/core/dist/owner-timezone.js +17 -25
  97. package/node_modules/@buddi/core/dist/owner-timezone.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/scheduler/missions.d.ts +86 -11
  101. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  102. package/node_modules/@buddi/core/dist/scheduler/missions.js +160 -36
  103. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  104. package/node_modules/@buddi/core/dist/scheduler/runner.d.ts.map +1 -1
  105. package/node_modules/@buddi/core/dist/scheduler/runner.js +6 -1
  106. package/node_modules/@buddi/core/dist/scheduler/runner.js.map +1 -1
  107. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +22 -0
  108. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  109. package/node_modules/@buddi/core/dist/scheduler/types.js +6 -0
  110. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  111. package/node_modules/@buddi/core/dist/web-settings.d.ts +13 -0
  112. package/node_modules/@buddi/core/dist/web-settings.d.ts.map +1 -1
  113. package/node_modules/@buddi/core/dist/web-settings.js +26 -0
  114. package/node_modules/@buddi/core/dist/web-settings.js.map +1 -1
  115. package/node_modules/@buddi/core/dist/widgets.d.ts +13 -5
  116. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
  117. package/node_modules/@buddi/core/dist/widgets.js +10 -1
  118. package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
  119. package/node_modules/@buddi/core/migrations/068_notification_action.sql +12 -0
  120. package/node_modules/@buddi/core/migrations/069_schedule_zone_explicit.sql +18 -0
  121. package/node_modules/@buddi/core/migrations/070_offer_handoff.sql +15 -0
  122. package/node_modules/@buddi/core/migrations/071_mission_lifespan.sql +19 -0
  123. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  124. package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +6 -6
  125. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts +313 -0
  126. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -0
  127. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +356 -0
  128. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -0
  129. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +29 -7
  130. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +87 -38
  132. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  134. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +11 -1
  135. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  136. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts +361 -0
  137. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -0
  138. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +1021 -0
  139. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -0
  140. package/node_modules/@buddi/gateway/dist/agents/platform-names.d.ts.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/agents/platform-names.js +3 -0
  142. package/node_modules/@buddi/gateway/dist/agents/platform-names.js.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +62 -25
  144. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/agents/platform.js +123 -29
  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 +6 -0
  150. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  151. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/bootstrap.js +13 -1
  153. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/index.d.ts +1 -0
  155. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  156. package/node_modules/@buddi/gateway/dist/index.js +1 -0
  157. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  158. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts +0 -6
  159. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts.map +1 -1
  160. package/node_modules/@buddi/gateway/dist/missions/defaults.js +4 -8
  161. package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
  162. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +6 -0
  163. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  164. package/node_modules/@buddi/gateway/dist/missions/execute.js +74 -2
  165. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts +10 -0
  167. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/missions/reminders.js +86 -17
  169. package/node_modules/@buddi/gateway/dist/missions/reminders.js.map +1 -1
  170. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.d.ts +13 -0
  171. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.d.ts.map +1 -0
  172. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.js +31 -0
  173. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.js.map +1 -0
  174. package/node_modules/@buddi/gateway/dist/missions-cli.js +2 -2
  175. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  176. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/plugins/load.js +12 -5
  178. package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
  179. package/node_modules/@buddi/gateway/dist/plugins/provenance.d.ts +35 -1
  180. package/node_modules/@buddi/gateway/dist/plugins/provenance.d.ts.map +1 -1
  181. package/node_modules/@buddi/gateway/dist/plugins/provenance.js +39 -1
  182. package/node_modules/@buddi/gateway/dist/plugins/provenance.js.map +1 -1
  183. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  184. package/node_modules/@buddi/gateway/dist/serve.js +10 -10
  185. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  186. package/node_modules/@buddi/gateway/dist/surfaces/handoff.d.ts +62 -0
  187. package/node_modules/@buddi/gateway/dist/surfaces/handoff.d.ts.map +1 -0
  188. package/node_modules/@buddi/gateway/dist/surfaces/handoff.js +121 -0
  189. package/node_modules/@buddi/gateway/dist/surfaces/handoff.js.map +1 -0
  190. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts +2 -0
  191. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  192. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +1 -1
  193. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +11 -1
  195. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/telegram/channel.js +13 -2
  197. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  198. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  199. package/node_modules/@buddi/gateway/dist/telegram/main.js +7 -1
  200. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  201. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +9 -1
  202. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  203. package/node_modules/@buddi/gateway/dist/telegram/surface.js +58 -6
  204. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  205. package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts +0 -30
  206. package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts.map +1 -1
  207. package/node_modules/@buddi/gateway/dist/web/agent-offers.js +1 -64
  208. package/node_modules/@buddi/gateway/dist/web/agent-offers.js.map +1 -1
  209. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +1 -0
  210. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  211. package/node_modules/@buddi/gateway/dist/web/api-routes.js +126 -7
  212. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  213. package/node_modules/@buddi/gateway/dist/web/catalogue-source.d.ts +33 -0
  214. package/node_modules/@buddi/gateway/dist/web/catalogue-source.d.ts.map +1 -0
  215. package/node_modules/@buddi/gateway/dist/web/catalogue-source.js +124 -0
  216. package/node_modules/@buddi/gateway/dist/web/catalogue-source.js.map +1 -0
  217. package/node_modules/@buddi/gateway/dist/web/catalogue.d.ts +155 -0
  218. package/node_modules/@buddi/gateway/dist/web/catalogue.d.ts.map +1 -0
  219. package/node_modules/@buddi/gateway/dist/web/catalogue.js +734 -0
  220. package/node_modules/@buddi/gateway/dist/web/catalogue.js.map +1 -0
  221. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +3 -1
  222. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  223. package/node_modules/@buddi/gateway/dist/web/chat.js +8 -1
  224. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  225. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts +24 -0
  226. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts.map +1 -0
  227. package/node_modules/@buddi/gateway/dist/web/client-key.js +17 -0
  228. package/node_modules/@buddi/gateway/dist/web/client-key.js.map +1 -0
  229. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +5 -1
  230. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/web/lock.js +4 -15
  232. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/web/market.d.ts +1 -0
  234. package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
  235. package/node_modules/@buddi/gateway/dist/web/market.js +6 -0
  236. package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
  237. package/node_modules/@buddi/gateway/dist/web/needs-you.d.ts +36 -0
  238. package/node_modules/@buddi/gateway/dist/web/needs-you.d.ts.map +1 -0
  239. package/node_modules/@buddi/gateway/dist/web/needs-you.js +65 -0
  240. package/node_modules/@buddi/gateway/dist/web/needs-you.js.map +1 -0
  241. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +9 -1
  242. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -1
  243. package/node_modules/@buddi/gateway/dist/web/notifications.js +14 -3
  244. package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/web/read.d.ts +27 -1
  246. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/web/read.js +57 -8
  248. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  250. package/node_modules/@buddi/gateway/dist/web/server.js +165 -13
  251. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  252. package/node_modules/@buddi/gateway/dist/web/skills.d.ts +120 -0
  253. package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -0
  254. package/node_modules/@buddi/gateway/dist/web/skills.js +672 -0
  255. package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -0
  256. package/node_modules/@buddi/gateway/dist/web/take-on.d.ts +35 -1
  257. package/node_modules/@buddi/gateway/dist/web/take-on.d.ts.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/web/take-on.js +76 -51
  259. package/node_modules/@buddi/gateway/dist/web/take-on.js.map +1 -1
  260. package/node_modules/@buddi/gateway/dist/web/write.d.ts +9 -1
  261. package/node_modules/@buddi/gateway/dist/web/write.d.ts.map +1 -1
  262. package/node_modules/@buddi/gateway/dist/web/write.js +39 -2
  263. package/node_modules/@buddi/gateway/dist/web/write.js.map +1 -1
  264. package/node_modules/@buddi/gateway/package.json +0 -1
  265. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  266. package/node_modules/@buddi/install/dist/doctor-timezone.d.ts +17 -0
  267. package/node_modules/@buddi/install/dist/doctor-timezone.d.ts.map +1 -0
  268. package/node_modules/@buddi/install/dist/doctor-timezone.js +34 -0
  269. package/node_modules/@buddi/install/dist/doctor-timezone.js.map +1 -0
  270. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  271. package/node_modules/@buddi/install/dist/launcher.js +3 -0
  272. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  273. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  274. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  275. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  276. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  277. package/node_modules/@buddi/tool-email/dist/needs-you.d.ts +4 -1
  278. package/node_modules/@buddi/tool-email/dist/needs-you.d.ts.map +1 -1
  279. package/node_modules/@buddi/tool-email/dist/needs-you.js +2 -0
  280. package/node_modules/@buddi/tool-email/dist/needs-you.js.map +1 -1
  281. package/node_modules/@buddi/tool-email/migrations/026_attention_filed.sql +89 -0
  282. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  283. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  284. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  285. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  286. package/package.json +2 -2
  287. package/packages/cli/dist/.tsbuildinfo +1 -1
  288. package/packages/cli/dist/agents-catalogue-cmd.d.ts +50 -0
  289. package/packages/cli/dist/agents-catalogue-cmd.d.ts.map +1 -0
  290. package/packages/cli/dist/agents-catalogue-cmd.js +328 -0
  291. package/packages/cli/dist/agents-catalogue-cmd.js.map +1 -0
  292. package/packages/cli/dist/args.d.ts +5 -0
  293. package/packages/cli/dist/args.d.ts.map +1 -1
  294. package/packages/cli/dist/args.js +8 -0
  295. package/packages/cli/dist/args.js.map +1 -1
  296. package/packages/cli/dist/commands.d.ts.map +1 -1
  297. package/packages/cli/dist/commands.js +63 -1
  298. package/packages/cli/dist/commands.js.map +1 -1
  299. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  300. package/packages/cli/dist/doctor-probes.js +4 -11
  301. package/packages/cli/dist/doctor-probes.js.map +1 -1
  302. package/packages/cli/dist/doctor.d.ts +16 -0
  303. package/packages/cli/dist/doctor.d.ts.map +1 -1
  304. package/packages/cli/dist/doctor.js +30 -0
  305. package/packages/cli/dist/doctor.js.map +1 -1
  306. package/packages/cli/dist/main.d.ts.map +1 -1
  307. package/packages/cli/dist/main.js +44 -9
  308. package/packages/cli/dist/main.js.map +1 -1
  309. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  310. package/packages/cli/dist/mcp/tools.js +3 -1
  311. package/packages/cli/dist/mcp/tools.js.map +1 -1
  312. package/packages/cli/dist/skills-cmd.d.ts +15 -0
  313. package/packages/cli/dist/skills-cmd.d.ts.map +1 -0
  314. package/packages/cli/dist/skills-cmd.js +54 -0
  315. package/packages/cli/dist/skills-cmd.js.map +1 -0
  316. package/packages/cli/dist/status.d.ts +15 -9
  317. package/packages/cli/dist/status.d.ts.map +1 -1
  318. package/packages/cli/dist/status.js +6 -11
  319. package/packages/cli/dist/status.js.map +1 -1
  320. package/packages/core/dist/.tsbuildinfo +1 -1
  321. package/packages/core/dist/actions/store.d.ts +8 -0
  322. package/packages/core/dist/actions/store.d.ts.map +1 -1
  323. package/packages/core/dist/actions/store.js +13 -0
  324. package/packages/core/dist/actions/store.js.map +1 -1
  325. package/packages/core/dist/agents/catalog.d.ts +11 -3
  326. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  327. package/packages/core/dist/agents/catalog.js +58 -10
  328. package/packages/core/dist/agents/catalog.js.map +1 -1
  329. package/packages/core/dist/agents/frontmatter.d.ts +1 -1
  330. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  331. package/packages/core/dist/agents/frontmatter.js +1 -1
  332. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  333. package/packages/core/dist/agents/skills.d.ts +29 -3
  334. package/packages/core/dist/agents/skills.d.ts.map +1 -1
  335. package/packages/core/dist/agents/skills.js +49 -2
  336. package/packages/core/dist/agents/skills.js.map +1 -1
  337. package/packages/core/dist/clock-widget.d.ts.map +1 -1
  338. package/packages/core/dist/clock-widget.js +5 -3
  339. package/packages/core/dist/clock-widget.js.map +1 -1
  340. package/packages/core/dist/host/build.d.ts.map +1 -1
  341. package/packages/core/dist/host/build.js +11 -0
  342. package/packages/core/dist/host/build.js.map +1 -1
  343. package/packages/core/dist/host/types.d.ts +7 -0
  344. package/packages/core/dist/host/types.d.ts.map +1 -1
  345. package/packages/core/dist/learning/store.d.ts +7 -0
  346. package/packages/core/dist/learning/store.d.ts.map +1 -1
  347. package/packages/core/dist/learning/store.js +6 -0
  348. package/packages/core/dist/learning/store.js.map +1 -1
  349. package/packages/core/dist/notifications/agent.d.ts +7 -0
  350. package/packages/core/dist/notifications/agent.d.ts.map +1 -1
  351. package/packages/core/dist/notifications/agent.js +2 -0
  352. package/packages/core/dist/notifications/agent.js.map +1 -1
  353. package/packages/core/dist/notifications/index.d.ts +1 -0
  354. package/packages/core/dist/notifications/index.d.ts.map +1 -1
  355. package/packages/core/dist/notifications/index.js +1 -0
  356. package/packages/core/dist/notifications/index.js.map +1 -1
  357. package/packages/core/dist/notifications/needs.d.ts +49 -0
  358. package/packages/core/dist/notifications/needs.d.ts.map +1 -0
  359. package/packages/core/dist/notifications/needs.js +41 -0
  360. package/packages/core/dist/notifications/needs.js.map +1 -0
  361. package/packages/core/dist/notifications/notify.d.ts.map +1 -1
  362. package/packages/core/dist/notifications/notify.js +16 -7
  363. package/packages/core/dist/notifications/notify.js.map +1 -1
  364. package/packages/core/dist/notifications/store.d.ts.map +1 -1
  365. package/packages/core/dist/notifications/store.js +2 -1
  366. package/packages/core/dist/notifications/store.js.map +1 -1
  367. package/packages/core/dist/notifications/types.d.ts +10 -0
  368. package/packages/core/dist/notifications/types.d.ts.map +1 -1
  369. package/packages/core/dist/notifications/types.js.map +1 -1
  370. package/packages/core/dist/offers/store.d.ts.map +1 -1
  371. package/packages/core/dist/offers/store.js +9 -4
  372. package/packages/core/dist/offers/store.js.map +1 -1
  373. package/packages/core/dist/offers/types.d.ts +24 -1
  374. package/packages/core/dist/offers/types.d.ts.map +1 -1
  375. package/packages/core/dist/offers/types.js +23 -1
  376. package/packages/core/dist/offers/types.js.map +1 -1
  377. package/packages/core/dist/owner-timezone.d.ts +20 -22
  378. package/packages/core/dist/owner-timezone.d.ts.map +1 -1
  379. package/packages/core/dist/owner-timezone.js +17 -25
  380. package/packages/core/dist/owner-timezone.js.map +1 -1
  381. package/packages/core/dist/plugin/version.d.ts +1 -1
  382. package/packages/core/dist/plugin/version.js +1 -1
  383. package/packages/core/dist/scheduler/missions.d.ts +86 -11
  384. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  385. package/packages/core/dist/scheduler/missions.js +160 -36
  386. package/packages/core/dist/scheduler/missions.js.map +1 -1
  387. package/packages/core/dist/scheduler/runner.d.ts.map +1 -1
  388. package/packages/core/dist/scheduler/runner.js +6 -1
  389. package/packages/core/dist/scheduler/runner.js.map +1 -1
  390. package/packages/core/dist/scheduler/types.d.ts +22 -0
  391. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  392. package/packages/core/dist/scheduler/types.js +6 -0
  393. package/packages/core/dist/scheduler/types.js.map +1 -1
  394. package/packages/core/dist/web-settings.d.ts +13 -0
  395. package/packages/core/dist/web-settings.d.ts.map +1 -1
  396. package/packages/core/dist/web-settings.js +26 -0
  397. package/packages/core/dist/web-settings.js.map +1 -1
  398. package/packages/core/dist/widgets.d.ts +13 -5
  399. package/packages/core/dist/widgets.d.ts.map +1 -1
  400. package/packages/core/dist/widgets.js +10 -1
  401. package/packages/core/dist/widgets.js.map +1 -1
  402. package/packages/core/migrations/068_notification_action.sql +12 -0
  403. package/packages/core/migrations/069_schedule_zone_explicit.sql +18 -0
  404. package/packages/core/migrations/070_offer_handoff.sql +15 -0
  405. package/packages/core/migrations/071_mission_lifespan.sql +19 -0
  406. package/packages/gateway/dist/.tsbuildinfo +1 -1
  407. package/packages/gateway/dist/agents/canvas.d.ts +6 -6
  408. package/packages/gateway/dist/agents/catalogue-package.d.ts +313 -0
  409. package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -0
  410. package/packages/gateway/dist/agents/catalogue-package.js +356 -0
  411. package/packages/gateway/dist/agents/catalogue-package.js.map +1 -0
  412. package/packages/gateway/dist/agents/learning-digest.d.ts +29 -7
  413. package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  414. package/packages/gateway/dist/agents/learning-digest.js +87 -38
  415. package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
  416. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  417. package/packages/gateway/dist/agents/owner-tools.js +11 -1
  418. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  419. package/packages/gateway/dist/agents/platform-catalogue.d.ts +361 -0
  420. package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -0
  421. package/packages/gateway/dist/agents/platform-catalogue.js +1021 -0
  422. package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -0
  423. package/packages/gateway/dist/agents/platform-names.d.ts.map +1 -1
  424. package/packages/gateway/dist/agents/platform-names.js +3 -0
  425. package/packages/gateway/dist/agents/platform-names.js.map +1 -1
  426. package/packages/gateway/dist/agents/platform.d.ts +62 -25
  427. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  428. package/packages/gateway/dist/agents/platform.js +123 -29
  429. package/packages/gateway/dist/agents/platform.js.map +1 -1
  430. package/packages/gateway/dist/agents-cli.d.ts +1 -1
  431. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  432. package/packages/gateway/dist/agents-cli.js +6 -0
  433. package/packages/gateway/dist/agents-cli.js.map +1 -1
  434. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  435. package/packages/gateway/dist/bootstrap.js +13 -1
  436. package/packages/gateway/dist/bootstrap.js.map +1 -1
  437. package/packages/gateway/dist/index.d.ts +1 -0
  438. package/packages/gateway/dist/index.d.ts.map +1 -1
  439. package/packages/gateway/dist/index.js +1 -0
  440. package/packages/gateway/dist/index.js.map +1 -1
  441. package/packages/gateway/dist/missions/defaults.d.ts +0 -6
  442. package/packages/gateway/dist/missions/defaults.d.ts.map +1 -1
  443. package/packages/gateway/dist/missions/defaults.js +4 -8
  444. package/packages/gateway/dist/missions/defaults.js.map +1 -1
  445. package/packages/gateway/dist/missions/execute.d.ts +6 -0
  446. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  447. package/packages/gateway/dist/missions/execute.js +74 -2
  448. package/packages/gateway/dist/missions/execute.js.map +1 -1
  449. package/packages/gateway/dist/missions/reminders.d.ts +10 -0
  450. package/packages/gateway/dist/missions/reminders.d.ts.map +1 -1
  451. package/packages/gateway/dist/missions/reminders.js +86 -17
  452. package/packages/gateway/dist/missions/reminders.js.map +1 -1
  453. package/packages/gateway/dist/missions/zone-provenance.d.ts +13 -0
  454. package/packages/gateway/dist/missions/zone-provenance.d.ts.map +1 -0
  455. package/packages/gateway/dist/missions/zone-provenance.js +31 -0
  456. package/packages/gateway/dist/missions/zone-provenance.js.map +1 -0
  457. package/packages/gateway/dist/missions-cli.js +2 -2
  458. package/packages/gateway/dist/missions-cli.js.map +1 -1
  459. package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
  460. package/packages/gateway/dist/plugins/load.js +12 -5
  461. package/packages/gateway/dist/plugins/load.js.map +1 -1
  462. package/packages/gateway/dist/plugins/provenance.d.ts +35 -1
  463. package/packages/gateway/dist/plugins/provenance.d.ts.map +1 -1
  464. package/packages/gateway/dist/plugins/provenance.js +39 -1
  465. package/packages/gateway/dist/plugins/provenance.js.map +1 -1
  466. package/packages/gateway/dist/serve.d.ts.map +1 -1
  467. package/packages/gateway/dist/serve.js +10 -10
  468. package/packages/gateway/dist/serve.js.map +1 -1
  469. package/packages/gateway/dist/surfaces/handoff.d.ts +62 -0
  470. package/packages/gateway/dist/surfaces/handoff.d.ts.map +1 -0
  471. package/packages/gateway/dist/surfaces/handoff.js +121 -0
  472. package/packages/gateway/dist/surfaces/handoff.js.map +1 -0
  473. package/packages/gateway/dist/surfaces/offered-actions.d.ts +2 -0
  474. package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  475. package/packages/gateway/dist/surfaces/offered-actions.js +1 -1
  476. package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
  477. package/packages/gateway/dist/telegram/channel.d.ts +11 -1
  478. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  479. package/packages/gateway/dist/telegram/channel.js +13 -2
  480. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  481. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  482. package/packages/gateway/dist/telegram/main.js +7 -1
  483. package/packages/gateway/dist/telegram/main.js.map +1 -1
  484. package/packages/gateway/dist/telegram/surface.d.ts +9 -1
  485. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  486. package/packages/gateway/dist/telegram/surface.js +58 -6
  487. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  488. package/packages/gateway/dist/web/agent-offers.d.ts +0 -30
  489. package/packages/gateway/dist/web/agent-offers.d.ts.map +1 -1
  490. package/packages/gateway/dist/web/agent-offers.js +1 -64
  491. package/packages/gateway/dist/web/agent-offers.js.map +1 -1
  492. package/packages/gateway/dist/web/api-routes.d.ts +1 -0
  493. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  494. package/packages/gateway/dist/web/api-routes.js +126 -7
  495. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  496. package/packages/gateway/dist/web/catalogue-source.d.ts +33 -0
  497. package/packages/gateway/dist/web/catalogue-source.d.ts.map +1 -0
  498. package/packages/gateway/dist/web/catalogue-source.js +124 -0
  499. package/packages/gateway/dist/web/catalogue-source.js.map +1 -0
  500. package/packages/gateway/dist/web/catalogue.d.ts +155 -0
  501. package/packages/gateway/dist/web/catalogue.d.ts.map +1 -0
  502. package/packages/gateway/dist/web/catalogue.js +734 -0
  503. package/packages/gateway/dist/web/catalogue.js.map +1 -0
  504. package/packages/gateway/dist/web/chat.d.ts +3 -1
  505. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  506. package/packages/gateway/dist/web/chat.js +8 -1
  507. package/packages/gateway/dist/web/chat.js.map +1 -1
  508. package/packages/gateway/dist/web/client-key.d.ts +24 -0
  509. package/packages/gateway/dist/web/client-key.d.ts.map +1 -0
  510. package/packages/gateway/dist/web/client-key.js +17 -0
  511. package/packages/gateway/dist/web/client-key.js.map +1 -0
  512. package/packages/gateway/dist/web/lock.d.ts +5 -1
  513. package/packages/gateway/dist/web/lock.d.ts.map +1 -1
  514. package/packages/gateway/dist/web/lock.js +4 -15
  515. package/packages/gateway/dist/web/lock.js.map +1 -1
  516. package/packages/gateway/dist/web/market.d.ts +1 -0
  517. package/packages/gateway/dist/web/market.d.ts.map +1 -1
  518. package/packages/gateway/dist/web/market.js +6 -0
  519. package/packages/gateway/dist/web/market.js.map +1 -1
  520. package/packages/gateway/dist/web/needs-you.d.ts +36 -0
  521. package/packages/gateway/dist/web/needs-you.d.ts.map +1 -0
  522. package/packages/gateway/dist/web/needs-you.js +65 -0
  523. package/packages/gateway/dist/web/needs-you.js.map +1 -0
  524. package/packages/gateway/dist/web/notifications.d.ts +9 -1
  525. package/packages/gateway/dist/web/notifications.d.ts.map +1 -1
  526. package/packages/gateway/dist/web/notifications.js +14 -3
  527. package/packages/gateway/dist/web/notifications.js.map +1 -1
  528. package/packages/gateway/dist/web/read.d.ts +27 -1
  529. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  530. package/packages/gateway/dist/web/read.js +57 -8
  531. package/packages/gateway/dist/web/read.js.map +1 -1
  532. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  533. package/packages/gateway/dist/web/server.js +165 -13
  534. package/packages/gateway/dist/web/server.js.map +1 -1
  535. package/packages/gateway/dist/web/skills.d.ts +120 -0
  536. package/packages/gateway/dist/web/skills.d.ts.map +1 -0
  537. package/packages/gateway/dist/web/skills.js +672 -0
  538. package/packages/gateway/dist/web/skills.js.map +1 -0
  539. package/packages/gateway/dist/web/take-on.d.ts +35 -1
  540. package/packages/gateway/dist/web/take-on.d.ts.map +1 -1
  541. package/packages/gateway/dist/web/take-on.js +76 -51
  542. package/packages/gateway/dist/web/take-on.js.map +1 -1
  543. package/packages/gateway/dist/web/write.d.ts +9 -1
  544. package/packages/gateway/dist/web/write.d.ts.map +1 -1
  545. package/packages/gateway/dist/web/write.js +39 -2
  546. package/packages/gateway/dist/web/write.js.map +1 -1
  547. package/packages/gateway/package.json +0 -1
  548. package/packages/install/dist/.tsbuildinfo +1 -1
  549. package/packages/install/dist/doctor-timezone.d.ts +17 -0
  550. package/packages/install/dist/doctor-timezone.d.ts.map +1 -0
  551. package/packages/install/dist/doctor-timezone.js +34 -0
  552. package/packages/install/dist/doctor-timezone.js.map +1 -0
  553. package/packages/install/dist/launcher.d.ts.map +1 -1
  554. package/packages/install/dist/launcher.js +3 -0
  555. package/packages/install/dist/launcher.js.map +1 -1
  556. package/packages/runtime/dist/.tsbuildinfo +1 -1
  557. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  558. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  559. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  560. package/packages/tools/email/dist/needs-you.d.ts +4 -1
  561. package/packages/tools/email/dist/needs-you.d.ts.map +1 -1
  562. package/packages/tools/email/dist/needs-you.js +2 -0
  563. package/packages/tools/email/dist/needs-you.js.map +1 -1
  564. package/packages/tools/email/migrations/026_attention_filed.sql +89 -0
  565. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  566. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  567. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  568. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  569. package/packages/web/dist/assets/index-BldmgplG.css +1 -0
  570. package/packages/web/dist/assets/index-C8GaSH__.js +132 -0
  571. package/packages/web/dist/assets/{lottie_light-Ls7i1ATS.js → lottie_light-DdwKPR04.js} +1 -1
  572. package/packages/web/dist/build.json +1 -1
  573. package/packages/web/dist/index.html +2 -2
  574. package/packages/web/dist/precache.json +4 -4
  575. package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts +0 -59
  576. package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts.map +0 -1
  577. package/node_modules/@buddi/gateway/dist/agents/starter-team.js +0 -156
  578. package/node_modules/@buddi/gateway/dist/agents/starter-team.js.map +0 -1
  579. package/node_modules/@buddi/gateway/src/agents/starter/keeper/agent.md +0 -31
  580. package/node_modules/@buddi/gateway/src/agents/starter/keeper/skills/keeping-a-history.md +0 -22
  581. package/node_modules/@buddi/gateway/src/agents/starter/planner/agent.md +0 -30
  582. package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/holding-a-follow-up.md +0 -17
  583. package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +0 -32
  584. package/node_modules/@buddi/gateway/src/agents/starter/scout/agent.md +0 -33
  585. package/node_modules/@buddi/gateway/src/agents/starter/scout/skills/answering-with-sources.md +0 -23
  586. package/node_modules/@buddi/gateway/src/agents/starter/scout/skills/the-web-is-evidence.md +0 -25
  587. package/packages/gateway/dist/agents/starter-team.d.ts +0 -59
  588. package/packages/gateway/dist/agents/starter-team.d.ts.map +0 -1
  589. package/packages/gateway/dist/agents/starter-team.js +0 -156
  590. package/packages/gateway/dist/agents/starter-team.js.map +0 -1
  591. package/packages/gateway/src/agents/starter/keeper/agent.md +0 -31
  592. package/packages/gateway/src/agents/starter/keeper/skills/keeping-a-history.md +0 -22
  593. package/packages/gateway/src/agents/starter/planner/agent.md +0 -30
  594. package/packages/gateway/src/agents/starter/planner/skills/holding-a-follow-up.md +0 -17
  595. package/packages/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +0 -32
  596. package/packages/gateway/src/agents/starter/scout/agent.md +0 -33
  597. package/packages/gateway/src/agents/starter/scout/skills/answering-with-sources.md +0 -23
  598. package/packages/gateway/src/agents/starter/scout/skills/the-web-is-evidence.md +0 -25
  599. package/packages/web/dist/assets/index-WS4UjGsy.js +0 -129
  600. package/packages/web/dist/assets/index-Zrt_o2UG.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/offers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAwClD,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,GAAS;IACjD,OAAO,CACL,KAAK,CAAC,OAAO,KAAK,IAAI;QACtB,KAAK,CAAC,WAAW,KAAK,IAAI;QAC1B,KAAK,CAAC,QAAQ,KAAK,IAAI;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GACxB,kFAAkF;IAClF,gEAAgE,CAAC;AAEnE,SAAS,GAAG,CAAC,KAAc;IACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAwB;IAC9C,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,cAAc,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS;YAC/E,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;QAC/B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;QACpC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;QACpC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;QAC/B,UAAU,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;YACrE,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;QAClC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;QAC5B,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAuB;KAC9D,CAAC;AACJ,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE7D,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/offers/types.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@
4
4
  * Settings → Profile is the owner's zone (`ownerTimezone`); `BUDDI_TZ` is only
5
5
  * the default while the profile names none. A new zone applies to clocks and
6
6
  * `{{today}}` at once (`setOwnerProfile` refreshes the process's copy). The
7
- * schedules kept in the old zone — the recap at 8 AM, the digest's day and
8
- * hour, a recurring reminder — move with it here, so "8 AM" stays the owner's
9
- * 8 AM. A schedule in any other zone was named on purpose and stays.
7
+ * schedules that follow the owner's zone — made without one: the recap at
8
+ * 8 AM, the digest's day and hour, a recurring reminder — move with it here,
9
+ * so "8 AM" stays the owner's 8 AM. A schedule whose zone was named on
10
+ * purpose (`timezone_explicit`) stays.
10
11
  */
11
12
  import type { Pool } from 'pg';
12
13
  import type { OwnerProfile, OwnerProfilePatch } from './onboarding/types.js';
14
+ import { type OwnerFollowingDeclaration } from './scheduler/missions.js';
13
15
  export interface SavedOwnerProfile {
14
16
  profile: OwnerProfile;
15
17
  /** Set when the effective zone changed: from, to, and the missions moved. */
@@ -20,27 +22,23 @@ export interface SavedOwnerProfile {
20
22
  };
21
23
  }
22
24
  export declare function saveOwnerProfile(pool: Pool, patch: OwnerProfilePatch, env?: NodeJS.ProcessEnv): Promise<SavedOwnerProfile>;
23
- /** Where the one-time alignment below records that it ran. */
24
- export declare const SCHEDULES_ALIGNED_KEY = "owner.schedules-aligned";
25
25
  /**
26
- * Once, at the first start of a buddi whose clock follows the profile: the
27
- * built-in schedules still kept in the configured fallback zone (`BUDDI_TZ`,
28
- * else New York) move to the profile's zone when the profile names another.
29
- * An installation set up before the profile drove the clock made its recap,
30
- * digest and first-run arc in the fallback zone, and its owner's zone was the
31
- * profile's all along.
32
- *
33
- * Only `missions` — the schedules that follow the owner's zone, which the
34
- * caller names (built-in ones registered with no zone of their own) — and
35
- * only once (`SCHEDULES_ALIGNED_KEY`): a schedule in the fallback zone may
36
- * have been put there on purpose since, and from then on a profile save is
37
- * what moves schedules (`saveOwnerProfile`). Returns what moved, if anything.
26
+ * At every start: the schedules made before buddi recorded whether a zone was
27
+ * named on purpose are settled once by provenance — one buddi itself made
28
+ * without a zone (`declared`: a default mission, the digest, a plugin agent's
29
+ * mission) that still sits in the default zone of the time (`BUDDI_TZ`, else
30
+ * New York) or the Profile's follows the owner; any other, ambiguous ones
31
+ * included, keeps its zone — and then every schedule that
32
+ * follows the owner and is not in the owner's zone moves to it (a Profile
33
+ * change made while buddi was stopped, or by an older buddi). Returns what
34
+ * moved, if anything.
38
35
  */
39
- export declare function alignSchedulesToOwnerZone(pool: Pool, env: NodeJS.ProcessEnv, opts: {
40
- missions: readonly string[];
41
- }): Promise<{
42
- from: string;
36
+ export declare function settleScheduleZones(pool: Pool, env: NodeJS.ProcessEnv, declared?: readonly OwnerFollowingDeclaration[]): Promise<{
43
37
  to: string;
44
38
  missions: string[];
45
- } | undefined>;
39
+ settled: {
40
+ following: number;
41
+ explicit: number;
42
+ };
43
+ }>;
46
44
  //# sourceMappingURL=owner-timezone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-timezone.d.ts","sourceRoot":"","sources":["../src/owner-timezone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC/D;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,iBAAiB,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAED,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE;IAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAQvE"}
1
+ {"version":3,"file":"owner-timezone.d.ts","sourceRoot":"","sources":["../src/owner-timezone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,yBAAyB,EAA6C,MAAM,yBAAyB,CAAC;AAGpH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC/D;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,iBAAiB,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,SAAS,yBAAyB,EAAO,GAClD,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAO/F"}
@@ -1,7 +1,6 @@
1
1
  import { getOwnerProfile, setOwnerProfile } from './onboarding/store.js';
2
- import { rezoneSchedules } from './scheduler/missions.js';
2
+ import { rezoneSchedules, settleUnflaggedSchedules } from './scheduler/missions.js';
3
3
  import { isKnownTimezone, timezoneFromEnv } from './time.js';
4
- import { readWebSetting, writeWebSetting } from './web-settings.js';
5
4
  export async function saveOwnerProfile(pool, patch, env = process.env) {
6
5
  if (patch.timezone === undefined)
7
6
  return { profile: await setOwnerProfile(pool, patch) };
@@ -11,33 +10,26 @@ export async function saveOwnerProfile(pool, patch, env = process.env) {
11
10
  const to = effective(profile.timezone);
12
11
  if (from === to)
13
12
  return { profile };
14
- const missions = await rezoneSchedules(pool, from, to);
13
+ const missions = await rezoneSchedules(pool, to);
15
14
  return { profile, zoneChange: { from, to, missions } };
16
15
  }
17
- /** Where the one-time alignment below records that it ran. */
18
- export const SCHEDULES_ALIGNED_KEY = 'owner.schedules-aligned';
19
16
  /**
20
- * Once, at the first start of a buddi whose clock follows the profile: the
21
- * built-in schedules still kept in the configured fallback zone (`BUDDI_TZ`,
22
- * else New York) move to the profile's zone when the profile names another.
23
- * An installation set up before the profile drove the clock made its recap,
24
- * digest and first-run arc in the fallback zone, and its owner's zone was the
25
- * profile's all along.
26
- *
27
- * Only `missions` — the schedules that follow the owner's zone, which the
28
- * caller names (built-in ones registered with no zone of their own) — and
29
- * only once (`SCHEDULES_ALIGNED_KEY`): a schedule in the fallback zone may
30
- * have been put there on purpose since, and from then on a profile save is
31
- * what moves schedules (`saveOwnerProfile`). Returns what moved, if anything.
17
+ * At every start: the schedules made before buddi recorded whether a zone was
18
+ * named on purpose are settled once by provenance — one buddi itself made
19
+ * without a zone (`declared`: a default mission, the digest, a plugin agent's
20
+ * mission) that still sits in the default zone of the time (`BUDDI_TZ`, else
21
+ * New York) or the Profile's follows the owner; any other, ambiguous ones
22
+ * included, keeps its zone — and then every schedule that
23
+ * follows the owner and is not in the owner's zone moves to it (a Profile
24
+ * change made while buddi was stopped, or by an older buddi). Returns what
25
+ * moved, if anything.
32
26
  */
33
- export async function alignSchedulesToOwnerZone(pool, env, opts) {
34
- if ((await readWebSetting(pool, SCHEDULES_ALIGNED_KEY)) !== null)
35
- return undefined;
27
+ export async function settleScheduleZones(pool, env, declared = []) {
36
28
  const zone = (await getOwnerProfile(pool)).timezone;
37
- const from = timezoneFromEnv(env);
38
- const to = zone !== null && isKnownTimezone(zone) ? zone.trim() : from;
39
- const missions = from === to ? [] : await rezoneSchedules(pool, from, to, { only: opts.missions });
40
- await writeWebSetting(pool, SCHEDULES_ALIGNED_KEY, { at: new Date().toISOString(), from, to, missions });
41
- return missions.length > 0 ? { from, to, missions } : undefined;
29
+ const fallback = timezoneFromEnv(env);
30
+ const to = zone !== null && isKnownTimezone(zone) ? zone.trim() : fallback;
31
+ const settled = await settleUnflaggedSchedules(pool, [...new Set([fallback, to])], declared);
32
+ const missions = await rezoneSchedules(pool, to);
33
+ return { to, missions, settled };
42
34
  }
43
35
  //# sourceMappingURL=owner-timezone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-timezone.js","sourceRoot":"","sources":["../src/owner-timezone.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAU,EACV,KAAwB,EACxB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACzF,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAU,EAAE,CAChD,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAU,EACV,GAAsB,EACtB,IAAqC;IAErC,IAAI,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACnF,MAAM,IAAI,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnG,MAAM,eAAe,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzG,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"owner-timezone.js","sourceRoot":"","sources":["../src/owner-timezone.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAkC,eAAe,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQ7D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAU,EACV,KAAwB,EACxB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACzF,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAU,EAAE,CAChD,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,GAAsB,EACtB,WAAiD,EAAE;IAEnD,MAAM,IAAI,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * than this buddi has is refused when it is staged, before anything of it runs.
9
9
  */
10
10
  /** What this build's `ctx.buddi.version` says. */
11
- export declare const HOST_API_VERSION = "1.23";
11
+ export declare const HOST_API_VERSION = "1.24";
12
12
  /**
13
13
  * Why a plugin asking for `range` cannot run on a host at `have`, or undefined
14
14
  * when it can.
@@ -8,7 +8,7 @@
8
8
  * than this buddi has is refused when it is staged, before anything of it runs.
9
9
  */
10
10
  /** What this build's `ctx.buddi.version` says. */
11
- export const HOST_API_VERSION = '1.23';
11
+ export const HOST_API_VERSION = '1.24';
12
12
  function parseVersion(text) {
13
13
  const match = /^(\d+)(?:\.(\d+))?(?:\.\d+)?$/.exec(text.trim());
14
14
  if (match === null)
@@ -15,6 +15,13 @@ export type UpsertMissionInput = {
15
15
  export type SetScheduleInput = {
16
16
  cron: string;
17
17
  timezone: string;
18
+ /**
19
+ * Whether `timezone` was named on purpose (a tool's or CLI's zone, the
20
+ * owner's choice, a mission that declares one). False when it is just the
21
+ * owner's zone of the moment: the schedule then follows the owner's zone
22
+ * (`rezoneSchedules`). Default true.
23
+ */
24
+ timezoneExplicit?: boolean;
18
25
  misfirePolicy: MisfirePolicy;
19
26
  deadlineMinutes?: number | null;
20
27
  };
@@ -30,17 +37,55 @@ export declare function upsertMission(pool: Pool, input: UpsertMissionInput): Pr
30
37
  */
31
38
  export declare function setSchedule(pool: Pool, missionId: string, input: SetScheduleInput): Promise<ScheduleSpec>;
32
39
  /**
33
- * Move every active schedule kept in `from` to `to`: a new revision each, same
34
- * cron, misfire policy and deadline. Used when the owner's zone changes, so a
35
- * mission set for "8 AM" in the owner's zone stays 8 AM where the owner now is.
36
- * A schedule in any other zone (a plugin that named its own) is left alone.
37
- * Returns the mission ids moved.
38
- */
39
- export declare function rezoneSchedules(pool: Pool, from: string, to: string,
40
- /** Only these missions, when given. */
41
- opts?: {
42
- only?: readonly string[];
43
- }): Promise<string[]>;
40
+ * A mission, its schedule and its lifespan in one transaction: all of them,
41
+ * or none. For a mission that must never run without its end (an agent's own
42
+ * watch, `schedule.propose`).
43
+ */
44
+ export declare function upsertScheduledMission(pool: Pool, input: {
45
+ mission: UpsertMissionInput;
46
+ schedule: SetScheduleInput;
47
+ lifespan?: {
48
+ stopWhen: string | null;
49
+ endsAt: Date | null;
50
+ };
51
+ }): Promise<{
52
+ mission: Mission;
53
+ spec: ScheduleSpec;
54
+ }>;
55
+ /**
56
+ * Move every active schedule that follows the owner's zone (not named on
57
+ * purpose, `timezoneExplicit` false) and is not in `to` already: a new
58
+ * revision each, same cron, misfire policy and deadline, so its next run is
59
+ * computed in `to`. Used when the owner's zone changes and at start, so a
60
+ * mission set for "8 AM" stays 8 AM where the owner now is. A schedule whose
61
+ * zone was named on purpose is left alone. Returns the mission ids moved.
62
+ */
63
+ export declare function rezoneSchedules(pool: Pool, to: string): Promise<string[]>;
64
+ /**
65
+ * A schedule buddi itself made without naming a zone, so one from before
66
+ * `timezone_explicit` existed can be proven to follow the owner: a default
67
+ * mission a plugin suggests without a timezone, the learning digest, a
68
+ * starter's or a plugin agent's declared mission. `cron` null matches any
69
+ * cron (the digest's day and hour are the owner's to change and still follow).
70
+ */
71
+ export interface OwnerFollowingDeclaration {
72
+ missionId: string;
73
+ cron: string | null;
74
+ }
75
+ /**
76
+ * Settle the schedules made before `timezone_explicit` existed (null) by
77
+ * provenance, not by zone alone: one follows the owner from now on only when
78
+ * buddi made it without a zone — its mission is in `declared` (and its cron
79
+ * matches, when the declaration names one) — and it still sits in one of
80
+ * `following` (the default zone of the time, or the owner's zone now). Any
81
+ * other — made by schedule.propose, by the owner on the dashboard, by an agent
82
+ * naming a zone, or simply unknown — was possibly named on purpose and keeps
83
+ * its zone. Returns how many active ones were settled each way.
84
+ */
85
+ export declare function settleUnflaggedSchedules(pool: Pool, following: readonly string[], declared?: readonly OwnerFollowingDeclaration[]): Promise<{
86
+ following: number;
87
+ explicit: number;
88
+ }>;
44
89
  /** All missions, oldest first. */
45
90
  export declare function listMissions(pool: Pool): Promise<Mission[]>;
46
91
  /** One mission by id, or null. */
@@ -49,6 +94,36 @@ export declare function getMission(pool: Pool, missionId: string): Promise<Missi
49
94
  export declare function getActiveSchedule(pool: Pool, missionId: string): Promise<ScheduleSpec | null>;
50
95
  /** Enable or disable a mission without touching its schedule history. */
51
96
  export declare function setMissionEnabled(pool: Pool, missionId: string, enabled: boolean): Promise<Mission | null>;
97
+ /** How long an agent-proposed watch runs when it names no end of its own. */
98
+ export declare const AGENT_MISSION_DEFAULT_DAYS = 30;
99
+ /** Silent runs in a row after which the owner is asked "Still useful?". */
100
+ export declare const STILL_USEFUL_AFTER_QUIET_RUNS = 48;
101
+ /**
102
+ * When a watch is done and when it ends. A mission given a new lifespan is a
103
+ * live one again: a previous end and its quiet count go.
104
+ */
105
+ export declare function setMissionLifespan(pool: Pool, missionId: string, input: {
106
+ stopWhen: string | null;
107
+ endsAt: Date | null;
108
+ }): Promise<Mission | null>;
109
+ /**
110
+ * Switch off every enabled mission whose end has come, quietly: no message,
111
+ * just `enabled = false` and `ended_at`, so it stays listed as ended. Returns
112
+ * the ids it ended.
113
+ */
114
+ export declare function endExpiredMissions(pool: Pool, now: Date): Promise<string[]>;
115
+ /**
116
+ * One run's outcome on the quiet counter: a report resets it, a silent run adds
117
+ * one. Answers the count after, and whether this run is the one that should
118
+ * ask the owner "Still useful?" (the threshold reached, not asked yet). The
119
+ * ask is claimed in the same statement, so two runs cannot both ask.
120
+ */
121
+ export declare function noteMissionRun(pool: Pool, missionId: string, spoke: boolean, now: Date, threshold?: number): Promise<{
122
+ quietRuns: number;
123
+ ask: boolean;
124
+ }>;
125
+ /** The owner's Keep on "Still useful?": the counter starts again, and so may the question. */
126
+ export declare function keepMission(pool: Pool, missionId: string): Promise<Mission | null>;
52
127
  /** The reason a disabled plugin's missions carry: "paused: finance is disabled". */
53
128
  export declare function pluginPausedReason(plugin: string): string;
54
129
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"missions.d.ts","sourceRoot":"","sources":["../../src/scheduler/missions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAIL,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAOF,2EAA2E;AAC3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B3F;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM;AACV,uCAAuC;AACvC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACtC,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBnB;AAED,kCAAkC;AAClC,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAKjE;AAED,kCAAkC;AAClC,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAMvF;AAED,uDAAuD;AACvD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAQ9B;AAED,yEAAyE;AACzE,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAMzB;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBnB;AAED,yFAAyF;AACzF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMxF"}
1
+ {"version":3,"file":"missions.d.ts","sourceRoot":"","sources":["../../src/scheduler/missions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { parseCron } from './cron.js';
2
2
  import { coalesceOptions } from './enqueue.js';
3
3
  import { MISFIRE_POLICIES, toMission, toScheduleSpec, } from './types.js';
4
- const MISSION_COLUMNS = 'id, name, agent_id, prompt, enabled, always_deliver, paused_reason, coalesce_window_seconds, coalesce_max_wait_seconds, created_at';
5
- const SPEC_COLUMNS = 'id, mission_id, revision, cron, timezone, misfire_policy, deadline_minutes, active, created_at';
4
+ const MISSION_COLUMNS = 'id, name, agent_id, prompt, enabled, always_deliver, paused_reason, stop_when, ends_at, ended_at, quiet_runs, still_useful_asked_at, coalesce_window_seconds, coalesce_max_wait_seconds, created_at';
5
+ const SPEC_COLUMNS = 'id, mission_id, revision, cron, timezone, timezone_explicit, misfire_policy, deadline_minutes, active, created_at';
6
6
  /** Create or update a mission definition. Schedules are set separately. */
7
7
  export async function upsertMission(pool, input) {
8
8
  if (!input.id.trim())
@@ -42,6 +42,23 @@ export async function upsertMission(pool, input) {
42
42
  * idempotency key stays valid.
43
43
  */
44
44
  export async function setSchedule(pool, missionId, input) {
45
+ checkSchedule(input);
46
+ const client = await pool.connect();
47
+ try {
48
+ await client.query('begin');
49
+ const spec = await insertScheduleRevision(client, missionId, input);
50
+ await client.query('commit');
51
+ return spec;
52
+ }
53
+ catch (err) {
54
+ await client.query('rollback').catch(() => { });
55
+ throw err;
56
+ }
57
+ finally {
58
+ client.release();
59
+ }
60
+ }
61
+ function checkSchedule(input) {
45
62
  parseCron(input.cron); // fail loudly here, not at materialization time
46
63
  if (!MISFIRE_POLICIES.includes(input.misfirePolicy)) {
47
64
  throw new Error(`setSchedule: unknown misfire policy "${input.misfirePolicy}"`);
@@ -55,29 +72,47 @@ export async function setSchedule(pool, missionId, input) {
55
72
  if (input.misfirePolicy === 'skip-after-deadline' && !(Number(input.deadlineMinutes) > 0)) {
56
73
  throw new Error('setSchedule: skip-after-deadline requires a positive deadlineMinutes');
57
74
  }
75
+ }
76
+ /** The new revision, inside a transaction the caller holds. */
77
+ async function insertScheduleRevision(client, missionId, input) {
78
+ const mission = await client.query(`select id from core.missions where id = $1 for update`, [missionId]);
79
+ if (mission.rowCount === 0)
80
+ throw new Error(`setSchedule: no such mission "${missionId}"`);
81
+ await client.query(`update core.schedule_specs set active = false where mission_id = $1 and active`, [missionId]);
82
+ const { rows } = await client.query(`insert into core.schedule_specs
83
+ (mission_id, revision, cron, timezone, timezone_explicit, misfire_policy, deadline_minutes, active)
84
+ values (
85
+ $1,
86
+ coalesce((select max(revision) from core.schedule_specs where mission_id = $1), 0) + 1,
87
+ $2, $3, $6, $4, $5, true
88
+ )
89
+ returning ${SPEC_COLUMNS}`, [
90
+ missionId,
91
+ input.cron.trim(),
92
+ input.timezone,
93
+ input.misfirePolicy,
94
+ input.deadlineMinutes ?? null,
95
+ input.timezoneExplicit ?? true,
96
+ ]);
97
+ return toScheduleSpec(rows[0]);
98
+ }
99
+ /**
100
+ * A mission, its schedule and its lifespan in one transaction: all of them,
101
+ * or none. For a mission that must never run without its end (an agent's own
102
+ * watch, `schedule.propose`).
103
+ */
104
+ export async function upsertScheduledMission(pool, input) {
105
+ checkSchedule(input.schedule);
58
106
  const client = await pool.connect();
59
107
  try {
60
108
  await client.query('begin');
61
- const mission = await client.query(`select id from core.missions where id = $1 for update`, [missionId]);
62
- if (mission.rowCount === 0)
63
- throw new Error(`setSchedule: no such mission "${missionId}"`);
64
- await client.query(`update core.schedule_specs set active = false where mission_id = $1 and active`, [missionId]);
65
- const { rows } = await client.query(`insert into core.schedule_specs
66
- (mission_id, revision, cron, timezone, misfire_policy, deadline_minutes, active)
67
- values (
68
- $1,
69
- coalesce((select max(revision) from core.schedule_specs where mission_id = $1), 0) + 1,
70
- $2, $3, $4, $5, true
71
- )
72
- returning ${SPEC_COLUMNS}`, [
73
- missionId,
74
- input.cron.trim(),
75
- input.timezone,
76
- input.misfirePolicy,
77
- input.deadlineMinutes ?? null,
78
- ]);
109
+ const asPool = client;
110
+ let mission = await upsertMission(asPool, input.mission);
111
+ const spec = await insertScheduleRevision(client, mission.id, input.schedule);
112
+ if (input.lifespan)
113
+ mission = (await setMissionLifespan(asPool, mission.id, input.lifespan)) ?? mission;
79
114
  await client.query('commit');
80
- return toScheduleSpec(rows[0]);
115
+ return { mission, spec };
81
116
  }
82
117
  catch (err) {
83
118
  await client.query('rollback').catch(() => { });
@@ -88,28 +123,24 @@ export async function setSchedule(pool, missionId, input) {
88
123
  }
89
124
  }
90
125
  /**
91
- * Move every active schedule kept in `from` to `to`: a new revision each, same
92
- * cron, misfire policy and deadline. Used when the owner's zone changes, so a
93
- * mission set for "8 AM" in the owner's zone stays 8 AM where the owner now is.
94
- * A schedule in any other zone (a plugin that named its own) is left alone.
95
- * Returns the mission ids moved.
126
+ * Move every active schedule that follows the owner's zone (not named on
127
+ * purpose, `timezoneExplicit` false) and is not in `to` already: a new
128
+ * revision each, same cron, misfire policy and deadline, so its next run is
129
+ * computed in `to`. Used when the owner's zone changes and at start, so a
130
+ * mission set for "8 AM" stays 8 AM where the owner now is. A schedule whose
131
+ * zone was named on purpose is left alone. Returns the mission ids moved.
96
132
  */
97
- export async function rezoneSchedules(pool, from, to,
98
- /** Only these missions, when given. */
99
- opts = {}) {
100
- if (from === to)
101
- return [];
102
- if (opts.only !== undefined && opts.only.length === 0)
103
- return [];
133
+ export async function rezoneSchedules(pool, to) {
104
134
  const { rows } = await pool.query(`select ${SPEC_COLUMNS} from core.schedule_specs
105
- where active and timezone = $1 and ($2::text[] is null or mission_id = any($2::text[]))
106
- order by mission_id`, [from, opts.only === undefined ? null : [...opts.only]]);
135
+ where active and timezone_explicit = false and timezone <> $1
136
+ order by mission_id`, [to]);
107
137
  const moved = [];
108
138
  for (const row of rows) {
109
139
  const spec = toScheduleSpec(row);
110
140
  await setSchedule(pool, spec.missionId, {
111
141
  cron: spec.cron,
112
142
  timezone: to,
143
+ timezoneExplicit: false,
113
144
  misfirePolicy: spec.misfirePolicy,
114
145
  deadlineMinutes: spec.deadlineMinutes,
115
146
  });
@@ -117,6 +148,36 @@ opts = {}) {
117
148
  }
118
149
  return moved;
119
150
  }
151
+ /**
152
+ * Settle the schedules made before `timezone_explicit` existed (null) by
153
+ * provenance, not by zone alone: one follows the owner from now on only when
154
+ * buddi made it without a zone — its mission is in `declared` (and its cron
155
+ * matches, when the declaration names one) — and it still sits in one of
156
+ * `following` (the default zone of the time, or the owner's zone now). Any
157
+ * other — made by schedule.propose, by the owner on the dashboard, by an agent
158
+ * naming a zone, or simply unknown — was possibly named on purpose and keeps
159
+ * its zone. Returns how many active ones were settled each way.
160
+ */
161
+ export async function settleUnflaggedSchedules(pool, following, declared = []) {
162
+ const { rows } = await pool.query(`with declared as (
163
+ select d.mission_id, d.cron
164
+ from unnest($2::text[], $3::text[]) as d(mission_id, cron)
165
+ ), settled as (
166
+ update core.schedule_specs s
167
+ set timezone_explicit = not (
168
+ s.timezone = any($1::text[])
169
+ and exists (
170
+ select 1 from declared d
171
+ where d.mission_id = s.mission_id and (d.cron is null or d.cron = s.cron)
172
+ )
173
+ )
174
+ where s.timezone_explicit is null
175
+ returning s.active, s.timezone_explicit
176
+ )
177
+ select timezone_explicit as explicit, count(*)::text as n from settled where active group by timezone_explicit`, [[...following], declared.map((d) => d.missionId), declared.map((d) => d.cron)]);
178
+ const count = (explicit) => Number(rows.find((r) => r.explicit === explicit)?.n ?? 0);
179
+ return { following: count(false), explicit: count(true) };
180
+ }
120
181
  /** All missions, oldest first. */
121
182
  export async function listMissions(pool) {
122
183
  const { rows } = await pool.query(`select ${MISSION_COLUMNS} from core.missions order by created_at, id`);
@@ -136,7 +197,70 @@ export async function getActiveSchedule(pool, missionId) {
136
197
  }
137
198
  /** Enable or disable a mission without touching its schedule history. */
138
199
  export async function setMissionEnabled(pool, missionId, enabled) {
139
- const { rows } = await pool.query(`update core.missions set enabled = $2 where id = $1 returning ${MISSION_COLUMNS}`, [missionId, enabled]);
200
+ const { rows } = await pool.query(
201
+ // Switching an ended watch back on is the owner saying it is not over:
202
+ // its end goes with the switch, or the next tick would end it again.
203
+ `update core.missions
204
+ set enabled = $2,
205
+ ends_at = case when $2 and ended_at is not null then null else ends_at end,
206
+ ended_at = case when $2 then null else ended_at end
207
+ where id = $1 returning ${MISSION_COLUMNS}`, [missionId, enabled]);
208
+ return rows.length > 0 ? toMission(rows[0]) : null;
209
+ }
210
+ /* ------------------------------------------------------------------ *
211
+ * Missions that stop themselves (docs/missions.md, "When a mission stops")
212
+ * ------------------------------------------------------------------ */
213
+ /** How long an agent-proposed watch runs when it names no end of its own. */
214
+ export const AGENT_MISSION_DEFAULT_DAYS = 30;
215
+ /** Silent runs in a row after which the owner is asked "Still useful?". */
216
+ export const STILL_USEFUL_AFTER_QUIET_RUNS = 48;
217
+ /**
218
+ * When a watch is done and when it ends. A mission given a new lifespan is a
219
+ * live one again: a previous end and its quiet count go.
220
+ */
221
+ export async function setMissionLifespan(pool, missionId, input) {
222
+ const { rows } = await pool.query(`update core.missions set stop_when = $2, ends_at = $3, ended_at = null, quiet_runs = 0, still_useful_asked_at = null
223
+ where id = $1 returning ${MISSION_COLUMNS}`, [missionId, input.stopWhen, input.endsAt]);
224
+ return rows.length > 0 ? toMission(rows[0]) : null;
225
+ }
226
+ /**
227
+ * Switch off every enabled mission whose end has come, quietly: no message,
228
+ * just `enabled = false` and `ended_at`, so it stays listed as ended. Returns
229
+ * the ids it ended.
230
+ */
231
+ export async function endExpiredMissions(pool, now) {
232
+ const { rows } = await pool.query(`update core.missions set enabled = false, ended_at = $1
233
+ where enabled and ends_at is not null and ends_at <= $1
234
+ returning id`, [now]);
235
+ return rows.map((r) => r.id);
236
+ }
237
+ /**
238
+ * One run's outcome on the quiet counter: a report resets it, a silent run adds
239
+ * one. Answers the count after, and whether this run is the one that should
240
+ * ask the owner "Still useful?" (the threshold reached, not asked yet). The
241
+ * ask is claimed in the same statement, so two runs cannot both ask.
242
+ */
243
+ export async function noteMissionRun(pool, missionId, spoke, now, threshold = STILL_USEFUL_AFTER_QUIET_RUNS) {
244
+ if (spoke) {
245
+ await pool.query(`update core.missions set quiet_runs = 0 where id = $1`, [missionId]);
246
+ return { quietRuns: 0, ask: false };
247
+ }
248
+ const { rows } = await pool.query(`with before as (select still_useful_asked_at from core.missions where id = $1 for update)
249
+ update core.missions m
250
+ set quiet_runs = m.quiet_runs + 1,
251
+ still_useful_asked_at = case
252
+ when m.still_useful_asked_at is null and m.quiet_runs + 1 >= $3 then $2
253
+ else m.still_useful_asked_at end
254
+ from before
255
+ where m.id = $1
256
+ returning m.quiet_runs, (before.still_useful_asked_at is null and m.quiet_runs >= $3) as ask`, [missionId, now, threshold]);
257
+ const row = rows[0];
258
+ return row ? { quietRuns: row.quiet_runs, ask: row.ask } : { quietRuns: 0, ask: false };
259
+ }
260
+ /** The owner's Keep on "Still useful?": the counter starts again, and so may the question. */
261
+ export async function keepMission(pool, missionId) {
262
+ const { rows } = await pool.query(`update core.missions set quiet_runs = 0, still_useful_asked_at = null
263
+ where id = $1 returning ${MISSION_COLUMNS}`, [missionId]);
140
264
  return rows.length > 0 ? toMission(rows[0]) : null;
141
265
  }
142
266
  /** The reason a disabled plugin's missions carry: "paused: finance is disabled". */
@@ -1 +1 @@
1
- {"version":3,"file":"missions.js","sourceRoot":"","sources":["../../src/scheduler/missions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"missions.js","sourceRoot":"","sources":["../../src/scheduler/missions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/scheduler/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK/B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,4EAA4E;IAC5E,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,qEAAqE;IACrE,IAAI,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,+DAA+D;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CA6HvE"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/scheduler/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK/B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,4EAA4E;IAC5E,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,qEAAqE;IACrE,IAAI,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,+DAA+D;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAmIvE"}