@aitne/daemon 0.1.7 → 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 (959) 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 -1480
  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/observers/calendar-poller.d.ts +2 -0
  852. package/dist/observers/calendar-poller.d.ts.map +1 -1
  853. package/dist/observers/calendar-poller.js +76 -54
  854. package/dist/observers/calendar-poller.js.map +1 -1
  855. package/dist/observers/delegated-sync-worker.d.ts +62 -0
  856. package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
  857. package/dist/observers/delegated-sync-worker.js +128 -1
  858. package/dist/observers/delegated-sync-worker.js.map +1 -1
  859. package/dist/observers/git-watcher.d.ts +22 -0
  860. package/dist/observers/git-watcher.d.ts.map +1 -1
  861. package/dist/observers/git-watcher.js +31 -7
  862. package/dist/observers/git-watcher.js.map +1 -1
  863. package/dist/observers/imminent-event-scheduler.d.ts +2 -0
  864. package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
  865. package/dist/observers/imminent-event-scheduler.js +29 -0
  866. package/dist/observers/imminent-event-scheduler.js.map +1 -1
  867. package/dist/observers/notion-poller.d.ts +2 -0
  868. package/dist/observers/notion-poller.d.ts.map +1 -1
  869. package/dist/observers/notion-poller.js +44 -6
  870. package/dist/observers/notion-poller.js.map +1 -1
  871. package/dist/observers/poll-guard.d.ts +63 -0
  872. package/dist/observers/poll-guard.d.ts.map +1 -0
  873. package/dist/observers/poll-guard.js +89 -0
  874. package/dist/observers/poll-guard.js.map +1 -0
  875. package/dist/safety/absolute-block-audit.d.ts +17 -0
  876. package/dist/safety/absolute-block-audit.d.ts.map +1 -1
  877. package/dist/safety/absolute-block-audit.js +28 -2
  878. package/dist/safety/absolute-block-audit.js.map +1 -1
  879. package/dist/safety/agent-write-tracker.d.ts +42 -1
  880. package/dist/safety/agent-write-tracker.d.ts.map +1 -1
  881. package/dist/safety/agent-write-tracker.js +81 -1
  882. package/dist/safety/agent-write-tracker.js.map +1 -1
  883. package/dist/safety/always-disallowed.d.ts +34 -0
  884. package/dist/safety/always-disallowed.d.ts.map +1 -1
  885. package/dist/safety/always-disallowed.js +114 -7
  886. package/dist/safety/always-disallowed.js.map +1 -1
  887. package/dist/safety/audit.d.ts +20 -0
  888. package/dist/safety/audit.d.ts.map +1 -1
  889. package/dist/safety/audit.js +126 -0
  890. package/dist/safety/audit.js.map +1 -1
  891. package/dist/safety/risk-classifier.d.ts +17 -1
  892. package/dist/safety/risk-classifier.d.ts.map +1 -1
  893. package/dist/safety/risk-classifier.js +75 -7
  894. package/dist/safety/risk-classifier.js.map +1 -1
  895. package/dist/safety/subprocess-block-scanner.d.ts +89 -0
  896. package/dist/safety/subprocess-block-scanner.d.ts.map +1 -0
  897. package/dist/safety/subprocess-block-scanner.js +177 -0
  898. package/dist/safety/subprocess-block-scanner.js.map +1 -0
  899. package/dist/scheduler/hourly-check-gate.d.ts +23 -9
  900. package/dist/scheduler/hourly-check-gate.d.ts.map +1 -1
  901. package/dist/scheduler/hourly-check-gate.js +11 -6
  902. package/dist/scheduler/hourly-check-gate.js.map +1 -1
  903. package/dist/secrets/backend-api-key-env.d.ts.map +1 -1
  904. package/dist/secrets/backend-api-key-env.js +1 -0
  905. package/dist/secrets/backend-api-key-env.js.map +1 -1
  906. package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
  907. package/dist/services/delegated-backend-invoker.js +8 -1
  908. package/dist/services/delegated-backend-invoker.js.map +1 -1
  909. package/dist/services/delegated-invoker-audit.d.ts.map +1 -1
  910. package/dist/services/delegated-invoker-audit.js +5 -1
  911. package/dist/services/delegated-invoker-audit.js.map +1 -1
  912. package/dist/services/delegated-proxy-config.d.ts +3 -2
  913. package/dist/services/delegated-proxy-config.d.ts.map +1 -1
  914. package/dist/services/delegated-proxy-config.js.map +1 -1
  915. package/dist/services/integrations/extract-write-item-id.d.ts +5 -2
  916. package/dist/services/integrations/extract-write-item-id.d.ts.map +1 -1
  917. package/dist/services/integrations/extract-write-item-id.js.map +1 -1
  918. package/dist/services/mcp/generators/index.d.ts +1 -0
  919. package/dist/services/mcp/generators/index.d.ts.map +1 -1
  920. package/dist/services/mcp/generators/index.js +3 -0
  921. package/dist/services/mcp/generators/index.js.map +1 -1
  922. package/dist/services/mcp/sdk-observations-server.d.ts +60 -0
  923. package/dist/services/mcp/sdk-observations-server.d.ts.map +1 -0
  924. package/dist/services/mcp/sdk-observations-server.js +161 -0
  925. package/dist/services/mcp/sdk-observations-server.js.map +1 -0
  926. package/dist/services/mcp/session-materializer.d.ts.map +1 -1
  927. package/dist/services/mcp/session-materializer.js +13 -9
  928. package/dist/services/mcp/session-materializer.js.map +1 -1
  929. package/dist/services/mcp/types.d.ts +1 -0
  930. package/dist/services/mcp/types.d.ts.map +1 -1
  931. package/dist/services/notion.d.ts +19 -1
  932. package/dist/services/notion.d.ts.map +1 -1
  933. package/dist/services/notion.js +41 -2
  934. package/dist/services/notion.js.map +1 -1
  935. package/dist/services/observations-batch.d.ts +100 -0
  936. package/dist/services/observations-batch.d.ts.map +1 -0
  937. package/dist/services/observations-batch.js +258 -0
  938. package/dist/services/observations-batch.js.map +1 -0
  939. package/dist/services/voice/transcriber.d.ts +23 -0
  940. package/dist/services/voice/transcriber.d.ts.map +1 -1
  941. package/dist/services/voice/transcriber.js +55 -0
  942. package/dist/services/voice/transcriber.js.map +1 -1
  943. package/dist/settings/runtime-settings.d.ts +9 -6
  944. package/dist/settings/runtime-settings.d.ts.map +1 -1
  945. package/dist/settings/runtime-settings.js +50 -17
  946. package/dist/settings/runtime-settings.js.map +1 -1
  947. package/package.json +3 -2
  948. package/dist/api/delegated-proxy-helper.d.ts +0 -33
  949. package/dist/api/delegated-proxy-helper.d.ts.map +0 -1
  950. package/dist/api/delegated-proxy-helper.js +0 -54
  951. package/dist/api/delegated-proxy-helper.js.map +0 -1
  952. package/dist/core/roadmap-merge.d.ts +0 -7
  953. package/dist/core/roadmap-merge.d.ts.map +0 -1
  954. package/dist/core/roadmap-merge.js +0 -187
  955. package/dist/core/roadmap-merge.js.map +0 -1
  956. package/dist/db/test-schemas.d.ts +0 -23
  957. package/dist/db/test-schemas.d.ts.map +0 -1
  958. package/dist/db/test-schemas.js +0 -111
  959. package/dist/db/test-schemas.js.map +0 -1
@@ -1,12 +1,23 @@
1
1
  /**
2
2
  * `MorningRoutineRunner` — owns `routine.morning_routine` execution
3
- * end-to-end: today.md write-lock acquisition, prompt-variant
4
- * selection (`morning_routine` vs `morning_routine_initial`), tier
5
- * inheritance for the initial variant, retry chain wrapping
3
+ * end-to-end: today.md write-lock acquisition, retry chain wrapping
6
4
  * (`morningRoutineInProgress` flag), post-run today.md health check
7
5
  * (missing / wrong-date), exponential-back-off retry scheduling, and
8
6
  * the deferred post-morning catchup emit.
9
7
  *
8
+ * Variant collapse (`docs/design/appendices/morning-routine-optimization.md`
9
+ * Phase 4 + Phase 7): both the recurring and first-run (no-yesterday)
10
+ * branches dispatch under the single `routine.morning_routine` process
11
+ * key and share one merged task-flow file; the agent picks the
12
+ * first-run branch inline from the absence of `<yesterday>` in its
13
+ * prompt context. The previous tier-inheritance hack that mirrored
14
+ * morning_routine's configured tier onto a separate
15
+ * `routine.morning_routine_initial` process key has been retired (Phase 4),
16
+ * and Phase 7 (2026-05-16) removed the high-tier seed entirely —
17
+ * Stage A now lands roadmap.md inline on medium tier using the
18
+ * daemon-prepared `<roadmap_skeleton>` block emitted by
19
+ * `MorningRoutinePipelineOrchestrator.buildRoadmapSkeletonBlock`.
20
+ *
10
21
  * Extracted from `core/dispatcher.ts` as part of phase D-2 of
11
22
  * `docs/design/appendices/file-split-plan.md`. Pattern B (stateful
12
23
  * coordinator): the runner has no mutable state of its own; it
@@ -34,12 +45,9 @@ import type { Event } from "@aitne/shared";
34
45
  import type { AgentConfig } from "../config.js";
35
46
  import type { EventBus } from "./event-bus.js";
36
47
  import type { TodayWriteLockManager } from "./today-write-lock.js";
37
- import type { IAgentRouter } from "./backends/backend-router.js";
38
- import type { IContextBuilder, INotificationManager } from "./dispatcher-types.js";
39
- import type { PromptAssembler } from "./dispatcher-prompt.js";
40
- import type { DispatcherErrorRouter } from "./dispatcher-error-handling.js";
41
- import type { ResultProcessor } from "./dispatcher-result-processor.js";
48
+ import type { INotificationManager } from "./dispatcher-types.js";
42
49
  import type { RoutineFetchWindowRunner } from "./routine-fetch-window-runner.js";
50
+ import type { MorningRoutinePipelineOrchestrator } from "./morning/orchestrator.js";
43
51
  /**
44
52
  * Mirrors the union returned by the dispatcher's `diagnoseTodayMdState`.
45
53
  * Re-declared (rather than imported) so the runner stays decoupled
@@ -62,15 +70,10 @@ export interface MorningRoutineRunnerDeps {
62
70
  db: Database.Database;
63
71
  config: AgentConfig;
64
72
  eventBus: EventBus;
65
- contextBuilder: IContextBuilder;
66
- agentRouter: IAgentRouter;
67
73
  notificationMgr: INotificationManager;
68
74
  todayWriteLock: TodayWriteLockManager | undefined;
69
- prompt: PromptAssembler;
70
- errorRouter: DispatcherErrorRouter;
71
- resultProcessor: ResultProcessor;
72
75
  /**
73
- * ROUTINE_DATA_ACQUISITION_DESIGN.md Phase 4 / D2 — the pre-pass
76
+ * docs/design/appendices/routine-data-acquisition.md Phase 4 / D2 — the pre-pass
74
77
  * runner spawned before the main morning routine session so external
75
78
  * mail / notion data lands in `/api/observations` before the parent
76
79
  * agent reads `pending=true`.
@@ -105,18 +108,23 @@ export interface MorningRoutineRunnerDeps {
105
108
  * post-morning hourly_check can fire from `emitPostMorningCatchups`.
106
109
  */
107
110
  triggerHourlyCheck: (source: string) => Promise<unknown>;
111
+ /**
112
+ * morning-routine-optimization.md Phase 5/6/7 — the split-stage
113
+ * pipeline orchestrator owns Stage A (today.md) + Stage B (daily
114
+ * journal). The legacy monolithic single-session path was retired
115
+ * once the orchestrator path stabilised; there is no fallback. If
116
+ * the orchestrator throws, the post-execute `diagnoseTodayMdState`
117
+ * gate catches the missing today.md and schedules a retry the same
118
+ * way a Stage-A-internal failure would.
119
+ */
120
+ pipelineOrchestrator: MorningRoutinePipelineOrchestrator;
108
121
  }
109
122
  export declare class MorningRoutineRunner {
110
123
  private readonly db;
111
124
  private readonly config;
112
125
  private readonly eventBus;
113
- private readonly contextBuilder;
114
- private readonly agentRouter;
115
126
  private readonly notificationMgr;
116
127
  private readonly todayWriteLock;
117
- private readonly prompt;
118
- private readonly errorRouter;
119
- private readonly resultProcessor;
120
128
  private readonly fetchWindowRunner;
121
129
  private readonly setMorningRoutineInProgress;
122
130
  private readonly rotateDayFiles;
@@ -124,21 +132,21 @@ export declare class MorningRoutineRunner {
124
132
  private readonly isRoadmapStale;
125
133
  private readonly emitRoadmapRefresh;
126
134
  private readonly triggerHourlyCheck;
135
+ private readonly pipelineOrchestrator;
127
136
  constructor(deps: MorningRoutineRunnerDeps);
128
137
  /**
129
- * Morning routine execution with pre-processing (lock, rotateDayFiles,
130
- * prompt variant selection). Only called for routine === "morning_routine".
131
- * Tier is resolved by BackendRouter from process-key defaults or user config.
138
+ * Morning routine execution with pre-processing (lock, rotateDayFiles).
139
+ * Only called for routine === "morning_routine".
140
+ *
141
+ * Variant collapse: both the recurring and first-run (no-yesterday)
142
+ * branches dispatch under the single `routine.morning_routine` process
143
+ * key. The merged task-flow lets the agent pick the first-run branch
144
+ * inline from the absence of `<yesterday>` in its prompt context, so
145
+ * tier / binding / cost-cap resolution is the same for both day-types.
146
+ * Tier is resolved by BackendRouter from process-key defaults or user
147
+ * config.
132
148
  */
133
149
  executeMorningRoutine(event: Event): Promise<void>;
134
- /**
135
- * Read the operator-or-preset configured tier for `routine.morning_routine`
136
- * so the non-configurable `morning_routine_initial` variant can mirror it.
137
- * Returns null when no row exists (fresh install before the setup wizard
138
- * applies a preset) or when the pinned model isn't in the registry — the
139
- * caller falls back to the router's default tier in those cases.
140
- */
141
- private inferConfiguredMorningRoutineTier;
142
150
  private emitPostMorningCatchups;
143
151
  /**
144
152
  * Schedule a retry of the morning routine when today.md wasn't generated.
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher-morning-routine.d.ts","sourceRoot":"","sources":["../../src/core/dispatcher-morning-routine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher-morning-routine.d.ts","sourceRoot":"","sources":["../../src/core/dispatcher-morning-routine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAEV,KAAK,EAGN,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,2BAA2B,CAAC;AAKnC;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;AAgB1E,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,oBAAoB,CAAC;IACtC,cAAc,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClD;;;;;OAKG;IACH,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,mEAAmE;IACnE,2BAA2B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD;;;;OAIG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;IAC7C;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD;;;;;;;;OAQG;IACH,oBAAoB,EAAE,kCAAkC,CAAC;CAC1D;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA2B;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyB;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAC1E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;gBAE9D,IAAI,EAAE,wBAAwB;IAgB1C;;;;;;;;;;;OAWG;IACG,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAwS1C,uBAAuB;IAuBrC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAkJzC"}
@@ -1,12 +1,23 @@
1
1
  /**
2
2
  * `MorningRoutineRunner` — owns `routine.morning_routine` execution
3
- * end-to-end: today.md write-lock acquisition, prompt-variant
4
- * selection (`morning_routine` vs `morning_routine_initial`), tier
5
- * inheritance for the initial variant, retry chain wrapping
3
+ * end-to-end: today.md write-lock acquisition, retry chain wrapping
6
4
  * (`morningRoutineInProgress` flag), post-run today.md health check
7
5
  * (missing / wrong-date), exponential-back-off retry scheduling, and
8
6
  * the deferred post-morning catchup emit.
9
7
  *
8
+ * Variant collapse (`docs/design/appendices/morning-routine-optimization.md`
9
+ * Phase 4 + Phase 7): both the recurring and first-run (no-yesterday)
10
+ * branches dispatch under the single `routine.morning_routine` process
11
+ * key and share one merged task-flow file; the agent picks the
12
+ * first-run branch inline from the absence of `<yesterday>` in its
13
+ * prompt context. The previous tier-inheritance hack that mirrored
14
+ * morning_routine's configured tier onto a separate
15
+ * `routine.morning_routine_initial` process key has been retired (Phase 4),
16
+ * and Phase 7 (2026-05-16) removed the high-tier seed entirely —
17
+ * Stage A now lands roadmap.md inline on medium tier using the
18
+ * daemon-prepared `<roadmap_skeleton>` block emitted by
19
+ * `MorningRoutinePipelineOrchestrator.buildRoadmapSkeletonBlock`.
20
+ *
10
21
  * Extracted from `core/dispatcher.ts` as part of phase D-2 of
11
22
  * `docs/design/appendices/file-split-plan.md`. Pattern B (stateful
12
23
  * coordinator): the runner has no mutable state of its own; it
@@ -29,26 +40,28 @@
29
40
  * flipped to true at the start of the execute → executeWithRetry
30
41
  * wrapper and reset in `finally` so the hourly check can resume.
31
42
  */
32
- import { EventPriority, createEvent, formatSqliteDatetime, isBackendId, } from "@aitne/shared";
33
- import { existsSync } from "node:fs";
34
- import { join } from "node:path";
35
- import { getContextDir } from "../config.js";
36
- import { findRegisteredModel } from "./backends/model-registry.js";
43
+ import { EventPriority, createEvent, formatSqliteDatetime, } from "@aitne/shared";
37
44
  import { flushPendingTodayRefresh } from "./drift-effects.js";
38
45
  import { maybeTriggerRoadmapRefresh } from "./schedule-insert-helper.js";
39
46
  import { createLogger } from "../logging.js";
40
47
  const logger = createLogger("dispatcher-morning-routine");
48
+ /**
49
+ * Project the runner's discriminated `TodayMdDiagnosis` into the flat
50
+ * `TodayMdHealth` union the parent-audit-emitter consumes. The two
51
+ * shapes were kept decoupled so the emitter does not depend on the
52
+ * dispatcher's types; this helper bridges them at the one call site.
53
+ * Lift the bridge into a shared module when a second caller needs it
54
+ * (no-yet).
55
+ */
56
+ function mapDiagnoseToHealth(state) {
57
+ return state.kind;
58
+ }
41
59
  export class MorningRoutineRunner {
42
60
  db;
43
61
  config;
44
62
  eventBus;
45
- contextBuilder;
46
- agentRouter;
47
63
  notificationMgr;
48
64
  todayWriteLock;
49
- prompt;
50
- errorRouter;
51
- resultProcessor;
52
65
  fetchWindowRunner;
53
66
  setMorningRoutineInProgress;
54
67
  rotateDayFiles;
@@ -56,17 +69,13 @@ export class MorningRoutineRunner {
56
69
  isRoadmapStale;
57
70
  emitRoadmapRefresh;
58
71
  triggerHourlyCheck;
72
+ pipelineOrchestrator;
59
73
  constructor(deps) {
60
74
  this.db = deps.db;
61
75
  this.config = deps.config;
62
76
  this.eventBus = deps.eventBus;
63
- this.contextBuilder = deps.contextBuilder;
64
- this.agentRouter = deps.agentRouter;
65
77
  this.notificationMgr = deps.notificationMgr;
66
78
  this.todayWriteLock = deps.todayWriteLock;
67
- this.prompt = deps.prompt;
68
- this.errorRouter = deps.errorRouter;
69
- this.resultProcessor = deps.resultProcessor;
70
79
  this.fetchWindowRunner = deps.fetchWindowRunner;
71
80
  this.setMorningRoutineInProgress = deps.setMorningRoutineInProgress;
72
81
  this.rotateDayFiles = deps.rotateDayFiles;
@@ -74,11 +83,19 @@ export class MorningRoutineRunner {
74
83
  this.isRoadmapStale = deps.isRoadmapStale;
75
84
  this.emitRoadmapRefresh = deps.emitRoadmapRefresh;
76
85
  this.triggerHourlyCheck = deps.triggerHourlyCheck;
86
+ this.pipelineOrchestrator = deps.pipelineOrchestrator;
77
87
  }
78
88
  /**
79
- * Morning routine execution with pre-processing (lock, rotateDayFiles,
80
- * prompt variant selection). Only called for routine === "morning_routine".
81
- * Tier is resolved by BackendRouter from process-key defaults or user config.
89
+ * Morning routine execution with pre-processing (lock, rotateDayFiles).
90
+ * Only called for routine === "morning_routine".
91
+ *
92
+ * Variant collapse: both the recurring and first-run (no-yesterday)
93
+ * branches dispatch under the single `routine.morning_routine` process
94
+ * key. The merged task-flow lets the agent pick the first-run branch
95
+ * inline from the absence of `<yesterday>` in its prompt context, so
96
+ * tier / binding / cost-cap resolution is the same for both day-types.
97
+ * Tier is resolved by BackendRouter from process-key defaults or user
98
+ * config.
82
99
  */
83
100
  async executeMorningRoutine(event) {
84
101
  let lockId = null;
@@ -106,41 +123,23 @@ export class MorningRoutineRunner {
106
123
  this.rotateDayFiles();
107
124
  // Check roadmap staleness BEFORE agent runs (agent may PATCH roadmap, updating mtime)
108
125
  const roadmapStaleBeforeMorning = this.isRoadmapStale();
109
- // Select prompt variant based on whether yesterday.md exists
110
- const contextDir = getContextDir(this.config, this.db);
111
- const hasYesterday = existsSync(join(contextDir, "yesterday.md"));
112
- const promptKey = hasYesterday
113
- ? "routine.morning_routine"
114
- : "routine.morning_routine_initial";
115
- // Retry runs on the light tier (Sonnet) instead of the configured heavy
116
- // tier (Opus). Cost trade-off: a wrong-date or malformed today.md is
117
- // cheap to regenerate the heavy work (mail classification, journal
118
- // synthesis, roadmap walk) was already done by the first attempt and its
119
- // outputs persisted via /api/context/* writes that survive into the
120
- // retry's prompt context. Sonnet at ~1/5 of Opus's per-turn cost keeps
121
- // the worst-case retry chain (3 attempts) under $2 instead of $12,
122
- // which is the cap the user asked for after observing $25/hour
123
- // burn during a date-format loop. See morning-routine fix doc.
126
+ const promptKey = "routine.morning_routine";
127
+ // Retry runs on the medium tier (Sonnet) instead of any higher pin the
128
+ // operator may have configured. Cost trade-off: a wrong-date or
129
+ // malformed today.md is cheap to regenerate — the heavy work (mail
130
+ // classification, journal synthesis, roadmap walk) was already done by
131
+ // the first attempt and its outputs persisted via /api/context/* writes
132
+ // that survive into the retry's prompt context. Sonnet at ~1/5 of Opus's
133
+ // per-turn cost keeps the worst-case retry chain (3 attempts) under $2
134
+ // instead of $12, which is the cap the user asked for after observing
135
+ // $25/hour burn during a date-format loop. See morning-routine fix doc.
124
136
  const retryCount = Number(effectiveEvent.data?.retryCount ?? 0);
125
137
  const isRetry = retryCount > 0 || effectiveEvent.data?.isRetry === true;
126
- let requestedTier = isRetry
138
+ const requestedTier = isRetry
127
139
  ? "medium"
128
140
  : undefined;
129
- // `routine.morning_routine_initial` is non-configurable, so plan presets
130
- // and operator pins on `routine.morning_routine` are silently ignored
131
- // here without explicit inheritance — Max5/Max20/Team/Enterprise users
132
- // pinned to Sonnet would still run Opus on the initial variant whenever
133
- // `yesterday.md` is missing (cf. plan-presets.ts and process-key.ts §
134
- // morning_routine_initial). Mirror morning_routine's configured tier
135
- // onto the initial run when available.
136
- if (!isRetry && promptKey === "routine.morning_routine_initial") {
137
- const inheritedTier = this.inferConfiguredMorningRoutineTier();
138
- if (inheritedTier) {
139
- requestedTier = inheritedTier;
140
- }
141
- }
142
- logger.info({ hasYesterday, promptKey, roadmapStale: roadmapStaleBeforeMorning, isRetry, retryCount, requestedTier: requestedTier ?? "default" }, "Morning routine prompt selected");
143
- // B2 fix + ROUTINE_DATA_ACQUISITION_DESIGN.md Phase 4 / D2 race fix:
141
+ logger.info({ promptKey, roadmapStale: roadmapStaleBeforeMorning, isRetry, retryCount, requestedTier: requestedTier ?? "default" }, "Morning routine dispatch");
142
+ // B2 fix + docs/design/appendices/routine-data-acquisition.md Phase 4 / D2 race fix:
144
143
  // flip `morningRoutineInProgress=true` BEFORE the pre-pass fires so
145
144
  // hourly_check can't squeeze through the cold-start window
146
145
  // (`hourlyCheck.trigger` skips when `isMorningRoutineActive()`
@@ -152,9 +151,13 @@ export class MorningRoutineRunner {
152
151
  // context build, or main session throws — so a partial-failure path
153
152
  // cannot leave the flag stuck `true` and starve hourly_check forever.
154
153
  this.setMorningRoutineInProgress(true);
155
- let result;
154
+ // `pipelineRun` is non-null when the orchestrator completed and
155
+ // Stage A produced an `AgentResult`. A null value means Stage A
156
+ // threw (caught below); we fall through to `diagnoseTodayMdState`
157
+ // which detects the missing today.md and schedules a retry.
158
+ let pipelineRun = null;
156
159
  try {
157
- // ROUTINE_DATA_ACQUISITION_DESIGN.md Phase 4 / D2 — fire the
160
+ // docs/design/appendices/routine-data-acquisition.md Phase 4 / D2 — fire the
158
161
  // pre-pass fetcher session BEFORE we build the parent's context.
159
162
  // The fetcher POSTs to `/api/observations` so the parent's
160
163
  // `pending=true` reads see the fresh rows; the rendered
@@ -169,9 +172,7 @@ export class MorningRoutineRunner {
169
172
  // retry, observations posted by the original attempt are still
170
173
  // available (TTL is days; retries are minutes apart), and Haiku
171
174
  // tokens spent re-confirming the same window inflate the retry
172
- // cost cap the user explicitly set. The morning_routine_initial
173
- // path shares morning_routine's plan via the runner's automatic
174
- // key derivation, so no special-casing is required there.
175
+ // cost cap the user explicitly set.
175
176
  const fetchPrepass = isRetry
176
177
  ? null
177
178
  : await this.fetchWindowRunner.run(effectiveEvent, promptKey);
@@ -184,22 +185,26 @@ export class MorningRoutineRunner {
184
185
  },
185
186
  };
186
187
  }
187
- const context = await this.contextBuilder.build(effectiveEvent);
188
- const binding = this.agentRouter.resolveBinding(effectiveEvent, {
189
- processKey: promptKey,
190
- ...(requestedTier ? { requestedTier } : {}),
191
- });
192
- const reassemblePrompt = (bid) => this.prompt.assemble(promptKey, promptKey, bid);
193
- const prompt = reassemblePrompt(binding.main.backendId);
194
- result = await this.errorRouter.executeWithRetry(() => this.agentRouter.execute({
195
- prompt,
196
- context,
197
- event: effectiveEvent,
198
- processKey: promptKey,
199
- preResolvedBinding: binding,
200
- reassemblePrompt,
201
- ...(requestedTier ? { requestedTier } : {}),
202
- }), effectiveEvent);
188
+ // Stage A medium + Stage B lite in parallel, with daemon-prepared
189
+ // `<handoff_parsed>` + `<journal_skeleton>` + `<roadmap_skeleton>`
190
+ // blocks injected into each stage's prompt context. Stage A's
191
+ // `AgentResult` (today.md synthesis) is what gates the post-run
192
+ // today.md health check; Stage B's result (journal author) lands
193
+ // in `pipelineRun.stageBResult` for the parent-audit row. Stage A
194
+ // throw propagates here; we catch, log, and let the post-execute
195
+ // `diagnoseTodayMdState` schedule a retry — same recovery shape
196
+ // as a Stage-A-internal failure.
197
+ try {
198
+ pipelineRun = await this.pipelineOrchestrator.run({
199
+ parentEvent: effectiveEvent,
200
+ isRetry,
201
+ ...(requestedTier ? { requestedTier } : {}),
202
+ });
203
+ }
204
+ catch (err) {
205
+ logger.error({ err, promptKey, correlationId: effectiveEvent.correlationId }, "Morning pipeline orchestrator threw — falling through to today.md health check + retry");
206
+ pipelineRun = null;
207
+ }
203
208
  }
204
209
  finally {
205
210
  this.setMorningRoutineInProgress(false);
@@ -207,7 +212,15 @@ export class MorningRoutineRunner {
207
212
  this.todayWriteLock.release(lockId);
208
213
  }
209
214
  }
210
- await this.resultProcessor.processResult(result, effectiveEvent);
215
+ // Per-stage `agent_actions` rows are written from inside
216
+ // `orchestrator.run()` (each stage runs through
217
+ // `resultProcessor.processResult(stageResult, stageEvent)` so each
218
+ // row lands with `action_type=routine.morning_routine_today` /
219
+ // `..._journal`). The parent `routine.morning_routine` audit row
220
+ // is synthesised below by `emitParentAuditRow` once Stage A success
221
+ // + today.md health are both confirmed — that is the row the
222
+ // pre-routine gate (`morningRoutineRanToday`) reads.
223
+ const stageAResult = pipelineRun !== null ? pipelineRun.stageAResult : null;
211
224
  // Post-morning-routine: verify today.md was generated, retry if not.
212
225
  // This catches agent failures that don't throw (e.g., early stop, context
213
226
  // building succeeded but the PUT /api/context/today call was skipped).
@@ -218,11 +231,77 @@ export class MorningRoutineRunner {
218
231
  // string and the wrong-date case looked indistinguishable from a hard
219
232
  // crash, masking the date-confusion root cause.
220
233
  const todayMdState = this.diagnoseTodayMdState();
234
+ // Parent audit row emit. The pre-routine gate
235
+ // (`morningRoutineRanToday` in `bootstrap/schedule-helpers.ts`)
236
+ // selects on `action_type='routine.morning_routine' AND
237
+ // result='success'`. The two stages write their own action_types
238
+ // (`routine.morning_routine_today` / `..._journal`), neither of
239
+ // which the gate reads — so we synthesise the parent row here,
240
+ // gated on Stage A success + today.md health.
241
+ if (pipelineRun !== null) {
242
+ const todayMdHealth = mapDiagnoseToHealth(todayMdState);
243
+ // Land the `agent/journal.md` block BEFORE the parent-audit row
244
+ // emit so the gate-fire moment (which the dashboard / monitoring
245
+ // tooling reads as "morning routine is done") follows the journal
246
+ // write, not precedes it. The appender is self-gating on Stage A's
247
+ // row presence — it returns `stage_a_row_missing` (not throws)
248
+ // when the row is absent, so we just log the skip reason.
249
+ try {
250
+ const appenderOutcome = this.pipelineOrchestrator.appendAgentJournalEntry({
251
+ correlationId: effectiveEvent.correlationId,
252
+ });
253
+ if (appenderOutcome === null) {
254
+ logger.debug({ correlationId: effectiveEvent.correlationId }, "Morning pipeline journal appender skipped — orchestrator constructed without journal-side deps");
255
+ }
256
+ else if (appenderOutcome.ok) {
257
+ logger.info({
258
+ correlationId: effectiveEvent.correlationId,
259
+ entryBytes: appenderOutcome.entryText.length,
260
+ }, "Morning pipeline agent/journal.md entry appended");
261
+ }
262
+ else {
263
+ logger.warn({
264
+ correlationId: effectiveEvent.correlationId,
265
+ reason: appenderOutcome.reason,
266
+ }, "Morning pipeline agent/journal.md entry NOT appended");
267
+ }
268
+ }
269
+ catch (err) {
270
+ // Appender failures are best-effort telemetry — never block
271
+ // the parent-audit emit / today.md health flow on a journal
272
+ // write hiccup. The fs write is atomic + snapshot-backed; the
273
+ // only realistic failure mode here is a malformed
274
+ // `agent_actions.metadata` JSON that the composer mis-parses.
275
+ logger.error({ err, correlationId: effectiveEvent.correlationId }, "Morning pipeline journal appender threw — continuing to parent-audit emit");
276
+ }
277
+ const emitOutcome = this.pipelineOrchestrator.emitParentAuditRow({
278
+ correlationId: effectiveEvent.correlationId,
279
+ startedAt: pipelineRun.startedAt,
280
+ todayMdHealth,
281
+ ...(stageAResult?.backendId ? { backend: stageAResult.backendId } : {}),
282
+ });
283
+ if (emitOutcome.emitted) {
284
+ logger.info({
285
+ correlationId: effectiveEvent.correlationId,
286
+ parentAuditRowId: emitOutcome.insertedId,
287
+ todayMdHealth,
288
+ stageBPresent: pipelineRun.stageBResult !== null,
289
+ }, "Morning pipeline parent audit row emitted");
290
+ }
291
+ else {
292
+ logger.warn({
293
+ correlationId: effectiveEvent.correlationId,
294
+ reason: emitOutcome.reason,
295
+ todayMdHealth,
296
+ }, "Morning pipeline parent audit row NOT emitted — pre-routine gate will not fire for this run");
297
+ }
298
+ }
221
299
  if (todayMdState.kind !== "fresh") {
222
300
  logger.warn({
223
301
  eventType: effectiveEvent.type,
224
- isError: result.isError,
225
- numTurns: result.numTurns,
302
+ isError: stageAResult?.isError ?? null,
303
+ numTurns: stageAResult?.numTurns ?? null,
304
+ orchestratorThrew: pipelineRun === null,
226
305
  todayMdState: todayMdState.kind,
227
306
  ...(todayMdState.kind === "wrong_date"
228
307
  ? {
@@ -248,17 +327,17 @@ export class MorningRoutineRunner {
248
327
  }
249
328
  }
250
329
  // Post-morning-routine: trigger roadmap refresh if STILL stale after
251
- // the agent ran. Re-checking staleness here lets the
252
- // `morning_routine_initial` variant populate roadmap.md inline (its
253
- // Step 6.8 fully replaces the setup-wizard skeleton in the same
330
+ // the agent ran. Re-checking staleness here lets the first-run
331
+ // branch of the merged morning routine populate roadmap.md inline
332
+ // (its Step 6b fully replaces the setup-wizard skeleton in the same
254
333
  // session) without firing a redundant `routine.roadmap_refresh`
255
334
  // afterwards — that doubled post-setup latency by ~1–2 minutes.
256
335
  //
257
336
  // The check is `staleBefore && staleNow`:
258
- // - regular variant on a fresh roadmap: staleBefore=false → skip (unchanged).
259
- // - either variant where agent did nothing to roadmap: still stale → emit.
260
- // - initial variant where agent populated inline: staleNow=false → skip.
261
- // - regular variant where agent happened to spot-update on a stale day:
337
+ // - recurring day on a fresh roadmap: staleBefore=false → skip (unchanged).
338
+ // - either branch where agent did nothing to roadmap: still stale → emit.
339
+ // - first-run day where agent populated inline: staleNow=false → skip.
340
+ // - recurring day where agent happened to spot-update on a stale day:
262
341
  // staleNow=false → skip the redundant refresh (pure win).
263
342
  if (roadmapStaleBeforeMorning) {
264
343
  if (effectiveEvent.data?.deferPostMorningCatchupsUntilStartupReady === true) {
@@ -272,27 +351,6 @@ export class MorningRoutineRunner {
272
351
  }
273
352
  }
274
353
  }
275
- /**
276
- * Read the operator-or-preset configured tier for `routine.morning_routine`
277
- * so the non-configurable `morning_routine_initial` variant can mirror it.
278
- * Returns null when no row exists (fresh install before the setup wizard
279
- * applies a preset) or when the pinned model isn't in the registry — the
280
- * caller falls back to the router's default tier in those cases.
281
- */
282
- inferConfiguredMorningRoutineTier() {
283
- try {
284
- const row = this.db
285
- .prepare("SELECT main_backend, main_model FROM process_backend_config WHERE process_key = 'routine.morning_routine'")
286
- .get();
287
- if (!row || !isBackendId(row.main_backend))
288
- return null;
289
- return findRegisteredModel(row.main_backend, row.main_model)?.tier ?? null;
290
- }
291
- catch (err) {
292
- logger.debug({ err }, "Failed to infer morning_routine configured tier");
293
- return null;
294
- }
295
- }
296
354
  async emitPostMorningCatchups(event) {
297
355
  const queuedRoutines = Array.isArray(event.data?.postCatchupRoutines)
298
356
  ? event.data.postCatchupRoutines.filter((value) => typeof value === "string")
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher-morning-routine.js","sourceRoot":"","sources":["../../src/core/dispatcher-morning-routine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher-morning-routine.js","sourceRoot":"","sources":["../../src/core/dispatcher-morning-routine.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,9 @@ export declare class PromptAssembler {
102
102
  * Kept on the assembler (not in prompts.ts) because the attachment
103
103
  * rows are local state for this turn only.
104
104
  */
105
- buildAttachmentPromptBlock(rows: StoreAttachmentRow[], transcripts?: Map<string, VoiceTranscriptionResult>): string;
105
+ buildAttachmentPromptBlock(rows: StoreAttachmentRow[], transcripts?: Map<string, VoiceTranscriptionResult>, missing?: ReadonlyArray<{
106
+ originalFilename: string;
107
+ missingReason?: string;
108
+ }>): string;
106
109
  }
107
110
  //# sourceMappingURL=dispatcher-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher-prompt.d.ts","sourceRoot":"","sources":["../../src/core/dispatcher-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKzD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,mEAAmE;IACnE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,mBAAmB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;CACpD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgC;gBAExD,IAAI,EAAE,mBAAmB;IASrC;;;;;OAKG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM;IAqCT;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAOjC;uDACmD;IACnD,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMnD,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;OAIG;IACH,uBAAuB,CACrB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,kBAAkB,EAAE;IAkBvB;;;;;;OAMG;IACG,qBAAqB,CACzB,IAAI,EAAE,kBAAkB,EAAE,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAuBjD;;;;;OAKG;IACH,0BAA0B,CACxB,IAAI,EAAE,kBAAkB,EAAE,EAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAClD,MAAM;CAsDV"}
1
+ {"version":3,"file":"dispatcher-prompt.d.ts","sourceRoot":"","sources":["../../src/core/dispatcher-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKzD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,mEAAmE;IACnE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,mBAAmB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;CACpD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgC;gBAExD,IAAI,EAAE,mBAAmB;IASrC;;;;;OAKG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM;IAqCT;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAOjC;uDACmD;IACnD,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMnD,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;OAIG;IACH,uBAAuB,CACrB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,kBAAkB,EAAE;IAqBvB;;;;;;OAMG;IACG,qBAAqB,CACzB,IAAI,EAAE,kBAAkB,EAAE,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAuBjD;;;;;OAKG;IACH,0BAA0B,CACxB,IAAI,EAAE,kBAAkB,EAAE,EAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,EACnD,OAAO,GAAE,aAAa,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAM,GAChF,MAAM;CAqEV"}
@@ -133,6 +133,10 @@ export class PromptAssembler {
133
133
  return [];
134
134
  const staged = [];
135
135
  for (const ref of event.attachments) {
136
+ // P2-13: skip adapter-marked missing refs — they have no underlying
137
+ // row to stage, just metadata for the prompt builder.
138
+ if (ref.missing)
139
+ continue;
136
140
  const row = attachmentStore.get(ref.id);
137
141
  if (!row)
138
142
  continue;
@@ -182,8 +186,8 @@ export class PromptAssembler {
182
186
  * Kept on the assembler (not in prompts.ts) because the attachment
183
187
  * rows are local state for this turn only.
184
188
  */
185
- buildAttachmentPromptBlock(rows, transcripts) {
186
- if (rows.length === 0)
189
+ buildAttachmentPromptBlock(rows, transcripts, missing = []) {
190
+ if (rows.length === 0 && missing.length === 0)
187
191
  return "";
188
192
  const lines = [
189
193
  "",
@@ -220,6 +224,18 @@ export class PromptAssembler {
220
224
  lines.push(" (voice transcript unavailable — audio may be too long, untranscribable, or the local model is unavailable)");
221
225
  }
222
226
  }
227
+ if (missing.length > 0) {
228
+ // P2-13: adapter-reported attachments that couldn't be ingested
229
+ // (e.g. Discord CDN URL expired on a stale message). The agent
230
+ // can't see the bytes but should still acknowledge them and ask
231
+ // the user to resend rather than pretending nothing was attached.
232
+ lines.push("", "[Attached files that could not be fetched]");
233
+ for (const ref of missing) {
234
+ const reasonPart = ref.missingReason ? ` — ${ref.missingReason}` : "";
235
+ lines.push(`- ${ref.originalFilename}${reasonPart}`);
236
+ }
237
+ lines.push("Acknowledge these to the user and ask them to resend if the content", "matters for your reply. Do not pretend the bytes were available.");
238
+ }
223
239
  lines.push("", "If your reply should include a generated file (md/PDF/CSV/image/etc.),", "deliver it via the `attach` skill — write the bytes to a temp path, then", "POST /api/chat/outbound-attachments with `X-Turn-Token: $PA_TURN_TOKEN`.", "`_attachments/` is the read-only inbound staging area, not an output", "location. Never write a filesystem path into your reply and claim you", "created a file unless you actually uploaded it through that endpoint.");
224
240
  return lines.join("\n");
225
241
  }