@aitne/daemon 0.1.6 → 0.1.8

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 (963) hide show
  1. package/dist/adapters/dashboard-adapter.d.ts +18 -2
  2. package/dist/adapters/dashboard-adapter.d.ts.map +1 -1
  3. package/dist/adapters/dashboard-adapter.js +101 -51
  4. package/dist/adapters/dashboard-adapter.js.map +1 -1
  5. package/dist/adapters/discord.d.ts +8 -0
  6. package/dist/adapters/discord.d.ts.map +1 -1
  7. package/dist/adapters/discord.js +100 -21
  8. package/dist/adapters/discord.js.map +1 -1
  9. package/dist/adapters/message-hub.d.ts.map +1 -1
  10. package/dist/adapters/message-hub.js +7 -1
  11. package/dist/adapters/message-hub.js.map +1 -1
  12. package/dist/adapters/notification-manager.d.ts +102 -2
  13. package/dist/adapters/notification-manager.d.ts.map +1 -1
  14. package/dist/adapters/notification-manager.js +228 -8
  15. package/dist/adapters/notification-manager.js.map +1 -1
  16. package/dist/adapters/outbound-text.d.ts +16 -0
  17. package/dist/adapters/outbound-text.d.ts.map +1 -1
  18. package/dist/adapters/outbound-text.js +118 -1
  19. package/dist/adapters/outbound-text.js.map +1 -1
  20. package/dist/adapters/primary-platform-resolver.d.ts +69 -0
  21. package/dist/adapters/primary-platform-resolver.d.ts.map +1 -0
  22. package/dist/adapters/primary-platform-resolver.js +55 -0
  23. package/dist/adapters/primary-platform-resolver.js.map +1 -0
  24. package/dist/adapters/slack-adapter.d.ts +28 -0
  25. package/dist/adapters/slack-adapter.d.ts.map +1 -1
  26. package/dist/adapters/slack-adapter.js +134 -35
  27. package/dist/adapters/slack-adapter.js.map +1 -1
  28. package/dist/adapters/telegram-adapter.d.ts +7 -1
  29. package/dist/adapters/telegram-adapter.d.ts.map +1 -1
  30. package/dist/adapters/telegram-adapter.js +49 -18
  31. package/dist/adapters/telegram-adapter.js.map +1 -1
  32. package/dist/adapters/whatsapp-adapter.d.ts +33 -0
  33. package/dist/adapters/whatsapp-adapter.d.ts.map +1 -1
  34. package/dist/adapters/whatsapp-adapter.js +84 -0
  35. package/dist/adapters/whatsapp-adapter.js.map +1 -1
  36. package/dist/api/directory-picker.d.ts.map +1 -1
  37. package/dist/api/directory-picker.js +14 -0
  38. package/dist/api/directory-picker.js.map +1 -1
  39. package/dist/api/env-writer.d.ts.map +1 -1
  40. package/dist/api/env-writer.js +6 -1
  41. package/dist/api/env-writer.js.map +1 -1
  42. package/dist/api/helpers/agent-errors.d.ts +2600 -0
  43. package/dist/api/helpers/agent-errors.d.ts.map +1 -0
  44. package/dist/api/helpers/agent-errors.js +2506 -0
  45. package/dist/api/helpers/agent-errors.js.map +1 -0
  46. package/dist/api/integration-route-gate.d.ts.map +1 -1
  47. package/dist/api/integration-route-gate.js +10 -3
  48. package/dist/api/integration-route-gate.js.map +1 -1
  49. package/dist/api/routes/agent-schedule-plan-match.d.ts +5 -0
  50. package/dist/api/routes/agent-schedule-plan-match.d.ts.map +1 -0
  51. package/dist/api/routes/agent-schedule-plan-match.js +101 -0
  52. package/dist/api/routes/agent-schedule-plan-match.js.map +1 -0
  53. package/dist/api/routes/agent-schedule.d.ts +4 -0
  54. package/dist/api/routes/agent-schedule.d.ts.map +1 -0
  55. package/dist/api/routes/agent-schedule.js +750 -0
  56. package/dist/api/routes/agent-schedule.js.map +1 -0
  57. package/dist/api/routes/agent.d.ts.map +1 -1
  58. package/dist/api/routes/agent.js +209 -366
  59. package/dist/api/routes/agent.js.map +1 -1
  60. package/dist/api/routes/apple-calendar.d.ts.map +1 -1
  61. package/dist/api/routes/apple-calendar.js +109 -27
  62. package/dist/api/routes/apple-calendar.js.map +1 -1
  63. package/dist/api/routes/attachments.d.ts.map +1 -1
  64. package/dist/api/routes/attachments.js +113 -21
  65. package/dist/api/routes/attachments.js.map +1 -1
  66. package/dist/api/routes/backends.d.ts.map +1 -1
  67. package/dist/api/routes/backends.js +100 -4
  68. package/dist/api/routes/backends.js.map +1 -1
  69. package/dist/api/routes/books.d.ts.map +1 -1
  70. package/dist/api/routes/books.js +58 -18
  71. package/dist/api/routes/books.js.map +1 -1
  72. package/dist/api/routes/calendar.d.ts +3 -2
  73. package/dist/api/routes/calendar.d.ts.map +1 -1
  74. package/dist/api/routes/calendar.js +330 -55
  75. package/dist/api/routes/calendar.js.map +1 -1
  76. package/dist/api/routes/commands.d.ts.map +1 -1
  77. package/dist/api/routes/commands.js +20 -1
  78. package/dist/api/routes/commands.js.map +1 -1
  79. package/dist/api/routes/context/index.d.ts +33 -0
  80. package/dist/api/routes/context/index.d.ts.map +1 -0
  81. package/dist/api/routes/context/index.js +193 -0
  82. package/dist/api/routes/context/index.js.map +1 -0
  83. package/dist/api/routes/context/locks.d.ts +4 -0
  84. package/dist/api/routes/context/locks.d.ts.map +1 -0
  85. package/dist/api/routes/context/locks.js +136 -0
  86. package/dist/api/routes/context/locks.js.map +1 -0
  87. package/dist/api/routes/context/path-resolve.d.ts +15 -0
  88. package/dist/api/routes/context/path-resolve.d.ts.map +1 -0
  89. package/dist/api/routes/context/path-resolve.js +109 -0
  90. package/dist/api/routes/context/path-resolve.js.map +1 -0
  91. package/dist/api/routes/context/permissions.d.ts +35 -0
  92. package/dist/api/routes/context/permissions.d.ts.map +1 -0
  93. package/dist/api/routes/context/permissions.js +192 -0
  94. package/dist/api/routes/context/permissions.js.map +1 -0
  95. package/dist/api/routes/context/read.d.ts +4 -0
  96. package/dist/api/routes/context/read.d.ts.map +1 -0
  97. package/dist/api/routes/context/read.js +295 -0
  98. package/dist/api/routes/context/read.js.map +1 -0
  99. package/dist/api/routes/context/repair.d.ts +4 -0
  100. package/dist/api/routes/context/repair.d.ts.map +1 -0
  101. package/dist/api/routes/context/repair.js +114 -0
  102. package/dist/api/routes/context/repair.js.map +1 -0
  103. package/dist/api/routes/context/snapshots.d.ts +4 -0
  104. package/dist/api/routes/context/snapshots.d.ts.map +1 -0
  105. package/dist/api/routes/context/snapshots.js +177 -0
  106. package/dist/api/routes/context/snapshots.js.map +1 -0
  107. package/dist/api/routes/context/write.d.ts +4 -0
  108. package/dist/api/routes/context/write.d.ts.map +1 -0
  109. package/dist/api/routes/context/write.js +570 -0
  110. package/dist/api/routes/context/write.js.map +1 -0
  111. package/dist/api/routes/context.d.ts +2 -43
  112. package/dist/api/routes/context.d.ts.map +1 -1
  113. package/dist/api/routes/context.js +415 -558
  114. package/dist/api/routes/context.js.map +1 -1
  115. package/dist/api/routes/dashboard/config.d.ts +4 -0
  116. package/dist/api/routes/dashboard/config.d.ts.map +1 -0
  117. package/dist/api/routes/dashboard/config.js +499 -0
  118. package/dist/api/routes/dashboard/config.js.map +1 -0
  119. package/dist/api/routes/dashboard/conversations.d.ts +4 -0
  120. package/dist/api/routes/dashboard/conversations.d.ts.map +1 -0
  121. package/dist/api/routes/dashboard/conversations.js +309 -0
  122. package/dist/api/routes/dashboard/conversations.js.map +1 -0
  123. package/dist/api/routes/dashboard/cost-approvals.d.ts +29 -0
  124. package/dist/api/routes/dashboard/cost-approvals.d.ts.map +1 -0
  125. package/dist/api/routes/dashboard/cost-approvals.js +259 -0
  126. package/dist/api/routes/dashboard/cost-approvals.js.map +1 -0
  127. package/dist/api/routes/dashboard/index.d.ts +27 -0
  128. package/dist/api/routes/dashboard/index.d.ts.map +1 -0
  129. package/dist/api/routes/dashboard/index.js +47 -0
  130. package/dist/api/routes/dashboard/index.js.map +1 -0
  131. package/dist/api/routes/dashboard/messaging.d.ts +4 -0
  132. package/dist/api/routes/dashboard/messaging.d.ts.map +1 -0
  133. package/dist/api/routes/dashboard/messaging.js +351 -0
  134. package/dist/api/routes/dashboard/messaging.js.map +1 -0
  135. package/dist/api/routes/dashboard/notifications.d.ts +4 -0
  136. package/dist/api/routes/dashboard/notifications.d.ts.map +1 -0
  137. package/dist/api/routes/dashboard/notifications.js +109 -0
  138. package/dist/api/routes/dashboard/notifications.js.map +1 -0
  139. package/dist/api/routes/dashboard/oauth-google.d.ts +4 -0
  140. package/dist/api/routes/dashboard/oauth-google.d.ts.map +1 -0
  141. package/dist/api/routes/dashboard/oauth-google.js +293 -0
  142. package/dist/api/routes/dashboard/oauth-google.js.map +1 -0
  143. package/dist/api/routes/dashboard/schedule-readonly.d.ts +4 -0
  144. package/dist/api/routes/dashboard/schedule-readonly.d.ts.map +1 -0
  145. package/dist/api/routes/dashboard/schedule-readonly.js +46 -0
  146. package/dist/api/routes/dashboard/schedule-readonly.js.map +1 -0
  147. package/dist/api/routes/dashboard/secrets.d.ts +24 -0
  148. package/dist/api/routes/dashboard/secrets.d.ts.map +1 -0
  149. package/dist/api/routes/dashboard/secrets.js +307 -0
  150. package/dist/api/routes/dashboard/secrets.js.map +1 -0
  151. package/dist/api/routes/dashboard/snapshots.d.ts +4 -0
  152. package/dist/api/routes/dashboard/snapshots.d.ts.map +1 -0
  153. package/dist/api/routes/dashboard/snapshots.js +33 -0
  154. package/dist/api/routes/dashboard/snapshots.js.map +1 -0
  155. package/dist/api/routes/dashboard.d.ts.map +1 -1
  156. package/dist/api/routes/dashboard.js +20 -12
  157. package/dist/api/routes/dashboard.js.map +1 -1
  158. package/dist/api/routes/delegated.d.ts +5 -4
  159. package/dist/api/routes/delegated.d.ts.map +1 -1
  160. package/dist/api/routes/delegated.js +6 -5
  161. package/dist/api/routes/delegated.js.map +1 -1
  162. package/dist/api/routes/docs.d.ts.map +1 -1
  163. package/dist/api/routes/docs.js +72 -9
  164. package/dist/api/routes/docs.js.map +1 -1
  165. package/dist/api/routes/entities.d.ts.map +1 -1
  166. package/dist/api/routes/entities.js +112 -43
  167. package/dist/api/routes/entities.js.map +1 -1
  168. package/dist/api/routes/fs.d.ts.map +1 -1
  169. package/dist/api/routes/fs.js +27 -12
  170. package/dist/api/routes/fs.js.map +1 -1
  171. package/dist/api/routes/git-templates.d.ts.map +1 -1
  172. package/dist/api/routes/git-templates.js +107 -27
  173. package/dist/api/routes/git-templates.js.map +1 -1
  174. package/dist/api/routes/git.d.ts.map +1 -1
  175. package/dist/api/routes/git.js +55 -11
  176. package/dist/api/routes/git.js.map +1 -1
  177. package/dist/api/routes/github.d.ts.map +1 -1
  178. package/dist/api/routes/github.js +110 -17
  179. package/dist/api/routes/github.js.map +1 -1
  180. package/dist/api/routes/integrations/crud-patch.d.ts +17 -0
  181. package/dist/api/routes/integrations/crud-patch.d.ts.map +1 -0
  182. package/dist/api/routes/integrations/crud-patch.js +600 -0
  183. package/dist/api/routes/integrations/crud-patch.js.map +1 -0
  184. package/dist/api/routes/integrations/crud.d.ts +16 -0
  185. package/dist/api/routes/integrations/crud.d.ts.map +1 -0
  186. package/dist/api/routes/integrations/crud.js +158 -0
  187. package/dist/api/routes/integrations/crud.js.map +1 -0
  188. package/dist/api/routes/integrations/exec.d.ts +23 -0
  189. package/dist/api/routes/integrations/exec.d.ts.map +1 -0
  190. package/dist/api/routes/integrations/exec.js +356 -0
  191. package/dist/api/routes/integrations/exec.js.map +1 -0
  192. package/dist/api/routes/integrations/index.d.ts +62 -0
  193. package/dist/api/routes/integrations/index.d.ts.map +1 -0
  194. package/dist/api/routes/integrations/index.js +70 -0
  195. package/dist/api/routes/integrations/index.js.map +1 -0
  196. package/dist/api/routes/integrations/integrations/crud.d.ts +16 -0
  197. package/dist/api/routes/integrations/integrations/crud.d.ts.map +1 -0
  198. package/dist/api/routes/integrations/integrations/crud.js +158 -0
  199. package/dist/api/routes/integrations/integrations/crud.js.map +1 -0
  200. package/dist/api/routes/integrations/integrations/index.d.ts +55 -0
  201. package/dist/api/routes/integrations/integrations/index.d.ts.map +1 -0
  202. package/dist/api/routes/integrations/integrations/index.js +65 -0
  203. package/dist/api/routes/integrations/integrations/index.js.map +1 -0
  204. package/dist/api/routes/integrations/integrations/invoke.d.ts +38 -0
  205. package/dist/api/routes/integrations/integrations/invoke.d.ts.map +1 -0
  206. package/dist/api/routes/integrations/integrations/invoke.js +320 -0
  207. package/dist/api/routes/integrations/integrations/invoke.js.map +1 -0
  208. package/dist/api/routes/integrations/integrations/probe.d.ts +21 -0
  209. package/dist/api/routes/integrations/integrations/probe.d.ts.map +1 -0
  210. package/dist/api/routes/integrations/integrations/probe.js +247 -0
  211. package/dist/api/routes/integrations/integrations/probe.js.map +1 -0
  212. package/dist/api/routes/integrations/invoke.d.ts +38 -0
  213. package/dist/api/routes/integrations/invoke.d.ts.map +1 -0
  214. package/dist/api/routes/integrations/invoke.js +320 -0
  215. package/dist/api/routes/integrations/invoke.js.map +1 -0
  216. package/dist/api/routes/integrations/probe.d.ts +21 -0
  217. package/dist/api/routes/integrations/probe.d.ts.map +1 -0
  218. package/dist/api/routes/integrations/probe.js +247 -0
  219. package/dist/api/routes/integrations/probe.js.map +1 -0
  220. package/dist/api/routes/integrations.d.ts.map +1 -1
  221. package/dist/api/routes/integrations.js +65 -13
  222. package/dist/api/routes/integrations.js.map +1 -1
  223. package/dist/api/routes/knowledge.d.ts.map +1 -1
  224. package/dist/api/routes/knowledge.js +13 -2
  225. package/dist/api/routes/knowledge.js.map +1 -1
  226. package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts +4 -0
  227. package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts.map +1 -0
  228. package/dist/api/routes/mail/_pa_wip_mail/app-password.js +192 -0
  229. package/dist/api/routes/mail/_pa_wip_mail/app-password.js.map +1 -0
  230. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts +55 -0
  231. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts.map +1 -0
  232. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js +91 -0
  233. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js.map +1 -0
  234. package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts +36 -0
  235. package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts.map +1 -0
  236. package/dist/api/routes/mail/_pa_wip_mail/dependencies.js +2 -0
  237. package/dist/api/routes/mail/_pa_wip_mail/dependencies.js.map +1 -0
  238. package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts +45 -0
  239. package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts.map +1 -0
  240. package/dist/api/routes/mail/_pa_wip_mail/gating.js +98 -0
  241. package/dist/api/routes/mail/_pa_wip_mail/gating.js.map +1 -0
  242. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts +4 -0
  243. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts.map +1 -0
  244. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js +289 -0
  245. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js.map +1 -0
  246. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts +4 -0
  247. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts.map +1 -0
  248. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js +192 -0
  249. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js.map +1 -0
  250. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts +55 -0
  251. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts.map +1 -0
  252. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js +91 -0
  253. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js.map +1 -0
  254. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts +36 -0
  255. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts.map +1 -0
  256. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js +2 -0
  257. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js.map +1 -0
  258. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts +5 -0
  259. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts.map +1 -0
  260. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js +139 -0
  261. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js.map +1 -0
  262. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts +45 -0
  263. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts.map +1 -0
  264. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js +98 -0
  265. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js.map +1 -0
  266. package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts +18 -0
  267. package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts.map +1 -0
  268. package/dist/api/routes/mail/_pa_wip_mail/mail/index.js +40 -0
  269. package/dist/api/routes/mail/_pa_wip_mail/mail/index.js.map +1 -0
  270. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts +15 -0
  271. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts.map +1 -0
  272. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js +239 -0
  273. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js.map +1 -0
  274. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts +4 -0
  275. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts.map +1 -0
  276. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js +73 -0
  277. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js.map +1 -0
  278. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts +64 -0
  279. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts.map +1 -0
  280. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js +286 -0
  281. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js.map +1 -0
  282. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts +4 -0
  283. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts.map +1 -0
  284. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js +73 -0
  285. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js.map +1 -0
  286. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts +5 -0
  287. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts.map +1 -0
  288. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js +35 -0
  289. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js.map +1 -0
  290. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts +23 -0
  291. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts.map +1 -0
  292. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js +131 -0
  293. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js.map +1 -0
  294. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts +64 -0
  295. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts.map +1 -0
  296. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js +286 -0
  297. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js.map +1 -0
  298. package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts +4 -0
  299. package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts.map +1 -0
  300. package/dist/api/routes/mail/_pa_wip_mail/search-health.js +131 -0
  301. package/dist/api/routes/mail/_pa_wip_mail/search-health.js.map +1 -0
  302. package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts +23 -0
  303. package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts.map +1 -0
  304. package/dist/api/routes/mail/_pa_wip_mail/validators.js +131 -0
  305. package/dist/api/routes/mail/_pa_wip_mail/validators.js.map +1 -0
  306. package/dist/api/routes/mail/accounts.d.ts +4 -0
  307. package/dist/api/routes/mail/accounts.d.ts.map +1 -0
  308. package/dist/api/routes/mail/accounts.js +289 -0
  309. package/dist/api/routes/mail/accounts.js.map +1 -0
  310. package/dist/api/routes/mail/app-password.d.ts +4 -0
  311. package/dist/api/routes/mail/app-password.d.ts.map +1 -0
  312. package/dist/api/routes/mail/app-password.js +192 -0
  313. package/dist/api/routes/mail/app-password.js.map +1 -0
  314. package/dist/api/routes/mail/body-helpers.d.ts +56 -0
  315. package/dist/api/routes/mail/body-helpers.d.ts.map +1 -0
  316. package/dist/api/routes/mail/body-helpers.js +91 -0
  317. package/dist/api/routes/mail/body-helpers.js.map +1 -0
  318. package/dist/api/routes/mail/dependencies.d.ts +36 -0
  319. package/dist/api/routes/mail/dependencies.d.ts.map +1 -0
  320. package/dist/api/routes/mail/dependencies.js +2 -0
  321. package/dist/api/routes/mail/dependencies.js.map +1 -0
  322. package/dist/api/routes/mail/drafts.d.ts +5 -0
  323. package/dist/api/routes/mail/drafts.d.ts.map +1 -0
  324. package/dist/api/routes/mail/drafts.js +139 -0
  325. package/dist/api/routes/mail/drafts.js.map +1 -0
  326. package/dist/api/routes/mail/gating.d.ts +45 -0
  327. package/dist/api/routes/mail/gating.d.ts.map +1 -0
  328. package/dist/api/routes/mail/gating.js +99 -0
  329. package/dist/api/routes/mail/gating.js.map +1 -0
  330. package/dist/api/routes/mail/index.d.ts +18 -0
  331. package/dist/api/routes/mail/index.d.ts.map +1 -0
  332. package/dist/api/routes/mail/index.js +40 -0
  333. package/dist/api/routes/mail/index.js.map +1 -0
  334. package/dist/api/routes/mail/messages.d.ts +15 -0
  335. package/dist/api/routes/mail/messages.d.ts.map +1 -0
  336. package/dist/api/routes/mail/messages.js +239 -0
  337. package/dist/api/routes/mail/messages.js.map +1 -0
  338. package/dist/api/routes/mail/outlook-config.d.ts +4 -0
  339. package/dist/api/routes/mail/outlook-config.d.ts.map +1 -0
  340. package/dist/api/routes/mail/outlook-config.js +73 -0
  341. package/dist/api/routes/mail/outlook-config.js.map +1 -0
  342. package/dist/api/routes/mail/provider-resolver.d.ts +64 -0
  343. package/dist/api/routes/mail/provider-resolver.d.ts.map +1 -0
  344. package/dist/api/routes/mail/provider-resolver.js +286 -0
  345. package/dist/api/routes/mail/provider-resolver.js.map +1 -0
  346. package/dist/api/routes/mail/providers.d.ts +4 -0
  347. package/dist/api/routes/mail/providers.d.ts.map +1 -0
  348. package/dist/api/routes/mail/providers.js +73 -0
  349. package/dist/api/routes/mail/providers.js.map +1 -0
  350. package/dist/api/routes/mail/search-health.d.ts +4 -0
  351. package/dist/api/routes/mail/search-health.d.ts.map +1 -0
  352. package/dist/api/routes/mail/search-health.js +131 -0
  353. package/dist/api/routes/mail/search-health.js.map +1 -0
  354. package/dist/api/routes/mail/tags-folders.d.ts +5 -0
  355. package/dist/api/routes/mail/tags-folders.d.ts.map +1 -0
  356. package/dist/api/routes/mail/tags-folders.js +35 -0
  357. package/dist/api/routes/mail/tags-folders.js.map +1 -0
  358. package/dist/api/routes/mail/validators.d.ts +23 -0
  359. package/dist/api/routes/mail/validators.d.ts.map +1 -0
  360. package/dist/api/routes/mail/validators.js +131 -0
  361. package/dist/api/routes/mail/validators.js.map +1 -0
  362. package/dist/api/routes/mail.d.ts.map +1 -1
  363. package/dist/api/routes/mail.js +259 -67
  364. package/dist/api/routes/mail.js.map +1 -1
  365. package/dist/api/routes/managed-tasks.d.ts.map +1 -1
  366. package/dist/api/routes/managed-tasks.js +142 -54
  367. package/dist/api/routes/managed-tasks.js.map +1 -1
  368. package/dist/api/routes/mcp.d.ts.map +1 -1
  369. package/dist/api/routes/mcp.js +115 -47
  370. package/dist/api/routes/mcp.js.map +1 -1
  371. package/dist/api/routes/metrics.d.ts +1 -1
  372. package/dist/api/routes/metrics.js +2 -2
  373. package/dist/api/routes/notion.d.ts.map +1 -1
  374. package/dist/api/routes/notion.js +230 -54
  375. package/dist/api/routes/notion.js.map +1 -1
  376. package/dist/api/routes/observations.d.ts.map +1 -1
  377. package/dist/api/routes/observations.js +40 -169
  378. package/dist/api/routes/observations.js.map +1 -1
  379. package/dist/api/routes/obsidian.d.ts.map +1 -1
  380. package/dist/api/routes/obsidian.js +193 -32
  381. package/dist/api/routes/obsidian.js.map +1 -1
  382. package/dist/api/routes/profile-questions.d.ts.map +1 -1
  383. package/dist/api/routes/profile-questions.js +19 -3
  384. package/dist/api/routes/profile-questions.js.map +1 -1
  385. package/dist/api/routes/receipts.d.ts.map +1 -1
  386. package/dist/api/routes/receipts.js +64 -24
  387. package/dist/api/routes/receipts.js.map +1 -1
  388. package/dist/api/routes/recurring-schedules.d.ts.map +1 -1
  389. package/dist/api/routes/recurring-schedules.js +243 -13
  390. package/dist/api/routes/recurring-schedules.js.map +1 -1
  391. package/dist/api/routes/repositories.d.ts.map +1 -1
  392. package/dist/api/routes/repositories.js +278 -104
  393. package/dist/api/routes/repositories.js.map +1 -1
  394. package/dist/api/routes/schedule-model-resolver.d.ts +153 -0
  395. package/dist/api/routes/schedule-model-resolver.d.ts.map +1 -0
  396. package/dist/api/routes/schedule-model-resolver.js +282 -0
  397. package/dist/api/routes/schedule-model-resolver.js.map +1 -0
  398. package/dist/api/routes/schedule-options.d.ts +25 -0
  399. package/dist/api/routes/schedule-options.d.ts.map +1 -0
  400. package/dist/api/routes/schedule-options.js +77 -0
  401. package/dist/api/routes/schedule-options.js.map +1 -0
  402. package/dist/api/routes/schedule-validation.d.ts +146 -0
  403. package/dist/api/routes/schedule-validation.d.ts.map +1 -0
  404. package/dist/api/routes/schedule-validation.js +153 -0
  405. package/dist/api/routes/schedule-validation.js.map +1 -0
  406. package/dist/api/routes/setup.d.ts.map +1 -1
  407. package/dist/api/routes/setup.js +100 -26
  408. package/dist/api/routes/setup.js.map +1 -1
  409. package/dist/api/routes/skills.d.ts.map +1 -1
  410. package/dist/api/routes/skills.js +81 -30
  411. package/dist/api/routes/skills.js.map +1 -1
  412. package/dist/api/routes/sot-bindings.d.ts.map +1 -1
  413. package/dist/api/routes/sot-bindings.js +46 -11
  414. package/dist/api/routes/sot-bindings.js.map +1 -1
  415. package/dist/api/routes/sse.d.ts.map +1 -1
  416. package/dist/api/routes/sse.js +6 -1
  417. package/dist/api/routes/sse.js.map +1 -1
  418. package/dist/api/routes/system.d.ts.map +1 -1
  419. package/dist/api/routes/system.js +15 -2
  420. package/dist/api/routes/system.js.map +1 -1
  421. package/dist/api/routes/travel-bookings.d.ts.map +1 -1
  422. package/dist/api/routes/travel-bookings.js +26 -9
  423. package/dist/api/routes/travel-bookings.js.map +1 -1
  424. package/dist/api/routes/travel-time.d.ts.map +1 -1
  425. package/dist/api/routes/travel-time.js +50 -10
  426. package/dist/api/routes/travel-time.js.map +1 -1
  427. package/dist/api/routes/wiki.d.ts.map +1 -1
  428. package/dist/api/routes/wiki.js +49 -8
  429. package/dist/api/routes/wiki.js.map +1 -1
  430. package/dist/api/server.d.ts +15 -3
  431. package/dist/api/server.d.ts.map +1 -1
  432. package/dist/api/server.js +32 -10
  433. package/dist/api/server.js.map +1 -1
  434. package/dist/bootstrap/adapters.d.ts.map +1 -1
  435. package/dist/bootstrap/adapters.js +7 -4
  436. package/dist/bootstrap/adapters.js.map +1 -1
  437. package/dist/bootstrap/api.d.ts +205 -0
  438. package/dist/bootstrap/api.d.ts.map +1 -0
  439. package/dist/bootstrap/api.js +443 -0
  440. package/dist/bootstrap/api.js.map +1 -0
  441. package/dist/bootstrap/db.d.ts +119 -0
  442. package/dist/bootstrap/db.d.ts.map +1 -0
  443. package/dist/bootstrap/db.js +294 -0
  444. package/dist/bootstrap/db.js.map +1 -0
  445. package/dist/bootstrap/event-pipeline.d.ts +308 -0
  446. package/dist/bootstrap/event-pipeline.d.ts.map +1 -0
  447. package/dist/bootstrap/event-pipeline.js +704 -0
  448. package/dist/bootstrap/event-pipeline.js.map +1 -0
  449. package/dist/bootstrap/observers.d.ts +148 -0
  450. package/dist/bootstrap/observers.d.ts.map +1 -0
  451. package/dist/bootstrap/observers.js +558 -0
  452. package/dist/bootstrap/observers.js.map +1 -0
  453. package/dist/bootstrap/schedule-helpers.d.ts +122 -0
  454. package/dist/bootstrap/schedule-helpers.d.ts.map +1 -1
  455. package/dist/bootstrap/schedule-helpers.js +202 -4
  456. package/dist/bootstrap/schedule-helpers.js.map +1 -1
  457. package/dist/config.d.ts.map +1 -1
  458. package/dist/config.js +20 -3
  459. package/dist/config.js.map +1 -1
  460. package/dist/core/abort-utils.d.ts +14 -0
  461. package/dist/core/abort-utils.d.ts.map +1 -0
  462. package/dist/core/abort-utils.js +36 -0
  463. package/dist/core/abort-utils.js.map +1 -0
  464. package/dist/core/agent-core.d.ts +22 -3
  465. package/dist/core/agent-core.d.ts.map +1 -1
  466. package/dist/core/agent-core.js +3 -1
  467. package/dist/core/agent-core.js.map +1 -1
  468. package/dist/core/backends/auth-health-monitor.js +2 -3
  469. package/dist/core/backends/auth-health-monitor.js.map +1 -1
  470. package/dist/core/backends/backend-router.d.ts +11 -1
  471. package/dist/core/backends/backend-router.d.ts.map +1 -1
  472. package/dist/core/backends/backend-router.js +97 -2
  473. package/dist/core/backends/backend-router.js.map +1 -1
  474. package/dist/core/backends/claude-code-core.d.ts +51 -0
  475. package/dist/core/backends/claude-code-core.d.ts.map +1 -1
  476. package/dist/core/backends/claude-code-core.js +134 -11
  477. package/dist/core/backends/claude-code-core.js.map +1 -1
  478. package/dist/core/backends/claude-tool-collection.js +1 -1
  479. package/dist/core/backends/codex-core.d.ts +13 -1
  480. package/dist/core/backends/codex-core.d.ts.map +1 -1
  481. package/dist/core/backends/codex-core.js +436 -22
  482. package/dist/core/backends/codex-core.js.map +1 -1
  483. package/dist/core/backends/gemini-cli-core.d.ts +5 -1
  484. package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
  485. package/dist/core/backends/gemini-cli-core.js +298 -15
  486. package/dist/core/backends/gemini-cli-core.js.map +1 -1
  487. package/dist/core/backends/install-methods.d.ts.map +1 -1
  488. package/dist/core/backends/install-methods.js +22 -0
  489. package/dist/core/backends/install-methods.js.map +1 -1
  490. package/dist/core/backends/model-registry.d.ts +9 -4
  491. package/dist/core/backends/model-registry.d.ts.map +1 -1
  492. package/dist/core/backends/model-registry.js +153 -23
  493. package/dist/core/backends/model-registry.js.map +1 -1
  494. package/dist/core/backends/native-skill-discovery-probe.d.ts +80 -0
  495. package/dist/core/backends/native-skill-discovery-probe.d.ts.map +1 -0
  496. package/dist/core/backends/native-skill-discovery-probe.js +175 -0
  497. package/dist/core/backends/native-skill-discovery-probe.js.map +1 -0
  498. package/dist/core/backends/opencode-basic-auth-fetch.d.ts +27 -0
  499. package/dist/core/backends/opencode-basic-auth-fetch.d.ts.map +1 -0
  500. package/dist/core/backends/opencode-basic-auth-fetch.js +40 -0
  501. package/dist/core/backends/opencode-basic-auth-fetch.js.map +1 -0
  502. package/dist/core/backends/opencode-config-builder.d.ts +86 -0
  503. package/dist/core/backends/opencode-config-builder.d.ts.map +1 -0
  504. package/dist/core/backends/opencode-config-builder.js +172 -0
  505. package/dist/core/backends/opencode-config-builder.js.map +1 -0
  506. package/dist/core/backends/opencode-core.d.ts +316 -0
  507. package/dist/core/backends/opencode-core.d.ts.map +1 -0
  508. package/dist/core/backends/opencode-core.js +1502 -0
  509. package/dist/core/backends/opencode-core.js.map +1 -0
  510. package/dist/core/backends/opencode-event-mapper.d.ts +133 -0
  511. package/dist/core/backends/opencode-event-mapper.d.ts.map +1 -0
  512. package/dist/core/backends/opencode-event-mapper.js +198 -0
  513. package/dist/core/backends/opencode-event-mapper.js.map +1 -0
  514. package/dist/core/backends/opencode-mcp.d.ts +82 -0
  515. package/dist/core/backends/opencode-mcp.d.ts.map +1 -0
  516. package/dist/core/backends/opencode-mcp.js +165 -0
  517. package/dist/core/backends/opencode-mcp.js.map +1 -0
  518. package/dist/core/backends/opencode-server-manager.d.ts +114 -0
  519. package/dist/core/backends/opencode-server-manager.d.ts.map +1 -0
  520. package/dist/core/backends/opencode-server-manager.js +222 -0
  521. package/dist/core/backends/opencode-server-manager.js.map +1 -0
  522. package/dist/core/backends/opencode-types.d.ts +46 -0
  523. package/dist/core/backends/opencode-types.d.ts.map +1 -0
  524. package/dist/core/backends/opencode-types.js +14 -0
  525. package/dist/core/backends/opencode-types.js.map +1 -0
  526. package/dist/core/backends/plan-presets.d.ts +18 -5
  527. package/dist/core/backends/plan-presets.d.ts.map +1 -1
  528. package/dist/core/backends/plan-presets.js +144 -23
  529. package/dist/core/backends/plan-presets.js.map +1 -1
  530. package/dist/core/backends/process-config-cascade.d.ts +35 -0
  531. package/dist/core/backends/process-config-cascade.d.ts.map +1 -1
  532. package/dist/core/backends/process-config-cascade.js +35 -1
  533. package/dist/core/backends/process-config-cascade.js.map +1 -1
  534. package/dist/core/backends/prompt-utils.d.ts.map +1 -1
  535. package/dist/core/backends/prompt-utils.js +0 -2
  536. package/dist/core/backends/prompt-utils.js.map +1 -1
  537. package/dist/core/backends/quota-reset-hints.d.ts +44 -0
  538. package/dist/core/backends/quota-reset-hints.d.ts.map +1 -0
  539. package/dist/core/backends/quota-reset-hints.js +117 -0
  540. package/dist/core/backends/quota-reset-hints.js.map +1 -0
  541. package/dist/core/bang-commands/commands-close.d.ts +24 -0
  542. package/dist/core/bang-commands/commands-close.d.ts.map +1 -0
  543. package/dist/core/bang-commands/commands-close.js +24 -0
  544. package/dist/core/bang-commands/commands-close.js.map +1 -0
  545. package/dist/core/bang-commands/commands-cost.d.ts.map +1 -1
  546. package/dist/core/bang-commands/commands-cost.js +13 -0
  547. package/dist/core/bang-commands/commands-cost.js.map +1 -1
  548. package/dist/core/bang-commands/commands-help.d.ts.map +1 -1
  549. package/dist/core/bang-commands/commands-help.js +44 -5
  550. package/dist/core/bang-commands/commands-help.js.map +1 -1
  551. package/dist/core/bang-commands/commands-report.d.ts.map +1 -1
  552. package/dist/core/bang-commands/commands-report.js +1 -0
  553. package/dist/core/bang-commands/commands-report.js.map +1 -1
  554. package/dist/core/bang-commands/commands-stop-start.d.ts.map +1 -1
  555. package/dist/core/bang-commands/commands-stop-start.js +2 -0
  556. package/dist/core/bang-commands/commands-stop-start.js.map +1 -1
  557. package/dist/core/bang-commands/commands-wiki.d.ts.map +1 -1
  558. package/dist/core/bang-commands/commands-wiki.js +12 -1
  559. package/dist/core/bang-commands/commands-wiki.js.map +1 -1
  560. package/dist/core/bang-commands/format-utils.d.ts +13 -1
  561. package/dist/core/bang-commands/format-utils.d.ts.map +1 -1
  562. package/dist/core/bang-commands/format-utils.js +21 -2
  563. package/dist/core/bang-commands/format-utils.js.map +1 -1
  564. package/dist/core/bang-commands/index.d.ts +1 -0
  565. package/dist/core/bang-commands/index.d.ts.map +1 -1
  566. package/dist/core/bang-commands/index.js +3 -0
  567. package/dist/core/bang-commands/index.js.map +1 -1
  568. package/dist/core/bang-commands/registry.d.ts +50 -0
  569. package/dist/core/bang-commands/registry.d.ts.map +1 -1
  570. package/dist/core/bang-commands/registry.js +164 -19
  571. package/dist/core/bang-commands/registry.js.map +1 -1
  572. package/dist/core/channel-timeline.d.ts +18 -1
  573. package/dist/core/channel-timeline.d.ts.map +1 -1
  574. package/dist/core/channel-timeline.js +44 -0
  575. package/dist/core/channel-timeline.js.map +1 -1
  576. package/dist/core/context/activity-view-runner.js +9 -1
  577. package/dist/core/context/activity-view-runner.js.map +1 -1
  578. package/dist/core/context/default-schedules-runner.js +44 -4
  579. package/dist/core/context/default-schedules-runner.js.map +1 -1
  580. package/dist/core/context/domain-index-runner.js +9 -1
  581. package/dist/core/context/domain-index-runner.js.map +1 -1
  582. package/dist/core/context/entity-source-rename.d.ts.map +1 -1
  583. package/dist/core/context/entity-source-rename.js +9 -1
  584. package/dist/core/context/entity-source-rename.js.map +1 -1
  585. package/dist/core/context/policy-index-runner.js +9 -1
  586. package/dist/core/context/policy-index-runner.js.map +1 -1
  587. package/dist/core/context/reconciler-runner.js +9 -1
  588. package/dist/core/context/reconciler-runner.js.map +1 -1
  589. package/dist/core/context-builder.d.ts +97 -2
  590. package/dist/core/context-builder.d.ts.map +1 -1
  591. package/dist/core/context-builder.js +303 -30
  592. package/dist/core/context-builder.js.map +1 -1
  593. package/dist/core/context-frontmatter.d.ts +6 -0
  594. package/dist/core/context-frontmatter.d.ts.map +1 -1
  595. package/dist/core/context-frontmatter.js +120 -8
  596. package/dist/core/context-frontmatter.js.map +1 -1
  597. package/dist/core/context-health.js +21 -9
  598. package/dist/core/context-health.js.map +1 -1
  599. package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts +19 -0
  600. package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts.map +1 -0
  601. package/dist/core/context-validation/_pa_wip_context_validation/index.js +19 -0
  602. package/dist/core/context-validation/_pa_wip_context_validation/index.js.map +1 -0
  603. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts +94 -0
  604. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts.map +1 -0
  605. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js +130 -0
  606. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js.map +1 -0
  607. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts +60 -0
  608. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts.map +1 -0
  609. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js +156 -0
  610. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js.map +1 -0
  611. package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts +41 -0
  612. package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts.map +1 -0
  613. package/dist/core/context-validation/_pa_wip_context_validation/section.js +82 -0
  614. package/dist/core/context-validation/_pa_wip_context_validation/section.js.map +1 -0
  615. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts +52 -0
  616. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts.map +1 -0
  617. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js +110 -0
  618. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js.map +1 -0
  619. package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts +85 -0
  620. package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts.map +1 -0
  621. package/dist/core/context-validation/_pa_wip_context_validation/today.js +162 -0
  622. package/dist/core/context-validation/_pa_wip_context_validation/today.js.map +1 -0
  623. package/dist/core/context-validation/index.d.ts +19 -0
  624. package/dist/core/context-validation/index.d.ts.map +1 -0
  625. package/dist/core/context-validation/index.js +19 -0
  626. package/dist/core/context-validation/index.js.map +1 -0
  627. package/dist/core/context-validation/prepare-write.d.ts +95 -0
  628. package/dist/core/context-validation/prepare-write.d.ts.map +1 -0
  629. package/dist/core/context-validation/prepare-write.js +135 -0
  630. package/dist/core/context-validation/prepare-write.js.map +1 -0
  631. package/dist/core/context-validation/routine-rulebook.d.ts +60 -0
  632. package/dist/core/context-validation/routine-rulebook.d.ts.map +1 -0
  633. package/dist/core/context-validation/routine-rulebook.js +156 -0
  634. package/dist/core/context-validation/routine-rulebook.js.map +1 -0
  635. package/dist/core/context-validation/section.d.ts +41 -0
  636. package/dist/core/context-validation/section.d.ts.map +1 -0
  637. package/dist/core/context-validation/section.js +82 -0
  638. package/dist/core/context-validation/section.js.map +1 -0
  639. package/dist/core/context-validation/snapshot-debounce.d.ts +52 -0
  640. package/dist/core/context-validation/snapshot-debounce.d.ts.map +1 -0
  641. package/dist/core/context-validation/snapshot-debounce.js +110 -0
  642. package/dist/core/context-validation/snapshot-debounce.js.map +1 -0
  643. package/dist/core/context-validation/today.d.ts +85 -0
  644. package/dist/core/context-validation/today.d.ts.map +1 -0
  645. package/dist/core/context-validation/today.js +168 -0
  646. package/dist/core/context-validation/today.js.map +1 -0
  647. package/dist/core/daemon-api-cli.d.ts +6 -5
  648. package/dist/core/daemon-api-cli.d.ts.map +1 -1
  649. package/dist/core/daemon-api-cli.js +73 -32
  650. package/dist/core/daemon-api-cli.js.map +1 -1
  651. package/dist/core/dispatcher-error-handling.d.ts +13 -0
  652. package/dist/core/dispatcher-error-handling.d.ts.map +1 -1
  653. package/dist/core/dispatcher-error-handling.js +69 -0
  654. package/dist/core/dispatcher-error-handling.js.map +1 -1
  655. package/dist/core/dispatcher-hourly-check.d.ts +73 -1
  656. package/dist/core/dispatcher-hourly-check.d.ts.map +1 -1
  657. package/dist/core/dispatcher-hourly-check.js +249 -151
  658. package/dist/core/dispatcher-hourly-check.js.map +1 -1
  659. package/dist/core/dispatcher-message-handler.d.ts +11 -1
  660. package/dist/core/dispatcher-message-handler.d.ts.map +1 -1
  661. package/dist/core/dispatcher-message-handler.js +165 -47
  662. package/dist/core/dispatcher-message-handler.js.map +1 -1
  663. package/dist/core/dispatcher-morning-routine.d.ts +38 -30
  664. package/dist/core/dispatcher-morning-routine.d.ts.map +1 -1
  665. package/dist/core/dispatcher-morning-routine.js +162 -104
  666. package/dist/core/dispatcher-morning-routine.js.map +1 -1
  667. package/dist/core/dispatcher-prompt.d.ts +4 -1
  668. package/dist/core/dispatcher-prompt.d.ts.map +1 -1
  669. package/dist/core/dispatcher-prompt.js +18 -2
  670. package/dist/core/dispatcher-prompt.js.map +1 -1
  671. package/dist/core/dispatcher-repository-helpers.d.ts.map +1 -1
  672. package/dist/core/dispatcher-repository-helpers.js +5 -1
  673. package/dist/core/dispatcher-repository-helpers.js.map +1 -1
  674. package/dist/core/dispatcher-result-processor.d.ts.map +1 -1
  675. package/dist/core/dispatcher-result-processor.js +9 -4
  676. package/dist/core/dispatcher-result-processor.js.map +1 -1
  677. package/dist/core/dispatcher-scheduled-tasks.d.ts +1 -1
  678. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -1
  679. package/dist/core/dispatcher-scheduled-tasks.js +79 -16
  680. package/dist/core/dispatcher-scheduled-tasks.js.map +1 -1
  681. package/dist/core/dispatcher-types.d.ts +84 -12
  682. package/dist/core/dispatcher-types.d.ts.map +1 -1
  683. package/dist/core/dispatcher-types.js.map +1 -1
  684. package/dist/core/dispatcher.d.ts +50 -1
  685. package/dist/core/dispatcher.d.ts.map +1 -1
  686. package/dist/core/dispatcher.js +143 -8
  687. package/dist/core/dispatcher.js.map +1 -1
  688. package/dist/core/dm-freshness-metrics.d.ts +6 -5
  689. package/dist/core/dm-freshness-metrics.d.ts.map +1 -1
  690. package/dist/core/dm-freshness-metrics.js +7 -6
  691. package/dist/core/dm-freshness-metrics.js.map +1 -1
  692. package/dist/core/evening-review-verify.d.ts +164 -0
  693. package/dist/core/evening-review-verify.d.ts.map +1 -0
  694. package/dist/core/evening-review-verify.js +637 -0
  695. package/dist/core/evening-review-verify.js.map +1 -0
  696. package/dist/core/fetch-window-prompt-loader.d.ts +47 -0
  697. package/dist/core/fetch-window-prompt-loader.d.ts.map +1 -0
  698. package/dist/core/fetch-window-prompt-loader.js +72 -0
  699. package/dist/core/fetch-window-prompt-loader.js.map +1 -0
  700. package/dist/core/management-md.d.ts.map +1 -1
  701. package/dist/core/management-md.js +23 -9
  702. package/dist/core/management-md.js.map +1 -1
  703. package/dist/core/management-registry.d.ts +13 -21
  704. package/dist/core/management-registry.d.ts.map +1 -1
  705. package/dist/core/management-registry.js +27 -48
  706. package/dist/core/management-registry.js.map +1 -1
  707. package/dist/core/metrics.d.ts +88 -1
  708. package/dist/core/metrics.d.ts.map +1 -1
  709. package/dist/core/metrics.js +78 -2
  710. package/dist/core/metrics.js.map +1 -1
  711. package/dist/core/morning/agent-journal-appender.d.ts +197 -0
  712. package/dist/core/morning/agent-journal-appender.d.ts.map +1 -0
  713. package/dist/core/morning/agent-journal-appender.js +458 -0
  714. package/dist/core/morning/agent-journal-appender.js.map +1 -0
  715. package/dist/core/morning/handoff-parser.d.ts +45 -0
  716. package/dist/core/morning/handoff-parser.d.ts.map +1 -0
  717. package/dist/core/morning/handoff-parser.js +117 -0
  718. package/dist/core/morning/handoff-parser.js.map +1 -0
  719. package/dist/core/morning/journal-skeleton-builder.d.ts +157 -0
  720. package/dist/core/morning/journal-skeleton-builder.d.ts.map +1 -0
  721. package/dist/core/morning/journal-skeleton-builder.js +303 -0
  722. package/dist/core/morning/journal-skeleton-builder.js.map +1 -0
  723. package/dist/core/morning/orchestrator.d.ts +312 -0
  724. package/dist/core/morning/orchestrator.d.ts.map +1 -0
  725. package/dist/core/morning/orchestrator.js +827 -0
  726. package/dist/core/morning/orchestrator.js.map +1 -0
  727. package/dist/core/morning/parent-audit-emitter.d.ts +82 -0
  728. package/dist/core/morning/parent-audit-emitter.d.ts.map +1 -0
  729. package/dist/core/morning/parent-audit-emitter.js +120 -0
  730. package/dist/core/morning/parent-audit-emitter.js.map +1 -0
  731. package/dist/core/morning/roadmap-skeleton-builder.d.ts +159 -0
  732. package/dist/core/morning/roadmap-skeleton-builder.d.ts.map +1 -0
  733. package/dist/core/morning/roadmap-skeleton-builder.js +338 -0
  734. package/dist/core/morning/roadmap-skeleton-builder.js.map +1 -0
  735. package/dist/core/output-language-policy.js +1 -1
  736. package/dist/core/output-language-policy.js.map +1 -1
  737. package/dist/core/policy-files.d.ts +19 -2
  738. package/dist/core/policy-files.d.ts.map +1 -1
  739. package/dist/core/policy-files.js +65 -7
  740. package/dist/core/policy-files.js.map +1 -1
  741. package/dist/core/pre-pass-freshness.d.ts +28 -0
  742. package/dist/core/pre-pass-freshness.d.ts.map +1 -0
  743. package/dist/core/pre-pass-freshness.js +10 -0
  744. package/dist/core/pre-pass-freshness.js.map +1 -0
  745. package/dist/core/previous-week-digest.d.ts +130 -0
  746. package/dist/core/previous-week-digest.d.ts.map +1 -0
  747. package/dist/core/previous-week-digest.js +257 -0
  748. package/dist/core/previous-week-digest.js.map +1 -0
  749. package/dist/core/prompts.js +3 -3
  750. package/dist/core/prompts.js.map +1 -1
  751. package/dist/core/quiet-hours-sync.d.ts.map +1 -1
  752. package/dist/core/quiet-hours-sync.js +7 -0
  753. package/dist/core/quiet-hours-sync.js.map +1 -1
  754. package/dist/core/recurrence.d.ts +13 -0
  755. package/dist/core/recurrence.d.ts.map +1 -1
  756. package/dist/core/recurrence.js +108 -13
  757. package/dist/core/recurrence.js.map +1 -1
  758. package/dist/core/release-assets.d.ts +21 -1
  759. package/dist/core/release-assets.d.ts.map +1 -1
  760. package/dist/core/release-assets.js +58 -3
  761. package/dist/core/release-assets.js.map +1 -1
  762. package/dist/core/repository-management-docs.d.ts.map +1 -1
  763. package/dist/core/repository-management-docs.js +14 -4
  764. package/dist/core/repository-management-docs.js.map +1 -1
  765. package/dist/core/review-context.d.ts.map +1 -1
  766. package/dist/core/review-context.js +29 -1
  767. package/dist/core/review-context.js.map +1 -1
  768. package/dist/core/roadmap-maintenance.d.ts +213 -0
  769. package/dist/core/roadmap-maintenance.d.ts.map +1 -0
  770. package/dist/core/roadmap-maintenance.js +706 -0
  771. package/dist/core/roadmap-maintenance.js.map +1 -0
  772. package/dist/core/roadmap-validate.d.ts +5 -0
  773. package/dist/core/roadmap-validate.d.ts.map +1 -1
  774. package/dist/core/roadmap-validate.js +6 -69
  775. package/dist/core/roadmap-validate.js.map +1 -1
  776. package/dist/core/routine-acquisition-plan.d.ts +43 -7
  777. package/dist/core/routine-acquisition-plan.d.ts.map +1 -1
  778. package/dist/core/routine-acquisition-plan.js +99 -8
  779. package/dist/core/routine-acquisition-plan.js.map +1 -1
  780. package/dist/core/routine-fetch-window-retry.d.ts +41 -2
  781. package/dist/core/routine-fetch-window-retry.d.ts.map +1 -1
  782. package/dist/core/routine-fetch-window-retry.js +91 -8
  783. package/dist/core/routine-fetch-window-retry.js.map +1 -1
  784. package/dist/core/routine-fetch-window-runner.d.ts +55 -21
  785. package/dist/core/routine-fetch-window-runner.d.ts.map +1 -1
  786. package/dist/core/routine-fetch-window-runner.js +258 -35
  787. package/dist/core/routine-fetch-window-runner.js.map +1 -1
  788. package/dist/core/routine-windows.d.ts +17 -13
  789. package/dist/core/routine-windows.d.ts.map +1 -1
  790. package/dist/core/routine-windows.js +78 -36
  791. package/dist/core/routine-windows.js.map +1 -1
  792. package/dist/core/scheduler.d.ts +121 -37
  793. package/dist/core/scheduler.d.ts.map +1 -1
  794. package/dist/core/scheduler.js +359 -80
  795. package/dist/core/scheduler.js.map +1 -1
  796. package/dist/core/session-manager.d.ts +25 -6
  797. package/dist/core/session-manager.d.ts.map +1 -1
  798. package/dist/core/session-manager.js +32 -15
  799. package/dist/core/session-manager.js.map +1 -1
  800. package/dist/core/skeleton.d.ts.map +1 -1
  801. package/dist/core/skeleton.js +23 -23
  802. package/dist/core/skeleton.js.map +1 -1
  803. package/dist/core/skills-compiler.d.ts +275 -25
  804. package/dist/core/skills-compiler.d.ts.map +1 -1
  805. package/dist/core/skills-compiler.js +844 -205
  806. package/dist/core/skills-compiler.js.map +1 -1
  807. package/dist/core/skills-manifest.d.ts +104 -0
  808. package/dist/core/skills-manifest.d.ts.map +1 -1
  809. package/dist/core/skills-manifest.js +350 -39
  810. package/dist/core/skills-manifest.js.map +1 -1
  811. package/dist/core/wiki/git-precompile.d.ts +9 -0
  812. package/dist/core/wiki/git-precompile.d.ts.map +1 -1
  813. package/dist/core/wiki/git-precompile.js +7 -1
  814. package/dist/core/wiki/git-precompile.js.map +1 -1
  815. package/dist/core/workdir.d.ts +30 -1
  816. package/dist/core/workdir.d.ts.map +1 -1
  817. package/dist/core/workdir.js +140 -15
  818. package/dist/core/workdir.js.map +1 -1
  819. package/dist/db/entities-store.d.ts +5 -5
  820. package/dist/db/entities-store.js +5 -5
  821. package/dist/db/hourly-check-signals.d.ts.map +1 -1
  822. package/dist/db/hourly-check-signals.js +121 -35
  823. package/dist/db/hourly-check-signals.js.map +1 -1
  824. package/dist/db/observations.d.ts +1 -1
  825. package/dist/db/observations.js +1 -1
  826. package/dist/db/observations.js.map +1 -1
  827. package/dist/db/recurring-schedules.d.ts +32 -1
  828. package/dist/db/recurring-schedules.d.ts.map +1 -1
  829. package/dist/db/recurring-schedules.js +29 -10
  830. package/dist/db/recurring-schedules.js.map +1 -1
  831. package/dist/db/repositories-store.d.ts +2 -1
  832. package/dist/db/repositories-store.d.ts.map +1 -1
  833. package/dist/db/repositories-store.js +38 -3
  834. package/dist/db/repositories-store.js.map +1 -1
  835. package/dist/db/schema.d.ts.map +1 -1
  836. package/dist/db/schema.js +157 -51
  837. package/dist/db/schema.js.map +1 -1
  838. package/dist/db/wiki-store.d.ts.map +1 -1
  839. package/dist/db/wiki-store.js +3 -0
  840. package/dist/db/wiki-store.js.map +1 -1
  841. package/dist/index.js +308 -1473
  842. package/dist/index.js.map +1 -1
  843. package/dist/messaging/magic-phrase.d.ts +16 -0
  844. package/dist/messaging/magic-phrase.d.ts.map +1 -1
  845. package/dist/messaging/magic-phrase.js +53 -0
  846. package/dist/messaging/magic-phrase.js.map +1 -1
  847. package/dist/messaging/owner-channels.d.ts +24 -0
  848. package/dist/messaging/owner-channels.d.ts.map +1 -1
  849. package/dist/messaging/owner-channels.js +38 -0
  850. package/dist/messaging/owner-channels.js.map +1 -1
  851. package/dist/messaging/setup-welcome-dm.d.ts +30 -0
  852. package/dist/messaging/setup-welcome-dm.d.ts.map +1 -0
  853. package/dist/messaging/setup-welcome-dm.js +86 -0
  854. package/dist/messaging/setup-welcome-dm.js.map +1 -0
  855. package/dist/observers/calendar-poller.d.ts +2 -0
  856. package/dist/observers/calendar-poller.d.ts.map +1 -1
  857. package/dist/observers/calendar-poller.js +76 -54
  858. package/dist/observers/calendar-poller.js.map +1 -1
  859. package/dist/observers/delegated-sync-worker.d.ts +62 -0
  860. package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
  861. package/dist/observers/delegated-sync-worker.js +128 -1
  862. package/dist/observers/delegated-sync-worker.js.map +1 -1
  863. package/dist/observers/git-watcher.d.ts +22 -0
  864. package/dist/observers/git-watcher.d.ts.map +1 -1
  865. package/dist/observers/git-watcher.js +31 -7
  866. package/dist/observers/git-watcher.js.map +1 -1
  867. package/dist/observers/imminent-event-scheduler.d.ts +2 -0
  868. package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
  869. package/dist/observers/imminent-event-scheduler.js +29 -0
  870. package/dist/observers/imminent-event-scheduler.js.map +1 -1
  871. package/dist/observers/notion-poller.d.ts +2 -0
  872. package/dist/observers/notion-poller.d.ts.map +1 -1
  873. package/dist/observers/notion-poller.js +44 -6
  874. package/dist/observers/notion-poller.js.map +1 -1
  875. package/dist/observers/poll-guard.d.ts +63 -0
  876. package/dist/observers/poll-guard.d.ts.map +1 -0
  877. package/dist/observers/poll-guard.js +89 -0
  878. package/dist/observers/poll-guard.js.map +1 -0
  879. package/dist/safety/absolute-block-audit.d.ts +17 -0
  880. package/dist/safety/absolute-block-audit.d.ts.map +1 -1
  881. package/dist/safety/absolute-block-audit.js +28 -2
  882. package/dist/safety/absolute-block-audit.js.map +1 -1
  883. package/dist/safety/agent-write-tracker.d.ts +42 -1
  884. package/dist/safety/agent-write-tracker.d.ts.map +1 -1
  885. package/dist/safety/agent-write-tracker.js +81 -1
  886. package/dist/safety/agent-write-tracker.js.map +1 -1
  887. package/dist/safety/always-disallowed.d.ts +34 -0
  888. package/dist/safety/always-disallowed.d.ts.map +1 -1
  889. package/dist/safety/always-disallowed.js +114 -7
  890. package/dist/safety/always-disallowed.js.map +1 -1
  891. package/dist/safety/audit.d.ts +20 -0
  892. package/dist/safety/audit.d.ts.map +1 -1
  893. package/dist/safety/audit.js +126 -0
  894. package/dist/safety/audit.js.map +1 -1
  895. package/dist/safety/risk-classifier.d.ts +17 -1
  896. package/dist/safety/risk-classifier.d.ts.map +1 -1
  897. package/dist/safety/risk-classifier.js +75 -7
  898. package/dist/safety/risk-classifier.js.map +1 -1
  899. package/dist/safety/subprocess-block-scanner.d.ts +89 -0
  900. package/dist/safety/subprocess-block-scanner.d.ts.map +1 -0
  901. package/dist/safety/subprocess-block-scanner.js +177 -0
  902. package/dist/safety/subprocess-block-scanner.js.map +1 -0
  903. package/dist/scheduler/hourly-check-gate.d.ts +23 -9
  904. package/dist/scheduler/hourly-check-gate.d.ts.map +1 -1
  905. package/dist/scheduler/hourly-check-gate.js +11 -6
  906. package/dist/scheduler/hourly-check-gate.js.map +1 -1
  907. package/dist/secrets/backend-api-key-env.d.ts.map +1 -1
  908. package/dist/secrets/backend-api-key-env.js +1 -0
  909. package/dist/secrets/backend-api-key-env.js.map +1 -1
  910. package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
  911. package/dist/services/delegated-backend-invoker.js +8 -1
  912. package/dist/services/delegated-backend-invoker.js.map +1 -1
  913. package/dist/services/delegated-invoker-audit.d.ts.map +1 -1
  914. package/dist/services/delegated-invoker-audit.js +5 -1
  915. package/dist/services/delegated-invoker-audit.js.map +1 -1
  916. package/dist/services/delegated-proxy-config.d.ts +3 -2
  917. package/dist/services/delegated-proxy-config.d.ts.map +1 -1
  918. package/dist/services/delegated-proxy-config.js.map +1 -1
  919. package/dist/services/integrations/extract-write-item-id.d.ts +5 -2
  920. package/dist/services/integrations/extract-write-item-id.d.ts.map +1 -1
  921. package/dist/services/integrations/extract-write-item-id.js.map +1 -1
  922. package/dist/services/mcp/generators/index.d.ts +1 -0
  923. package/dist/services/mcp/generators/index.d.ts.map +1 -1
  924. package/dist/services/mcp/generators/index.js +3 -0
  925. package/dist/services/mcp/generators/index.js.map +1 -1
  926. package/dist/services/mcp/sdk-observations-server.d.ts +60 -0
  927. package/dist/services/mcp/sdk-observations-server.d.ts.map +1 -0
  928. package/dist/services/mcp/sdk-observations-server.js +161 -0
  929. package/dist/services/mcp/sdk-observations-server.js.map +1 -0
  930. package/dist/services/mcp/session-materializer.d.ts.map +1 -1
  931. package/dist/services/mcp/session-materializer.js +13 -9
  932. package/dist/services/mcp/session-materializer.js.map +1 -1
  933. package/dist/services/mcp/types.d.ts +1 -0
  934. package/dist/services/mcp/types.d.ts.map +1 -1
  935. package/dist/services/notion.d.ts +19 -1
  936. package/dist/services/notion.d.ts.map +1 -1
  937. package/dist/services/notion.js +41 -2
  938. package/dist/services/notion.js.map +1 -1
  939. package/dist/services/observations-batch.d.ts +100 -0
  940. package/dist/services/observations-batch.d.ts.map +1 -0
  941. package/dist/services/observations-batch.js +258 -0
  942. package/dist/services/observations-batch.js.map +1 -0
  943. package/dist/services/voice/transcriber.d.ts +23 -0
  944. package/dist/services/voice/transcriber.d.ts.map +1 -1
  945. package/dist/services/voice/transcriber.js +55 -0
  946. package/dist/services/voice/transcriber.js.map +1 -1
  947. package/dist/settings/runtime-settings.d.ts +9 -6
  948. package/dist/settings/runtime-settings.d.ts.map +1 -1
  949. package/dist/settings/runtime-settings.js +50 -17
  950. package/dist/settings/runtime-settings.js.map +1 -1
  951. package/package.json +3 -2
  952. package/dist/api/delegated-proxy-helper.d.ts +0 -33
  953. package/dist/api/delegated-proxy-helper.d.ts.map +0 -1
  954. package/dist/api/delegated-proxy-helper.js +0 -54
  955. package/dist/api/delegated-proxy-helper.js.map +0 -1
  956. package/dist/core/roadmap-merge.d.ts +0 -7
  957. package/dist/core/roadmap-merge.d.ts.map +0 -1
  958. package/dist/core/roadmap-merge.js +0 -187
  959. package/dist/core/roadmap-merge.js.map +0 -1
  960. package/dist/db/test-schemas.d.ts +0 -23
  961. package/dist/db/test-schemas.d.ts.map +0 -1
  962. package/dist/db/test-schemas.js +0 -111
  963. package/dist/db/test-schemas.js.map +0 -1
@@ -14,8 +14,10 @@
14
14
  * - Drives the seed model selection from each process key's default
15
15
  * tier (`getDefaultTierForProcessKey`). Lite-tier keys seed Haiku
16
16
  * (Claude) / gpt-5.4-mini (Codex) / flash-lite (Gemini); medium-tier
17
- * keys seed Sonnet / gpt-5.4-mini / 3.1-flash-lite-preview; high-tier keys seed
18
- * Opus / gpt-5.5 / 3.1-pro-preview.
17
+ * keys seed Sonnet / gpt-5.4 / 3.1-flash-lite-preview; high-tier keys seed
18
+ * Opus / gpt-5.4 / 3.1-pro-preview. (Codex's high tier collapses to
19
+ * gpt-5.4 by default via `SEED_HIGH_TIER_OVERRIDE` in model-registry.ts
20
+ * — gpt-5.5 is Opus-priced and operator-pinned, not the silent default.)
19
21
  * - Exposes `setMainBackend(db, backendId)` — writes
20
22
  * `backend_global_defaults.default_backend` only. No preset
21
23
  * application, no per-process row mutation. The dashboard's main-
@@ -40,26 +42,123 @@ const logger = createLogger("default-presets");
40
42
  * are short-shaped tool sequences, not free-form chat. The "high"
41
43
  * envelope is generous because a high-tier seed implies the task is
42
44
  * one-shot, generative, and benefits from extra reasoning room.
45
+ *
46
+ * Values are sized for the Claude SDK / OpenCode (Anthropic-backed)
47
+ * runtime: both abort mid-turn when the running cost crosses
48
+ * `maxBudgetUsd`. Codex and Gemini have no in-flight cost enforcement
49
+ * (Codex CLI / Gemini CLI run to completion, then the daemon checks the
50
+ * actual cost), so an identical $0.20 ceiling fails sessions that a
51
+ * Claude run would have truncated and returned partially. `applyBackendBudgetFactor`
52
+ * raises the post-hoc ceiling for those backends so equivalent work
53
+ * lands inside the cap.
43
54
  */
44
55
  const ENVELOPE_BY_TIER = {
45
56
  lite: { maxTurns: 20, maxBudgetUsd: 0.2 },
46
57
  medium: { maxTurns: 50, maxBudgetUsd: 1.0 },
47
58
  high: { maxTurns: 80, maxBudgetUsd: 3.0 },
48
59
  };
60
+ /**
61
+ * Per-backend post-hoc budget multipliers. Applied to every envelope's
62
+ * `maxBudgetUsd` (tier nominal AND per-process override) by
63
+ * `applyBackendBudgetFactor`. `maxTurns` is unaffected — turns are about
64
+ * shape, not cost.
65
+ *
66
+ * Claude / OpenCode = 1.0 (SDK aborts mid-turn at the cap, so the
67
+ * nominal value also bounds the actual). Codex / Gemini are scaled up so
68
+ * the post-hoc check matches the *effective* spend a Claude session
69
+ * lands on after mid-turn abort, rather than rejecting any single turn
70
+ * that would have been truncated.
71
+ *
72
+ * Targets: lite $0.20 → $0.50, medium $1.00 → $1.50, high $3.00 → $5.00.
73
+ */
74
+ const BACKEND_BUDGET_FACTOR = {
75
+ codex: { lite: 2.5, medium: 1.5, high: 5 / 3 },
76
+ gemini: { lite: 2.5, medium: 1.5, high: 5 / 3 },
77
+ };
78
+ /**
79
+ * Scale a `maxBudgetUsd` for the given backend + tier. Exported so the
80
+ * cross-backend cascade in `process-config-cascade.ts` can apply the
81
+ * same factor to its INHERITOR_DEFAULTS when an operator edits
82
+ * `message.dm` on a non-Claude backend.
83
+ *
84
+ * Rounds to 2 decimals so the DB-stored cents-precision value is stable.
85
+ */
86
+ export function applyBackendBudgetFactor(backendId, tier, baseBudgetUsd) {
87
+ const factor = BACKEND_BUDGET_FACTOR[backendId]?.[tier] ?? 1;
88
+ if (factor === 1)
89
+ return baseBudgetUsd;
90
+ return Math.round(baseBudgetUsd * factor * 100) / 100;
91
+ }
49
92
  /**
50
93
  * Per-process envelope overrides. Layered on top of `ENVELOPE_BY_TIER` so
51
94
  * a process key whose worst-case cost is structurally heavier (or lighter)
52
95
  * than its tier's nominal envelope can be sized correctly without burning
53
96
  * a whole tier on the difference.
54
97
  *
55
- * The schema-seed row in `schema.ts` MUST keep `(maxTurns, maxBudgetUsd)`
56
- * in lock-step with the entry here; otherwise a "Reset to defaults" or
57
- * main-backend switch with `force: true` would silently overwrite the
58
- * schema-seeded envelope with the bare tier default and re-introduce the
59
- * regression this map exists to prevent.
98
+ * **Lock-step invariant.** Every entry here MUST equal the corresponding
99
+ * `(max_turns, max_budget_usd)` in the schema-seed row in `schema.ts`.
100
+ * `applyDefaultPresets` is the only writer of these envelopes after
101
+ * install both `force:false` (main-backend cascade) and `force:true`
102
+ * (Reset) take their values from this map. If schema and override
103
+ * diverge, the override wins on any apply-defaults call and silently
104
+ * reshapes the envelope. The `preserves every schema-seed envelope`
105
+ * regression test in `plan-presets.test.ts` walks every row and pins
106
+ * this for all configurable process keys.
107
+ *
108
+ * Inclusion rule: a process key needs an entry here iff its schema-seed
109
+ * envelope differs from `ENVELOPE_BY_TIER[<its default tier>]`. Process
110
+ * keys whose schema seed matches the bare tier envelope (e.g.
111
+ * `message.dm` = medium 50/$1.00) do not need an entry.
60
112
  */
61
113
  const ENVELOPE_OVERRIDES_BY_PROCESS_KEY = {
62
- // `routine.roadmap_refresh` is not in `ROUTINE_WINDOWS`, so its
114
+ // ── Medium-tier tighter envelopes ────────────────────────────────────
115
+ //
116
+ // `routine.today_refresh` is drift-triggered. A typical refresh on
117
+ // Sonnet runs ~$0.10 in 4 turns; the $0.30 cap is 3x observed cost,
118
+ // matching the headroom convention used by dashboard.docs_qa.
119
+ "routine.today_refresh": { maxTurns: 20, maxBudgetUsd: 0.3 },
120
+ // Above medium nominal: V2-disabled monolithic path absorbs fetch +
121
+ // synthesis in one session and tripped $1 on Sonnet. Lock-step with
122
+ // the schema-seed row.
123
+ "routine.morning_routine": { maxTurns: 50, maxBudgetUsd: 2.0 },
124
+ // morning-routine-optimization.md Phase 5 — Stage A of the split
125
+ // pipeline. Originally seeded at $0.50 on the projection that the
126
+ // Stage A task-flow would shrink to 6-8 KB (~40-50% off the
127
+ // monolithic session) once Step 5 daily-journal prose and Step 1
128
+ // handoff parsing moved off the agent. The handoff/journal moves
129
+ // shipped but the task-flow body did not shrink: the file is still
130
+ // ~34 KB and Stage A loads 9 skills, so even the design's own
131
+ // typical-day p95 ($0.52) and initial-day worst case ($0.70) sit
132
+ // at/above the $0.50 cap. Anthropic SDK enforces max_budget_usd by
133
+ // aborting mid-turn — production runs hit BackendQuotaError(max_budget_usd)
134
+ // mid-session. Realigned to $1.50: 3x the typical p95 (matching the
135
+ // headroom convention used by routine.today_refresh), above the
136
+ // initial-day worst case, and below the parent envelope ($2.00)
137
+ // so Stage A still can't silently consume the parent's headroom.
138
+ // Keep in lock-step with the corresponding schema-seed row.
139
+ "routine.morning_routine_today": { maxTurns: 50, maxBudgetUsd: 1.5 },
140
+ // morning-routine-optimization.md Phase 5 — Stage B is template-
141
+ // driven daily-journal authoring on lite tier. ~15 KB prompt + skill
142
+ // payload fits comfortably under a 20-turn / $0.10 envelope; the
143
+ // lite-tier $0.20 nominal would over-provision by 2x. Keep this in
144
+ // lock-step with the corresponding schema-seed row.
145
+ "routine.morning_routine_journal": { maxTurns: 20, maxBudgetUsd: 0.1 },
146
+ // `dashboard.docs_qa` is a focused QA panel, hard-clamped to medium
147
+ // tier per §10.1. INHERITOR_DEFAULTS in process-config-cascade.ts
148
+ // mirrors this envelope so cascade writes from message.dm don't bleed
149
+ // the source's caps into the inheritor.
150
+ "dashboard.docs_qa": { maxTurns: 20, maxBudgetUsd: 0.5 },
151
+ // `git.project.update` is an operator-driven update pass — narrower
152
+ // than the medium-tier nominal. `retemplate` is wider because re-template
153
+ // work is structurally unbounded by shape. init stays on the medium
154
+ // default 50/$1.00 (no override needed).
155
+ "git.project.update": { maxTurns: 30, maxBudgetUsd: 0.5 },
156
+ "git.project.retemplate": { maxTurns: 100, maxBudgetUsd: 2.0 },
157
+ // P22 skill self-optimization. Read-only workdir besides curation API;
158
+ // wider turn count (60) for survey work, tighter $ cap ($0.5) since
159
+ // proposals are bounded by per-run rate limit (max 20).
160
+ "routine.skill_curation": { maxTurns: 60, maxBudgetUsd: 0.5 },
161
+ // `routine.roadmap_refresh` is NOT in `ROUTINE_WINDOWS`, so its
63
162
  // dispatcher does not attach a `routine.fetch_window` pre-pass. In
64
163
  // `native` integration mode the synthesis session itself drives the
65
164
  // Calendar (90d) / Mail / Notion MCP fan-out — that fan-out blew past
@@ -67,22 +166,42 @@ const ENVELOPE_OVERRIDES_BY_PROCESS_KEY = {
67
166
  // BackendQuotaError(max_budget_usd) on Sonnet 4.6. 60 turns / $3.00
68
167
  // matches the high-tier envelope ceiling, sized so the cap still
69
168
  // binds well before runaway but accommodates a native-mode session
70
- // that does both fetch and synthesise in one run. Keep in lock-step
71
- // with the seed row in schema.ts.
169
+ // that does both fetch and synthesise in one run.
72
170
  "routine.roadmap_refresh": { maxTurns: 60, maxBudgetUsd: 3.0 },
73
- // WIKI_BUILDER_DESIGN.md Phase 1. Ingestion is bounded like a focused
74
- // importer; compile can fan in many raw notes and intentionally gets a
75
- // larger synthesis envelope. Keep in lock-step with schema.ts seeds.
76
- "wiki.ingest_url": { maxTurns: 30, maxBudgetUsd: 0.5 },
171
+ // ── WIKI_BUILDER_DESIGN.md Phase 1 ────────────────────────────────────
172
+ //
173
+ // `ingest_url` is bounded like a focused importer (note: schema seed
174
+ // says $1.00; align here so apply-defaults reproduces the install
175
+ // value rather than silently shrinking it). `compile` can fan in many
176
+ // raw notes and intentionally gets a larger synthesis envelope.
177
+ "wiki.ingest_url": { maxTurns: 30, maxBudgetUsd: 1.0 },
77
178
  "wiki.compile": { maxTurns: 100, maxBudgetUsd: 5.0 },
78
179
  // WIKI_BUILDER_DESIGN.md Phase 3 — lint is a structured pass over the
79
- // index + recent log entries; its envelope is intentionally tighter than
80
- // the medium-tier default (50/$1.00). Without an explicit override here,
81
- // a "Reset to defaults" or main-backend switch with `force: true` would
82
- // silently widen the seeded 40/$0.50 row back to 50/$1.00. wiki.ask,
83
- // wiki.trace, and wiki.connect deliberately sit on the medium tier
84
- // default and are NOT listed here.
180
+ // index + recent log entries; its envelope is intentionally tighter
181
+ // than the medium-tier default (50/$1.00). wiki.ask, wiki.trace, and
182
+ // wiki.connect deliberately sit on the medium tier default and are
183
+ // NOT listed here.
85
184
  "wiki.lint": { maxTurns: 40, maxBudgetUsd: 0.5 },
185
+ // ── Lite-tier tighter envelopes ──────────────────────────────────────
186
+ //
187
+ // cost-reduction-structural §A — per-observation summarizer. Single
188
+ // non-tool model call per observation; 1 turn / $0.05 is the absolute
189
+ // ceiling. The dispatcher clamps allowedToolsOverride to [] so this
190
+ // envelope is defense-in-depth on top of the prompt's "no tools"
191
+ // contract.
192
+ "observation.summarize": { maxTurns: 1, maxBudgetUsd: 0.05 },
193
+ // cost-reduction-structural §B — Stage 2 lite-tier triage. Strict
194
+ // JSON-only output (~2K input / ~50 output) decides log_only vs
195
+ // escalate. 1 turn / $0.05 mirrors observation.summarize.
196
+ "routine.hourly_check.triage": { maxTurns: 1, maxBudgetUsd: 0.05 },
197
+ // docs/design/appendices/routine-data-acquisition.md §6.2 / §6.9 pre-pass fetcher.
198
+ // The lite-tier nominal ($0.20) under-provisioned the morning fan-out
199
+ // (2 mail providers × N accounts + calendar + notion) and tripped
200
+ // BackendQuotaError(max_budget_usd) mid-fetch — widened to $0.50 so
201
+ // the cap still binds well before runaway but accommodates the real
202
+ // worst-case fan-out. 20-turn turn count is unchanged. Keep in
203
+ // lock-step with the corresponding schema-seed row.
204
+ "routine.fetch_window": { maxTurns: 20, maxBudgetUsd: 0.5 },
86
205
  };
87
206
  /**
88
207
  * Resolve the seed `(model, envelope)` for a configurable process key on
@@ -98,7 +217,7 @@ export function resolveDefaultBindingFor(backendId, processKey) {
98
217
  return {
99
218
  model: defaultModelForTier(backendId, tier),
100
219
  maxTurns: envelope.maxTurns,
101
- maxBudgetUsd: envelope.maxBudgetUsd,
220
+ maxBudgetUsd: applyBackendBudgetFactor(backendId, tier, envelope.maxBudgetUsd),
102
221
  };
103
222
  }
104
223
  /**
@@ -111,8 +230,10 @@ export function resolveDefaultBindingFor(backendId, processKey) {
111
230
  * `backend_global_defaults.default_backend` (claude as last resort).
112
231
  * - Seeds each row with a model resolved by `resolveDefaultBindingFor`
113
232
  * (lite tier seeds Haiku on Claude / gpt-5.4-mini on Codex /
114
- * flash-lite preview on Gemini; medium tier seeds Sonnet / gpt-5.4-mini
115
- * / 3.1-flash-lite-preview; high tier seeds Opus / gpt-5.5 / 3.1-pro-preview).
233
+ * flash-lite preview on Gemini; medium tier seeds Sonnet / gpt-5.4
234
+ * / 3.1-flash-lite-preview; high tier seeds Opus / gpt-5.4 /
235
+ * 3.1-pro-preview — Codex's high tier intentionally collapses to
236
+ * gpt-5.4, see `SEED_HIGH_TIER_OVERRIDE`).
116
237
  * - Updates `default_lite_model` / `default_medium_model` /
117
238
  * `default_high_model` / `default_backend` on the singleton row.
118
239
  * - Skips rows whose `updated_by='user'` unless `force: true`.
@@ -1 +1 @@
1
- {"version":3,"file":"plan-presets.js","sourceRoot":"","sources":["../../../src/core/backends/plan-presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-presets.js","sourceRoot":"","sources":["../../../src/core/backends/plan-presets.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,12 @@ export declare const INHERITANCE_CASCADE_MAP: ReadonlyArray<{
42
42
  /** Tier the inheritor's model is re-resolved for, regardless of source. */
43
43
  inheritorTier: ProcessModelTier;
44
44
  }>;
45
+ interface BackendDefaultsRow {
46
+ default_backend: BackendId;
47
+ default_lite_model: string;
48
+ default_medium_model: string;
49
+ default_high_model: string;
50
+ }
45
51
  export interface ProcessConfigWrite {
46
52
  processKey: ProcessKey;
47
53
  mainBackend: BackendId;
@@ -65,4 +71,33 @@ export interface ProcessConfigWrite {
65
71
  export declare function setProcessBackendConfig(db: Database.Database, write: ProcessConfigWrite): {
66
72
  cascaded: ProcessKey[];
67
73
  };
74
+ declare function readUpdatedBy(db: Database.Database, processKey: ProcessKey): string | null;
75
+ /**
76
+ * Resolve a canonical model id for `(backendId, tier)`. Mirrors the
77
+ * priority chain inside `BackendRouter.resolveDefaultModelId` so cascade
78
+ * writes pick the same model the router would default to if no row
79
+ * existed at all.
80
+ *
81
+ * Priority:
82
+ * 1. `backend_global_defaults` row (when its backend matches AND the
83
+ * configured default-tier model is actually that tier in the
84
+ * registry).
85
+ * 2. First registered, available model on (backendId, tier).
86
+ * 3. Hardcoded Claude Sonnet/Opus fallback (only when backend=claude).
87
+ * 4. As a last resort, the source's pinned model — better to keep a
88
+ * working binding than to write `null` and crash dispatch.
89
+ */
90
+ declare function resolveTierModel(db: Database.Database, backendId: BackendId, tier: ProcessModelTier): string;
91
+ declare function readDefaults(db: Database.Database): BackendDefaultsRow | null;
92
+ /**
93
+ * Internal helpers exposed for unit testing. Production code should
94
+ * call `setProcessBackendConfig` instead — these are private to the
95
+ * cascade-write chokepoint.
96
+ */
97
+ export declare const _internals: {
98
+ resolveTierModel: typeof resolveTierModel;
99
+ readDefaults: typeof readDefaults;
100
+ readUpdatedBy: typeof readUpdatedBy;
101
+ };
102
+ export {};
68
103
  //# sourceMappingURL=process-config-cascade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-config-cascade.d.ts","sourceRoot":"","sources":["../../../src/core/backends/process-config-cascade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AASvB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC;IAClD,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,2EAA2E;IAC3E,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAMA,CAAC;AAsBF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB;8EAC0E;IAC1E,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CACrD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,kBAAkB,GACxB;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAuC5B"}
1
+ {"version":3,"file":"process-config-cascade.d.ts","sourceRoot":"","sources":["../../../src/core/backends/process-config-cascade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAUvB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC;IAClD,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,2EAA2E;IAC3E,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAMA,CAAC;AAeF,UAAU,kBAAkB;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB;8EAC0E;IAC1E,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CACrD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,kBAAkB,GACxB;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAwD5B;AAoCD,iBAAS,aAAa,CACpB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,IAAI,CAOf;AAED;;;;;;;;;;;;;;GAcG;AACH,iBAAS,gBAAgB,CACvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CA0CR;AAED,iBAAS,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,kBAAkB,GAAG,IAAI,CAUtE;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;CAItB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_CLAUDE_HIGH_MODEL, DEFAULT_CLAUDE_LITE_MODEL, DEFAULT_CLAUDE_MEDIUM_MODEL, findRegisteredModel, getModelsForBackend, } from "./model-registry.js";
2
+ import { applyBackendBudgetFactor } from "./plan-presets.js";
2
3
  /**
3
4
  * Process-config cascade-write helper (DOCS_QA_DESIGN.md §10.2 Q4 = option B).
4
5
  *
@@ -73,10 +74,24 @@ export function setProcessBackendConfig(db, write) {
73
74
  const inheritorFallbackModel = inheritorFallbackBackend
74
75
  ? resolveTierModel(db, inheritorFallbackBackend, rule.inheritorTier)
75
76
  : null;
76
- const caps = INHERITOR_DEFAULTS[rule.inheritor] ?? {
77
+ // INHERITOR_DEFAULTS covers every entry in INHERITANCE_CASCADE_MAP
78
+ // today; the fallback object literal is forward-defensive for
79
+ // inheritors added to the map without a corresponding defaults entry.
80
+ /* c8 ignore start */
81
+ const rawCaps = INHERITOR_DEFAULTS[rule.inheritor] ?? {
77
82
  maxTurns: write.maxTurns,
78
83
  maxBudgetUsd: write.maxBudgetUsd,
79
84
  };
85
+ /* c8 ignore stop */
86
+ // INHERITOR_DEFAULTS holds Claude-baseline budgets. When the cascade
87
+ // is firing on a non-Claude main backend (e.g., operator pins
88
+ // message.dm to Codex), scale the inheritor's budget the same way
89
+ // resolveDefaultBindingFor does for top-level seeds, so post-hoc-
90
+ // enforced backends get the same headroom.
91
+ const caps = {
92
+ maxTurns: rawCaps.maxTurns,
93
+ maxBudgetUsd: applyBackendBudgetFactor(write.mainBackend, rule.inheritorTier, rawCaps.maxBudgetUsd),
94
+ };
80
95
  upsertRow(db, {
81
96
  processKey: rule.inheritor,
82
97
  mainBackend: write.mainBackend,
@@ -148,6 +163,14 @@ function resolveTierModel(db, backendId, tier) {
148
163
  }
149
164
  }
150
165
  const match = getModelsForBackend(backendId).find((m) => m.tier === tier && m.available);
166
+ /* c8 ignore start — every registered BackendId has at least one
167
+ available model per tier in MODEL_REGISTRY today, so `match` is
168
+ always defined when the defaults block falls through. The
169
+ `if (match)` falsy branch and the fallbacks below are
170
+ forward-defensive in case a backend ever drops a tier (e.g.,
171
+ Codex stops shipping lite). Neither can be reached via valid
172
+ BackendId values without module-mocking the registry, which ESM
173
+ blocks. */
151
174
  if (match)
152
175
  return match.modelId;
153
176
  if (backendId === "claude") {
@@ -162,6 +185,7 @@ function resolveTierModel(db, backendId, tier) {
162
185
  // best-effort mirror; the backend-router has its own resolution chain.
163
186
  const anyModel = getModelsForBackend(backendId)[0]?.modelId;
164
187
  return anyModel ?? "";
188
+ /* c8 ignore stop */
165
189
  }
166
190
  function readDefaults(db) {
167
191
  return (db
@@ -170,4 +194,14 @@ function readDefaults(db) {
170
194
  WHERE singleton = 1`)
171
195
  .get() ?? null);
172
196
  }
197
+ /**
198
+ * Internal helpers exposed for unit testing. Production code should
199
+ * call `setProcessBackendConfig` instead — these are private to the
200
+ * cascade-write chokepoint.
201
+ */
202
+ export const _internals = {
203
+ resolveTierModel,
204
+ readDefaults,
205
+ readUpdatedBy,
206
+ };
173
207
  //# sourceMappingURL=process-config-cascade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-config-cascade.js","sourceRoot":"","sources":["../../../src/core/backends/process-config-cascade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-config-cascade.js","sourceRoot":"","sources":["../../../src/core/backends/process-config-cascade.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAK/B;IACH;QACE,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,YAAY;QACpB,aAAa,EAAE,QAAQ;KACxB;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,kBAAkB,GAGpB;IACF,mBAAmB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;CACzD,CAAC;AAsBF;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAqB,EACrB,KAAyB;IAEzB,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU;YAAE,SAAS;QAE/C,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,MAAM;YAAE,SAAS;QAElC,MAAM,kBAAkB,GAAG,gBAAgB,CACzC,EAAE,EACF,KAAK,CAAC,WAAW,EACjB,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,MAAM,wBAAwB,GAAG,KAAK,CAAC,eAAe,CAAC;QACvD,MAAM,sBAAsB,GAAG,wBAAwB;YACrD,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,wBAAwB,EAAE,IAAI,CAAC,aAAa,CAAC;YACpE,CAAC,CAAC,IAAI,CAAC;QAET,mEAAmE;QACnE,8DAA8D;QAC9D,sEAAsE;QACtE,qBAAqB;QACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;YACpD,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;QACF,oBAAoB;QACpB,qEAAqE;QACrE,8DAA8D;QAC9D,kEAAkE;QAClE,kEAAkE;QAClE,2CAA2C;QAC3C,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,wBAAwB,CACpC,KAAK,CAAC,WAAW,EACjB,IAAI,CAAC,aAAa,EAClB,OAAO,CAAC,YAAY,CACrB;SACF,CAAC;QAEF,SAAS,CAAC,EAAE,EAAE;YACZ,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,kBAAkB;YAC7B,eAAe,EAAE,wBAAwB;YACzC,aAAa,EAAE,sBAAsB;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,EAAqB,EAAE,KAAyB;IACjE,EAAE,CAAC,OAAO,CACR;;;;;;;;;;;;;;;;;;;sCAmBkC,CACnC,CAAC,GAAG,CACH,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,EAAqB,EACrB,UAAsB;IAEtB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,qEAAqE,CACtE;SACA,GAAG,CAAC,UAAU,CAAuC,CAAC;IACzD,OAAO,GAAG,EAAE,UAAU,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,gBAAgB,CACvB,EAAqB,EACrB,SAAoB,EACpB,IAAsB;IAEtB,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAClC,IAAI,QAAQ,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,SAAS,GACb,IAAI,KAAK,MAAM;YACb,CAAC,CAAC,QAAQ,CAAC,kBAAkB;YAC7B,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,QAAQ,CAAC,oBAAoB;gBAC/B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,CACtC,CAAC;IACF;;;;;;;iBAOa;IACb,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAEhC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,MAAM;YACpB,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,yBAAyB,CAAC;IAClC,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAC5D,OAAO,QAAQ,IAAI,EAAE,CAAC;IACtB,oBAAoB;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,EAAqB;IACzC,OAAO,CACJ,EAAE;SACA,OAAO,CACN;;8BAEsB,CACvB;SACA,GAAG,EAAqC,IAAI,IAAI,CACpD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,YAAY;IACZ,aAAa;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-utils.d.ts","sourceRoot":"","sources":["../../../src/core/backends/prompt-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQ3C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAmBR;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAanE;AAwBD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAmBR;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4CrE"}
1
+ {"version":3,"file":"prompt-utils.d.ts","sourceRoot":"","sources":["../../../src/core/backends/prompt-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQ3C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAmBR;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAanE;AAsBD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAmBR;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4CrE"}
@@ -50,8 +50,6 @@ export function buildSummaryPrompt(conversationText) {
50
50
  * they can be used to confuse the model with invisible directives and
51
51
  * have no legitimate place in chat content.
52
52
  */
53
- // eslint-disable-next-line no-control-regex -- C0 control-char strip is the
54
- // whole point of this rule.
55
53
  const CONTROL_CHARS = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;
56
54
  export function sanitizeUntrustedTemplateValue(value) {
57
55
  // The type signature says `string`, but `extractEventData` can produce
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-utils.js","sourceRoot":"","sources":["../../../src/core/backends/prompt-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,OAAe,EACf,KAAY,EACZ,mBAA4B;IAE5B,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,oEAAoE;IACpE,qEAAqE;IACrE,gEAAgE;IAChE,mEAAmE;IACnE,mEAAmE;IACnE,qBAAqB;IACrB,OAAO;QACL,cAAc;QACd,EAAE;QACF,wBAAwB;QACxB,8BAA8B,CAAC,mBAAmB,CAAC;QACnD,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,gBAAwB;IACzD,gEAAgE;IAChE,uDAAuD;IACvD,oDAAoD;IACpD,OAAO;QACL,uFAAuF;QACvF,4FAA4F;QAC5F,0BAA0B;QAC1B,EAAE;QACF,gBAAgB;QAChB,8BAA8B,CAAC,gBAAgB,CAAC;QAChD,iBAAiB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAE1D,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,uEAAuE;IACvE,qEAAqE;IACrE,gEAAgE;IAChE,iEAAiE;IACjE,sEAAsE;IACtE,uEAAuE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK;SACT,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,OAAe,EACf,SAAiC;IAEjC,qEAAqE;IACrE,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,EAAE;IACF,+DAA+D;IAC/D,+DAA+D;IAC/D,mEAAmE;IACnE,kEAAkE;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,IAAI,GAA2B,EAAE,OAAO,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,+EAA+E;AAC/E,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC3C,MAAM,IAAI,GAA2B;QACnC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;IAEF,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,sEAAsE;QACtE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,wBAAwB;YAC7D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,GAAG,kBAAkB;YACvE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;YAChD,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;YAC5C,WAAW,EAAE,KAAK,CAAC,UAAU;SAC9B,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,mEAAmE;QACnE,mEAAmE;QACnE,kEAAkE;QAClE,+DAA+D;QAC/D,wCAAwC;QACxC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"prompt-utils.js","sourceRoot":"","sources":["../../../src/core/backends/prompt-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Generic provider-agnostic quota reset-time parser, shared by Codex and
3
+ * Gemini cores. Claude has its own extractor (`extractClaudeCodeQuotaResetHint`
4
+ * in `claude-errors.ts`) tuned to the Anthropic SDK's `resets HH(:MM)? am/pm`
5
+ * phrasing; this helper covers the OpenAI- and Google-style strings that
6
+ * surface through the CLI subprocess.
7
+ *
8
+ * The output `BackendQuotaResetHint` is what the dashboard renders as
9
+ * "quota resets at HH:MM (TZ)". Returns null when no pattern matches; the
10
+ * caller falls back to the existing `null`-resetHint behaviour.
11
+ *
12
+ * Patterns supported (in priority order):
13
+ * 1. Relative offset — "try again in 26m11s" / "retry-after: 90s".
14
+ * Resolved against `now()` and emitted in UTC.
15
+ * 2. ISO timestamp — "try again at 2026-05-15T03:00:00Z" /
16
+ * "reset time 2026-05-15T03:00:00Z" / "retry-after: 2026-...".
17
+ * Normalised to UTC.
18
+ * 3. Absolute clock time with optional am/pm and TZ —
19
+ * "try again at 5pm (UTC)" / "resets at 04:00 PST".
20
+ *
21
+ * Only string-based heuristics — extracting more from the upstream JSON
22
+ * would require parsing each provider's error envelope, which is brittle
23
+ * and not worth the maintenance cost. False negatives are acceptable
24
+ * (caller falls back to `null` hint, matching today's behaviour); false
25
+ * positives are not (would mislead the operator).
26
+ */
27
+ import type { BackendQuotaResetHint } from "../agent-core.js";
28
+ /**
29
+ * Build a deterministic reset hint anchored on the next agent-day boundary.
30
+ * Used by Gemini's `daily_ceiling` quota error — the reset time is fully
31
+ * known (next `dayBoundaryHour:00` in the configured timezone), so we don't
32
+ * need to scan an upstream message.
33
+ *
34
+ * `timezone` arrives from `AgentConfig.timezone` which defaults to `""` —
35
+ * coerce empty/whitespace to `undefined` so the dashboard renders
36
+ * "resets at 04:00" rather than "resets at 04:00 ()".
37
+ */
38
+ export declare function buildAgentDayBoundaryHint(dayBoundaryHour: number, timezone: string | undefined): BackendQuotaResetHint;
39
+ /**
40
+ * Parse a free-form provider error message and return a structured hint when
41
+ * a reset time is detectable. Pure: callers may inject `now` for tests.
42
+ */
43
+ export declare function extractGenericQuotaResetHint(message: string, now?: () => Date): BackendQuotaResetHint | null;
44
+ //# sourceMappingURL=quota-reset-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-reset-hints.d.ts","sourceRoot":"","sources":["../../../src/core/backends/quota-reset-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,qBAAqB,CAWvB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,IAAuB,GACjC,qBAAqB,GAAG,IAAI,CAiE9B"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Generic provider-agnostic quota reset-time parser, shared by Codex and
3
+ * Gemini cores. Claude has its own extractor (`extractClaudeCodeQuotaResetHint`
4
+ * in `claude-errors.ts`) tuned to the Anthropic SDK's `resets HH(:MM)? am/pm`
5
+ * phrasing; this helper covers the OpenAI- and Google-style strings that
6
+ * surface through the CLI subprocess.
7
+ *
8
+ * The output `BackendQuotaResetHint` is what the dashboard renders as
9
+ * "quota resets at HH:MM (TZ)". Returns null when no pattern matches; the
10
+ * caller falls back to the existing `null`-resetHint behaviour.
11
+ *
12
+ * Patterns supported (in priority order):
13
+ * 1. Relative offset — "try again in 26m11s" / "retry-after: 90s".
14
+ * Resolved against `now()` and emitted in UTC.
15
+ * 2. ISO timestamp — "try again at 2026-05-15T03:00:00Z" /
16
+ * "reset time 2026-05-15T03:00:00Z" / "retry-after: 2026-...".
17
+ * Normalised to UTC.
18
+ * 3. Absolute clock time with optional am/pm and TZ —
19
+ * "try again at 5pm (UTC)" / "resets at 04:00 PST".
20
+ *
21
+ * Only string-based heuristics — extracting more from the upstream JSON
22
+ * would require parsing each provider's error envelope, which is brittle
23
+ * and not worth the maintenance cost. False negatives are acceptable
24
+ * (caller falls back to `null` hint, matching today's behaviour); false
25
+ * positives are not (would mislead the operator).
26
+ */
27
+ /**
28
+ * Build a deterministic reset hint anchored on the next agent-day boundary.
29
+ * Used by Gemini's `daily_ceiling` quota error — the reset time is fully
30
+ * known (next `dayBoundaryHour:00` in the configured timezone), so we don't
31
+ * need to scan an upstream message.
32
+ *
33
+ * `timezone` arrives from `AgentConfig.timezone` which defaults to `""` —
34
+ * coerce empty/whitespace to `undefined` so the dashboard renders
35
+ * "resets at 04:00" rather than "resets at 04:00 ()".
36
+ */
37
+ export function buildAgentDayBoundaryHint(dayBoundaryHour, timezone) {
38
+ const tz = timezone?.trim() ? timezone.trim() : undefined;
39
+ const hour = Math.max(0, Math.min(23, Math.trunc(dayBoundaryHour)));
40
+ return {
41
+ hour,
42
+ minute: 0,
43
+ ...(tz ? { timeZone: tz } : {}),
44
+ rawLabel: tz
45
+ ? `next agent-day boundary (${hour.toString().padStart(2, "0")}:00 ${tz})`
46
+ : `next agent-day boundary (${hour.toString().padStart(2, "0")}:00)`,
47
+ };
48
+ }
49
+ /**
50
+ * Parse a free-form provider error message and return a structured hint when
51
+ * a reset time is detectable. Pure: callers may inject `now` for tests.
52
+ */
53
+ export function extractGenericQuotaResetHint(message, now = () => new Date()) {
54
+ if (!message)
55
+ return null;
56
+ // 1. Relative offset — "try again in (Xh)?(Ym)?(Zs)?" or
57
+ // "retry-after: Ns" (HTTP 429 header surfaced verbatim).
58
+ const relative = /(?:try again in|retry[\s-]?after[:\s]+)\s*(?:(\d+)\s*h)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*s)?/i
59
+ .exec(message);
60
+ if (relative && (relative[1] || relative[2] || relative[3])) {
61
+ const h = Number(relative[1] ?? 0);
62
+ const m = Number(relative[2] ?? 0);
63
+ const s = Number(relative[3] ?? 0);
64
+ const offsetMs = ((h * 60 + m) * 60 + s) * 1000;
65
+ if (offsetMs > 0) {
66
+ const target = new Date(now().getTime() + offsetMs);
67
+ return {
68
+ hour: target.getUTCHours(),
69
+ minute: target.getUTCMinutes(),
70
+ timeZone: "UTC",
71
+ rawLabel: relative[0].trim(),
72
+ };
73
+ }
74
+ }
75
+ // 2. ISO 8601 timestamp — "try again at YYYY-MM-DDTHH:MM(:SS)?Z|±HH:MM".
76
+ const iso = /(?:try again at|reset(?:s|\s+time)?\s+(?:at\s+)?|retry[\s-]?after[:\s]+)\s*([0-9]{4}-[0-9]{2}-[0-9]{2}[T\s][0-9]{2}:[0-9]{2}(?::[0-9]{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)/i
77
+ .exec(message);
78
+ if (iso) {
79
+ // Normalise the date string: bare "YYYY-MM-DD HH:MM" without a TZ marker
80
+ // is interpreted by Date as local time, which is fine — but we always
81
+ // emit UTC fields to keep the contract uniform.
82
+ const date = new Date(iso[1].replace(" ", "T"));
83
+ if (!Number.isNaN(date.getTime())) {
84
+ return {
85
+ hour: date.getUTCHours(),
86
+ minute: date.getUTCMinutes(),
87
+ timeZone: "UTC",
88
+ rawLabel: iso[0].trim(),
89
+ };
90
+ }
91
+ }
92
+ // 3. Absolute clock time with optional am/pm and TZ. Anchored on
93
+ // "try again at" / "resets (at)?" so plain numbers in error text
94
+ // can't false-positive.
95
+ const absolute = /(?:try again at|resets?\s+(?:at\s+)?)\s*(\d{1,2})(?::(\d{2}))?\s*(am|pm)?\s*(?:\(?([A-Z]{2,5}|UTC[+-]\d+)\)?)?/i
96
+ .exec(message);
97
+ if (absolute) {
98
+ const rawHour = Number(absolute[1]);
99
+ const meridiem = absolute[3]?.toLowerCase();
100
+ let hour = rawHour;
101
+ if (meridiem) {
102
+ hour = rawHour % 12;
103
+ if (meridiem === "pm")
104
+ hour += 12;
105
+ }
106
+ if (hour >= 0 && hour < 24) {
107
+ return {
108
+ hour,
109
+ minute: absolute[2] ? Number(absolute[2]) : 0,
110
+ timeZone: absolute[4]?.trim(),
111
+ rawLabel: absolute[0].trim(),
112
+ };
113
+ }
114
+ }
115
+ return null;
116
+ }
117
+ //# sourceMappingURL=quota-reset-hints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-reset-hints.js","sourceRoot":"","sources":["../../../src/core/backends/quota-reset-hints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `!close` — explicit DM session close. Replaces the bare-word
3
+ * `end` / `close` / `done` matcher that used to intercept owner DMs at
4
+ * `EventDispatcher.handleMessage` — that matcher would silently close
5
+ * the conversation any time the user typed the word "done" on its own
6
+ * (a frequent natural-English completion signal), with no way to
7
+ * disambiguate from a genuine close intent.
8
+ *
9
+ * Behaviour:
10
+ * - With an active session for this DM tuple → records the `!close`
11
+ * turn, closes the session (workdir cleanup is handled by the
12
+ * session manager), and replies "Session closed."
13
+ * - Without an active session → no-op DB-side; reply is honest
14
+ * ("No active session to close.") rather than the old "Session
15
+ * closed." lie.
16
+ *
17
+ * Pause semantics:
18
+ * - `runsWhilePaused: true`. Closing a conversation is a state-only
19
+ * operation (no LLM call, no autonomous work), so the pause gate
20
+ * would only prevent the user from cleaning up state they own.
21
+ */
22
+ import type { BangCommand } from "./registry.js";
23
+ export declare const closeCommand: BangCommand;
24
+ //# sourceMappingURL=commands-close.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-close.d.ts","sourceRoot":"","sources":["../../../src/core/bang-commands/commands-close.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAO,MAAM,YAAY,EAAE,WAsB1B,CAAC"}