@aitne/daemon 0.1.7 → 0.1.9

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 (2056) hide show
  1. package/dist/adapters/composite-dashboard-stream.d.ts +8 -11
  2. package/dist/adapters/composite-dashboard-stream.js +8 -11
  3. package/dist/adapters/dashboard-adapter.d.ts +18 -6
  4. package/dist/adapters/dashboard-adapter.js +101 -55
  5. package/dist/adapters/discord.d.ts +10 -3
  6. package/dist/adapters/discord.js +102 -26
  7. package/dist/adapters/docs-qa-adapter.d.ts +15 -16
  8. package/dist/adapters/docs-qa-adapter.js +14 -15
  9. package/dist/adapters/message-hub.d.ts +2 -3
  10. package/dist/adapters/message-hub.js +9 -3
  11. package/dist/adapters/notification-manager.d.ts +100 -3
  12. package/dist/adapters/notification-manager.js +244 -23
  13. package/dist/adapters/outbound-text.d.ts +17 -4
  14. package/dist/adapters/outbound-text.js +119 -5
  15. package/dist/adapters/primary-platform-resolver.d.ts +68 -0
  16. package/dist/adapters/primary-platform-resolver.js +54 -0
  17. package/dist/adapters/slack-adapter.d.ts +32 -5
  18. package/dist/adapters/slack-adapter.js +146 -58
  19. package/dist/adapters/telegram-adapter.d.ts +11 -8
  20. package/dist/adapters/telegram-adapter.js +63 -42
  21. package/dist/adapters/types.d.ts +3 -4
  22. package/dist/adapters/types.js +0 -1
  23. package/dist/adapters/whatsapp-adapter.d.ts +104 -18
  24. package/dist/adapters/whatsapp-adapter.js +305 -69
  25. package/dist/api/chat-binding-query.d.ts +0 -1
  26. package/dist/api/chat-binding-query.js +0 -1
  27. package/dist/api/chat-session-resume.d.ts +0 -1
  28. package/dist/api/chat-session-resume.js +0 -1
  29. package/dist/api/directory-picker.d.ts +0 -1
  30. package/dist/api/directory-picker.js +14 -1
  31. package/dist/api/env-writer.d.ts +0 -1
  32. package/dist/api/env-writer.js +108 -5
  33. package/dist/api/helpers/agent-errors-envelope.d.ts +116 -0
  34. package/dist/api/helpers/agent-errors-envelope.js +165 -0
  35. package/dist/api/helpers/agent-errors-registry.d.ts +2290 -0
  36. package/dist/api/helpers/agent-errors-registry.js +2197 -0
  37. package/dist/api/helpers/agent-errors-types.d.ts +193 -0
  38. package/dist/api/helpers/agent-errors-types.js +15 -0
  39. package/dist/api/helpers/agent-errors-zod.d.ts +33 -0
  40. package/dist/api/helpers/agent-errors-zod.js +138 -0
  41. package/dist/api/helpers/agent-errors.d.ts +4 -0
  42. package/dist/api/helpers/agent-errors.js +17 -0
  43. package/dist/api/integration-route-gate.d.ts +0 -1
  44. package/dist/api/integration-route-gate.js +10 -4
  45. package/dist/api/json-body.d.ts +3 -4
  46. package/dist/api/json-body.js +3 -4
  47. package/dist/api/routes/activity-sources.d.ts +1 -2
  48. package/dist/api/routes/activity-sources.js +0 -1
  49. package/dist/api/routes/agent-schedule-plan-match.d.ts +4 -0
  50. package/dist/api/routes/agent-schedule-plan-match.js +100 -0
  51. package/dist/api/routes/agent-schedule.d.ts +3 -0
  52. package/dist/api/routes/agent-schedule.js +790 -0
  53. package/dist/api/routes/agent.d.ts +0 -1
  54. package/dist/api/routes/agent.js +233 -367
  55. package/dist/api/routes/agents/index.d.ts +3 -0
  56. package/dist/api/routes/agents/index.js +404 -0
  57. package/dist/api/routes/agents/views.d.ts +185 -0
  58. package/dist/api/routes/agents/views.js +514 -0
  59. package/dist/api/routes/apple-calendar.d.ts +1 -2
  60. package/dist/api/routes/apple-calendar.js +110 -29
  61. package/dist/api/routes/attachments.d.ts +0 -1
  62. package/dist/api/routes/attachments.js +113 -22
  63. package/dist/api/routes/backends.d.ts +0 -1
  64. package/dist/api/routes/backends.js +144 -40
  65. package/dist/api/routes/books.d.ts +0 -1
  66. package/dist/api/routes/books.js +65 -26
  67. package/dist/api/routes/browser-automation-purchase.d.ts +31 -0
  68. package/dist/api/routes/browser-automation-purchase.js +251 -0
  69. package/dist/api/routes/browser-automation-sites.d.ts +22 -0
  70. package/dist/api/routes/browser-automation-sites.js +238 -0
  71. package/dist/api/routes/browser-history-managed.d.ts +23 -0
  72. package/dist/api/routes/browser-history-managed.js +202 -0
  73. package/dist/api/routes/browser-history.d.ts +3 -0
  74. package/dist/api/routes/browser-history.js +433 -0
  75. package/dist/api/routes/browser-task.d.ts +43 -0
  76. package/dist/api/routes/browser-task.js +617 -0
  77. package/dist/api/routes/calendar.d.ts +3 -3
  78. package/dist/api/routes/calendar.js +330 -56
  79. package/dist/api/routes/commands.d.ts +0 -1
  80. package/dist/api/routes/commands.js +27 -2
  81. package/dist/api/routes/context/frontmatter-merge.d.ts +28 -0
  82. package/dist/api/routes/context/frontmatter-merge.js +56 -0
  83. package/dist/api/routes/context/index.d.ts +40 -0
  84. package/dist/api/routes/context/index.js +174 -0
  85. package/dist/api/routes/context/locks.d.ts +3 -0
  86. package/dist/api/routes/context/locks.js +136 -0
  87. package/dist/api/routes/context/path-resolve.d.ts +26 -0
  88. package/dist/api/routes/context/path-resolve.js +125 -0
  89. package/dist/api/routes/context/permissions.d.ts +58 -0
  90. package/dist/api/routes/context/permissions.js +234 -0
  91. package/dist/api/routes/context/read.d.ts +3 -0
  92. package/dist/api/routes/context/read.js +306 -0
  93. package/dist/api/routes/context/repair.d.ts +3 -0
  94. package/dist/api/routes/context/repair.js +114 -0
  95. package/dist/api/routes/context/snapshots.d.ts +3 -0
  96. package/dist/api/routes/context/snapshots.js +208 -0
  97. package/dist/api/routes/context/write-step.d.ts +132 -0
  98. package/dist/api/routes/context/write-step.js +151 -0
  99. package/dist/api/routes/context/write.d.ts +3 -0
  100. package/dist/api/routes/context/write.js +781 -0
  101. package/dist/api/routes/dashboard/config.d.ts +3 -0
  102. package/dist/api/routes/dashboard/config.js +507 -0
  103. package/dist/api/routes/dashboard/conversations.d.ts +3 -0
  104. package/dist/api/routes/dashboard/conversations.js +308 -0
  105. package/dist/api/routes/dashboard/cost-approvals.d.ts +28 -0
  106. package/dist/api/routes/dashboard/cost-approvals.js +258 -0
  107. package/dist/api/routes/dashboard/index.d.ts +26 -0
  108. package/dist/api/routes/dashboard/index.js +46 -0
  109. package/dist/api/routes/dashboard/messaging.d.ts +3 -0
  110. package/dist/api/routes/dashboard/messaging.js +349 -0
  111. package/dist/api/routes/dashboard/notifications.d.ts +3 -0
  112. package/dist/api/routes/dashboard/notifications.js +108 -0
  113. package/dist/api/routes/dashboard/oauth-google.d.ts +3 -0
  114. package/dist/api/routes/dashboard/oauth-google.js +288 -0
  115. package/dist/api/routes/dashboard/schedule-readonly.d.ts +3 -0
  116. package/dist/api/routes/dashboard/schedule-readonly.js +54 -0
  117. package/dist/api/routes/dashboard/secrets.d.ts +23 -0
  118. package/dist/api/routes/dashboard/secrets.js +306 -0
  119. package/dist/api/routes/dashboard/snapshots.d.ts +3 -0
  120. package/dist/api/routes/dashboard/snapshots.js +32 -0
  121. package/dist/api/routes/delegated-sync.d.ts +0 -1
  122. package/dist/api/routes/delegated-sync.js +0 -1
  123. package/dist/api/routes/delegated.d.ts +5 -5
  124. package/dist/api/routes/delegated.js +6 -6
  125. package/dist/api/routes/docs.d.ts +0 -1
  126. package/dist/api/routes/docs.js +72 -10
  127. package/dist/api/routes/entities.d.ts +0 -1
  128. package/dist/api/routes/entities.js +114 -45
  129. package/dist/api/routes/fs.d.ts +0 -1
  130. package/dist/api/routes/fs.js +27 -13
  131. package/dist/api/routes/fs.logic.d.ts +0 -1
  132. package/dist/api/routes/fs.logic.js +6 -2
  133. package/dist/api/routes/git-accounts.d.ts +0 -1
  134. package/dist/api/routes/git-accounts.js +0 -1
  135. package/dist/api/routes/git-templates.d.ts +0 -1
  136. package/dist/api/routes/git-templates.js +113 -28
  137. package/dist/api/routes/git.d.ts +0 -1
  138. package/dist/api/routes/git.js +65 -16
  139. package/dist/api/routes/github.d.ts +0 -1
  140. package/dist/api/routes/github.js +130 -24
  141. package/dist/api/routes/health.d.ts +0 -1
  142. package/dist/api/routes/health.js +4 -3
  143. package/dist/api/routes/integrations/crud-patch.d.ts +16 -0
  144. package/dist/api/routes/integrations/crud-patch.js +638 -0
  145. package/dist/api/routes/integrations/crud.d.ts +15 -0
  146. package/dist/api/routes/integrations/crud.js +157 -0
  147. package/dist/api/routes/integrations/exec.d.ts +22 -0
  148. package/dist/api/routes/integrations/exec.js +349 -0
  149. package/dist/api/routes/integrations/index.d.ts +61 -0
  150. package/dist/api/routes/integrations/index.js +69 -0
  151. package/dist/api/routes/integrations/probe.d.ts +20 -0
  152. package/dist/api/routes/integrations/probe.js +246 -0
  153. package/dist/api/routes/integrations-reconcile.d.ts +0 -1
  154. package/dist/api/routes/integrations-reconcile.js +0 -1
  155. package/dist/api/routes/knowledge.d.ts +0 -1
  156. package/dist/api/routes/knowledge.js +14 -4
  157. package/dist/api/routes/mail/accounts.d.ts +3 -0
  158. package/dist/api/routes/mail/accounts.js +288 -0
  159. package/dist/api/routes/mail/app-password.d.ts +3 -0
  160. package/dist/api/routes/mail/app-password.js +191 -0
  161. package/dist/api/routes/mail/body-helpers.d.ts +55 -0
  162. package/dist/api/routes/mail/body-helpers.js +90 -0
  163. package/dist/api/routes/mail/dependencies.d.ts +35 -0
  164. package/dist/api/routes/mail/dependencies.js +1 -0
  165. package/dist/api/routes/mail/drafts.d.ts +4 -0
  166. package/dist/api/routes/mail/drafts.js +138 -0
  167. package/dist/api/routes/mail/gating.d.ts +44 -0
  168. package/dist/api/routes/mail/gating.js +98 -0
  169. package/dist/api/routes/mail/index.d.ts +17 -0
  170. package/dist/api/routes/mail/index.js +39 -0
  171. package/dist/api/routes/mail/messages.d.ts +14 -0
  172. package/dist/api/routes/mail/messages.js +238 -0
  173. package/dist/api/routes/mail/outlook-config.d.ts +3 -0
  174. package/dist/api/routes/mail/outlook-config.js +72 -0
  175. package/dist/api/routes/mail/provider-resolver.d.ts +63 -0
  176. package/dist/api/routes/mail/provider-resolver.js +285 -0
  177. package/dist/api/routes/mail/providers.d.ts +3 -0
  178. package/dist/api/routes/mail/providers.js +72 -0
  179. package/dist/api/routes/mail/search-health.d.ts +3 -0
  180. package/dist/api/routes/mail/search-health.js +130 -0
  181. package/dist/api/routes/mail/tags-folders.d.ts +4 -0
  182. package/dist/api/routes/mail/tags-folders.js +34 -0
  183. package/dist/api/routes/mail/validators.d.ts +22 -0
  184. package/dist/api/routes/mail/validators.js +130 -0
  185. package/dist/api/routes/managed-tasks.d.ts +0 -1
  186. package/dist/api/routes/managed-tasks.js +154 -63
  187. package/dist/api/routes/mcp.d.ts +0 -1
  188. package/dist/api/routes/mcp.js +115 -48
  189. package/dist/api/routes/metrics.d.ts +1 -2
  190. package/dist/api/routes/metrics.js +2 -3
  191. package/dist/api/routes/notion.d.ts +0 -1
  192. package/dist/api/routes/notion.js +234 -55
  193. package/dist/api/routes/observations.d.ts +0 -1
  194. package/dist/api/routes/observations.js +53 -184
  195. package/dist/api/routes/obsidian.d.ts +0 -1
  196. package/dist/api/routes/obsidian.js +193 -33
  197. package/dist/api/routes/profile-questions.d.ts +0 -1
  198. package/dist/api/routes/profile-questions.js +26 -5
  199. package/dist/api/routes/receipts.d.ts +0 -1
  200. package/dist/api/routes/receipts.js +64 -25
  201. package/dist/api/routes/recurring-schedules.d.ts +0 -1
  202. package/dist/api/routes/recurring-schedules.js +288 -15
  203. package/dist/api/routes/repositories.d.ts +0 -1
  204. package/dist/api/routes/repositories.js +278 -105
  205. package/dist/api/routes/schedule-model-resolver.d.ts +152 -0
  206. package/dist/api/routes/schedule-model-resolver.js +285 -0
  207. package/dist/api/routes/schedule-options.d.ts +24 -0
  208. package/dist/api/routes/schedule-options.js +76 -0
  209. package/dist/api/routes/schedule-validation.d.ts +145 -0
  210. package/dist/api/routes/schedule-validation.js +152 -0
  211. package/dist/api/routes/setup-migrate.d.ts +0 -1
  212. package/dist/api/routes/setup-migrate.js +6 -4
  213. package/dist/api/routes/setup.d.ts +0 -1
  214. package/dist/api/routes/setup.js +142 -27
  215. package/dist/api/routes/skill-curation.d.ts +0 -1
  216. package/dist/api/routes/skill-curation.js +0 -1
  217. package/dist/api/routes/skills.d.ts +2 -1
  218. package/dist/api/routes/skills.js +92 -33
  219. package/dist/api/routes/sot-bindings.d.ts +1 -2
  220. package/dist/api/routes/sot-bindings.js +46 -12
  221. package/dist/api/routes/sse.d.ts +0 -1
  222. package/dist/api/routes/sse.js +6 -2
  223. package/dist/api/routes/system.d.ts +0 -1
  224. package/dist/api/routes/system.js +15 -3
  225. package/dist/api/routes/task-flows.d.ts +0 -1
  226. package/dist/api/routes/task-flows.js +0 -1
  227. package/dist/api/routes/travel-bookings.d.ts +0 -1
  228. package/dist/api/routes/travel-bookings.js +26 -10
  229. package/dist/api/routes/triggers.d.ts +0 -1
  230. package/dist/api/routes/triggers.js +0 -1
  231. package/dist/api/routes/voice.d.ts +0 -1
  232. package/dist/api/routes/voice.js +0 -1
  233. package/dist/api/routes/wiki.d.ts +0 -1
  234. package/dist/api/routes/wiki.js +84 -17
  235. package/dist/api/server.d.ts +55 -6
  236. package/dist/api/server.js +76 -22
  237. package/dist/bootstrap/adapters.d.ts +0 -1
  238. package/dist/bootstrap/adapters.js +7 -5
  239. package/dist/bootstrap/api.d.ts +219 -0
  240. package/dist/bootstrap/api.js +502 -0
  241. package/dist/bootstrap/catchup.d.ts +0 -1
  242. package/dist/bootstrap/catchup.js +1 -2
  243. package/dist/bootstrap/db.d.ts +213 -0
  244. package/dist/bootstrap/db.js +617 -0
  245. package/dist/bootstrap/event-pipeline.d.ts +329 -0
  246. package/dist/bootstrap/event-pipeline.js +1203 -0
  247. package/dist/bootstrap/managed-chromium.d.ts +26 -0
  248. package/dist/bootstrap/managed-chromium.js +66 -0
  249. package/dist/bootstrap/observers.d.ts +147 -0
  250. package/dist/bootstrap/observers.js +586 -0
  251. package/dist/bootstrap/schedule-helpers.d.ts +122 -1
  252. package/dist/bootstrap/schedule-helpers.js +206 -6
  253. package/dist/bootstrap/services.d.ts +0 -1
  254. package/dist/bootstrap/services.js +1 -11
  255. package/dist/config.d.ts +1 -2
  256. package/dist/config.js +32 -15
  257. package/dist/core/abort-utils.d.ts +13 -0
  258. package/dist/core/abort-utils.js +35 -0
  259. package/dist/core/agent-core.d.ts +36 -4
  260. package/dist/core/agent-core.js +3 -2
  261. package/dist/core/agent-execution-recorder.d.ts +78 -0
  262. package/dist/core/agent-execution-recorder.js +60 -0
  263. package/dist/core/agents/agent-execution-tracker.d.ts +91 -0
  264. package/dist/core/agents/agent-execution-tracker.js +226 -0
  265. package/dist/core/agents/agent-frontmatter.d.ts +57 -0
  266. package/dist/core/agents/agent-frontmatter.js +74 -0
  267. package/dist/core/agents/agent-id-resolver.d.ts +47 -0
  268. package/dist/core/agents/agent-id-resolver.js +61 -0
  269. package/dist/core/agents/builtin-registry.d.ts +156 -0
  270. package/dist/core/agents/builtin-registry.js +257 -0
  271. package/dist/core/agents/cron-substitute.d.ts +60 -0
  272. package/dist/core/agents/cron-substitute.js +100 -0
  273. package/dist/core/agents/definition-criteria.d.ts +14 -0
  274. package/dist/core/agents/definition-criteria.js +25 -0
  275. package/dist/core/agents/effective-definition.d.ts +47 -0
  276. package/dist/core/agents/effective-definition.js +101 -0
  277. package/dist/core/agents/firing-blocked.d.ts +28 -0
  278. package/dist/core/agents/firing-blocked.js +27 -0
  279. package/dist/core/agents/loader-boot.d.ts +26 -0
  280. package/dist/core/agents/loader-boot.js +98 -0
  281. package/dist/core/agents/loader-watcher.d.ts +23 -0
  282. package/dist/core/agents/loader-watcher.js +84 -0
  283. package/dist/core/agents/loader.d.ts +188 -0
  284. package/dist/core/agents/loader.js +754 -0
  285. package/dist/core/agents/override-merge.d.ts +57 -0
  286. package/dist/core/agents/override-merge.js +131 -0
  287. package/dist/core/agents/recurrence-convert.d.ts +92 -0
  288. package/dist/core/agents/recurrence-convert.js +207 -0
  289. package/dist/core/agents/recurring-schedule-adapter.d.ts +24 -0
  290. package/dist/core/agents/recurring-schedule-adapter.js +157 -0
  291. package/dist/core/agents/success-criteria.d.ts +60 -0
  292. package/dist/core/agents/success-criteria.js +139 -0
  293. package/dist/core/agents/validate-agent-md.d.ts +17 -0
  294. package/dist/core/agents/validate-agent-md.js +64 -0
  295. package/dist/core/alerts.d.ts +0 -1
  296. package/dist/core/alerts.js +0 -1
  297. package/dist/core/atomic-write.d.ts +0 -1
  298. package/dist/core/atomic-write.js +17 -4
  299. package/dist/core/backends/api-key-probe.d.ts +0 -1
  300. package/dist/core/backends/api-key-probe.js +0 -1
  301. package/dist/core/backends/auth-health-monitor.d.ts +0 -1
  302. package/dist/core/backends/auth-health-monitor.js +31 -5
  303. package/dist/core/backends/auth-recovery.d.ts +0 -1
  304. package/dist/core/backends/auth-recovery.js +17 -4
  305. package/dist/core/backends/auth-telemetry.d.ts +0 -1
  306. package/dist/core/backends/auth-telemetry.js +0 -1
  307. package/dist/core/backends/backend-router.d.ts +44 -3
  308. package/dist/core/backends/backend-router.js +230 -3
  309. package/dist/core/backends/claude-auth.d.ts +0 -1
  310. package/dist/core/backends/claude-auth.js +0 -1
  311. package/dist/core/backends/claude-code-core.d.ts +53 -2
  312. package/dist/core/backends/claude-code-core.js +202 -29
  313. package/dist/core/backends/claude-credentials-store.d.ts +0 -1
  314. package/dist/core/backends/claude-credentials-store.js +0 -1
  315. package/dist/core/backends/claude-delegated.d.ts +0 -1
  316. package/dist/core/backends/claude-delegated.js +14 -15
  317. package/dist/core/backends/claude-errors.d.ts +0 -1
  318. package/dist/core/backends/claude-errors.js +0 -1
  319. package/dist/core/backends/claude-probe.d.ts +0 -1
  320. package/dist/core/backends/claude-probe.js +0 -1
  321. package/dist/core/backends/claude-tool-collection.d.ts +0 -1
  322. package/dist/core/backends/claude-tool-collection.js +177 -32
  323. package/dist/core/backends/cli-quota-guards.d.ts +100 -0
  324. package/dist/core/backends/cli-quota-guards.js +95 -0
  325. package/dist/core/backends/cli-utils.d.ts +26 -2
  326. package/dist/core/backends/cli-utils.js +133 -15
  327. package/dist/core/backends/codex-core.d.ts +13 -2
  328. package/dist/core/backends/codex-core.js +470 -63
  329. package/dist/core/backends/gemini-cli-core.d.ts +5 -2
  330. package/dist/core/backends/gemini-cli-core.js +348 -68
  331. package/dist/core/backends/idle-watchdog.d.ts +0 -1
  332. package/dist/core/backends/idle-watchdog.js +0 -1
  333. package/dist/core/backends/install-methods.d.ts +0 -1
  334. package/dist/core/backends/install-methods.js +22 -1
  335. package/dist/core/backends/model-registry.d.ts +10 -6
  336. package/dist/core/backends/model-registry.js +204 -34
  337. package/dist/core/backends/native-skill-discovery-probe.d.ts +77 -0
  338. package/dist/core/backends/native-skill-discovery-probe.js +172 -0
  339. package/dist/core/backends/opencode-basic-auth-fetch.d.ts +26 -0
  340. package/dist/core/backends/opencode-basic-auth-fetch.js +39 -0
  341. package/dist/core/backends/opencode-config-builder.d.ts +113 -0
  342. package/dist/core/backends/opencode-config-builder.js +184 -0
  343. package/dist/core/backends/opencode-core.d.ts +315 -0
  344. package/dist/core/backends/opencode-core.js +1508 -0
  345. package/dist/core/backends/opencode-event-mapper.d.ts +132 -0
  346. package/dist/core/backends/opencode-event-mapper.js +197 -0
  347. package/dist/core/backends/opencode-mcp.d.ts +81 -0
  348. package/dist/core/backends/opencode-mcp.js +157 -0
  349. package/dist/core/backends/opencode-server-manager.d.ts +113 -0
  350. package/dist/core/backends/opencode-server-manager.js +221 -0
  351. package/dist/core/backends/opencode-types.d.ts +45 -0
  352. package/dist/core/backends/opencode-types.js +13 -0
  353. package/dist/core/backends/plan-presets.d.ts +18 -6
  354. package/dist/core/backends/plan-presets.js +191 -24
  355. package/dist/core/backends/price-fetcher.d.ts +0 -1
  356. package/dist/core/backends/price-fetcher.js +0 -1
  357. package/dist/core/backends/process-config-cascade.d.ts +35 -1
  358. package/dist/core/backends/process-config-cascade.js +35 -2
  359. package/dist/core/backends/prompt-utils.d.ts +0 -1
  360. package/dist/core/backends/prompt-utils.js +0 -3
  361. package/dist/core/backends/proxy-model-registry.d.ts +0 -1
  362. package/dist/core/backends/proxy-model-registry.js +0 -1
  363. package/dist/core/backends/quota-reset-hints.d.ts +43 -0
  364. package/dist/core/backends/quota-reset-hints.js +116 -0
  365. package/dist/core/backends/silent-api-error-detector.d.ts +0 -1
  366. package/dist/core/backends/silent-api-error-detector.js +0 -1
  367. package/dist/core/bang-commands/commands-checks.d.ts +16 -0
  368. package/dist/core/bang-commands/commands-checks.js +58 -0
  369. package/dist/core/bang-commands/commands-close.d.ts +23 -0
  370. package/dist/core/bang-commands/commands-close.js +23 -0
  371. package/dist/core/bang-commands/commands-cost.d.ts +0 -1
  372. package/dist/core/bang-commands/commands-cost.js +13 -1
  373. package/dist/core/bang-commands/commands-help.d.ts +0 -1
  374. package/dist/core/bang-commands/commands-help.js +44 -6
  375. package/dist/core/bang-commands/commands-report.d.ts +0 -1
  376. package/dist/core/bang-commands/commands-report.js +1 -1
  377. package/dist/core/bang-commands/commands-research.d.ts +36 -0
  378. package/dist/core/bang-commands/commands-research.js +284 -0
  379. package/dist/core/bang-commands/commands-stop-start.d.ts +0 -1
  380. package/dist/core/bang-commands/commands-stop-start.js +2 -1
  381. package/dist/core/bang-commands/commands-wiki.d.ts +0 -1
  382. package/dist/core/bang-commands/commands-wiki.js +53 -14
  383. package/dist/core/bang-commands/format-utils.d.ts +15 -3
  384. package/dist/core/bang-commands/format-utils.js +23 -4
  385. package/dist/core/bang-commands/index.d.ts +3 -1
  386. package/dist/core/bang-commands/index.js +14 -1
  387. package/dist/core/bang-commands/registry.d.ts +59 -1
  388. package/dist/core/bang-commands/registry.js +175 -23
  389. package/dist/core/bang-commands/user-commands.d.ts +0 -1
  390. package/dist/core/bang-commands/user-commands.js +0 -1
  391. package/dist/core/browser-history/pre-morning-digest-job.d.ts +79 -0
  392. package/dist/core/browser-history/pre-morning-digest-job.js +89 -0
  393. package/dist/core/browser-history/research-cluster-fanout.d.ts +40 -0
  394. package/dist/core/browser-history/research-cluster-fanout.js +47 -0
  395. package/dist/core/browser-history/research-events.d.ts +37 -0
  396. package/dist/core/browser-history/research-events.js +70 -0
  397. package/dist/core/channel-timeline.d.ts +18 -2
  398. package/dist/core/channel-timeline.js +44 -1
  399. package/dist/core/character-block.d.ts +0 -1
  400. package/dist/core/character-block.js +0 -1
  401. package/dist/core/context/activity-sources.d.ts +3 -4
  402. package/dist/core/context/activity-sources.js +0 -1
  403. package/dist/core/context/activity-view-reconciler.d.ts +1 -2
  404. package/dist/core/context/activity-view-reconciler.js +10 -10
  405. package/dist/core/context/activity-view-runner.d.ts +0 -1
  406. package/dist/core/context/activity-view-runner.js +11 -3
  407. package/dist/core/context/default-schedules-reconciler.d.ts +1 -2
  408. package/dist/core/context/default-schedules-reconciler.js +1 -2
  409. package/dist/core/context/default-schedules-runner.d.ts +0 -1
  410. package/dist/core/context/default-schedules-runner.js +44 -5
  411. package/dist/core/context/domain-index-reconciler.d.ts +3 -1
  412. package/dist/core/context/domain-index-reconciler.js +11 -5
  413. package/dist/core/context/domain-index-runner.d.ts +0 -1
  414. package/dist/core/context/domain-index-runner.js +9 -2
  415. package/dist/core/context/entity-mirror.d.ts +9 -7
  416. package/dist/core/context/entity-mirror.js +21 -9
  417. package/dist/core/context/entity-source-rename.d.ts +0 -1
  418. package/dist/core/context/entity-source-rename.js +9 -2
  419. package/dist/core/context/index-reconciler.d.ts +26 -5
  420. package/dist/core/context/index-reconciler.js +110 -56
  421. package/dist/core/context/policy-index-reconciler.d.ts +6 -7
  422. package/dist/core/context/policy-index-reconciler.js +6 -7
  423. package/dist/core/context/policy-index-runner.d.ts +2 -3
  424. package/dist/core/context/policy-index-runner.js +10 -3
  425. package/dist/core/context/reconciler-runner.d.ts +0 -1
  426. package/dist/core/context/reconciler-runner.js +46 -6
  427. package/dist/core/context/reconciler-section.d.ts +30 -0
  428. package/dist/core/context/reconciler-section.js +39 -0
  429. package/dist/core/context-builder-calendar.d.ts +36 -0
  430. package/dist/core/context-builder-calendar.js +245 -0
  431. package/dist/core/context-builder-conversation.d.ts +95 -0
  432. package/dist/core/context-builder-conversation.js +444 -0
  433. package/dist/core/context-builder-format.d.ts +8 -0
  434. package/dist/core/context-builder-format.js +22 -0
  435. package/dist/core/context-builder-projects.d.ts +11 -0
  436. package/dist/core/context-builder-projects.js +102 -0
  437. package/dist/core/context-builder-yesterday.d.ts +30 -0
  438. package/dist/core/context-builder-yesterday.js +198 -0
  439. package/dist/core/context-builder.d.ts +73 -124
  440. package/dist/core/context-builder.js +272 -903
  441. package/dist/core/context-file-serializer.d.ts +92 -0
  442. package/dist/core/context-file-serializer.js +126 -0
  443. package/dist/core/context-frontmatter-extract.d.ts +32 -0
  444. package/dist/core/context-frontmatter-extract.js +98 -0
  445. package/dist/core/context-frontmatter.d.ts +14 -1
  446. package/dist/core/context-frontmatter.js +180 -109
  447. package/dist/core/context-health.d.ts +0 -1
  448. package/dist/core/context-health.js +25 -14
  449. package/dist/core/context-paths.d.ts +128 -85
  450. package/dist/core/context-paths.js +190 -108
  451. package/dist/core/context-staleness.d.ts +0 -1
  452. package/dist/core/context-staleness.js +2 -3
  453. package/dist/core/context-validation/frontmatter.d.ts +73 -0
  454. package/dist/core/context-validation/frontmatter.js +216 -0
  455. package/dist/core/context-validation/index.d.ts +19 -0
  456. package/dist/core/context-validation/index.js +19 -0
  457. package/dist/core/context-validation/prepare-write.d.ts +94 -0
  458. package/dist/core/context-validation/prepare-write.js +145 -0
  459. package/dist/core/context-validation/routine-rulebook.d.ts +59 -0
  460. package/dist/core/context-validation/routine-rulebook.js +155 -0
  461. package/dist/core/context-validation/section.d.ts +40 -0
  462. package/dist/core/context-validation/section.js +90 -0
  463. package/dist/core/context-validation/snapshot-debounce.d.ts +51 -0
  464. package/dist/core/context-validation/snapshot-debounce.js +109 -0
  465. package/dist/core/context-validation/today.d.ts +84 -0
  466. package/dist/core/context-validation/today.js +167 -0
  467. package/dist/core/context-vault-aliases.d.ts +107 -0
  468. package/dist/core/context-vault-aliases.js +253 -0
  469. package/dist/core/custom-routine-scheduler.d.ts +5 -6
  470. package/dist/core/custom-routine-scheduler.js +3 -4
  471. package/dist/core/daemon-api-cli.d.ts +6 -6
  472. package/dist/core/daemon-api-cli.js +132 -33
  473. package/dist/core/dashboard-session-cleanup.d.ts +0 -1
  474. package/dist/core/dashboard-session-cleanup.js +0 -1
  475. package/dist/core/dashboard-session-controls.d.ts +0 -1
  476. package/dist/core/dashboard-session-controls.js +0 -1
  477. package/dist/core/delegated-connector-health.d.ts +0 -1
  478. package/dist/core/delegated-connector-health.js +0 -1
  479. package/dist/core/dispatcher-date-utils.d.ts +0 -1
  480. package/dist/core/dispatcher-date-utils.js +0 -1
  481. package/dist/core/dispatcher-error-handling.d.ts +13 -1
  482. package/dist/core/dispatcher-error-handling.js +69 -1
  483. package/dist/core/dispatcher-hourly-check.d.ts +73 -2
  484. package/dist/core/dispatcher-hourly-check.js +258 -153
  485. package/dist/core/dispatcher-message-handler.d.ts +32 -2
  486. package/dist/core/dispatcher-message-handler.js +310 -53
  487. package/dist/core/dispatcher-morning-routine.d.ts +38 -31
  488. package/dist/core/dispatcher-morning-routine.js +238 -156
  489. package/dist/core/dispatcher-prompt.d.ts +4 -2
  490. package/dist/core/dispatcher-prompt.js +19 -4
  491. package/dist/core/dispatcher-repository-helpers.d.ts +0 -1
  492. package/dist/core/dispatcher-repository-helpers.js +5 -2
  493. package/dist/core/dispatcher-result-processor.d.ts +20 -1
  494. package/dist/core/dispatcher-result-processor.js +94 -5
  495. package/dist/core/dispatcher-scheduled-browser-task.d.ts +91 -0
  496. package/dist/core/dispatcher-scheduled-browser-task.js +228 -0
  497. package/dist/core/dispatcher-scheduled-tasks.d.ts +69 -2
  498. package/dist/core/dispatcher-scheduled-tasks.js +452 -29
  499. package/dist/core/dispatcher-types.d.ts +140 -13
  500. package/dist/core/dispatcher-types.js +0 -1
  501. package/dist/core/dispatcher.d.ts +194 -5
  502. package/dist/core/dispatcher.js +487 -11
  503. package/dist/core/dm-freshness-metrics.d.ts +6 -6
  504. package/dist/core/dm-freshness-metrics.js +7 -7
  505. package/dist/core/dm-token-router.d.ts +58 -0
  506. package/dist/core/dm-token-router.js +58 -0
  507. package/dist/core/docs/citation-validator.d.ts +0 -1
  508. package/dist/core/docs/citation-validator.js +0 -1
  509. package/dist/core/docs/extract-terms.d.ts +0 -1
  510. package/dist/core/docs/extract-terms.js +0 -1
  511. package/dist/core/docs/indexer.d.ts +0 -1
  512. package/dist/core/docs/indexer.js +0 -1
  513. package/dist/core/drift-effects.d.ts +0 -1
  514. package/dist/core/drift-effects.js +6 -3
  515. package/dist/core/evening-review-verify.d.ts +163 -0
  516. package/dist/core/evening-review-verify.js +636 -0
  517. package/dist/core/event-bus.d.ts +0 -1
  518. package/dist/core/event-bus.js +0 -1
  519. package/dist/core/fetch-window-prompt-loader.d.ts +46 -0
  520. package/dist/core/fetch-window-prompt-loader.js +71 -0
  521. package/dist/core/git-project-docs.d.ts +0 -1
  522. package/dist/core/git-project-docs.js +13 -6
  523. package/dist/core/health-monitor.d.ts +2 -2
  524. package/dist/core/health-monitor.js +6 -3
  525. package/dist/core/heartbeat.d.ts +0 -1
  526. package/dist/core/heartbeat.js +0 -1
  527. package/dist/core/injection-policy.d.ts +107 -0
  528. package/dist/core/injection-policy.js +117 -0
  529. package/dist/core/integration-health.d.ts +0 -1
  530. package/dist/core/integration-health.js +1 -2
  531. package/dist/core/integration-lifecycle.d.ts +0 -1
  532. package/dist/core/integration-lifecycle.js +0 -1
  533. package/dist/core/integration-main-backend.d.ts +0 -1
  534. package/dist/core/integration-main-backend.js +11 -4
  535. package/dist/core/integration-probe.d.ts +0 -1
  536. package/dist/core/integration-probe.js +0 -1
  537. package/dist/core/management-md-write-lock.d.ts +1 -2
  538. package/dist/core/management-md-write-lock.js +1 -2
  539. package/dist/core/management-md.d.ts +24 -10
  540. package/dist/core/management-md.js +65 -33
  541. package/dist/core/management-registry.d.ts +16 -25
  542. package/dist/core/management-registry.js +32 -54
  543. package/dist/core/management-telemetry.d.ts +1 -2
  544. package/dist/core/management-telemetry.js +1 -2
  545. package/dist/core/message-recorder.d.ts +3 -4
  546. package/dist/core/message-recorder.js +3 -4
  547. package/dist/core/metrics.d.ts +88 -2
  548. package/dist/core/metrics.js +78 -3
  549. package/dist/core/migration-backup.d.ts +0 -1
  550. package/dist/core/migration-backup.js +11 -1
  551. package/dist/core/morning/agent-journal-appender.d.ts +264 -0
  552. package/dist/core/morning/agent-journal-appender.js +632 -0
  553. package/dist/core/morning/daily-journal-composer.d.ts +183 -0
  554. package/dist/core/morning/daily-journal-composer.js +421 -0
  555. package/dist/core/morning/handoff-parser.d.ts +43 -0
  556. package/dist/core/morning/handoff-parser.js +115 -0
  557. package/dist/core/morning/journal-skeleton-builder.d.ts +155 -0
  558. package/dist/core/morning/journal-skeleton-builder.js +301 -0
  559. package/dist/core/morning/orchestrator.d.ts +424 -0
  560. package/dist/core/morning/orchestrator.js +1230 -0
  561. package/dist/core/morning/parent-audit-emitter.d.ts +80 -0
  562. package/dist/core/morning/parent-audit-emitter.js +118 -0
  563. package/dist/core/morning/partial-extract-streak.d.ts +76 -0
  564. package/dist/core/morning/partial-extract-streak.js +165 -0
  565. package/dist/core/morning/roadmap-skeleton-builder.d.ts +158 -0
  566. package/dist/core/morning/roadmap-skeleton-builder.js +337 -0
  567. package/dist/core/output-language-policy.d.ts +0 -1
  568. package/dist/core/output-language-policy.js +7 -8
  569. package/dist/core/overview-write-lock.d.ts +0 -1
  570. package/dist/core/overview-write-lock.js +0 -1
  571. package/dist/core/path-compat.d.ts +0 -1
  572. package/dist/core/path-compat.js +0 -1
  573. package/dist/core/path-rewrite.d.ts +1 -2
  574. package/dist/core/path-rewrite.js +0 -1
  575. package/dist/core/policy-files.d.ts +39 -13
  576. package/dist/core/policy-files.js +62 -12
  577. package/dist/core/pre-pass-freshness.d.ts +27 -0
  578. package/dist/core/pre-pass-freshness.js +9 -0
  579. package/dist/core/previous-week-digest.d.ts +129 -0
  580. package/dist/core/previous-week-digest.js +256 -0
  581. package/dist/core/profile-questions/seed.d.ts +2 -3
  582. package/dist/core/profile-questions/seed.js +4 -4
  583. package/dist/core/profile-questions/slot-filled.d.ts +0 -1
  584. package/dist/core/profile-questions/slot-filled.js +0 -1
  585. package/dist/core/prompts.d.ts +0 -1
  586. package/dist/core/prompts.js +6 -7
  587. package/dist/core/quiet-hours-sync.d.ts +0 -1
  588. package/dist/core/quiet-hours-sync.js +7 -1
  589. package/dist/core/quiet-hours.d.ts +35 -0
  590. package/dist/core/quiet-hours.js +93 -0
  591. package/dist/core/read-sensitive-token-manager.d.ts +0 -1
  592. package/dist/core/read-sensitive-token-manager.js +0 -1
  593. package/dist/core/recurrence.d.ts +13 -1
  594. package/dist/core/recurrence.js +108 -14
  595. package/dist/core/reinstall.d.ts +5 -1
  596. package/dist/core/reinstall.js +12 -2
  597. package/dist/core/release-assets.d.ts +39 -4
  598. package/dist/core/release-assets.js +83 -8
  599. package/dist/core/repository-management-docs.d.ts +0 -1
  600. package/dist/core/repository-management-docs.js +32 -11
  601. package/dist/core/retention.d.ts +49 -4
  602. package/dist/core/retention.js +218 -5
  603. package/dist/core/review-context.d.ts +10 -1
  604. package/dist/core/review-context.js +51 -6
  605. package/dist/core/roadmap-horizon.d.ts +0 -1
  606. package/dist/core/roadmap-horizon.js +0 -1
  607. package/dist/core/roadmap-ids.d.ts +4 -6
  608. package/dist/core/roadmap-ids.js +4 -6
  609. package/dist/core/roadmap-maintenance.d.ts +212 -0
  610. package/dist/core/roadmap-maintenance.js +732 -0
  611. package/dist/core/roadmap-refresh-triggers.d.ts +0 -1
  612. package/dist/core/roadmap-refresh-triggers.js +0 -1
  613. package/dist/core/roadmap-truncate.d.ts +0 -1
  614. package/dist/core/roadmap-truncate.js +0 -1
  615. package/dist/core/roadmap-validate.d.ts +5 -1
  616. package/dist/core/roadmap-validate.js +12 -75
  617. package/dist/core/roadmap-write-lock.d.ts +0 -1
  618. package/dist/core/roadmap-write-lock.js +0 -1
  619. package/dist/core/routine-acquisition-plan.d.ts +43 -8
  620. package/dist/core/routine-acquisition-plan.js +99 -9
  621. package/dist/core/routine-fetch-window-retry.d.ts +40 -3
  622. package/dist/core/routine-fetch-window-retry.js +90 -9
  623. package/dist/core/routine-fetch-window-runner.d.ts +55 -22
  624. package/dist/core/routine-fetch-window-runner.js +287 -41
  625. package/dist/core/routine-windows.d.ts +17 -19
  626. package/dist/core/routine-windows.js +80 -44
  627. package/dist/core/schedule-insert-helper.d.ts +0 -1
  628. package/dist/core/schedule-insert-helper.js +0 -1
  629. package/dist/core/schedule-maintenance.d.ts +0 -1
  630. package/dist/core/schedule-maintenance.js +0 -1
  631. package/dist/core/scheduler.d.ts +179 -37
  632. package/dist/core/scheduler.js +614 -91
  633. package/dist/core/semaphore.d.ts +0 -1
  634. package/dist/core/semaphore.js +0 -1
  635. package/dist/core/session-gate.d.ts +0 -1
  636. package/dist/core/session-gate.js +0 -1
  637. package/dist/core/session-manager.d.ts +25 -7
  638. package/dist/core/session-manager.js +32 -16
  639. package/dist/core/signal-detector.d.ts +2 -3
  640. package/dist/core/signal-detector.js +3 -4
  641. package/dist/core/skeleton.d.ts +1 -2
  642. package/dist/core/skeleton.js +31 -32
  643. package/dist/core/skill-curation/apply-proposal.d.ts +0 -1
  644. package/dist/core/skill-curation/apply-proposal.js +0 -1
  645. package/dist/core/skill-curation/auto-revert.d.ts +0 -1
  646. package/dist/core/skill-curation/auto-revert.js +4 -5
  647. package/dist/core/skill-curation/classify-diff.d.ts +0 -1
  648. package/dist/core/skill-curation/classify-diff.js +0 -0
  649. package/dist/core/skill-curation/declarations.d.ts +0 -1
  650. package/dist/core/skill-curation/declarations.js +0 -1
  651. package/dist/core/skill-curation/knowledge-map.d.ts +0 -1
  652. package/dist/core/skill-curation/knowledge-map.js +0 -1
  653. package/dist/core/skill-curation/orphan-overlay.d.ts +2 -3
  654. package/dist/core/skill-curation/orphan-overlay.js +5 -6
  655. package/dist/core/skill-curation/overlay-store.d.ts +6 -4
  656. package/dist/core/skill-curation/overlay-store.js +12 -7
  657. package/dist/core/skill-curation/render/convention-notes.d.ts +0 -1
  658. package/dist/core/skill-curation/render/convention-notes.js +0 -1
  659. package/dist/core/skill-curation/render/cross-references.d.ts +0 -1
  660. package/dist/core/skill-curation/render/cross-references.js +0 -1
  661. package/dist/core/skill-curation/render/frontmatter-schema.d.ts +0 -1
  662. package/dist/core/skill-curation/render/frontmatter-schema.js +0 -1
  663. package/dist/core/skill-curation/render/index.d.ts +0 -1
  664. package/dist/core/skill-curation/render/index.js +0 -1
  665. package/dist/core/skill-curation/render/knowledge-layout.d.ts +0 -1
  666. package/dist/core/skill-curation/render/knowledge-layout.js +0 -1
  667. package/dist/core/skill-curation/render/routing-table.d.ts +0 -1
  668. package/dist/core/skill-curation/render/routing-table.js +0 -1
  669. package/dist/core/skill-curation/render/search-recipes.d.ts +0 -1
  670. package/dist/core/skill-curation/render/search-recipes.js +0 -1
  671. package/dist/core/skill-curation/run-token.d.ts +0 -1
  672. package/dist/core/skill-curation/run-token.js +0 -1
  673. package/dist/core/skill-curation/signals.d.ts +0 -1
  674. package/dist/core/skill-curation/signals.js +0 -1
  675. package/dist/core/skill-curation/smoke-test.d.ts +0 -1
  676. package/dist/core/skill-curation/smoke-test.js +0 -1
  677. package/dist/core/skill-curation/splicer.d.ts +0 -1
  678. package/dist/core/skill-curation/splicer.js +0 -1
  679. package/dist/core/skill-curation/workdir.d.ts +0 -1
  680. package/dist/core/skill-curation/workdir.js +0 -1
  681. package/dist/core/skill-source-paths.d.ts +0 -1
  682. package/dist/core/skill-source-paths.js +0 -1
  683. package/dist/core/skills-compiler-cli-renderer.d.ts +79 -0
  684. package/dist/core/skills-compiler-cli-renderer.js +289 -0
  685. package/dist/core/skills-compiler-denied-tools.d.ts +57 -0
  686. package/dist/core/skills-compiler-denied-tools.js +204 -0
  687. package/dist/core/skills-compiler-skill-index.d.ts +117 -0
  688. package/dist/core/skills-compiler-skill-index.js +262 -0
  689. package/dist/core/skills-compiler-tree.d.ts +38 -0
  690. package/dist/core/skills-compiler-tree.js +157 -0
  691. package/dist/core/skills-compiler-types.d.ts +46 -0
  692. package/dist/core/skills-compiler-types.js +1 -0
  693. package/dist/core/skills-compiler-variants.d.ts +117 -0
  694. package/dist/core/skills-compiler-variants.js +337 -0
  695. package/dist/core/skills-compiler.d.ts +169 -217
  696. package/dist/core/skills-compiler.js +385 -940
  697. package/dist/core/skills-manifest.d.ts +133 -1
  698. package/dist/core/skills-manifest.js +507 -40
  699. package/dist/core/system-reset.d.ts +1 -2
  700. package/dist/core/system-reset.js +1 -2
  701. package/dist/core/template-store.d.ts +2 -3
  702. package/dist/core/template-store.js +7 -4
  703. package/dist/core/template-versions.d.ts +1 -2
  704. package/dist/core/template-versions.js +1 -2
  705. package/dist/core/today-agent-plan.d.ts +0 -1
  706. package/dist/core/today-agent-plan.js +0 -1
  707. package/dist/core/today-direct-writer.d.ts +11 -2
  708. package/dist/core/today-direct-writer.js +42 -27
  709. package/dist/core/today-write-lock.d.ts +0 -1
  710. package/dist/core/today-write-lock.js +0 -1
  711. package/dist/core/trigger-dispatch.d.ts +0 -1
  712. package/dist/core/trigger-dispatch.js +0 -1
  713. package/dist/core/trigger-evaluator.d.ts +0 -1
  714. package/dist/core/trigger-evaluator.js +0 -1
  715. package/dist/core/user-skills-root.d.ts +24 -0
  716. package/dist/core/user-skills-root.js +29 -0
  717. package/dist/core/wiki/approval-queue.d.ts +0 -1
  718. package/dist/core/wiki/approval-queue.js +7 -3
  719. package/dist/core/wiki/bridge.d.ts +0 -1
  720. package/dist/core/wiki/bridge.js +0 -1
  721. package/dist/core/wiki/compile-lock.d.ts +0 -1
  722. package/dist/core/wiki/compile-lock.js +0 -1
  723. package/dist/core/wiki/compile-preview.d.ts +0 -1
  724. package/dist/core/wiki/compile-preview.js +0 -1
  725. package/dist/core/wiki/cost-estimate.d.ts +0 -1
  726. package/dist/core/wiki/cost-estimate.js +23 -3
  727. package/dist/core/wiki/dispatcher.d.ts +1 -21
  728. package/dist/core/wiki/dispatcher.js +0 -26
  729. package/dist/core/wiki/git-precompile.d.ts +9 -1
  730. package/dist/core/wiki/git-precompile.js +7 -2
  731. package/dist/core/wiki/import-migrate.d.ts +0 -1
  732. package/dist/core/wiki/import-migrate.js +0 -1
  733. package/dist/core/wiki/import-probe.d.ts +0 -1
  734. package/dist/core/wiki/import-probe.js +7 -5
  735. package/dist/core/wiki/index-cache.d.ts +0 -1
  736. package/dist/core/wiki/index-cache.js +0 -1
  737. package/dist/core/wiki/multi-url-dispatch.d.ts +0 -1
  738. package/dist/core/wiki/multi-url-dispatch.js +19 -9
  739. package/dist/core/wiki/wiki-fts.d.ts +0 -1
  740. package/dist/core/wiki/wiki-fts.js +0 -1
  741. package/dist/core/wiki/workspaces.d.ts +17 -2
  742. package/dist/core/wiki/workspaces.js +28 -17
  743. package/dist/core/wiki/write-strategy.d.ts +0 -1
  744. package/dist/core/wiki/write-strategy.js +19 -3
  745. package/dist/core/workdir.d.ts +38 -2
  746. package/dist/core/workdir.js +159 -17
  747. package/dist/db/agent-executions-store.d.ts +149 -0
  748. package/dist/db/agent-executions-store.js +209 -0
  749. package/dist/db/agents-store.d.ts +179 -0
  750. package/dist/db/agents-store.js +264 -0
  751. package/dist/db/automation-triggers.d.ts +0 -1
  752. package/dist/db/automation-triggers.js +0 -1
  753. package/dist/db/browser-automation-b4-config-store.d.ts +68 -0
  754. package/dist/db/browser-automation-b4-config-store.js +111 -0
  755. package/dist/db/browser-automation-purchase-primary-channels-store.d.ts +48 -0
  756. package/dist/db/browser-automation-purchase-primary-channels-store.js +88 -0
  757. package/dist/db/browser-automation-purchase-replies-store.d.ts +48 -0
  758. package/dist/db/browser-automation-purchase-replies-store.js +71 -0
  759. package/dist/db/browser-automation-purchase-tokens-store.d.ts +276 -0
  760. package/dist/db/browser-automation-purchase-tokens-store.js +483 -0
  761. package/dist/db/browser-automation-store.d.ts +37 -0
  762. package/dist/db/browser-automation-store.js +41 -0
  763. package/dist/db/browser-history-store.d.ts +231 -0
  764. package/dist/db/browser-history-store.js +601 -0
  765. package/dist/db/browser-task-action-log-store.d.ts +41 -0
  766. package/dist/db/browser-task-action-log-store.js +74 -0
  767. package/dist/db/browser-task-clarifications-store.d.ts +67 -0
  768. package/dist/db/browser-task-clarifications-store.js +118 -0
  769. package/dist/db/browser-task-final-confirm-tokens-store.d.ts +108 -0
  770. package/dist/db/browser-task-final-confirm-tokens-store.js +251 -0
  771. package/dist/db/browser-task-store.d.ts +114 -0
  772. package/dist/db/browser-task-store.js +250 -0
  773. package/dist/db/client.d.ts +0 -1
  774. package/dist/db/client.js +0 -1
  775. package/dist/db/entities-store.d.ts +6 -7
  776. package/dist/db/entities-store.js +5 -6
  777. package/dist/db/hourly-check-signals.d.ts +0 -1
  778. package/dist/db/hourly-check-signals.js +121 -36
  779. package/dist/db/integration-probe-store.d.ts +0 -1
  780. package/dist/db/integration-probe-store.js +0 -1
  781. package/dist/db/integrations-store.d.ts +0 -1
  782. package/dist/db/integrations-store.js +0 -1
  783. package/dist/db/managed-chromium-sites-store.d.ts +110 -0
  784. package/dist/db/managed-chromium-sites-store.js +174 -0
  785. package/dist/db/managed-chromium-state.d.ts +58 -0
  786. package/dist/db/managed-chromium-state.js +104 -0
  787. package/dist/db/managed-tasks-store.d.ts +0 -1
  788. package/dist/db/managed-tasks-store.js +0 -1
  789. package/dist/db/management-parse-failures-store.d.ts +0 -1
  790. package/dist/db/management-parse-failures-store.js +0 -1
  791. package/dist/db/migrations/context-vault-restructure.d.ts +263 -0
  792. package/dist/db/migrations/context-vault-restructure.js +1384 -0
  793. package/dist/db/migrations.d.ts +111 -0
  794. package/dist/db/migrations.js +476 -0
  795. package/dist/db/observations.d.ts +1 -2
  796. package/dist/db/observations.js +13 -4
  797. package/dist/db/recurring-schedules.d.ts +44 -3
  798. package/dist/db/recurring-schedules.js +116 -21
  799. package/dist/db/repositories-store.d.ts +2 -2
  800. package/dist/db/repositories-store.js +41 -4
  801. package/dist/db/runtime-state.d.ts +32 -2
  802. package/dist/db/runtime-state.js +33 -2
  803. package/dist/db/schema.d.ts +0 -1
  804. package/dist/db/schema.js +923 -54
  805. package/dist/db/sot-bindings-store.d.ts +0 -1
  806. package/dist/db/sot-bindings-store.js +0 -1
  807. package/dist/db/voice-transcripts-store.d.ts +0 -1
  808. package/dist/db/voice-transcripts-store.js +0 -1
  809. package/dist/db/wiki-store.d.ts +0 -1
  810. package/dist/db/wiki-store.js +3 -1
  811. package/dist/index.d.ts +0 -1
  812. package/dist/index.js +408 -1522
  813. package/dist/init.d.ts +0 -1
  814. package/dist/init.js +0 -2
  815. package/dist/log-buffer.d.ts +0 -1
  816. package/dist/log-buffer.js +0 -2
  817. package/dist/logging.d.ts +0 -1
  818. package/dist/logging.js +0 -2
  819. package/dist/management-rules.d.ts +0 -1
  820. package/dist/management-rules.js +0 -1
  821. package/dist/messaging/browser-task-mcp-notifier.d.ts +77 -0
  822. package/dist/messaging/browser-task-mcp-notifier.js +164 -0
  823. package/dist/messaging/browser-task-screenshot-attachment.d.ts +62 -0
  824. package/dist/messaging/browser-task-screenshot-attachment.js +115 -0
  825. package/dist/messaging/constants.d.ts +0 -1
  826. package/dist/messaging/constants.js +0 -1
  827. package/dist/messaging/final-confirm-system-message-sender.d.ts +53 -0
  828. package/dist/messaging/final-confirm-system-message-sender.js +165 -0
  829. package/dist/messaging/magic-phrase.d.ts +16 -1
  830. package/dist/messaging/magic-phrase.js +60 -3
  831. package/dist/messaging/owner-channels.d.ts +40 -1
  832. package/dist/messaging/owner-channels.js +59 -1
  833. package/dist/messaging/purchase-system-message-sender.d.ts +54 -0
  834. package/dist/messaging/purchase-system-message-sender.js +213 -0
  835. package/dist/messaging/setup-welcome-dm.d.ts +0 -1
  836. package/dist/messaging/setup-welcome-dm.js +0 -1
  837. package/dist/messaging/url-extract.d.ts +0 -1
  838. package/dist/messaging/url-extract.js +5 -1
  839. package/dist/observers/browser-history-poller.d.ts +113 -0
  840. package/dist/observers/browser-history-poller.js +404 -0
  841. package/dist/observers/calendar-poller.d.ts +2 -1
  842. package/dist/observers/calendar-poller.js +76 -55
  843. package/dist/observers/context-index-reconciler-observer.d.ts +0 -1
  844. package/dist/observers/context-index-reconciler-observer.js +0 -1
  845. package/dist/observers/delegated-probe-observer.d.ts +0 -1
  846. package/dist/observers/delegated-probe-observer.js +0 -1
  847. package/dist/observers/delegated-sync-worker.d.ts +70 -10
  848. package/dist/observers/delegated-sync-worker.js +138 -12
  849. package/dist/observers/entity-mirror-observer.d.ts +0 -1
  850. package/dist/observers/entity-mirror-observer.js +0 -1
  851. package/dist/observers/git-delegated-cron.d.ts +0 -1
  852. package/dist/observers/git-delegated-cron.js +0 -1
  853. package/dist/observers/git-event-classifier.d.ts +0 -1
  854. package/dist/observers/git-event-classifier.js +0 -1
  855. package/dist/observers/git-watcher.d.ts +22 -1
  856. package/dist/observers/git-watcher.js +38 -9
  857. package/dist/observers/github-poller-classifier.d.ts +0 -1
  858. package/dist/observers/github-poller-classifier.js +0 -1
  859. package/dist/observers/github-poller.d.ts +3 -1
  860. package/dist/observers/github-poller.js +28 -3
  861. package/dist/observers/imminent-event-scheduler.d.ts +2 -1
  862. package/dist/observers/imminent-event-scheduler.js +30 -2
  863. package/dist/observers/mail-poller.d.ts +0 -1
  864. package/dist/observers/mail-poller.js +45 -18
  865. package/dist/observers/mail-reconciliation.d.ts +1 -2
  866. package/dist/observers/mail-reconciliation.js +1 -2
  867. package/dist/observers/manager.d.ts +7 -8
  868. package/dist/observers/manager.js +7 -8
  869. package/dist/observers/notion-poller.d.ts +2 -1
  870. package/dist/observers/notion-poller.js +44 -7
  871. package/dist/observers/observation-summarizer/index.d.ts +0 -1
  872. package/dist/observers/observation-summarizer/index.js +0 -1
  873. package/dist/observers/observation-summarizer/pre-filter.d.ts +0 -1
  874. package/dist/observers/observation-summarizer/pre-filter.js +0 -1
  875. package/dist/observers/observation-summarizer/response-parser.d.ts +0 -1
  876. package/dist/observers/observation-summarizer/response-parser.js +7 -7
  877. package/dist/observers/observation-summarizer/summarizer-client.d.ts +0 -1
  878. package/dist/observers/observation-summarizer/summarizer-client.js +0 -1
  879. package/dist/observers/observation-summarizer/summarizer-prompts.d.ts +0 -1
  880. package/dist/observers/observation-summarizer/summarizer-prompts.js +0 -1
  881. package/dist/observers/observation-summarizer/worker.d.ts +2 -1
  882. package/dist/observers/observation-summarizer/worker.js +25 -1
  883. package/dist/observers/obsidian-watcher.d.ts +0 -1
  884. package/dist/observers/obsidian-watcher.js +0 -1
  885. package/dist/observers/poll-guard.d.ts +62 -0
  886. package/dist/observers/poll-guard.js +88 -0
  887. package/dist/observers/primary-vault-watcher.d.ts +0 -1
  888. package/dist/observers/primary-vault-watcher.js +0 -1
  889. package/dist/observers/repository-management-cron.d.ts +0 -1
  890. package/dist/observers/repository-management-cron.js +0 -1
  891. package/dist/observers/skill-curation-walker.d.ts +0 -1
  892. package/dist/observers/skill-curation-walker.js +0 -1
  893. package/dist/safety/absolute-block-audit.d.ts +17 -1
  894. package/dist/safety/absolute-block-audit.js +28 -3
  895. package/dist/safety/agent-write-tracker.d.ts +42 -2
  896. package/dist/safety/agent-write-tracker.js +81 -2
  897. package/dist/safety/always-disallowed.d.ts +93 -3
  898. package/dist/safety/always-disallowed.js +504 -20
  899. package/dist/safety/audit.d.ts +37 -6
  900. package/dist/safety/audit.js +263 -15
  901. package/dist/safety/integration-write-tracker.d.ts +0 -1
  902. package/dist/safety/integration-write-tracker.js +0 -1
  903. package/dist/safety/outbound-purchase-guard.d.ts +60 -0
  904. package/dist/safety/outbound-purchase-guard.js +82 -0
  905. package/dist/safety/risk-classifier.d.ts +21 -6
  906. package/dist/safety/risk-classifier.js +296 -70
  907. package/dist/safety/subprocess-block-scanner.d.ts +88 -0
  908. package/dist/safety/subprocess-block-scanner.js +176 -0
  909. package/dist/scheduler/hourly-check-gate.d.ts +23 -10
  910. package/dist/scheduler/hourly-check-gate.js +11 -7
  911. package/dist/secrets/backend-api-key-env.d.ts +0 -1
  912. package/dist/secrets/backend-api-key-env.js +1 -1
  913. package/dist/secrets/codex-home-materializer.d.ts +0 -1
  914. package/dist/secrets/codex-home-materializer.js +0 -1
  915. package/dist/secrets/encrypted-blob-store.d.ts +0 -1
  916. package/dist/secrets/encrypted-blob-store.js +0 -1
  917. package/dist/secrets/platform-secret-store.d.ts +0 -1
  918. package/dist/secrets/platform-secret-store.js +0 -1
  919. package/dist/secrets/redaction.d.ts +0 -1
  920. package/dist/secrets/redaction.js +0 -1
  921. package/dist/secrets/secret-broker.d.ts +0 -2
  922. package/dist/secrets/secret-broker.js +0 -4
  923. package/dist/secrets/secret-names.d.ts +1 -2
  924. package/dist/secrets/secret-names.js +0 -2
  925. package/dist/secrets/secret-store.d.ts +0 -1
  926. package/dist/secrets/secret-store.js +0 -1
  927. package/dist/secrets/types.d.ts +0 -1
  928. package/dist/secrets/types.js +0 -1
  929. package/dist/services/apple-calendar/caldav-client.d.ts +0 -1
  930. package/dist/services/apple-calendar/caldav-client.js +0 -1
  931. package/dist/services/apple-calendar/caldav-codec.d.ts +0 -1
  932. package/dist/services/apple-calendar/caldav-codec.js +0 -1
  933. package/dist/services/apple-calendar/index.d.ts +0 -1
  934. package/dist/services/apple-calendar/index.js +0 -1
  935. package/dist/services/apple-calendar/service.d.ts +0 -1
  936. package/dist/services/apple-calendar/service.js +0 -1
  937. package/dist/services/apple-calendar/types.d.ts +0 -1
  938. package/dist/services/apple-calendar/types.js +0 -1
  939. package/dist/services/attachments/hardlink.d.ts +0 -1
  940. package/dist/services/attachments/hardlink.js +0 -1
  941. package/dist/services/attachments/sanitize.d.ts +0 -1
  942. package/dist/services/attachments/sanitize.js +0 -1
  943. package/dist/services/attachments/store.d.ts +0 -1
  944. package/dist/services/attachments/store.js +1 -3
  945. package/dist/services/browser-history/automation/browser-task-tools/dom-snapshot-output.d.ts +48 -0
  946. package/dist/services/browser-history/automation/browser-task-tools/dom-snapshot-output.js +98 -0
  947. package/dist/services/browser-history/automation/browser-task-tools/extract-cap.d.ts +76 -0
  948. package/dist/services/browser-history/automation/browser-task-tools/extract-cap.js +79 -0
  949. package/dist/services/browser-history/automation/browser-task-tools/extract-output.d.ts +66 -0
  950. package/dist/services/browser-history/automation/browser-task-tools/extract-output.js +69 -0
  951. package/dist/services/browser-history/automation/browser-task-tools/final-confirm-gate.d.ts +129 -0
  952. package/dist/services/browser-history/automation/browser-task-tools/final-confirm-gate.js +150 -0
  953. package/dist/services/browser-history/automation/browser-task-tools/loop-guard.d.ts +95 -0
  954. package/dist/services/browser-history/automation/browser-task-tools/loop-guard.js +123 -0
  955. package/dist/services/browser-history/automation/browser-task-tools/navigate-guard.d.ts +54 -0
  956. package/dist/services/browser-history/automation/browser-task-tools/navigate-guard.js +62 -0
  957. package/dist/services/browser-history/automation/browser-task-tools/schemas.d.ts +201 -0
  958. package/dist/services/browser-history/automation/browser-task-tools/schemas.js +248 -0
  959. package/dist/services/browser-history/automation/browser-task-tools/screenshot-output.d.ts +76 -0
  960. package/dist/services/browser-history/automation/browser-task-tools/screenshot-output.js +101 -0
  961. package/dist/services/browser-history/automation/browser-task-tools/server.d.ts +240 -0
  962. package/dist/services/browser-history/automation/browser-task-tools/server.js +1016 -0
  963. package/dist/services/browser-history/automation/cdp-network-interception.d.ts +74 -0
  964. package/dist/services/browser-history/automation/cdp-network-interception.js +106 -0
  965. package/dist/services/browser-history/automation/egress-denylist.d.ts +167 -0
  966. package/dist/services/browser-history/automation/egress-denylist.js +452 -0
  967. package/dist/services/browser-history/automation/external-content.d.ts +72 -0
  968. package/dist/services/browser-history/automation/external-content.js +0 -0
  969. package/dist/services/browser-history/automation/final-confirm-handler.d.ts +178 -0
  970. package/dist/services/browser-history/automation/final-confirm-handler.js +462 -0
  971. package/dist/services/browser-history/automation/lite-final-confirm-tokens.d.ts +100 -0
  972. package/dist/services/browser-history/automation/lite-final-confirm-tokens.js +126 -0
  973. package/dist/services/browser-history/automation/payment-path-blocker.d.ts +62 -0
  974. package/dist/services/browser-history/automation/payment-path-blocker.js +113 -0
  975. package/dist/services/browser-history/automation/purchase-handler.d.ts +344 -0
  976. package/dist/services/browser-history/automation/purchase-handler.js +666 -0
  977. package/dist/services/browser-history/automation/purchase-tokens.d.ts +265 -0
  978. package/dist/services/browser-history/automation/purchase-tokens.js +271 -0
  979. package/dist/services/browser-history/automation/site-registry.d.ts +176 -0
  980. package/dist/services/browser-history/automation/site-registry.js +290 -0
  981. package/dist/services/browser-history/automation/trace-store-paths.d.ts +80 -0
  982. package/dist/services/browser-history/automation/trace-store-paths.js +119 -0
  983. package/dist/services/browser-history/automation/trace-store.d.ts +29 -0
  984. package/dist/services/browser-history/automation/trace-store.js +63 -0
  985. package/dist/services/browser-history/cleanup-interests-reflection.d.ts +39 -0
  986. package/dist/services/browser-history/cleanup-interests-reflection.js +204 -0
  987. package/dist/services/browser-history/detectors/atlas.d.ts +2 -0
  988. package/dist/services/browser-history/detectors/atlas.js +4 -0
  989. package/dist/services/browser-history/detectors/chrome.d.ts +2 -0
  990. package/dist/services/browser-history/detectors/chrome.js +4 -0
  991. package/dist/services/browser-history/detectors/chromium.d.ts +2 -0
  992. package/dist/services/browser-history/detectors/chromium.js +193 -0
  993. package/dist/services/browser-history/detectors/comet.d.ts +2 -0
  994. package/dist/services/browser-history/detectors/comet.js +4 -0
  995. package/dist/services/browser-history/detectors/registry.d.ts +15 -0
  996. package/dist/services/browser-history/detectors/registry.js +82 -0
  997. package/dist/services/browser-history/history-mtime.d.ts +8 -0
  998. package/dist/services/browser-history/history-mtime.js +31 -0
  999. package/dist/services/browser-history/interests-reflection-lock.d.ts +26 -0
  1000. package/dist/services/browser-history/interests-reflection-lock.js +84 -0
  1001. package/dist/services/browser-history/lifecycle/chromium-install.d.ts +78 -0
  1002. package/dist/services/browser-history/lifecycle/chromium-install.js +206 -0
  1003. package/dist/services/browser-history/lifecycle/chromium-launcher.d.ts +77 -0
  1004. package/dist/services/browser-history/lifecycle/chromium-launcher.js +288 -0
  1005. package/dist/services/browser-history/lifecycle/failure-escalation.d.ts +3 -0
  1006. package/dist/services/browser-history/lifecycle/failure-escalation.js +54 -0
  1007. package/dist/services/browser-history/lifecycle/health-check.d.ts +8 -0
  1008. package/dist/services/browser-history/lifecycle/health-check.js +17 -0
  1009. package/dist/services/browser-history/lifecycle/platform.d.ts +99 -0
  1010. package/dist/services/browser-history/lifecycle/platform.js +597 -0
  1011. package/dist/services/browser-history/lifecycle/supervisor.d.ts +24 -0
  1012. package/dist/services/browser-history/lifecycle/supervisor.js +334 -0
  1013. package/dist/services/browser-history/managed-chromium/cdp-connect.d.ts +110 -0
  1014. package/dist/services/browser-history/managed-chromium/cdp-connect.js +171 -0
  1015. package/dist/services/browser-history/managed-chromium/instance-a-config.d.ts +116 -0
  1016. package/dist/services/browser-history/managed-chromium/instance-a-config.js +164 -0
  1017. package/dist/services/browser-history/managed-chromium/instance-a-launcher.d.ts +82 -0
  1018. package/dist/services/browser-history/managed-chromium/instance-a-launcher.js +200 -0
  1019. package/dist/services/browser-history/managed-chromium/managed-chromium-supervisor.d.ts +69 -0
  1020. package/dist/services/browser-history/managed-chromium/managed-chromium-supervisor.js +334 -0
  1021. package/dist/services/browser-history/managed-chromium/reauth-detector.d.ts +60 -0
  1022. package/dist/services/browser-history/managed-chromium/reauth-detector.js +179 -0
  1023. package/dist/services/browser-history/managed-chromium/sandbox-install.d.ts +69 -0
  1024. package/dist/services/browser-history/managed-chromium/sandbox-install.js +123 -0
  1025. package/dist/services/browser-history/managed-chromium/sandbox-launcher.d.ts +117 -0
  1026. package/dist/services/browser-history/managed-chromium/sandbox-launcher.js +244 -0
  1027. package/dist/services/browser-history/managed-chromium/setup-bootstrap.d.ts +149 -0
  1028. package/dist/services/browser-history/managed-chromium/setup-bootstrap.js +404 -0
  1029. package/dist/services/browser-history/managed-chromium/site-bootstrap.d.ts +133 -0
  1030. package/dist/services/browser-history/managed-chromium/site-bootstrap.js +360 -0
  1031. package/dist/services/browser-history/managed-chromium/supervisor-config.d.ts +75 -0
  1032. package/dist/services/browser-history/managed-chromium/supervisor-config.js +146 -0
  1033. package/dist/services/browser-history/managed-chromium/types.d.ts +199 -0
  1034. package/dist/services/browser-history/managed-chromium/types.js +116 -0
  1035. package/dist/services/browser-history/pipeline/amazon-extractor.d.ts +11 -0
  1036. package/dist/services/browser-history/pipeline/amazon-extractor.js +33 -0
  1037. package/dist/services/browser-history/pipeline/classifier.d.ts +7 -0
  1038. package/dist/services/browser-history/pipeline/classifier.js +208 -0
  1039. package/dist/services/browser-history/pipeline/cluster-extractor.d.ts +76 -0
  1040. package/dist/services/browser-history/pipeline/cluster-extractor.js +271 -0
  1041. package/dist/services/browser-history/pipeline/interests-block.d.ts +99 -0
  1042. package/dist/services/browser-history/pipeline/interests-block.js +333 -0
  1043. package/dist/services/browser-history/pipeline/meaningful-filter.d.ts +47 -0
  1044. package/dist/services/browser-history/pipeline/meaningful-filter.js +228 -0
  1045. package/dist/services/browser-history/pipeline/offer-rate-limit.d.ts +75 -0
  1046. package/dist/services/browser-history/pipeline/offer-rate-limit.js +188 -0
  1047. package/dist/services/browser-history/pipeline/offer-triggers.d.ts +150 -0
  1048. package/dist/services/browser-history/pipeline/offer-triggers.js +164 -0
  1049. package/dist/services/browser-history/pipeline/pre-morning-digest.d.ts +118 -0
  1050. package/dist/services/browser-history/pipeline/pre-morning-digest.js +399 -0
  1051. package/dist/services/browser-history/pipeline/project-matcher.d.ts +26 -0
  1052. package/dist/services/browser-history/pipeline/project-matcher.js +314 -0
  1053. package/dist/services/browser-history/pipeline/redactor.d.ts +15 -0
  1054. package/dist/services/browser-history/pipeline/redactor.js +119 -0
  1055. package/dist/services/browser-history/pipeline/reload-detector.d.ts +6 -0
  1056. package/dist/services/browser-history/pipeline/reload-detector.js +16 -0
  1057. package/dist/services/browser-history/pipeline/sensitive-hosts.d.ts +2 -0
  1058. package/dist/services/browser-history/pipeline/sensitive-hosts.js +173 -0
  1059. package/dist/services/browser-history/pipeline/summarizer.d.ts +52 -0
  1060. package/dist/services/browser-history/pipeline/summarizer.js +97 -0
  1061. package/dist/services/browser-history/pipeline/weekly-interests-summary.d.ts +139 -0
  1062. package/dist/services/browser-history/pipeline/weekly-interests-summary.js +227 -0
  1063. package/dist/services/browser-history/readers/chromium-reader.d.ts +30 -0
  1064. package/dist/services/browser-history/readers/chromium-reader.js +139 -0
  1065. package/dist/services/browser-history/readers/snapshot.d.ts +19 -0
  1066. package/dist/services/browser-history/readers/snapshot.js +67 -0
  1067. package/dist/services/browser-history/refresh-interests-reflection.d.ts +125 -0
  1068. package/dist/services/browser-history/refresh-interests-reflection.js +424 -0
  1069. package/dist/services/browser-history/types.d.ts +60 -0
  1070. package/dist/services/browser-history/types.js +1 -0
  1071. package/dist/services/browser-task/browser-task-allowlist.d.ts +107 -0
  1072. package/dist/services/browser-task/browser-task-allowlist.js +247 -0
  1073. package/dist/services/browser-task/browser-task-deadline-scanner.d.ts +76 -0
  1074. package/dist/services/browser-task/browser-task-deadline-scanner.js +68 -0
  1075. package/dist/services/browser-task/browser-task-driver.d.ts +188 -0
  1076. package/dist/services/browser-task/browser-task-driver.js +714 -0
  1077. package/dist/services/browser-task/browser-task-runner.d.ts +166 -0
  1078. package/dist/services/browser-task/browser-task-runner.js +781 -0
  1079. package/dist/services/browser-task/browser-task-slots.d.ts +212 -0
  1080. package/dist/services/browser-task/browser-task-slots.js +404 -0
  1081. package/dist/services/browser-task/browser-task-transition-events.d.ts +76 -0
  1082. package/dist/services/browser-task/browser-task-transition-events.js +80 -0
  1083. package/dist/services/calendar/outlook/graph-calendar-client.d.ts +0 -1
  1084. package/dist/services/calendar/outlook/graph-calendar-client.js +0 -1
  1085. package/dist/services/calendar.d.ts +0 -1
  1086. package/dist/services/calendar.js +21 -16
  1087. package/dist/services/delegated-backend-invoker.d.ts +0 -1
  1088. package/dist/services/delegated-backend-invoker.js +8 -2
  1089. package/dist/services/delegated-invoker-audit.d.ts +0 -1
  1090. package/dist/services/delegated-invoker-audit.js +5 -2
  1091. package/dist/services/delegated-invoker-cache-hits.d.ts +0 -1
  1092. package/dist/services/delegated-invoker-cache-hits.js +0 -1
  1093. package/dist/services/delegated-invoker-janitors.d.ts +0 -1
  1094. package/dist/services/delegated-invoker-janitors.js +0 -1
  1095. package/dist/services/delegated-invoker-utils.d.ts +0 -1
  1096. package/dist/services/delegated-invoker-utils.js +0 -1
  1097. package/dist/services/delegated-proxy-config.d.ts +3 -3
  1098. package/dist/services/delegated-proxy-config.js +0 -1
  1099. package/dist/services/delegated-task-result-cache.d.ts +0 -1
  1100. package/dist/services/delegated-task-result-cache.js +0 -0
  1101. package/dist/services/delegated-task-runtime.d.ts +0 -1
  1102. package/dist/services/delegated-task-runtime.js +0 -1
  1103. package/dist/services/delegated-task-session-pool.d.ts +0 -1
  1104. package/dist/services/delegated-task-session-pool.js +0 -1
  1105. package/dist/services/delegated-tool-runtime.d.ts +0 -1
  1106. package/dist/services/delegated-tool-runtime.js +0 -1
  1107. package/dist/services/fts5.d.ts +0 -1
  1108. package/dist/services/fts5.js +0 -1
  1109. package/dist/services/git-account-registry.d.ts +0 -1
  1110. package/dist/services/git-account-registry.js +0 -1
  1111. package/dist/services/github.d.ts +9 -40
  1112. package/dist/services/github.js +9 -107
  1113. package/dist/services/gmail-classifier.d.ts +0 -1
  1114. package/dist/services/gmail-classifier.js +0 -1
  1115. package/dist/services/gmail.d.ts +0 -1
  1116. package/dist/services/gmail.js +31 -52
  1117. package/dist/services/google-auth.d.ts +0 -1
  1118. package/dist/services/google-auth.js +0 -1
  1119. package/dist/services/integrations/extract-write-item-id.d.ts +5 -3
  1120. package/dist/services/integrations/extract-write-item-id.js +6 -1
  1121. package/dist/services/integrations/reconcile.d.ts +0 -1
  1122. package/dist/services/integrations/reconcile.js +0 -1
  1123. package/dist/services/integrations/snapshot-partitions.d.ts +0 -1
  1124. package/dist/services/integrations/snapshot-partitions.js +8 -1
  1125. package/dist/services/journal/render.d.ts +0 -1
  1126. package/dist/services/journal/render.js +0 -1
  1127. package/dist/services/journal/writer.d.ts +0 -1
  1128. package/dist/services/journal/writer.js +0 -1
  1129. package/dist/services/mail/account-registry.d.ts +0 -1
  1130. package/dist/services/mail/account-registry.js +7 -3
  1131. package/dist/services/mail/gmail/auth-failure-classifier.d.ts +0 -1
  1132. package/dist/services/mail/gmail/auth-failure-classifier.js +0 -1
  1133. package/dist/services/mail/gmail/gmail-provider.d.ts +0 -1
  1134. package/dist/services/mail/gmail/gmail-provider.js +0 -1
  1135. package/dist/services/mail/gmail/legacy-row.d.ts +0 -1
  1136. package/dist/services/mail/gmail/legacy-row.js +0 -1
  1137. package/dist/services/mail/gmail/poll-cursor.d.ts +0 -1
  1138. package/dist/services/mail/gmail/poll-cursor.js +0 -1
  1139. package/dist/services/mail/html-to-plaintext.d.ts +0 -1
  1140. package/dist/services/mail/html-to-plaintext.js +0 -1
  1141. package/dist/services/mail/imap/app-password.d.ts +0 -1
  1142. package/dist/services/mail/imap/app-password.js +0 -1
  1143. package/dist/services/mail/imap/auth-failure-classifier.d.ts +0 -1
  1144. package/dist/services/mail/imap/auth-failure-classifier.js +0 -1
  1145. package/dist/services/mail/imap/capabilities.d.ts +0 -1
  1146. package/dist/services/mail/imap/capabilities.js +0 -1
  1147. package/dist/services/mail/imap/client.d.ts +0 -1
  1148. package/dist/services/mail/imap/client.js +0 -1
  1149. package/dist/services/mail/imap/cursor.d.ts +0 -1
  1150. package/dist/services/mail/imap/cursor.js +0 -1
  1151. package/dist/services/mail/imap/folder-resolver.d.ts +0 -1
  1152. package/dist/services/mail/imap/folder-resolver.js +0 -1
  1153. package/dist/services/mail/imap/icloud-provider.d.ts +0 -1
  1154. package/dist/services/mail/imap/icloud-provider.js +0 -1
  1155. package/dist/services/mail/imap/imap-provider-base.d.ts +0 -1
  1156. package/dist/services/mail/imap/imap-provider-base.js +12 -7
  1157. package/dist/services/mail/imap/query-translator.d.ts +0 -1
  1158. package/dist/services/mail/imap/query-translator.js +0 -1
  1159. package/dist/services/mail/imap/reconcile-planner.d.ts +0 -1
  1160. package/dist/services/mail/imap/reconcile-planner.js +0 -1
  1161. package/dist/services/mail/imap/reply-mime.d.ts +0 -1
  1162. package/dist/services/mail/imap/reply-mime.js +0 -1
  1163. package/dist/services/mail/imap/yahoo-provider.d.ts +0 -1
  1164. package/dist/services/mail/imap/yahoo-provider.js +0 -1
  1165. package/dist/services/mail/mail-search.d.ts +0 -1
  1166. package/dist/services/mail/mail-search.js +0 -1
  1167. package/dist/services/mail/outlook/auth-failure-classifier.d.ts +0 -1
  1168. package/dist/services/mail/outlook/auth-failure-classifier.js +0 -1
  1169. package/dist/services/mail/outlook/client-config.d.ts +0 -1
  1170. package/dist/services/mail/outlook/client-config.js +0 -1
  1171. package/dist/services/mail/outlook/delta-cursor.d.ts +0 -1
  1172. package/dist/services/mail/outlook/delta-cursor.js +0 -1
  1173. package/dist/services/mail/outlook/graph-client.d.ts +0 -1
  1174. package/dist/services/mail/outlook/graph-client.js +0 -1
  1175. package/dist/services/mail/outlook/msal-app-factory.d.ts +0 -1
  1176. package/dist/services/mail/outlook/msal-app-factory.js +0 -1
  1177. package/dist/services/mail/outlook/msal-cache-plugin.d.ts +0 -1
  1178. package/dist/services/mail/outlook/msal-cache-plugin.js +0 -1
  1179. package/dist/services/mail/outlook/oauth-device-code.d.ts +0 -1
  1180. package/dist/services/mail/outlook/oauth-device-code.js +0 -1
  1181. package/dist/services/mail/outlook/oauth-loopback.d.ts +0 -1
  1182. package/dist/services/mail/outlook/oauth-loopback.js +0 -1
  1183. package/dist/services/mail/outlook/outlook-provider.d.ts +0 -1
  1184. package/dist/services/mail/outlook/outlook-provider.js +0 -1
  1185. package/dist/services/mail/outlook/query-translator.d.ts +0 -1
  1186. package/dist/services/mail/outlook/query-translator.js +0 -1
  1187. package/dist/services/mail/provider.d.ts +0 -1
  1188. package/dist/services/mail/provider.js +0 -1
  1189. package/dist/services/mail/query-utils.d.ts +0 -1
  1190. package/dist/services/mail/query-utils.js +0 -1
  1191. package/dist/services/mail-classifier.d.ts +0 -1
  1192. package/dist/services/mail-classifier.js +0 -1
  1193. package/dist/services/mail-ingestion.d.ts +0 -1
  1194. package/dist/services/mail-ingestion.js +0 -1
  1195. package/dist/services/mcp/auto-probe.d.ts +0 -1
  1196. package/dist/services/mcp/auto-probe.js +0 -1
  1197. package/dist/services/mcp/generators/claude.d.ts +0 -1
  1198. package/dist/services/mcp/generators/claude.js +0 -1
  1199. package/dist/services/mcp/generators/codex.d.ts +0 -1
  1200. package/dist/services/mcp/generators/codex.js +0 -1
  1201. package/dist/services/mcp/generators/gemini.d.ts +0 -1
  1202. package/dist/services/mcp/generators/gemini.js +0 -1
  1203. package/dist/services/mcp/generators/index.d.ts +1 -1
  1204. package/dist/services/mcp/generators/index.js +3 -1
  1205. package/dist/services/mcp/generators/types.d.ts +0 -1
  1206. package/dist/services/mcp/generators/types.js +0 -1
  1207. package/dist/services/mcp/probe.d.ts +0 -1
  1208. package/dist/services/mcp/probe.js +7 -1
  1209. package/dist/services/mcp/registry.d.ts +0 -1
  1210. package/dist/services/mcp/registry.js +0 -1
  1211. package/dist/services/mcp/risk.d.ts +1 -2
  1212. package/dist/services/mcp/risk.js +1 -2
  1213. package/dist/services/mcp/sdk-observations-server.d.ts +59 -0
  1214. package/dist/services/mcp/sdk-observations-server.js +160 -0
  1215. package/dist/services/mcp/session-materializer.d.ts +2 -3
  1216. package/dist/services/mcp/session-materializer.js +15 -12
  1217. package/dist/services/mcp/tool-audit.d.ts +0 -1
  1218. package/dist/services/mcp/tool-audit.js +0 -1
  1219. package/dist/services/mcp/types.d.ts +1 -1
  1220. package/dist/services/mcp/types.js +0 -1
  1221. package/dist/services/notion.d.ts +17 -2
  1222. package/dist/services/notion.js +39 -3
  1223. package/dist/services/observations-batch.d.ts +98 -0
  1224. package/dist/services/observations-batch.js +256 -0
  1225. package/dist/services/obsidian.d.ts +0 -1
  1226. package/dist/services/obsidian.js +0 -1
  1227. package/dist/services/service-registry.d.ts +0 -3
  1228. package/dist/services/service-registry.js +0 -2
  1229. package/dist/services/voice/transcriber-impl.d.ts +0 -1
  1230. package/dist/services/voice/transcriber-impl.js +21 -20
  1231. package/dist/services/voice/transcriber.d.ts +22 -2
  1232. package/dist/services/voice/transcriber.js +68 -11
  1233. package/dist/settings/runtime-settings.d.ts +52 -8
  1234. package/dist/settings/runtime-settings.js +172 -20
  1235. package/dist/settings/settings-store.d.ts +0 -1
  1236. package/dist/settings/settings-store.js +44 -2
  1237. package/native/win-appcontainer/README.md +66 -0
  1238. package/native/win-appcontainer/binding.gyp +33 -0
  1239. package/native/win-appcontainer/loader.js +29 -0
  1240. package/native/win-appcontainer/package.json +18 -0
  1241. package/native/win-appcontainer/src/win_appcontainer.cc +67 -0
  1242. package/package.json +8 -3
  1243. package/dist/adapters/composite-dashboard-stream.d.ts.map +0 -1
  1244. package/dist/adapters/composite-dashboard-stream.js.map +0 -1
  1245. package/dist/adapters/dashboard-adapter.d.ts.map +0 -1
  1246. package/dist/adapters/dashboard-adapter.js.map +0 -1
  1247. package/dist/adapters/discord.d.ts.map +0 -1
  1248. package/dist/adapters/discord.js.map +0 -1
  1249. package/dist/adapters/docs-qa-adapter.d.ts.map +0 -1
  1250. package/dist/adapters/docs-qa-adapter.js.map +0 -1
  1251. package/dist/adapters/message-hub.d.ts.map +0 -1
  1252. package/dist/adapters/message-hub.js.map +0 -1
  1253. package/dist/adapters/notification-manager.d.ts.map +0 -1
  1254. package/dist/adapters/notification-manager.js.map +0 -1
  1255. package/dist/adapters/outbound-text.d.ts.map +0 -1
  1256. package/dist/adapters/outbound-text.js.map +0 -1
  1257. package/dist/adapters/slack-adapter.d.ts.map +0 -1
  1258. package/dist/adapters/slack-adapter.js.map +0 -1
  1259. package/dist/adapters/telegram-adapter.d.ts.map +0 -1
  1260. package/dist/adapters/telegram-adapter.js.map +0 -1
  1261. package/dist/adapters/types.d.ts.map +0 -1
  1262. package/dist/adapters/types.js.map +0 -1
  1263. package/dist/adapters/whatsapp-adapter.d.ts.map +0 -1
  1264. package/dist/adapters/whatsapp-adapter.js.map +0 -1
  1265. package/dist/api/chat-binding-query.d.ts.map +0 -1
  1266. package/dist/api/chat-binding-query.js.map +0 -1
  1267. package/dist/api/chat-session-resume.d.ts.map +0 -1
  1268. package/dist/api/chat-session-resume.js.map +0 -1
  1269. package/dist/api/delegated-proxy-helper.d.ts +0 -33
  1270. package/dist/api/delegated-proxy-helper.d.ts.map +0 -1
  1271. package/dist/api/delegated-proxy-helper.js +0 -54
  1272. package/dist/api/delegated-proxy-helper.js.map +0 -1
  1273. package/dist/api/directory-picker.d.ts.map +0 -1
  1274. package/dist/api/directory-picker.js.map +0 -1
  1275. package/dist/api/env-writer.d.ts.map +0 -1
  1276. package/dist/api/env-writer.js.map +0 -1
  1277. package/dist/api/integration-route-gate.d.ts.map +0 -1
  1278. package/dist/api/integration-route-gate.js.map +0 -1
  1279. package/dist/api/json-body.d.ts.map +0 -1
  1280. package/dist/api/json-body.js.map +0 -1
  1281. package/dist/api/routes/activity-sources.d.ts.map +0 -1
  1282. package/dist/api/routes/activity-sources.js.map +0 -1
  1283. package/dist/api/routes/agent.d.ts.map +0 -1
  1284. package/dist/api/routes/agent.js.map +0 -1
  1285. package/dist/api/routes/apple-calendar.d.ts.map +0 -1
  1286. package/dist/api/routes/apple-calendar.js.map +0 -1
  1287. package/dist/api/routes/attachments.d.ts.map +0 -1
  1288. package/dist/api/routes/attachments.js.map +0 -1
  1289. package/dist/api/routes/backends.d.ts.map +0 -1
  1290. package/dist/api/routes/backends.js.map +0 -1
  1291. package/dist/api/routes/books.d.ts.map +0 -1
  1292. package/dist/api/routes/books.js.map +0 -1
  1293. package/dist/api/routes/calendar.d.ts.map +0 -1
  1294. package/dist/api/routes/calendar.js.map +0 -1
  1295. package/dist/api/routes/commands.d.ts.map +0 -1
  1296. package/dist/api/routes/commands.js.map +0 -1
  1297. package/dist/api/routes/context.d.ts +0 -57
  1298. package/dist/api/routes/context.d.ts.map +0 -1
  1299. package/dist/api/routes/context.js +0 -1788
  1300. package/dist/api/routes/context.js.map +0 -1
  1301. package/dist/api/routes/dashboard.d.ts +0 -29
  1302. package/dist/api/routes/dashboard.d.ts.map +0 -1
  1303. package/dist/api/routes/dashboard.js +0 -2160
  1304. package/dist/api/routes/dashboard.js.map +0 -1
  1305. package/dist/api/routes/delegated-sync.d.ts.map +0 -1
  1306. package/dist/api/routes/delegated-sync.js.map +0 -1
  1307. package/dist/api/routes/delegated.d.ts.map +0 -1
  1308. package/dist/api/routes/delegated.js.map +0 -1
  1309. package/dist/api/routes/docs.d.ts.map +0 -1
  1310. package/dist/api/routes/docs.js.map +0 -1
  1311. package/dist/api/routes/entities.d.ts.map +0 -1
  1312. package/dist/api/routes/entities.js.map +0 -1
  1313. package/dist/api/routes/fs.d.ts.map +0 -1
  1314. package/dist/api/routes/fs.js.map +0 -1
  1315. package/dist/api/routes/fs.logic.d.ts.map +0 -1
  1316. package/dist/api/routes/fs.logic.js.map +0 -1
  1317. package/dist/api/routes/git-accounts.d.ts.map +0 -1
  1318. package/dist/api/routes/git-accounts.js.map +0 -1
  1319. package/dist/api/routes/git-templates.d.ts.map +0 -1
  1320. package/dist/api/routes/git-templates.js.map +0 -1
  1321. package/dist/api/routes/git.d.ts.map +0 -1
  1322. package/dist/api/routes/git.js.map +0 -1
  1323. package/dist/api/routes/github.d.ts.map +0 -1
  1324. package/dist/api/routes/github.js.map +0 -1
  1325. package/dist/api/routes/health.d.ts.map +0 -1
  1326. package/dist/api/routes/health.js.map +0 -1
  1327. package/dist/api/routes/integrations-reconcile.d.ts.map +0 -1
  1328. package/dist/api/routes/integrations-reconcile.js.map +0 -1
  1329. package/dist/api/routes/integrations.d.ts +0 -48
  1330. package/dist/api/routes/integrations.d.ts.map +0 -1
  1331. package/dist/api/routes/integrations.js +0 -1572
  1332. package/dist/api/routes/integrations.js.map +0 -1
  1333. package/dist/api/routes/knowledge.d.ts.map +0 -1
  1334. package/dist/api/routes/knowledge.js.map +0 -1
  1335. package/dist/api/routes/mail.d.ts +0 -39
  1336. package/dist/api/routes/mail.d.ts.map +0 -1
  1337. package/dist/api/routes/mail.js +0 -1472
  1338. package/dist/api/routes/mail.js.map +0 -1
  1339. package/dist/api/routes/managed-tasks.d.ts.map +0 -1
  1340. package/dist/api/routes/managed-tasks.js.map +0 -1
  1341. package/dist/api/routes/mcp.d.ts.map +0 -1
  1342. package/dist/api/routes/mcp.js.map +0 -1
  1343. package/dist/api/routes/metrics.d.ts.map +0 -1
  1344. package/dist/api/routes/metrics.js.map +0 -1
  1345. package/dist/api/routes/notion.d.ts.map +0 -1
  1346. package/dist/api/routes/notion.js.map +0 -1
  1347. package/dist/api/routes/observations.d.ts.map +0 -1
  1348. package/dist/api/routes/observations.js.map +0 -1
  1349. package/dist/api/routes/obsidian.d.ts.map +0 -1
  1350. package/dist/api/routes/obsidian.js.map +0 -1
  1351. package/dist/api/routes/profile-questions.d.ts.map +0 -1
  1352. package/dist/api/routes/profile-questions.js.map +0 -1
  1353. package/dist/api/routes/receipts.d.ts.map +0 -1
  1354. package/dist/api/routes/receipts.js.map +0 -1
  1355. package/dist/api/routes/recurring-schedules.d.ts.map +0 -1
  1356. package/dist/api/routes/recurring-schedules.js.map +0 -1
  1357. package/dist/api/routes/repositories.d.ts.map +0 -1
  1358. package/dist/api/routes/repositories.js.map +0 -1
  1359. package/dist/api/routes/setup-migrate.d.ts.map +0 -1
  1360. package/dist/api/routes/setup-migrate.js.map +0 -1
  1361. package/dist/api/routes/setup.d.ts.map +0 -1
  1362. package/dist/api/routes/setup.js.map +0 -1
  1363. package/dist/api/routes/skill-curation.d.ts.map +0 -1
  1364. package/dist/api/routes/skill-curation.js.map +0 -1
  1365. package/dist/api/routes/skills.d.ts.map +0 -1
  1366. package/dist/api/routes/skills.js.map +0 -1
  1367. package/dist/api/routes/sot-bindings.d.ts.map +0 -1
  1368. package/dist/api/routes/sot-bindings.js.map +0 -1
  1369. package/dist/api/routes/sse.d.ts.map +0 -1
  1370. package/dist/api/routes/sse.js.map +0 -1
  1371. package/dist/api/routes/system.d.ts.map +0 -1
  1372. package/dist/api/routes/system.js.map +0 -1
  1373. package/dist/api/routes/task-flows.d.ts.map +0 -1
  1374. package/dist/api/routes/task-flows.js.map +0 -1
  1375. package/dist/api/routes/travel-bookings.d.ts.map +0 -1
  1376. package/dist/api/routes/travel-bookings.js.map +0 -1
  1377. package/dist/api/routes/travel-time.d.ts +0 -8
  1378. package/dist/api/routes/travel-time.d.ts.map +0 -1
  1379. package/dist/api/routes/travel-time.js +0 -87
  1380. package/dist/api/routes/travel-time.js.map +0 -1
  1381. package/dist/api/routes/triggers.d.ts.map +0 -1
  1382. package/dist/api/routes/triggers.js.map +0 -1
  1383. package/dist/api/routes/voice.d.ts.map +0 -1
  1384. package/dist/api/routes/voice.js.map +0 -1
  1385. package/dist/api/routes/wiki.d.ts.map +0 -1
  1386. package/dist/api/routes/wiki.js.map +0 -1
  1387. package/dist/api/server.d.ts.map +0 -1
  1388. package/dist/api/server.js.map +0 -1
  1389. package/dist/bootstrap/adapters.d.ts.map +0 -1
  1390. package/dist/bootstrap/adapters.js.map +0 -1
  1391. package/dist/bootstrap/catchup.d.ts.map +0 -1
  1392. package/dist/bootstrap/catchup.js.map +0 -1
  1393. package/dist/bootstrap/schedule-helpers.d.ts.map +0 -1
  1394. package/dist/bootstrap/schedule-helpers.js.map +0 -1
  1395. package/dist/bootstrap/services.d.ts.map +0 -1
  1396. package/dist/bootstrap/services.js.map +0 -1
  1397. package/dist/config.d.ts.map +0 -1
  1398. package/dist/config.js.map +0 -1
  1399. package/dist/core/agent-core.d.ts.map +0 -1
  1400. package/dist/core/agent-core.js.map +0 -1
  1401. package/dist/core/alerts.d.ts.map +0 -1
  1402. package/dist/core/alerts.js.map +0 -1
  1403. package/dist/core/atomic-write.d.ts.map +0 -1
  1404. package/dist/core/atomic-write.js.map +0 -1
  1405. package/dist/core/backends/api-key-probe.d.ts.map +0 -1
  1406. package/dist/core/backends/api-key-probe.js.map +0 -1
  1407. package/dist/core/backends/auth-health-monitor.d.ts.map +0 -1
  1408. package/dist/core/backends/auth-health-monitor.js.map +0 -1
  1409. package/dist/core/backends/auth-recovery.d.ts.map +0 -1
  1410. package/dist/core/backends/auth-recovery.js.map +0 -1
  1411. package/dist/core/backends/auth-telemetry.d.ts.map +0 -1
  1412. package/dist/core/backends/auth-telemetry.js.map +0 -1
  1413. package/dist/core/backends/backend-router.d.ts.map +0 -1
  1414. package/dist/core/backends/backend-router.js.map +0 -1
  1415. package/dist/core/backends/claude-auth.d.ts.map +0 -1
  1416. package/dist/core/backends/claude-auth.js.map +0 -1
  1417. package/dist/core/backends/claude-code-core.d.ts.map +0 -1
  1418. package/dist/core/backends/claude-code-core.js.map +0 -1
  1419. package/dist/core/backends/claude-credentials-store.d.ts.map +0 -1
  1420. package/dist/core/backends/claude-credentials-store.js.map +0 -1
  1421. package/dist/core/backends/claude-delegated.d.ts.map +0 -1
  1422. package/dist/core/backends/claude-delegated.js.map +0 -1
  1423. package/dist/core/backends/claude-errors.d.ts.map +0 -1
  1424. package/dist/core/backends/claude-errors.js.map +0 -1
  1425. package/dist/core/backends/claude-probe.d.ts.map +0 -1
  1426. package/dist/core/backends/claude-probe.js.map +0 -1
  1427. package/dist/core/backends/claude-tool-collection.d.ts.map +0 -1
  1428. package/dist/core/backends/claude-tool-collection.js.map +0 -1
  1429. package/dist/core/backends/cli-utils.d.ts.map +0 -1
  1430. package/dist/core/backends/cli-utils.js.map +0 -1
  1431. package/dist/core/backends/codex-core.d.ts.map +0 -1
  1432. package/dist/core/backends/codex-core.js.map +0 -1
  1433. package/dist/core/backends/gemini-cli-core.d.ts.map +0 -1
  1434. package/dist/core/backends/gemini-cli-core.js.map +0 -1
  1435. package/dist/core/backends/idle-watchdog.d.ts.map +0 -1
  1436. package/dist/core/backends/idle-watchdog.js.map +0 -1
  1437. package/dist/core/backends/install-methods.d.ts.map +0 -1
  1438. package/dist/core/backends/install-methods.js.map +0 -1
  1439. package/dist/core/backends/model-registry.d.ts.map +0 -1
  1440. package/dist/core/backends/model-registry.js.map +0 -1
  1441. package/dist/core/backends/plan-presets.d.ts.map +0 -1
  1442. package/dist/core/backends/plan-presets.js.map +0 -1
  1443. package/dist/core/backends/price-fetcher.d.ts.map +0 -1
  1444. package/dist/core/backends/price-fetcher.js.map +0 -1
  1445. package/dist/core/backends/process-config-cascade.d.ts.map +0 -1
  1446. package/dist/core/backends/process-config-cascade.js.map +0 -1
  1447. package/dist/core/backends/prompt-utils.d.ts.map +0 -1
  1448. package/dist/core/backends/prompt-utils.js.map +0 -1
  1449. package/dist/core/backends/proxy-model-registry.d.ts.map +0 -1
  1450. package/dist/core/backends/proxy-model-registry.js.map +0 -1
  1451. package/dist/core/backends/silent-api-error-detector.d.ts.map +0 -1
  1452. package/dist/core/backends/silent-api-error-detector.js.map +0 -1
  1453. package/dist/core/bang-commands/commands-cost.d.ts.map +0 -1
  1454. package/dist/core/bang-commands/commands-cost.js.map +0 -1
  1455. package/dist/core/bang-commands/commands-help.d.ts.map +0 -1
  1456. package/dist/core/bang-commands/commands-help.js.map +0 -1
  1457. package/dist/core/bang-commands/commands-report.d.ts.map +0 -1
  1458. package/dist/core/bang-commands/commands-report.js.map +0 -1
  1459. package/dist/core/bang-commands/commands-stop-start.d.ts.map +0 -1
  1460. package/dist/core/bang-commands/commands-stop-start.js.map +0 -1
  1461. package/dist/core/bang-commands/commands-wiki.d.ts.map +0 -1
  1462. package/dist/core/bang-commands/commands-wiki.js.map +0 -1
  1463. package/dist/core/bang-commands/format-utils.d.ts.map +0 -1
  1464. package/dist/core/bang-commands/format-utils.js.map +0 -1
  1465. package/dist/core/bang-commands/index.d.ts.map +0 -1
  1466. package/dist/core/bang-commands/index.js.map +0 -1
  1467. package/dist/core/bang-commands/registry.d.ts.map +0 -1
  1468. package/dist/core/bang-commands/registry.js.map +0 -1
  1469. package/dist/core/bang-commands/user-commands.d.ts.map +0 -1
  1470. package/dist/core/bang-commands/user-commands.js.map +0 -1
  1471. package/dist/core/channel-timeline.d.ts.map +0 -1
  1472. package/dist/core/channel-timeline.js.map +0 -1
  1473. package/dist/core/character-block.d.ts.map +0 -1
  1474. package/dist/core/character-block.js.map +0 -1
  1475. package/dist/core/context/activity-sources.d.ts.map +0 -1
  1476. package/dist/core/context/activity-sources.js.map +0 -1
  1477. package/dist/core/context/activity-view-reconciler.d.ts.map +0 -1
  1478. package/dist/core/context/activity-view-reconciler.js.map +0 -1
  1479. package/dist/core/context/activity-view-runner.d.ts.map +0 -1
  1480. package/dist/core/context/activity-view-runner.js.map +0 -1
  1481. package/dist/core/context/default-schedules-reconciler.d.ts.map +0 -1
  1482. package/dist/core/context/default-schedules-reconciler.js.map +0 -1
  1483. package/dist/core/context/default-schedules-runner.d.ts.map +0 -1
  1484. package/dist/core/context/default-schedules-runner.js.map +0 -1
  1485. package/dist/core/context/domain-index-reconciler.d.ts.map +0 -1
  1486. package/dist/core/context/domain-index-reconciler.js.map +0 -1
  1487. package/dist/core/context/domain-index-runner.d.ts.map +0 -1
  1488. package/dist/core/context/domain-index-runner.js.map +0 -1
  1489. package/dist/core/context/entity-mirror.d.ts.map +0 -1
  1490. package/dist/core/context/entity-mirror.js.map +0 -1
  1491. package/dist/core/context/entity-source-rename.d.ts.map +0 -1
  1492. package/dist/core/context/entity-source-rename.js.map +0 -1
  1493. package/dist/core/context/index-reconciler.d.ts.map +0 -1
  1494. package/dist/core/context/index-reconciler.js.map +0 -1
  1495. package/dist/core/context/policy-index-reconciler.d.ts.map +0 -1
  1496. package/dist/core/context/policy-index-reconciler.js.map +0 -1
  1497. package/dist/core/context/policy-index-runner.d.ts.map +0 -1
  1498. package/dist/core/context/policy-index-runner.js.map +0 -1
  1499. package/dist/core/context/reconciler-runner.d.ts.map +0 -1
  1500. package/dist/core/context/reconciler-runner.js.map +0 -1
  1501. package/dist/core/context-builder.d.ts.map +0 -1
  1502. package/dist/core/context-builder.js.map +0 -1
  1503. package/dist/core/context-frontmatter-backfill.d.ts +0 -33
  1504. package/dist/core/context-frontmatter-backfill.d.ts.map +0 -1
  1505. package/dist/core/context-frontmatter-backfill.js +0 -111
  1506. package/dist/core/context-frontmatter-backfill.js.map +0 -1
  1507. package/dist/core/context-frontmatter.d.ts.map +0 -1
  1508. package/dist/core/context-frontmatter.js.map +0 -1
  1509. package/dist/core/context-health.d.ts.map +0 -1
  1510. package/dist/core/context-health.js.map +0 -1
  1511. package/dist/core/context-paths.d.ts.map +0 -1
  1512. package/dist/core/context-paths.js.map +0 -1
  1513. package/dist/core/context-staleness.d.ts.map +0 -1
  1514. package/dist/core/context-staleness.js.map +0 -1
  1515. package/dist/core/custom-routine-scheduler.d.ts.map +0 -1
  1516. package/dist/core/custom-routine-scheduler.js.map +0 -1
  1517. package/dist/core/daemon-api-cli.d.ts.map +0 -1
  1518. package/dist/core/daemon-api-cli.js.map +0 -1
  1519. package/dist/core/dashboard-session-cleanup.d.ts.map +0 -1
  1520. package/dist/core/dashboard-session-cleanup.js.map +0 -1
  1521. package/dist/core/dashboard-session-controls.d.ts.map +0 -1
  1522. package/dist/core/dashboard-session-controls.js.map +0 -1
  1523. package/dist/core/delegated-connector-health.d.ts.map +0 -1
  1524. package/dist/core/delegated-connector-health.js.map +0 -1
  1525. package/dist/core/dispatcher-date-utils.d.ts.map +0 -1
  1526. package/dist/core/dispatcher-date-utils.js.map +0 -1
  1527. package/dist/core/dispatcher-error-handling.d.ts.map +0 -1
  1528. package/dist/core/dispatcher-error-handling.js.map +0 -1
  1529. package/dist/core/dispatcher-hourly-check.d.ts.map +0 -1
  1530. package/dist/core/dispatcher-hourly-check.js.map +0 -1
  1531. package/dist/core/dispatcher-message-handler.d.ts.map +0 -1
  1532. package/dist/core/dispatcher-message-handler.js.map +0 -1
  1533. package/dist/core/dispatcher-morning-routine.d.ts.map +0 -1
  1534. package/dist/core/dispatcher-morning-routine.js.map +0 -1
  1535. package/dist/core/dispatcher-prompt.d.ts.map +0 -1
  1536. package/dist/core/dispatcher-prompt.js.map +0 -1
  1537. package/dist/core/dispatcher-repository-helpers.d.ts.map +0 -1
  1538. package/dist/core/dispatcher-repository-helpers.js.map +0 -1
  1539. package/dist/core/dispatcher-result-processor.d.ts.map +0 -1
  1540. package/dist/core/dispatcher-result-processor.js.map +0 -1
  1541. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +0 -1
  1542. package/dist/core/dispatcher-scheduled-tasks.js.map +0 -1
  1543. package/dist/core/dispatcher-types.d.ts.map +0 -1
  1544. package/dist/core/dispatcher-types.js.map +0 -1
  1545. package/dist/core/dispatcher.d.ts.map +0 -1
  1546. package/dist/core/dispatcher.js.map +0 -1
  1547. package/dist/core/dm-freshness-metrics.d.ts.map +0 -1
  1548. package/dist/core/dm-freshness-metrics.js.map +0 -1
  1549. package/dist/core/docs/citation-validator.d.ts.map +0 -1
  1550. package/dist/core/docs/citation-validator.js.map +0 -1
  1551. package/dist/core/docs/extract-terms.d.ts.map +0 -1
  1552. package/dist/core/docs/extract-terms.js.map +0 -1
  1553. package/dist/core/docs/indexer.d.ts.map +0 -1
  1554. package/dist/core/docs/indexer.js.map +0 -1
  1555. package/dist/core/drift-effects.d.ts.map +0 -1
  1556. package/dist/core/drift-effects.js.map +0 -1
  1557. package/dist/core/event-bus.d.ts.map +0 -1
  1558. package/dist/core/event-bus.js.map +0 -1
  1559. package/dist/core/git-project-docs.d.ts.map +0 -1
  1560. package/dist/core/git-project-docs.js.map +0 -1
  1561. package/dist/core/health-monitor.d.ts.map +0 -1
  1562. package/dist/core/health-monitor.js.map +0 -1
  1563. package/dist/core/heartbeat.d.ts.map +0 -1
  1564. package/dist/core/heartbeat.js.map +0 -1
  1565. package/dist/core/integration-health.d.ts.map +0 -1
  1566. package/dist/core/integration-health.js.map +0 -1
  1567. package/dist/core/integration-lifecycle.d.ts.map +0 -1
  1568. package/dist/core/integration-lifecycle.js.map +0 -1
  1569. package/dist/core/integration-main-backend.d.ts.map +0 -1
  1570. package/dist/core/integration-main-backend.js.map +0 -1
  1571. package/dist/core/integration-probe.d.ts.map +0 -1
  1572. package/dist/core/integration-probe.js.map +0 -1
  1573. package/dist/core/management-md-write-lock.d.ts.map +0 -1
  1574. package/dist/core/management-md-write-lock.js.map +0 -1
  1575. package/dist/core/management-md.d.ts.map +0 -1
  1576. package/dist/core/management-md.js.map +0 -1
  1577. package/dist/core/management-registry.d.ts.map +0 -1
  1578. package/dist/core/management-registry.js.map +0 -1
  1579. package/dist/core/management-telemetry.d.ts.map +0 -1
  1580. package/dist/core/management-telemetry.js.map +0 -1
  1581. package/dist/core/message-recorder.d.ts.map +0 -1
  1582. package/dist/core/message-recorder.js.map +0 -1
  1583. package/dist/core/metrics.d.ts.map +0 -1
  1584. package/dist/core/metrics.js.map +0 -1
  1585. package/dist/core/migration-backup.d.ts.map +0 -1
  1586. package/dist/core/migration-backup.js.map +0 -1
  1587. package/dist/core/output-language-policy.d.ts.map +0 -1
  1588. package/dist/core/output-language-policy.js.map +0 -1
  1589. package/dist/core/overview-write-lock.d.ts.map +0 -1
  1590. package/dist/core/overview-write-lock.js.map +0 -1
  1591. package/dist/core/path-compat.d.ts.map +0 -1
  1592. package/dist/core/path-compat.js.map +0 -1
  1593. package/dist/core/path-rewrite.d.ts.map +0 -1
  1594. package/dist/core/path-rewrite.js.map +0 -1
  1595. package/dist/core/policy-files.d.ts.map +0 -1
  1596. package/dist/core/policy-files.js.map +0 -1
  1597. package/dist/core/profile-questions/seed.d.ts.map +0 -1
  1598. package/dist/core/profile-questions/seed.js.map +0 -1
  1599. package/dist/core/profile-questions/slot-filled.d.ts.map +0 -1
  1600. package/dist/core/profile-questions/slot-filled.js.map +0 -1
  1601. package/dist/core/prompts.d.ts.map +0 -1
  1602. package/dist/core/prompts.js.map +0 -1
  1603. package/dist/core/quiet-hours-sync.d.ts.map +0 -1
  1604. package/dist/core/quiet-hours-sync.js.map +0 -1
  1605. package/dist/core/read-sensitive-token-manager.d.ts.map +0 -1
  1606. package/dist/core/read-sensitive-token-manager.js.map +0 -1
  1607. package/dist/core/recurrence.d.ts.map +0 -1
  1608. package/dist/core/recurrence.js.map +0 -1
  1609. package/dist/core/reinstall.d.ts.map +0 -1
  1610. package/dist/core/reinstall.js.map +0 -1
  1611. package/dist/core/release-assets.d.ts.map +0 -1
  1612. package/dist/core/release-assets.js.map +0 -1
  1613. package/dist/core/repository-management-docs.d.ts.map +0 -1
  1614. package/dist/core/repository-management-docs.js.map +0 -1
  1615. package/dist/core/retention.d.ts.map +0 -1
  1616. package/dist/core/retention.js.map +0 -1
  1617. package/dist/core/review-context.d.ts.map +0 -1
  1618. package/dist/core/review-context.js.map +0 -1
  1619. package/dist/core/roadmap-horizon.d.ts.map +0 -1
  1620. package/dist/core/roadmap-horizon.js.map +0 -1
  1621. package/dist/core/roadmap-ids.d.ts.map +0 -1
  1622. package/dist/core/roadmap-ids.js.map +0 -1
  1623. package/dist/core/roadmap-merge.d.ts +0 -7
  1624. package/dist/core/roadmap-merge.d.ts.map +0 -1
  1625. package/dist/core/roadmap-merge.js +0 -187
  1626. package/dist/core/roadmap-merge.js.map +0 -1
  1627. package/dist/core/roadmap-refresh-triggers.d.ts.map +0 -1
  1628. package/dist/core/roadmap-refresh-triggers.js.map +0 -1
  1629. package/dist/core/roadmap-truncate.d.ts.map +0 -1
  1630. package/dist/core/roadmap-truncate.js.map +0 -1
  1631. package/dist/core/roadmap-validate.d.ts.map +0 -1
  1632. package/dist/core/roadmap-validate.js.map +0 -1
  1633. package/dist/core/roadmap-write-lock.d.ts.map +0 -1
  1634. package/dist/core/roadmap-write-lock.js.map +0 -1
  1635. package/dist/core/routine-acquisition-plan.d.ts.map +0 -1
  1636. package/dist/core/routine-acquisition-plan.js.map +0 -1
  1637. package/dist/core/routine-fetch-window-retry.d.ts.map +0 -1
  1638. package/dist/core/routine-fetch-window-retry.js.map +0 -1
  1639. package/dist/core/routine-fetch-window-runner.d.ts.map +0 -1
  1640. package/dist/core/routine-fetch-window-runner.js.map +0 -1
  1641. package/dist/core/routine-windows.d.ts.map +0 -1
  1642. package/dist/core/routine-windows.js.map +0 -1
  1643. package/dist/core/schedule-insert-helper.d.ts.map +0 -1
  1644. package/dist/core/schedule-insert-helper.js.map +0 -1
  1645. package/dist/core/schedule-maintenance.d.ts.map +0 -1
  1646. package/dist/core/schedule-maintenance.js.map +0 -1
  1647. package/dist/core/scheduler.d.ts.map +0 -1
  1648. package/dist/core/scheduler.js.map +0 -1
  1649. package/dist/core/semaphore.d.ts.map +0 -1
  1650. package/dist/core/semaphore.js.map +0 -1
  1651. package/dist/core/session-gate.d.ts.map +0 -1
  1652. package/dist/core/session-gate.js.map +0 -1
  1653. package/dist/core/session-manager.d.ts.map +0 -1
  1654. package/dist/core/session-manager.js.map +0 -1
  1655. package/dist/core/signal-detector.d.ts.map +0 -1
  1656. package/dist/core/signal-detector.js.map +0 -1
  1657. package/dist/core/skeleton.d.ts.map +0 -1
  1658. package/dist/core/skeleton.js.map +0 -1
  1659. package/dist/core/skill-curation/apply-proposal.d.ts.map +0 -1
  1660. package/dist/core/skill-curation/apply-proposal.js.map +0 -1
  1661. package/dist/core/skill-curation/auto-revert.d.ts.map +0 -1
  1662. package/dist/core/skill-curation/auto-revert.js.map +0 -1
  1663. package/dist/core/skill-curation/classify-diff.d.ts.map +0 -1
  1664. package/dist/core/skill-curation/classify-diff.js.map +0 -1
  1665. package/dist/core/skill-curation/declarations.d.ts.map +0 -1
  1666. package/dist/core/skill-curation/declarations.js.map +0 -1
  1667. package/dist/core/skill-curation/knowledge-map.d.ts.map +0 -1
  1668. package/dist/core/skill-curation/knowledge-map.js.map +0 -1
  1669. package/dist/core/skill-curation/orphan-overlay.d.ts.map +0 -1
  1670. package/dist/core/skill-curation/orphan-overlay.js.map +0 -1
  1671. package/dist/core/skill-curation/overlay-store.d.ts.map +0 -1
  1672. package/dist/core/skill-curation/overlay-store.js.map +0 -1
  1673. package/dist/core/skill-curation/render/convention-notes.d.ts.map +0 -1
  1674. package/dist/core/skill-curation/render/convention-notes.js.map +0 -1
  1675. package/dist/core/skill-curation/render/cross-references.d.ts.map +0 -1
  1676. package/dist/core/skill-curation/render/cross-references.js.map +0 -1
  1677. package/dist/core/skill-curation/render/frontmatter-schema.d.ts.map +0 -1
  1678. package/dist/core/skill-curation/render/frontmatter-schema.js.map +0 -1
  1679. package/dist/core/skill-curation/render/index.d.ts.map +0 -1
  1680. package/dist/core/skill-curation/render/index.js.map +0 -1
  1681. package/dist/core/skill-curation/render/knowledge-layout.d.ts.map +0 -1
  1682. package/dist/core/skill-curation/render/knowledge-layout.js.map +0 -1
  1683. package/dist/core/skill-curation/render/routing-table.d.ts.map +0 -1
  1684. package/dist/core/skill-curation/render/routing-table.js.map +0 -1
  1685. package/dist/core/skill-curation/render/search-recipes.d.ts.map +0 -1
  1686. package/dist/core/skill-curation/render/search-recipes.js.map +0 -1
  1687. package/dist/core/skill-curation/run-token.d.ts.map +0 -1
  1688. package/dist/core/skill-curation/run-token.js.map +0 -1
  1689. package/dist/core/skill-curation/signals.d.ts.map +0 -1
  1690. package/dist/core/skill-curation/signals.js.map +0 -1
  1691. package/dist/core/skill-curation/smoke-test.d.ts.map +0 -1
  1692. package/dist/core/skill-curation/smoke-test.js.map +0 -1
  1693. package/dist/core/skill-curation/splicer.d.ts.map +0 -1
  1694. package/dist/core/skill-curation/splicer.js.map +0 -1
  1695. package/dist/core/skill-curation/workdir.d.ts.map +0 -1
  1696. package/dist/core/skill-curation/workdir.js.map +0 -1
  1697. package/dist/core/skill-source-paths.d.ts.map +0 -1
  1698. package/dist/core/skill-source-paths.js.map +0 -1
  1699. package/dist/core/skills-compiler.d.ts.map +0 -1
  1700. package/dist/core/skills-compiler.js.map +0 -1
  1701. package/dist/core/skills-manifest.d.ts.map +0 -1
  1702. package/dist/core/skills-manifest.js.map +0 -1
  1703. package/dist/core/system-reset.d.ts.map +0 -1
  1704. package/dist/core/system-reset.js.map +0 -1
  1705. package/dist/core/template-store.d.ts.map +0 -1
  1706. package/dist/core/template-store.js.map +0 -1
  1707. package/dist/core/template-versions.d.ts.map +0 -1
  1708. package/dist/core/template-versions.js.map +0 -1
  1709. package/dist/core/today-agent-plan.d.ts.map +0 -1
  1710. package/dist/core/today-agent-plan.js.map +0 -1
  1711. package/dist/core/today-direct-writer.d.ts.map +0 -1
  1712. package/dist/core/today-direct-writer.js.map +0 -1
  1713. package/dist/core/today-write-lock.d.ts.map +0 -1
  1714. package/dist/core/today-write-lock.js.map +0 -1
  1715. package/dist/core/trigger-dispatch.d.ts.map +0 -1
  1716. package/dist/core/trigger-dispatch.js.map +0 -1
  1717. package/dist/core/trigger-evaluator.d.ts.map +0 -1
  1718. package/dist/core/trigger-evaluator.js.map +0 -1
  1719. package/dist/core/wiki/approval-queue.d.ts.map +0 -1
  1720. package/dist/core/wiki/approval-queue.js.map +0 -1
  1721. package/dist/core/wiki/bridge.d.ts.map +0 -1
  1722. package/dist/core/wiki/bridge.js.map +0 -1
  1723. package/dist/core/wiki/compile-lock.d.ts.map +0 -1
  1724. package/dist/core/wiki/compile-lock.js.map +0 -1
  1725. package/dist/core/wiki/compile-preview.d.ts.map +0 -1
  1726. package/dist/core/wiki/compile-preview.js.map +0 -1
  1727. package/dist/core/wiki/cost-estimate.d.ts.map +0 -1
  1728. package/dist/core/wiki/cost-estimate.js.map +0 -1
  1729. package/dist/core/wiki/dispatcher.d.ts.map +0 -1
  1730. package/dist/core/wiki/dispatcher.js.map +0 -1
  1731. package/dist/core/wiki/git-precompile.d.ts.map +0 -1
  1732. package/dist/core/wiki/git-precompile.js.map +0 -1
  1733. package/dist/core/wiki/import-migrate.d.ts.map +0 -1
  1734. package/dist/core/wiki/import-migrate.js.map +0 -1
  1735. package/dist/core/wiki/import-probe.d.ts.map +0 -1
  1736. package/dist/core/wiki/import-probe.js.map +0 -1
  1737. package/dist/core/wiki/index-cache.d.ts.map +0 -1
  1738. package/dist/core/wiki/index-cache.js.map +0 -1
  1739. package/dist/core/wiki/multi-url-dispatch.d.ts.map +0 -1
  1740. package/dist/core/wiki/multi-url-dispatch.js.map +0 -1
  1741. package/dist/core/wiki/wiki-fts.d.ts.map +0 -1
  1742. package/dist/core/wiki/wiki-fts.js.map +0 -1
  1743. package/dist/core/wiki/workspaces.d.ts.map +0 -1
  1744. package/dist/core/wiki/workspaces.js.map +0 -1
  1745. package/dist/core/wiki/write-strategy.d.ts.map +0 -1
  1746. package/dist/core/wiki/write-strategy.js.map +0 -1
  1747. package/dist/core/workdir.d.ts.map +0 -1
  1748. package/dist/core/workdir.js.map +0 -1
  1749. package/dist/db/automation-triggers.d.ts.map +0 -1
  1750. package/dist/db/automation-triggers.js.map +0 -1
  1751. package/dist/db/client.d.ts.map +0 -1
  1752. package/dist/db/client.js.map +0 -1
  1753. package/dist/db/entities-store.d.ts.map +0 -1
  1754. package/dist/db/entities-store.js.map +0 -1
  1755. package/dist/db/hourly-check-signals.d.ts.map +0 -1
  1756. package/dist/db/hourly-check-signals.js.map +0 -1
  1757. package/dist/db/integration-probe-store.d.ts.map +0 -1
  1758. package/dist/db/integration-probe-store.js.map +0 -1
  1759. package/dist/db/integrations-store.d.ts.map +0 -1
  1760. package/dist/db/integrations-store.js.map +0 -1
  1761. package/dist/db/managed-tasks-store.d.ts.map +0 -1
  1762. package/dist/db/managed-tasks-store.js.map +0 -1
  1763. package/dist/db/management-parse-failures-store.d.ts.map +0 -1
  1764. package/dist/db/management-parse-failures-store.js.map +0 -1
  1765. package/dist/db/observations.d.ts.map +0 -1
  1766. package/dist/db/observations.js.map +0 -1
  1767. package/dist/db/recurring-schedules.d.ts.map +0 -1
  1768. package/dist/db/recurring-schedules.js.map +0 -1
  1769. package/dist/db/repositories-store.d.ts.map +0 -1
  1770. package/dist/db/repositories-store.js.map +0 -1
  1771. package/dist/db/runtime-state.d.ts.map +0 -1
  1772. package/dist/db/runtime-state.js.map +0 -1
  1773. package/dist/db/schema.d.ts.map +0 -1
  1774. package/dist/db/schema.js.map +0 -1
  1775. package/dist/db/sot-bindings-store.d.ts.map +0 -1
  1776. package/dist/db/sot-bindings-store.js.map +0 -1
  1777. package/dist/db/test-schemas.d.ts +0 -23
  1778. package/dist/db/test-schemas.d.ts.map +0 -1
  1779. package/dist/db/test-schemas.js +0 -111
  1780. package/dist/db/test-schemas.js.map +0 -1
  1781. package/dist/db/voice-transcripts-store.d.ts.map +0 -1
  1782. package/dist/db/voice-transcripts-store.js.map +0 -1
  1783. package/dist/db/wiki-store.d.ts.map +0 -1
  1784. package/dist/db/wiki-store.js.map +0 -1
  1785. package/dist/index.d.ts.map +0 -1
  1786. package/dist/index.js.map +0 -1
  1787. package/dist/init.d.ts.map +0 -1
  1788. package/dist/init.js.map +0 -1
  1789. package/dist/log-buffer.d.ts.map +0 -1
  1790. package/dist/log-buffer.js.map +0 -1
  1791. package/dist/logging.d.ts.map +0 -1
  1792. package/dist/logging.js.map +0 -1
  1793. package/dist/management-rules.d.ts.map +0 -1
  1794. package/dist/management-rules.js.map +0 -1
  1795. package/dist/messaging/constants.d.ts.map +0 -1
  1796. package/dist/messaging/constants.js.map +0 -1
  1797. package/dist/messaging/magic-phrase.d.ts.map +0 -1
  1798. package/dist/messaging/magic-phrase.js.map +0 -1
  1799. package/dist/messaging/owner-channels.d.ts.map +0 -1
  1800. package/dist/messaging/owner-channels.js.map +0 -1
  1801. package/dist/messaging/setup-welcome-dm.d.ts.map +0 -1
  1802. package/dist/messaging/setup-welcome-dm.js.map +0 -1
  1803. package/dist/messaging/url-extract.d.ts.map +0 -1
  1804. package/dist/messaging/url-extract.js.map +0 -1
  1805. package/dist/observers/calendar-poller.d.ts.map +0 -1
  1806. package/dist/observers/calendar-poller.js.map +0 -1
  1807. package/dist/observers/context-index-reconciler-observer.d.ts.map +0 -1
  1808. package/dist/observers/context-index-reconciler-observer.js.map +0 -1
  1809. package/dist/observers/delegated-probe-observer.d.ts.map +0 -1
  1810. package/dist/observers/delegated-probe-observer.js.map +0 -1
  1811. package/dist/observers/delegated-sync-worker.d.ts.map +0 -1
  1812. package/dist/observers/delegated-sync-worker.js.map +0 -1
  1813. package/dist/observers/entity-mirror-observer.d.ts.map +0 -1
  1814. package/dist/observers/entity-mirror-observer.js.map +0 -1
  1815. package/dist/observers/git-delegated-cron.d.ts.map +0 -1
  1816. package/dist/observers/git-delegated-cron.js.map +0 -1
  1817. package/dist/observers/git-event-classifier.d.ts.map +0 -1
  1818. package/dist/observers/git-event-classifier.js.map +0 -1
  1819. package/dist/observers/git-watcher.d.ts.map +0 -1
  1820. package/dist/observers/git-watcher.js.map +0 -1
  1821. package/dist/observers/github-poller-classifier.d.ts.map +0 -1
  1822. package/dist/observers/github-poller-classifier.js.map +0 -1
  1823. package/dist/observers/github-poller.d.ts.map +0 -1
  1824. package/dist/observers/github-poller.js.map +0 -1
  1825. package/dist/observers/imminent-event-scheduler.d.ts.map +0 -1
  1826. package/dist/observers/imminent-event-scheduler.js.map +0 -1
  1827. package/dist/observers/mail-poller.d.ts.map +0 -1
  1828. package/dist/observers/mail-poller.js.map +0 -1
  1829. package/dist/observers/mail-reconciliation.d.ts.map +0 -1
  1830. package/dist/observers/mail-reconciliation.js.map +0 -1
  1831. package/dist/observers/manager.d.ts.map +0 -1
  1832. package/dist/observers/manager.js.map +0 -1
  1833. package/dist/observers/notion-poller.d.ts.map +0 -1
  1834. package/dist/observers/notion-poller.js.map +0 -1
  1835. package/dist/observers/observation-summarizer/index.d.ts.map +0 -1
  1836. package/dist/observers/observation-summarizer/index.js.map +0 -1
  1837. package/dist/observers/observation-summarizer/pre-filter.d.ts.map +0 -1
  1838. package/dist/observers/observation-summarizer/pre-filter.js.map +0 -1
  1839. package/dist/observers/observation-summarizer/response-parser.d.ts.map +0 -1
  1840. package/dist/observers/observation-summarizer/response-parser.js.map +0 -1
  1841. package/dist/observers/observation-summarizer/summarizer-client.d.ts.map +0 -1
  1842. package/dist/observers/observation-summarizer/summarizer-client.js.map +0 -1
  1843. package/dist/observers/observation-summarizer/summarizer-prompts.d.ts.map +0 -1
  1844. package/dist/observers/observation-summarizer/summarizer-prompts.js.map +0 -1
  1845. package/dist/observers/observation-summarizer/worker.d.ts.map +0 -1
  1846. package/dist/observers/observation-summarizer/worker.js.map +0 -1
  1847. package/dist/observers/obsidian-watcher.d.ts.map +0 -1
  1848. package/dist/observers/obsidian-watcher.js.map +0 -1
  1849. package/dist/observers/primary-vault-watcher.d.ts.map +0 -1
  1850. package/dist/observers/primary-vault-watcher.js.map +0 -1
  1851. package/dist/observers/repository-management-cron.d.ts.map +0 -1
  1852. package/dist/observers/repository-management-cron.js.map +0 -1
  1853. package/dist/observers/skill-curation-walker.d.ts.map +0 -1
  1854. package/dist/observers/skill-curation-walker.js.map +0 -1
  1855. package/dist/safety/absolute-block-audit.d.ts.map +0 -1
  1856. package/dist/safety/absolute-block-audit.js.map +0 -1
  1857. package/dist/safety/agent-write-tracker.d.ts.map +0 -1
  1858. package/dist/safety/agent-write-tracker.js.map +0 -1
  1859. package/dist/safety/always-disallowed.d.ts.map +0 -1
  1860. package/dist/safety/always-disallowed.js.map +0 -1
  1861. package/dist/safety/audit.d.ts.map +0 -1
  1862. package/dist/safety/audit.js.map +0 -1
  1863. package/dist/safety/integration-write-tracker.d.ts.map +0 -1
  1864. package/dist/safety/integration-write-tracker.js.map +0 -1
  1865. package/dist/safety/risk-classifier.d.ts.map +0 -1
  1866. package/dist/safety/risk-classifier.js.map +0 -1
  1867. package/dist/scheduler/hourly-check-gate.d.ts.map +0 -1
  1868. package/dist/scheduler/hourly-check-gate.js.map +0 -1
  1869. package/dist/secrets/backend-api-key-env.d.ts.map +0 -1
  1870. package/dist/secrets/backend-api-key-env.js.map +0 -1
  1871. package/dist/secrets/codex-home-materializer.d.ts.map +0 -1
  1872. package/dist/secrets/codex-home-materializer.js.map +0 -1
  1873. package/dist/secrets/encrypted-blob-store.d.ts.map +0 -1
  1874. package/dist/secrets/encrypted-blob-store.js.map +0 -1
  1875. package/dist/secrets/platform-secret-store.d.ts.map +0 -1
  1876. package/dist/secrets/platform-secret-store.js.map +0 -1
  1877. package/dist/secrets/redaction.d.ts.map +0 -1
  1878. package/dist/secrets/redaction.js.map +0 -1
  1879. package/dist/secrets/secret-broker.d.ts.map +0 -1
  1880. package/dist/secrets/secret-broker.js.map +0 -1
  1881. package/dist/secrets/secret-names.d.ts.map +0 -1
  1882. package/dist/secrets/secret-names.js.map +0 -1
  1883. package/dist/secrets/secret-store.d.ts.map +0 -1
  1884. package/dist/secrets/secret-store.js.map +0 -1
  1885. package/dist/secrets/types.d.ts.map +0 -1
  1886. package/dist/secrets/types.js.map +0 -1
  1887. package/dist/services/apple-calendar/caldav-client.d.ts.map +0 -1
  1888. package/dist/services/apple-calendar/caldav-client.js.map +0 -1
  1889. package/dist/services/apple-calendar/caldav-codec.d.ts.map +0 -1
  1890. package/dist/services/apple-calendar/caldav-codec.js.map +0 -1
  1891. package/dist/services/apple-calendar/index.d.ts.map +0 -1
  1892. package/dist/services/apple-calendar/index.js.map +0 -1
  1893. package/dist/services/apple-calendar/service.d.ts.map +0 -1
  1894. package/dist/services/apple-calendar/service.js.map +0 -1
  1895. package/dist/services/apple-calendar/types.d.ts.map +0 -1
  1896. package/dist/services/apple-calendar/types.js.map +0 -1
  1897. package/dist/services/attachments/hardlink.d.ts.map +0 -1
  1898. package/dist/services/attachments/hardlink.js.map +0 -1
  1899. package/dist/services/attachments/sanitize.d.ts.map +0 -1
  1900. package/dist/services/attachments/sanitize.js.map +0 -1
  1901. package/dist/services/attachments/store.d.ts.map +0 -1
  1902. package/dist/services/attachments/store.js.map +0 -1
  1903. package/dist/services/calendar/outlook/graph-calendar-client.d.ts.map +0 -1
  1904. package/dist/services/calendar/outlook/graph-calendar-client.js.map +0 -1
  1905. package/dist/services/calendar.d.ts.map +0 -1
  1906. package/dist/services/calendar.js.map +0 -1
  1907. package/dist/services/delegated-backend-invoker.d.ts.map +0 -1
  1908. package/dist/services/delegated-backend-invoker.js.map +0 -1
  1909. package/dist/services/delegated-invoker-audit.d.ts.map +0 -1
  1910. package/dist/services/delegated-invoker-audit.js.map +0 -1
  1911. package/dist/services/delegated-invoker-cache-hits.d.ts.map +0 -1
  1912. package/dist/services/delegated-invoker-cache-hits.js.map +0 -1
  1913. package/dist/services/delegated-invoker-janitors.d.ts.map +0 -1
  1914. package/dist/services/delegated-invoker-janitors.js.map +0 -1
  1915. package/dist/services/delegated-invoker-utils.d.ts.map +0 -1
  1916. package/dist/services/delegated-invoker-utils.js.map +0 -1
  1917. package/dist/services/delegated-proxy-config.d.ts.map +0 -1
  1918. package/dist/services/delegated-proxy-config.js.map +0 -1
  1919. package/dist/services/delegated-task-result-cache.d.ts.map +0 -1
  1920. package/dist/services/delegated-task-result-cache.js.map +0 -1
  1921. package/dist/services/delegated-task-runtime.d.ts.map +0 -1
  1922. package/dist/services/delegated-task-runtime.js.map +0 -1
  1923. package/dist/services/delegated-task-session-pool.d.ts.map +0 -1
  1924. package/dist/services/delegated-task-session-pool.js.map +0 -1
  1925. package/dist/services/delegated-tool-runtime.d.ts.map +0 -1
  1926. package/dist/services/delegated-tool-runtime.js.map +0 -1
  1927. package/dist/services/fts5.d.ts.map +0 -1
  1928. package/dist/services/fts5.js.map +0 -1
  1929. package/dist/services/git-account-registry.d.ts.map +0 -1
  1930. package/dist/services/git-account-registry.js.map +0 -1
  1931. package/dist/services/github.d.ts.map +0 -1
  1932. package/dist/services/github.js.map +0 -1
  1933. package/dist/services/gmail-classifier.d.ts.map +0 -1
  1934. package/dist/services/gmail-classifier.js.map +0 -1
  1935. package/dist/services/gmail.d.ts.map +0 -1
  1936. package/dist/services/gmail.js.map +0 -1
  1937. package/dist/services/google-auth.d.ts.map +0 -1
  1938. package/dist/services/google-auth.js.map +0 -1
  1939. package/dist/services/google-maps.d.ts +0 -35
  1940. package/dist/services/google-maps.d.ts.map +0 -1
  1941. package/dist/services/google-maps.js +0 -82
  1942. package/dist/services/google-maps.js.map +0 -1
  1943. package/dist/services/integrations/extract-write-item-id.d.ts.map +0 -1
  1944. package/dist/services/integrations/extract-write-item-id.js.map +0 -1
  1945. package/dist/services/integrations/reconcile.d.ts.map +0 -1
  1946. package/dist/services/integrations/reconcile.js.map +0 -1
  1947. package/dist/services/integrations/snapshot-partitions.d.ts.map +0 -1
  1948. package/dist/services/integrations/snapshot-partitions.js.map +0 -1
  1949. package/dist/services/journal/render.d.ts.map +0 -1
  1950. package/dist/services/journal/render.js.map +0 -1
  1951. package/dist/services/journal/writer.d.ts.map +0 -1
  1952. package/dist/services/journal/writer.js.map +0 -1
  1953. package/dist/services/mail/account-registry.d.ts.map +0 -1
  1954. package/dist/services/mail/account-registry.js.map +0 -1
  1955. package/dist/services/mail/gmail/auth-failure-classifier.d.ts.map +0 -1
  1956. package/dist/services/mail/gmail/auth-failure-classifier.js.map +0 -1
  1957. package/dist/services/mail/gmail/gmail-provider.d.ts.map +0 -1
  1958. package/dist/services/mail/gmail/gmail-provider.js.map +0 -1
  1959. package/dist/services/mail/gmail/legacy-row.d.ts.map +0 -1
  1960. package/dist/services/mail/gmail/legacy-row.js.map +0 -1
  1961. package/dist/services/mail/gmail/poll-cursor.d.ts.map +0 -1
  1962. package/dist/services/mail/gmail/poll-cursor.js.map +0 -1
  1963. package/dist/services/mail/html-to-plaintext.d.ts.map +0 -1
  1964. package/dist/services/mail/html-to-plaintext.js.map +0 -1
  1965. package/dist/services/mail/imap/app-password.d.ts.map +0 -1
  1966. package/dist/services/mail/imap/app-password.js.map +0 -1
  1967. package/dist/services/mail/imap/auth-failure-classifier.d.ts.map +0 -1
  1968. package/dist/services/mail/imap/auth-failure-classifier.js.map +0 -1
  1969. package/dist/services/mail/imap/capabilities.d.ts.map +0 -1
  1970. package/dist/services/mail/imap/capabilities.js.map +0 -1
  1971. package/dist/services/mail/imap/client.d.ts.map +0 -1
  1972. package/dist/services/mail/imap/client.js.map +0 -1
  1973. package/dist/services/mail/imap/cursor.d.ts.map +0 -1
  1974. package/dist/services/mail/imap/cursor.js.map +0 -1
  1975. package/dist/services/mail/imap/folder-resolver.d.ts.map +0 -1
  1976. package/dist/services/mail/imap/folder-resolver.js.map +0 -1
  1977. package/dist/services/mail/imap/icloud-provider.d.ts.map +0 -1
  1978. package/dist/services/mail/imap/icloud-provider.js.map +0 -1
  1979. package/dist/services/mail/imap/imap-provider-base.d.ts.map +0 -1
  1980. package/dist/services/mail/imap/imap-provider-base.js.map +0 -1
  1981. package/dist/services/mail/imap/query-translator.d.ts.map +0 -1
  1982. package/dist/services/mail/imap/query-translator.js.map +0 -1
  1983. package/dist/services/mail/imap/reconcile-planner.d.ts.map +0 -1
  1984. package/dist/services/mail/imap/reconcile-planner.js.map +0 -1
  1985. package/dist/services/mail/imap/reply-mime.d.ts.map +0 -1
  1986. package/dist/services/mail/imap/reply-mime.js.map +0 -1
  1987. package/dist/services/mail/imap/yahoo-provider.d.ts.map +0 -1
  1988. package/dist/services/mail/imap/yahoo-provider.js.map +0 -1
  1989. package/dist/services/mail/mail-search.d.ts.map +0 -1
  1990. package/dist/services/mail/mail-search.js.map +0 -1
  1991. package/dist/services/mail/outlook/auth-failure-classifier.d.ts.map +0 -1
  1992. package/dist/services/mail/outlook/auth-failure-classifier.js.map +0 -1
  1993. package/dist/services/mail/outlook/client-config.d.ts.map +0 -1
  1994. package/dist/services/mail/outlook/client-config.js.map +0 -1
  1995. package/dist/services/mail/outlook/delta-cursor.d.ts.map +0 -1
  1996. package/dist/services/mail/outlook/delta-cursor.js.map +0 -1
  1997. package/dist/services/mail/outlook/graph-client.d.ts.map +0 -1
  1998. package/dist/services/mail/outlook/graph-client.js.map +0 -1
  1999. package/dist/services/mail/outlook/msal-app-factory.d.ts.map +0 -1
  2000. package/dist/services/mail/outlook/msal-app-factory.js.map +0 -1
  2001. package/dist/services/mail/outlook/msal-cache-plugin.d.ts.map +0 -1
  2002. package/dist/services/mail/outlook/msal-cache-plugin.js.map +0 -1
  2003. package/dist/services/mail/outlook/oauth-device-code.d.ts.map +0 -1
  2004. package/dist/services/mail/outlook/oauth-device-code.js.map +0 -1
  2005. package/dist/services/mail/outlook/oauth-loopback.d.ts.map +0 -1
  2006. package/dist/services/mail/outlook/oauth-loopback.js.map +0 -1
  2007. package/dist/services/mail/outlook/outlook-provider.d.ts.map +0 -1
  2008. package/dist/services/mail/outlook/outlook-provider.js.map +0 -1
  2009. package/dist/services/mail/outlook/query-translator.d.ts.map +0 -1
  2010. package/dist/services/mail/outlook/query-translator.js.map +0 -1
  2011. package/dist/services/mail/provider.d.ts.map +0 -1
  2012. package/dist/services/mail/provider.js.map +0 -1
  2013. package/dist/services/mail/query-utils.d.ts.map +0 -1
  2014. package/dist/services/mail/query-utils.js.map +0 -1
  2015. package/dist/services/mail-classifier.d.ts.map +0 -1
  2016. package/dist/services/mail-classifier.js.map +0 -1
  2017. package/dist/services/mail-ingestion.d.ts.map +0 -1
  2018. package/dist/services/mail-ingestion.js.map +0 -1
  2019. package/dist/services/mcp/auto-probe.d.ts.map +0 -1
  2020. package/dist/services/mcp/auto-probe.js.map +0 -1
  2021. package/dist/services/mcp/generators/claude.d.ts.map +0 -1
  2022. package/dist/services/mcp/generators/claude.js.map +0 -1
  2023. package/dist/services/mcp/generators/codex.d.ts.map +0 -1
  2024. package/dist/services/mcp/generators/codex.js.map +0 -1
  2025. package/dist/services/mcp/generators/gemini.d.ts.map +0 -1
  2026. package/dist/services/mcp/generators/gemini.js.map +0 -1
  2027. package/dist/services/mcp/generators/index.d.ts.map +0 -1
  2028. package/dist/services/mcp/generators/index.js.map +0 -1
  2029. package/dist/services/mcp/generators/types.d.ts.map +0 -1
  2030. package/dist/services/mcp/generators/types.js.map +0 -1
  2031. package/dist/services/mcp/probe.d.ts.map +0 -1
  2032. package/dist/services/mcp/probe.js.map +0 -1
  2033. package/dist/services/mcp/registry.d.ts.map +0 -1
  2034. package/dist/services/mcp/registry.js.map +0 -1
  2035. package/dist/services/mcp/risk.d.ts.map +0 -1
  2036. package/dist/services/mcp/risk.js.map +0 -1
  2037. package/dist/services/mcp/session-materializer.d.ts.map +0 -1
  2038. package/dist/services/mcp/session-materializer.js.map +0 -1
  2039. package/dist/services/mcp/tool-audit.d.ts.map +0 -1
  2040. package/dist/services/mcp/tool-audit.js.map +0 -1
  2041. package/dist/services/mcp/types.d.ts.map +0 -1
  2042. package/dist/services/mcp/types.js.map +0 -1
  2043. package/dist/services/notion.d.ts.map +0 -1
  2044. package/dist/services/notion.js.map +0 -1
  2045. package/dist/services/obsidian.d.ts.map +0 -1
  2046. package/dist/services/obsidian.js.map +0 -1
  2047. package/dist/services/service-registry.d.ts.map +0 -1
  2048. package/dist/services/service-registry.js.map +0 -1
  2049. package/dist/services/voice/transcriber-impl.d.ts.map +0 -1
  2050. package/dist/services/voice/transcriber-impl.js.map +0 -1
  2051. package/dist/services/voice/transcriber.d.ts.map +0 -1
  2052. package/dist/services/voice/transcriber.js.map +0 -1
  2053. package/dist/settings/runtime-settings.d.ts.map +0 -1
  2054. package/dist/settings/runtime-settings.js.map +0 -1
  2055. package/dist/settings/settings-store.d.ts.map +0 -1
  2056. package/dist/settings/settings-store.js.map +0 -1
@@ -0,0 +1,1230 @@
1
+ /**
2
+ * `MorningRoutinePipelineOrchestrator` — Phase 5 of
3
+ * `docs/design/appendices/morning-routine-optimization.md`. Replaces the
4
+ * single monolithic medium-tier session that today's
5
+ * `MorningRoutineRunner.executeMorningRoutine` runs with a daemon-
6
+ * orchestrated pipeline:
7
+ *
8
+ * ① rotateDayFiles (owned by MorningRoutineRunner)
9
+ * ② HandoffParser (this module)
10
+ * ③ JournalSkeletonBuilder (this module)
11
+ * ④ Pre-pass fan-out (owned by MorningRoutineRunner)
12
+ * ⑤A Stage A: today.md synthesis [medium] (this module) ─┐ Promise.all
13
+ * ⑤B Stage B: daily journal author [lite] (this module) ─┘
14
+ * ⑥ AgentJournalAppender (Phase 6 — left to MorningRoutineRunner)
15
+ * ⑥b parent audit row emit (this module)
16
+ * ⑦ diagnoseTodayMdState (owned by MorningRoutineRunner)
17
+ * ⑧ Post-morning catchups + roadmap_refresh (owned by MorningRoutineRunner)
18
+ *
19
+ * The orchestrator owns only ②③⑤A∥⑤B⑥b. ① and ④ are upstream of `run()`;
20
+ * ⑥, ⑦, ⑧ stay with the runner so the existing today.md health check /
21
+ * retry chain / catchups continue to work unchanged on both legacy and
22
+ * V2 paths.
23
+ *
24
+ * Stage event design:
25
+ * - Stage A event.type = `routine.morning_routine_today` so its
26
+ * `agent_actions` row lands with `action_type='routine.morning_routine_today'`
27
+ * (the audit logger derives action_type from `event.type`). Stage A's
28
+ * `routine` field stays `"morning_routine"` so ContextBuilder's
29
+ * existing heavy-context branch fires (yesterday.md / roadmap.md /
30
+ * active_projects / calendar_events_7d).
31
+ * - Stage B event.type = `routine.morning_routine_journal`. Stage B's
32
+ * `routine` field is `"morning_routine_journal"` so ContextBuilder
33
+ * fires the minimal Stage-B branch added in Phase 5 (calendar_events_7d
34
+ * for wikilink resolution; no yesterday / roadmap / projects).
35
+ * - Both stage events share `correlationId` with the parent
36
+ * `routine.morning_routine` envelope — `loadMorningRoutineActionRows`
37
+ * and `emitMorningRoutineParentAuditRow` use that as `event_id` to
38
+ * correlate.
39
+ *
40
+ * Today.md write-lock: Stage A inherits the lockId set on the parent
41
+ * event by `MorningRoutineRunner` (the lock is acquired before this
42
+ * runs and released after); Stage B does not write to today.md and
43
+ * does not receive the lockId.
44
+ *
45
+ * Retry semantics (rev2 — `morning-routine-optimization.md`
46
+ * §"Pipeline-level invariants"):
47
+ * - The retry chain is gated on today.md health; only Stage A regen
48
+ * is what fixes a missing / wrong-date today.md. On retry,
49
+ * `inputs.isRetry` is true and Stage B is NOT re-fired. Phase 5
50
+ * simplification: if Stage B succeeded on attempt 1, its
51
+ * `daily/<yesterday>.md` is already on disk and re-firing would
52
+ * hit the 200/PATCH-Agent-revision path, producing a second
53
+ * journal entry on every retry; if Stage B failed on attempt 1,
54
+ * re-firing would still risk that duplication once the next
55
+ * scheduled write succeeds. The trade-off is documented in design
56
+ * §"Retry semantics" — Phase 6 may revisit if structured Stage B
57
+ * result tracking justifies the work.
58
+ *
59
+ * Pre-pass skip on retry: not enforced here because `MorningRoutineRunner`
60
+ * already short-circuits the pre-pass when `isRetry === true`. The
61
+ * pre-pass result lives on the parent event's `event.data.fetchReportBlock`
62
+ * and is forwarded into the Stage A event unchanged (Stage B does not
63
+ * consume it).
64
+ */
65
+ import { existsSync, readFileSync } from "node:fs";
66
+ import { join } from "node:path";
67
+ import { EventPriority, getAgentDayBoundsUtc, getAgentDayDateStr, } from "@aitne/shared";
68
+ import { getContextDir } from "../../config.js";
69
+ import { BackendRouterHandledError, } from "../backends/backend-router.js";
70
+ import { BackendQuotaError } from "../agent-core.js";
71
+ import { parseHandoff } from "./handoff-parser.js";
72
+ import { buildJournalSkeleton, gatherJournalSkeletonFacts, } from "./journal-skeleton-builder.js";
73
+ import { buildRoadmapSkeleton, gatherRoadmapSkeletonFacts, } from "./roadmap-skeleton-builder.js";
74
+ import { emitMorningRoutineParentAuditRow, } from "./parent-audit-emitter.js";
75
+ import { appendMorningRoutineJournalEntry, STAGE_A_ACTION_TYPE, STAGE_B_ACTION_TYPE, } from "./agent-journal-appender.js";
76
+ import { maybeEmitPartialExtractStreakDm, } from "./partial-extract-streak.js";
77
+ import { readIntegrationState } from "../../db/integrations-store.js";
78
+ import { buildPreMorningDigest, renderPreMorningDigestMarkdown, } from "../../services/browser-history/pipeline/pre-morning-digest.js";
79
+ import { createLogger } from "../../logging.js";
80
+ const logger = createLogger("morning-pipeline-orchestrator");
81
+ const STAGE_A_PROCESS_KEY = "routine.morning_routine_today";
82
+ const STAGE_B_PROCESS_KEY = "routine.morning_routine_journal";
83
+ /**
84
+ * The `routine` slug carried on each stage's RoutineEvent. Stage A reuses
85
+ * the legacy `"morning_routine"` value so the heavy ContextBuilder branch
86
+ * (yesterday.md / roadmap.md / active_projects / calendar_events_7d)
87
+ * continues to fire unchanged — the Phase 5 split is about dispatch
88
+ * shape, not Stage A's context inputs. Stage B's
89
+ * `"morning_routine_journal"` slug routes into the minimal branch added
90
+ * to ContextBuilder for Phase 5.
91
+ */
92
+ const STAGE_A_ROUTINE_SLUG = "morning_routine";
93
+ const STAGE_B_ROUTINE_SLUG = "morning_routine_journal";
94
+ export class MorningRoutinePipelineOrchestrator {
95
+ deps;
96
+ constructor(deps) {
97
+ this.deps = deps;
98
+ }
99
+ /**
100
+ * Drive ②③⑤A∥⑤B. The caller (`MorningRoutineRunner`) is responsible
101
+ * for invoking ⑦ (today.md health diagnose) and ⑥b (parent audit
102
+ * emit, via `emitParentAuditRow`) afterwards.
103
+ *
104
+ * Errors:
105
+ * - Stage A throw → re-thrown so the runner's outer try/finally
106
+ * (lock release + flag reset) still fires, and the runner's
107
+ * `diagnoseTodayMdState` post-check catches the missing today.md
108
+ * and schedules a retry the same way legacy failures do.
109
+ * - Stage B throw → logged + folded into `stageBResult=null`. Does
110
+ * NOT propagate; Stage B failure is independent of today.md
111
+ * health (the day still opens, the journal is best-effort).
112
+ */
113
+ async run(inputs) {
114
+ const startedAt = new Date();
115
+ const parentEvent = inputs.parentEvent;
116
+ const correlationId = parentEvent.correlationId;
117
+ // ② HandoffParser — read yesterday.md, parse `## Handoff`, render the
118
+ // `<handoff_parsed>` XML block. Fail-soft per design §"Data-flow
119
+ // principle": when parsing returns null (no file, malformed section)
120
+ // the orchestrator omits the block and Stage A's task-flow falls
121
+ // back to reading `<yesterday>` raw — one extra Stage A turn at most.
122
+ const handoffParsedBlock = this.buildHandoffParsedBlock();
123
+ // ③ JournalSkeletonBuilder — deterministic frontmatter +
124
+ // pre-aggregated facts for yesterday's daily journal. Skipped on
125
+ // retry per `morning-routine-optimization.md` rev4
126
+ // §"Pipeline-level invariants → Retry semantics": Stage B is not
127
+ // re-fired on retry (its prior-attempt PUT is preserved to avoid
128
+ // double-authoring the daily file), so building the skeleton would
129
+ // do work with no consumer. The builder itself remains idempotent
130
+ // — re-enabling Stage B on retry would require no skeleton change.
131
+ const stageBInputs = inputs.isRetry
132
+ ? null
133
+ : this.buildStageBInputs();
134
+ // morning-routine-optimization.md Phase 7 — daemon-prepared roadmap
135
+ // skeleton for the first-run (no-yesterday) branch. The legacy
136
+ // `routine.morning_routine_initial` high-tier session paid for an
137
+ // Opus turn to generate this from scratch; the medium-tier Stage A
138
+ // can spot-edit a deterministic skeleton into roadmap.md via the
139
+ // same `roadmap` skill PATCH paths the recurring branch uses. Only
140
+ // emitted on the first-run branch (yesterday.md absent) — the
141
+ // recurring branch leaves the block off and Stage A reads the
142
+ // truncated `<roadmap>` ContextBuilder injects as usual.
143
+ const roadmapSkeletonBlock = this.buildRoadmapSkeletonBlock();
144
+ // ⑤A + ⑤B — Promise.allSettled so a Stage B throw does not abort
145
+ // Stage A. (Promise.all would; Stage A's result is what gates the
146
+ // morning routine's success, so we always want to surface it.)
147
+ const stageAEvent = this.composeStageAEvent(parentEvent, correlationId, handoffParsedBlock, roadmapSkeletonBlock);
148
+ const stageBEvent = stageBInputs === null
149
+ ? null
150
+ : this.composeStageBEvent(parentEvent, correlationId, stageBInputs.block, stageBInputs.yesterdayDateStr);
151
+ // Pre-resolve each stage's binding up front so the failure-path
152
+ // handler below can attribute the `result='failed'` row to the
153
+ // requested backend / model — `BackendQuotaError.backendId` covers
154
+ // the quota case, but other rejection shapes (context build error,
155
+ // an unrelated SDK throw) carry no binding info on the error itself.
156
+ // Resolving once at the top also matches the pattern `runStageA/B`
157
+ // already uses internally and keeps the binding observable from this
158
+ // scope. Wrapped in try/catch so a resolver throw still falls through
159
+ // to the stage dispatch (which would re-throw the same error and let
160
+ // the rejection path persist a failed row with a null binding).
161
+ const stageABinding = this.safeResolveBinding(stageAEvent, STAGE_A_PROCESS_KEY, inputs.requestedTier);
162
+ const stageBBinding = stageBEvent === null
163
+ ? null
164
+ : this.safeResolveBinding(stageBEvent, STAGE_B_PROCESS_KEY);
165
+ // morning-routine-optimization.md Phase 6 — pre-insert the
166
+ // `result='in_progress'` sentinel for Stage A so the agent's
167
+ // `PATCH /api/agent-actions/self` resolves to a real row during the
168
+ // run. The eventual `logAction` / `logError` call from
169
+ // `persistStageAuditRows` settles the same row (UPSERT path in
170
+ // `audit.ts`), preserving the metadata column the agent wrote.
171
+ // Stage B does NOT call PATCH self (it has no `agent-actions` skill
172
+ // in its policy set), so it gets no pre-insert.
173
+ this.preInsertStageAInProgressRow(correlationId);
174
+ // Capture per-stage timing INSIDE each promise so the failure path
175
+ // can backdate `started_at` honestly. A naïve `nowMs = Date.now()`
176
+ // taken AFTER `Promise.allSettled` returns would attribute Stage A's
177
+ // ~2h wall-clock to Stage B's `duration_ms` whenever Stage B
178
+ // finished early (e.g. 15s budget-cap failure followed by Stage A
179
+ // grinding for hours), inflating the failed row's reported runtime
180
+ // by an order of magnitude. `.finally()` captures the per-stage
181
+ // settle moment without altering the propagated value/reason that
182
+ // `Promise.allSettled` sees.
183
+ const stageAStartedAtMs = Date.now();
184
+ const stageBStartedAtMs = Date.now();
185
+ let stageACompletedAtMs = stageAStartedAtMs;
186
+ let stageBCompletedAtMs = stageBStartedAtMs;
187
+ const [stageA, stageB] = await Promise.allSettled([
188
+ this.runStageA(stageAEvent, inputs.requestedTier, stageABinding)
189
+ .finally(() => { stageACompletedAtMs = Date.now(); }),
190
+ stageBEvent === null || stageBBinding === null
191
+ ? Promise.resolve(null)
192
+ : this.runStageB(stageBEvent, stageBBinding)
193
+ .finally(() => { stageBCompletedAtMs = Date.now(); }),
194
+ ]);
195
+ // daily-journal-daemon-write.md §4.11 — invoke the daemon-side
196
+ // daily-journal composer BEFORE persistStageAuditRows so the
197
+ // compose outcome lands on the same INSERT/UPSERT as the Stage B
198
+ // row's terminal result (no post-UPDATE race). When the composer
199
+ // dep is absent (Phase 5 test fixtures) or Stage B wasn't
200
+ // dispatched (retry path / first-run skip), we skip the call and
201
+ // the audit row lands without `detail.dailyWrite` — the appender
202
+ // falls back to file-presence detection in that case.
203
+ const stageBResultIfFulfilledForCompose = stageB.status === "fulfilled" ? stageB.value : null;
204
+ const dailyComposeOutcome = await this.composeDailyJournalIfPossible({
205
+ correlationId,
206
+ stageBEvent,
207
+ stageBInputs,
208
+ stageBResult: stageBResultIfFulfilledForCompose,
209
+ });
210
+ // Land Stage A / Stage B `agent_actions` rows BEFORE deciding whether
211
+ // to re-throw on Stage A failure. The rows are what
212
+ // `parent-audit-emitter.readStageSummaries` reads via SQL, what the
213
+ // autonomous-cost-cap SUM aggregates over, and what
214
+ // `agent-journal-appender` (Phase 6) template-fills from. Without
215
+ // this call the orchestrator's parent-audit emit silently degrades to
216
+ // `stage_a_row_missing` in production and Stage B's cost is dropped
217
+ // from the budget tracker.
218
+ //
219
+ // We deliberately call this even when Stage A failed: Stage B's
220
+ // result may exist and its row is still meaningful (parent-audit emit
221
+ // won't fire on this attempt because Stage A failed, but a retry's
222
+ // emit will read Stage B's prior-attempt row).
223
+ //
224
+ // Success path → `processResult` (which calls `audit.logAction`,
225
+ // settling the in_progress sentinel row to `success`).
226
+ // Failure path → `audit.logError` (which UPSERTs the same in_progress
227
+ // sentinel to `result='failed'`, preserving any agent-side
228
+ // `PATCH /api/agent-actions/self` metadata writes that landed before
229
+ // the throw). The failure-path write is what closes the
230
+ // "Stage B threw and audit was silently dropped" hole that masked
231
+ // Stage B budget-cap failures as `Journal synthesis: skipped (no
232
+ // prior-day data)` — indistinguishable from a legit first-run skip.
233
+ // Routine events are silent-by-default in `shouldNotify`, so no
234
+ // user-facing notify side effect fires on either path.
235
+ const stageBResultIfFulfilled = stageB.status === "fulfilled" ? stageB.value : null;
236
+ await this.persistStageAuditRows({
237
+ stageA: {
238
+ event: stageAEvent,
239
+ binding: stageABinding,
240
+ startedAtMs: stageAStartedAtMs,
241
+ completedAtMs: stageACompletedAtMs,
242
+ ...(stageA.status === "fulfilled"
243
+ ? { result: stageA.value }
244
+ : { error: stageA.reason }),
245
+ },
246
+ stageB: stageBEvent === null
247
+ ? null
248
+ : {
249
+ event: stageBEvent,
250
+ binding: stageBBinding,
251
+ startedAtMs: stageBStartedAtMs,
252
+ completedAtMs: stageBCompletedAtMs,
253
+ // §4.11 — plumb the dailyWrite outcome onto the Stage B
254
+ // outcome so persistStageAuditRows can include it in the
255
+ // single INSERT/UPSERT that lands the row.
256
+ ...(dailyComposeOutcome
257
+ ? { dailyWrite: toDailyWriteAuditDetail(dailyComposeOutcome) }
258
+ : {}),
259
+ ...(stageB.status === "fulfilled"
260
+ ? { result: stageBResultIfFulfilled }
261
+ : { error: stageB.reason }),
262
+ },
263
+ });
264
+ // §4.7b — after the Stage B row has landed (so its just-written
265
+ // `detail.dailyWrite` is visible to the streak query), check for
266
+ // a 3-day all-partial streak and emit the owner DM (subject to
267
+ // the 24h dedup window). Runs only when Stage B was attempted on
268
+ // this morning; first-run / retry skips don't add a row and the
269
+ // SQL filter excludes them naturally.
270
+ if (dailyComposeOutcome !== null) {
271
+ try {
272
+ await maybeEmitPartialExtractStreakDm({
273
+ db: this.deps.db,
274
+ correlationId,
275
+ notifier: this.deps.partialExtractStreakNotifier ?? null,
276
+ });
277
+ }
278
+ catch (err) {
279
+ logger.warn({ err, correlationId }, "Partial-extract streak check threw — continuing");
280
+ }
281
+ }
282
+ if (stageA.status === "rejected") {
283
+ // Re-throw so the runner's existing finally / retry path fires.
284
+ // Log enough context that the operator can confirm the V2 path
285
+ // was active when the throw happened — the runner-side log will
286
+ // also fire from its own catch.
287
+ logger.error({
288
+ err: stageA.reason,
289
+ correlationId,
290
+ stageB: stageB.status,
291
+ }, "Stage A threw — propagating to MorningRoutineRunner");
292
+ throw stageA.reason;
293
+ }
294
+ if (stageB.status === "rejected") {
295
+ logger.warn({ err: stageB.reason, correlationId }, "Stage B threw — folding into stageBResult=null; today.md health gates parent audit independently");
296
+ }
297
+ return {
298
+ stageAResult: stageA.value,
299
+ stageBResult: stageBResultIfFulfilled,
300
+ startedAt,
301
+ };
302
+ }
303
+ /**
304
+ * Wrap `agentRouter.resolveBinding` so a resolver-side throw (e.g. a
305
+ * malformed `process_backend_config` row) doesn't abort the whole
306
+ * `run()` before either stage gets a chance to dispatch. A null
307
+ * binding signals "binding unknown" to the failure-path writer; the
308
+ * resulting `agent_actions(result='failed')` row will lack the
309
+ * backend / model columns but still pin the failure to a known
310
+ * stage event. The stage's own `runStage*` will re-throw the same
311
+ * resolution error on dispatch and that's what
312
+ * `persistStageAuditRows` records.
313
+ */
314
+ safeResolveBinding(event, processKey, requestedTier) {
315
+ try {
316
+ return this.deps.agentRouter.resolveBinding(event, {
317
+ processKey,
318
+ ...(requestedTier ? { requestedTier } : {}),
319
+ });
320
+ }
321
+ catch (err) {
322
+ logger.warn({ err, processKey, correlationId: event.correlationId }, "resolveBinding threw at the orchestrator's pre-resolve site — falling back to null binding");
323
+ return null;
324
+ }
325
+ }
326
+ /**
327
+ * Write per-stage `agent_actions` rows for both success and failure
328
+ * outcomes. Each stage's row lands keyed on its OWN `RoutineEvent`
329
+ * (carrying the stage's process-key event type), so the row's
330
+ * `action_type` is `routine.morning_routine_today` /
331
+ * `routine.morning_routine_journal` — exactly what
332
+ * `parent-audit-emitter.readStageSummaries` and the Phase 6
333
+ * `agent-journal-appender` will read.
334
+ *
335
+ * Success path → `processResult` (which calls `audit.logAction`,
336
+ * settling the in_progress sentinel row to `result='success'`).
337
+ *
338
+ * Failure path → `audit.logError` (which UPSERTs the same in_progress
339
+ * sentinel to `result='failed'`, preserving the agent-side metadata
340
+ * column intact). Without the failure-path write, Stage B rejections
341
+ * (most commonly `BackendQuotaError(max_budget_usd)` from a tight
342
+ * lite-tier envelope) leave the audit trail with NO Stage B row at
343
+ * all — `agent-journal-appender.formatJournalLine` then falls into
344
+ * the `stageB === null` branch and renders `Journal synthesis:
345
+ * skipped (no prior-day data)`, indistinguishable from a legitimate
346
+ * first-run skip. This is the structural bug the failure-path write
347
+ * closes.
348
+ *
349
+ * Failures inside `processResult` or `audit.logError` do NOT
350
+ * propagate — losing audit rows is bad, but blocking the entire
351
+ * morning routine on a downstream telemetry hiccup is worse. In
352
+ * practice `audit.logAction` / `audit.logError` already swallow their
353
+ * own DB errors with an internal logger.error, so the catches here
354
+ * are defence-in-depth guards against non-audit hooks (notify side
355
+ * effects we don't expect for routine events but might land later).
356
+ *
357
+ * Tail-risk acknowledgement: if a stage row truly fails to land
358
+ * (audit's internal try/catch swallowed a real SQLite error AND
359
+ * `processResult`'s notification path threw too), the parent-audit
360
+ * emitter will return `stage_a_row_missing` and the pre-routine gate
361
+ * stays unfired for the day — that day's hourly_check / evening_review
362
+ * are skipped with `morning_routine_pending_for_today`, but
363
+ * `MAX_RETRIES`-bounded `scheduleMorningRetry` does NOT loop on this
364
+ * shape because today.md health is independent. The day's automation
365
+ * degrades silently for that day; it does not infinite-loop.
366
+ */
367
+ async persistStageAuditRows(args) {
368
+ const tasks = [];
369
+ const outcomes = [
370
+ { label: "A", outcome: args.stageA },
371
+ ...(args.stageB === null
372
+ ? []
373
+ : [{ label: "B", outcome: args.stageB }]),
374
+ ];
375
+ for (const { label, outcome } of outcomes) {
376
+ if ("result" in outcome && outcome.result !== null) {
377
+ tasks.push(this.deps.resultProcessor
378
+ .processResult(outcome.result, outcome.event, false, {
379
+ // Thread dailyWrite into the result-processor's options
380
+ // so its `audit.logAction` call lands `detail.dailyWrite`
381
+ // on the same INSERT/UPSERT as the row's terminal result.
382
+ ...(outcome.dailyWrite ? { dailyWrite: outcome.dailyWrite } : {}),
383
+ })
384
+ .catch((err) => {
385
+ logger.warn({ err, correlationId: outcome.event.correlationId, stage: label }, `Stage ${label} processResult failed — audit row may be missing`);
386
+ }));
387
+ }
388
+ else if ("error" in outcome) {
389
+ tasks.push(this.recordStageFailure(outcome).catch((err) => {
390
+ logger.warn({ err, correlationId: outcome.event.correlationId, stage: label }, `Stage ${label} recordStageFailure threw — audit row may be missing`);
391
+ }));
392
+ }
393
+ // "result" in outcome with `result === null` is the Stage B
394
+ // first-run skip path: no execute call, no audit row to write.
395
+ }
396
+ if (tasks.length > 0) {
397
+ await Promise.all(tasks);
398
+ }
399
+ }
400
+ /**
401
+ * Write a `result='failed'` agent_actions row for a rejected stage.
402
+ * Uses `audit.logError`, which UPSERTs the matching in_progress
403
+ * sentinel row when one exists (Stage A's pre-insert) and INSERTs a
404
+ * fresh row otherwise (Stage B). Both paths land a terminal-state
405
+ * row keyed on `(event_id=correlationId, action_type=event.type)` so
406
+ * the downstream readers — `loadMorningRoutineActionRows`,
407
+ * `parent-audit-emitter.readStageSummaries`,
408
+ * `agent-journal-appender.formatJournalLine` — see one consistent
409
+ * shape per stage regardless of which terminal state the stage
410
+ * reached.
411
+ *
412
+ * Backend / model attribution: pulled from the pre-resolved binding
413
+ * when available, with a fallback to `BackendQuotaError.backendId`
414
+ * if the binding was unresolvable but the error happens to carry
415
+ * that field. Other failure shapes leave backend/model unset; the
416
+ * audit logger's `context` schema tolerates absent values.
417
+ */
418
+ async recordStageFailure(outcome) {
419
+ if (this.deps.audit === undefined)
420
+ return;
421
+ const error = outcome.error instanceof Error
422
+ ? outcome.error
423
+ : new Error(String(outcome.error ?? "stage rejection with no message"));
424
+ const durationMs = Math.max(0, outcome.completedAtMs - outcome.startedAtMs);
425
+ const quotaError = extractQuotaError(outcome.error);
426
+ const context = { durationMs };
427
+ const backendId = outcome.binding?.main.backendId ?? quotaError?.backendId ?? undefined;
428
+ const modelId = outcome.binding?.main.modelId ?? undefined;
429
+ if (backendId !== undefined)
430
+ context.backendId = backendId;
431
+ if (modelId !== undefined)
432
+ context.modelId = modelId;
433
+ if (quotaError !== null) {
434
+ context.failureKind = "quota";
435
+ context.failureCode = quotaError.originalCode;
436
+ }
437
+ // §4.11 — Stage B's failure-path row also carries the dailyWrite
438
+ // outcome when one was computed. Useful for the streak detector
439
+ // when Stage B threw but `composeDailyJournalIfPossible` was
440
+ // dispatched anyway (e.g. session crashed AFTER emitting valid
441
+ // body / frontmatter tags in its final text — uncommon but
442
+ // representable).
443
+ if (outcome.dailyWrite) {
444
+ context.dailyWrite = outcome.dailyWrite;
445
+ }
446
+ // Morning routine fires from cron — never reactive — same trigger
447
+ // shape as `preInsertStageAInProgressRow`. Keeping the trigger value
448
+ // consistent with the pre-insert row also keeps the UPSERT idempotent
449
+ // (Stage A's in_progress row has `trigger='autonomous'`; we don't
450
+ // want the UPSERT to flip it).
451
+ this.deps.audit.logError(outcome.event, error, "autonomous", context);
452
+ }
453
+ /**
454
+ * daily-journal-daemon-write.md §4.11 — invoke the daily-journal
455
+ * composer when (a) the orchestrator has a composer dep, (b) Stage B
456
+ * was actually dispatched (event built), and (c) `buildStageBInputs`
457
+ * produced the skeleton facts the composer needs. Otherwise return
458
+ * `null` and let the appender fall back to file-presence detection.
459
+ *
460
+ * Reuses the SAME skeleton + counts cached on `stageBInputs` (the
461
+ * exact byte stream Stage B's prompt saw) rather than re-deriving
462
+ * against the live DB. Re-deriving was the previous behaviour and
463
+ * introduced a drift class: if a new DM or calendar observation
464
+ * landed during Stage A's wall-clock window, the LLM authored against
465
+ * Skeleton-V1 while the daemon wrote Skeleton-V2 frontmatter; ditto
466
+ * `updated:` if the agent day rolled over between the two reads.
467
+ *
468
+ * Stage B's `AgentResult` may be `null` even when the event was
469
+ * dispatched (the SDK threw mid-stream); the composer handles that
470
+ * explicitly via its `stage_b_null` reason.
471
+ */
472
+ async composeDailyJournalIfPossible(args) {
473
+ if (this.deps.dailyJournalComposer === undefined)
474
+ return null;
475
+ if (args.stageBEvent === null)
476
+ return null;
477
+ if (args.stageBInputs === null)
478
+ return null;
479
+ try {
480
+ const outcome = await this.deps.dailyJournalComposer.compose({
481
+ correlationId: args.correlationId,
482
+ yesterdayDateStr: args.stageBInputs.yesterdayDateStr,
483
+ skeleton: args.stageBInputs.skeleton,
484
+ calendarEvents: args.stageBInputs.calendarEventsCount,
485
+ messagesHandled: args.stageBInputs.messagesHandled,
486
+ stageBResult: args.stageBResult,
487
+ });
488
+ return outcome;
489
+ }
490
+ catch (err) {
491
+ // The composer's own try/catch returns `ok: false, reason:
492
+ // "write_failed"` for write errors — anything that escapes is a
493
+ // construction bug. Surface it as a structured `write_failed`
494
+ // outcome so the audit row still carries a discriminated reason
495
+ // rather than going silent.
496
+ logger.error({ err, correlationId: args.correlationId }, "Daily journal composer threw past its own catch — recording as write_failed");
497
+ return { ok: false, reason: "write_failed" };
498
+ }
499
+ }
500
+ /**
501
+ * ⑥b parent audit emit — the row keyed `action_type='routine.morning_routine'`
502
+ * that `morningRoutineRanToday` in `schedule-helpers.ts` SELECTs on.
503
+ * Called by `MorningRoutineRunner` AFTER its `diagnoseTodayMdState`
504
+ * verdict so the today.md health gate is enforced; gated also on
505
+ * Stage A success (Stage B success is recorded in `detail` but does
506
+ * NOT block — the day still "opened" if today.md is good).
507
+ *
508
+ * Reads agent_actions rows by correlationId to get authoritative
509
+ * `cost_usd` / `num_turns` / `result` for each stage — handles the
510
+ * case where one stage's `AgentResult` is in memory and the other
511
+ * is null (Stage B was skipped on retry) without an
512
+ * impedance-mismatch shim.
513
+ */
514
+ emitParentAuditRow(args) {
515
+ const stages = this.readStageSummaries(args.correlationId);
516
+ return emitMorningRoutineParentAuditRow(this.deps.db, {
517
+ correlationId: args.correlationId,
518
+ stageA: stages.stageA,
519
+ stageB: stages.stageB,
520
+ todayMdHealth: args.todayMdHealth,
521
+ startedAt: args.startedAt,
522
+ completedAt: new Date(),
523
+ ...(args.backend ? { backend: args.backend } : {}),
524
+ });
525
+ }
526
+ /**
527
+ * morning-routine-optimization.md Phase 6 — ⑥ AgentJournalAppender.
528
+ * Assembles the one-paragraph English audit-trail entry for
529
+ * `journal/agent.md` from `agent_actions` rows (stage results +
530
+ * the metadata column Stage A wrote via `PATCH /api/agent-actions/self`)
531
+ * plus `daily/<yesterday>.md` frontmatter. No LLM final-text parsing.
532
+ *
533
+ * Called by `MorningRoutineRunner` AFTER both stage rows have settled
534
+ * (so `loadMorningRoutineActionRows` sees terminal `result` + the
535
+ * agent-supplied metadata) and BEFORE `emitParentAuditRow` so the
536
+ * journal block is on disk by the time the pre-routine gate fires.
537
+ *
538
+ * Returns the appender's structured outcome so the runner can log the
539
+ * skip reason (e.g. `stage_a_row_missing` when the Stage A audit row
540
+ * never landed) without grepping the file. Returns `null` when the
541
+ * orchestrator was constructed without the deps the appender needs
542
+ * (Phase 5-only test fixtures) — caller treats `null` as a no-op.
543
+ */
544
+ async appendAgentJournalEntry(args) {
545
+ const contextDir = getContextDir(this.deps.config, this.deps.db);
546
+ const now = new Date();
547
+ const yesterdayNow = new Date(now.getTime() - 24 * 60 * 60 * 1000);
548
+ const morningDateStr = getAgentDayDateStr(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, now);
549
+ const yesterdayDateStr = getAgentDayDateStr(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, yesterdayNow);
550
+ // Yesterday's agent-day UTC window — same shape `buildStageBInputs`
551
+ // derives for the skeleton facts. The appender uses it to aggregate
552
+ // the agent-action breakdown into the `journal/agent.md` footprint
553
+ // line. Recomputed here (rather than threaded from `buildStageBInputs`)
554
+ // because Stage B is dispatched async and the orchestrator does not
555
+ // retain its inputs between phases.
556
+ const bounds = getAgentDayBoundsUtc(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, yesterdayNow);
557
+ const agentDayWindow = { startUtc: bounds.start, endUtc: bounds.end };
558
+ return appendMorningRoutineJournalEntry({
559
+ db: this.deps.db,
560
+ contextDir,
561
+ ...(this.deps.writeTracker
562
+ ? { writeTracker: this.deps.writeTracker }
563
+ : {}),
564
+ }, {
565
+ correlationId: args.correlationId,
566
+ morningDateStr,
567
+ yesterdayDateStr,
568
+ agentDayWindow,
569
+ });
570
+ }
571
+ // ── ⑥ pre-insert in_progress row for Stage A ────────────────────────
572
+ preInsertStageAInProgressRow(correlationId) {
573
+ if (this.deps.audit === undefined)
574
+ return;
575
+ this.deps.audit.insertInProgressRow({
576
+ correlationId,
577
+ actionType: STAGE_A_ACTION_TYPE,
578
+ // Morning routine fires from cron — never reactive.
579
+ trigger: "autonomous",
580
+ });
581
+ }
582
+ // ── ② HandoffParser plumbing ─────────────────────────────────────────
583
+ buildHandoffParsedBlock() {
584
+ const contextDir = getContextDir(this.deps.config, this.deps.db);
585
+ const yesterdayPath = join(contextDir, "state", "yesterday.md");
586
+ if (!existsSync(yesterdayPath))
587
+ return null;
588
+ let body;
589
+ try {
590
+ body = readFileSync(yesterdayPath, "utf-8");
591
+ }
592
+ catch (err) {
593
+ logger.warn({ err, yesterdayPath }, "yesterday.md read failed — falling back to in-task handoff parse");
594
+ return null;
595
+ }
596
+ const parsed = parseHandoff(body);
597
+ if (parsed === null)
598
+ return null;
599
+ return renderHandoffParsedBlock(parsed);
600
+ }
601
+ // ── ③ JournalSkeletonBuilder plumbing ────────────────────────────────
602
+ buildStageBInputs() {
603
+ const contextDir = getContextDir(this.deps.config, this.deps.db);
604
+ // First-run skip: when yesterday.md is absent, there is no prior
605
+ // agent-day to author a journal about. Firing Stage B anyway would
606
+ // produce a phantom `daily/<yesterday>.md` with `calendar_events: 0`
607
+ // / `messages_handled: 0` / `## Tasks: (none)` for a date the user
608
+ // wasn't using the agent — and `daily/<date>.md` is user-facing in
609
+ // the vault, so the phantom entry is a real correctness issue, not
610
+ // just internal noise. Aligns with §5.9 Step 5's "Skipped when no
611
+ // yesterday.md (initial variant)" entry in the design's per-stage
612
+ // responsibility matrix. The downstream `agent-journal-appender`
613
+ // renders the daemon-emitted `Journal synthesis: skipped (no
614
+ // prior-day data)` line whenever `daily/<yesterday>.md` is absent on
615
+ // disk, so the audit-trail entry stays correct without Stage B.
616
+ const yesterdayPath = join(contextDir, "state", "yesterday.md");
617
+ if (!existsSync(yesterdayPath))
618
+ return null;
619
+ // Yesterday's agent-day window = today's window shifted by -24h.
620
+ // `getAgentDayBoundsUtc(now=<24h ago>)` yields the correct
621
+ // `[start, end)` even across the 04:00 boundary / DST transitions
622
+ // because the helper recomputes the offset at the boundary instant.
623
+ const now = new Date();
624
+ const yesterdayNow = new Date(now.getTime() - 24 * 60 * 60 * 1000);
625
+ // `getAgentDayBoundsUtc` returns `{start, end}` shaped strings;
626
+ // `gatherJournalSkeletonFacts` consumes `{startUtc, endUtc}`. Adapt
627
+ // here at the call site so the helper's shared shape stays stable
628
+ // across other callers (`buildYesterdaySqliteContext` etc.).
629
+ const bounds = getAgentDayBoundsUtc(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, yesterdayNow);
630
+ const window = { startUtc: bounds.start, endUtc: bounds.end };
631
+ const dateStr = getAgentDayDateStr(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, yesterdayNow);
632
+ // Today's agent-day — lands in the skeleton's `updated:` frontmatter
633
+ // field. Computed from `now` (not `yesterdayNow`) so a 04:00 run on
634
+ // 2026-05-15 stamps `updated: 2026-05-15` while the journal's `date:`
635
+ // stays `2026-05-14`.
636
+ const updatedDateStr = getAgentDayDateStr(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, now);
637
+ const weekday = new Date(`${dateStr}T00:00:00Z`).toLocaleDateString("en-US", {
638
+ weekday: "long",
639
+ timeZone: "UTC",
640
+ });
641
+ const yesterdayMd = readFileSync(yesterdayPath, "utf-8");
642
+ const facts = gatherJournalSkeletonFacts(this.deps.db, window);
643
+ const calendarEvents = this.readYesterdayCalendarEvents(window);
644
+ const skeletonInputs = {
645
+ dateStr,
646
+ weekday,
647
+ updatedDateStr,
648
+ yesterdayMd,
649
+ calendarEvents,
650
+ ...(this.deps.config.timezone
651
+ ? { timezone: this.deps.config.timezone }
652
+ : {}),
653
+ };
654
+ const skeletonBody = buildJournalSkeleton(skeletonInputs, facts);
655
+ return {
656
+ block: `<journal_skeleton>\n${skeletonBody}\n</journal_skeleton>`,
657
+ yesterdayDateStr: dateStr,
658
+ // daily-journal-daemon-write.md §4.11 (drift fix) — cache the
659
+ // skeleton inputs + pre-aggregated counts here so the post-
660
+ // `Promise.allSettled` composer can reuse the SAME byte stream
661
+ // Stage B's prompt saw. Re-deriving on the composer side (as the
662
+ // initial implementation did via `buildStageBSkeletonInputs`)
663
+ // re-runs `gatherJournalSkeletonFacts` + `readYesterdayCalendar
664
+ // Events` against the live DB; if a new DM or calendar observation
665
+ // landed during Stage A's wall-clock window, or the agent day rolled
666
+ // over, the LLM authored against Skeleton-V1 while the daemon wrote
667
+ // Skeleton-V2 frontmatter (`messages_handled` / `calendar_events`
668
+ // count drift, `updated:` date drift across the 04:00 boundary).
669
+ // One canonical snapshot eliminates the drift class entirely.
670
+ skeleton: skeletonInputs,
671
+ calendarEventsCount: calendarEvents.length,
672
+ messagesHandled: facts.messagesHandled,
673
+ };
674
+ }
675
+ readYesterdayCalendarEvents(window) {
676
+ // Calendar events stored in `observations` or `calendar_events` are
677
+ // schema-fluid across direct / delegated / native modes. Phase 2's
678
+ // skeleton builder is contract-tested against this shape; for Phase
679
+ // 5 wiring we read the agent-day window from `observations` rows
680
+ // tagged with a calendar source_prefix. Missing rows yield an empty
681
+ // array — the skeleton renders `- (none)` in that case.
682
+ const rows = this.deps.db
683
+ .prepare(`SELECT payload AS payload
684
+ FROM observations
685
+ WHERE (source LIKE 'google_calendar:%'
686
+ OR source LIKE 'outlook_calendar:%')
687
+ AND observed_at >= ?
688
+ AND observed_at < ?
689
+ ORDER BY observed_at ASC`)
690
+ .all(window.startUtc, window.endUtc);
691
+ const out = [];
692
+ const timezone = this.deps.config.timezone || undefined;
693
+ for (const row of rows) {
694
+ const event = parseCalendarPayload(row.payload, timezone);
695
+ if (event !== null)
696
+ out.push(event);
697
+ }
698
+ return out;
699
+ }
700
+ // ── ⑤A Stage A dispatch ──────────────────────────────────────────────
701
+ composeStageAEvent(parent, correlationId, handoffParsedBlock, roadmapSkeletonBlock) {
702
+ const data = {
703
+ ...parent.data,
704
+ morningPipelineStage: "today",
705
+ };
706
+ if (handoffParsedBlock !== null) {
707
+ data.handoffParsedBlock = handoffParsedBlock;
708
+ }
709
+ if (roadmapSkeletonBlock !== null) {
710
+ // Picked up by `ContextBuilder.build` on the `morning_routine`
711
+ // branch; injected as the `<roadmap_skeleton>` block alongside
712
+ // the truncated `<roadmap>` so Stage A can detect the placeholder
713
+ // wizard skeleton and fully populate roadmap.md from the
714
+ // daemon-prepared facts on the first-run day.
715
+ data.roadmapSkeletonBlock = roadmapSkeletonBlock;
716
+ }
717
+ return {
718
+ type: STAGE_A_PROCESS_KEY,
719
+ source: parent.source,
720
+ priority: parent.priority ?? EventPriority.HIGH,
721
+ timestamp: parent.timestamp,
722
+ correlationId,
723
+ data,
724
+ routine: STAGE_A_ROUTINE_SLUG,
725
+ };
726
+ }
727
+ // ── Phase 7 — Roadmap skeleton plumbing (first-run branch only) ──────
728
+ /**
729
+ * Compose the `<roadmap_skeleton>` block injected into Stage A's
730
+ * prompt on the **first-run** (no-yesterday) branch. Returns `null`
731
+ * on the recurring branch (yesterday.md present); the recurring
732
+ * branch reads the live truncated `<roadmap>` ContextBuilder
733
+ * already injects.
734
+ *
735
+ * Why gate on `yesterday.md`: the first-run signal lines up with
736
+ * the variant collapse documented in §5 ("variant collapse") — the
737
+ * setup wizard produces a placeholder roadmap.md and rotateDayFiles
738
+ * has not yet emitted yesterday.md. Both gates fire from the same
739
+ * fs predicate so Stage A's first-run branch never sees a mismatch.
740
+ *
741
+ * Errors are swallowed: a malformed projects file or a missing
742
+ * travel_bookings table degrades to "Stage A sees an empty
743
+ * section" rather than failing the whole stage. The variant
744
+ * collapse depends on Stage A still landing roadmap.md in this
745
+ * case (it can fall back to reading `<management_rules>` and
746
+ * `<active_projects>` inline); shipping a broken skeleton block
747
+ * would be worse than no skeleton block at all.
748
+ */
749
+ buildRoadmapSkeletonBlock() {
750
+ const contextDir = getContextDir(this.deps.config, this.deps.db);
751
+ const yesterdayPath = join(contextDir, "state", "yesterday.md");
752
+ if (existsSync(yesterdayPath))
753
+ return null; // recurring branch
754
+ try {
755
+ const now = new Date();
756
+ const todayDateStr = getAgentDayDateStr(this.deps.config.timezone || undefined, this.deps.config.dayBoundaryHour, now);
757
+ const calendarEvents = this.readForwardCalendarEvents(now);
758
+ const facts = gatherRoadmapSkeletonFacts(this.deps.db, contextDir, todayDateStr);
759
+ const skeleton = buildRoadmapSkeleton({
760
+ todayDateStr,
761
+ calendarEvents,
762
+ ...(this.deps.config.timezone
763
+ ? { timezone: this.deps.config.timezone }
764
+ : {}),
765
+ }, facts);
766
+ return `<roadmap_skeleton>\n${skeleton}\n</roadmap_skeleton>`;
767
+ }
768
+ catch (err) {
769
+ logger.warn({ err }, "Roadmap skeleton build threw — Stage A will run without <roadmap_skeleton>");
770
+ return null;
771
+ }
772
+ }
773
+ /**
774
+ * Read forward-looking calendar events from the observations table
775
+ * for the next 7 days (matching the design's "Annual Goals from
776
+ * management rules, Quarterly Focus from active projects +
777
+ * calendar, Preparation Timeline from travel_bookings + calendar"
778
+ * window).
779
+ *
780
+ * Filtering note (pre-Phase-7-rev2 bug fix): the SQL filter does
781
+ * NOT use `observed_at` as a window bound. `observed_at` is the
782
+ * recording timestamp (CURRENT_TIMESTAMP at INSERT) — for a
783
+ * forward-looking window every relevant row was inserted BEFORE
784
+ * `now` (the just-completed pre-pass, an observer poll yesterday,
785
+ * etc.), so an `observed_at >= now` predicate would exclude every
786
+ * row. Instead we pull pending calendar observations and let JS
787
+ * filter on the parsed event start time extracted from
788
+ * `payload.raw.start`. The `consumed_at IS NULL` predicate scopes
789
+ * the read to rows the next Stage A turn has not yet consumed —
790
+ * exactly the set the pre-pass just landed for this morning's run.
791
+ * The `LIMIT 500` clamp guards against an unexpectedly large
792
+ * pending backlog blowing up Stage A's prompt budget; 500 is well
793
+ * above any realistic seven-day window the routine
794
+ * `cal_morning_7d` pre-pass would emit.
795
+ *
796
+ * Returns `[]` when no provider has pushed observations yet — the
797
+ * skeleton renders an explicit placeholder line.
798
+ */
799
+ readForwardCalendarEvents(now) {
800
+ let rows;
801
+ try {
802
+ rows = this.deps.db
803
+ .prepare(`SELECT payload AS payload
804
+ FROM observations
805
+ WHERE (source LIKE 'google_calendar:%'
806
+ OR source LIKE 'outlook_calendar:%')
807
+ AND consumed_at IS NULL
808
+ ORDER BY observed_at DESC
809
+ LIMIT 500`)
810
+ .all();
811
+ }
812
+ catch {
813
+ return [];
814
+ }
815
+ const startMs = now.getTime();
816
+ const endMs = startMs + 7 * 24 * 60 * 60 * 1000;
817
+ const out = [];
818
+ for (const row of rows) {
819
+ const event = parseForwardCalendarPayload(row.payload, this.deps.config.timezone || undefined);
820
+ if (event === null)
821
+ continue;
822
+ if (event.startMs < startMs)
823
+ continue;
824
+ if (event.startMs >= endMs)
825
+ continue;
826
+ out.push({ date: event.date, title: event.title });
827
+ }
828
+ // Stable ascending order so the skeleton output is deterministic
829
+ // regardless of the SQL-side `ORDER BY observed_at DESC` (which is
830
+ // tuned for the LIMIT clamp, not the rendering order).
831
+ out.sort((a, b) => {
832
+ if (a.date !== b.date)
833
+ return a.date.localeCompare(b.date);
834
+ return a.title.localeCompare(b.title);
835
+ });
836
+ return out;
837
+ }
838
+ async runStageA(event, requestedTier, preResolvedBinding) {
839
+ const context = await this.deps.contextBuilder.build(event);
840
+ // The orchestrator pre-resolves the binding so the failure-path
841
+ // handler can attribute the audit row to the requested backend/model.
842
+ // When the pre-resolve threw (binding === null), fall back to a
843
+ // resolve here — the throw will propagate normally and persist via
844
+ // `recordStageFailure` with a null binding.
845
+ const binding = preResolvedBinding
846
+ ?? this.deps.agentRouter.resolveBinding(event, {
847
+ processKey: STAGE_A_PROCESS_KEY,
848
+ ...(requestedTier ? { requestedTier } : {}),
849
+ });
850
+ const reassemblePrompt = (bid) => this.deps.prompt.assemble(event.type, STAGE_A_PROCESS_KEY, bid);
851
+ const prompt = reassemblePrompt(binding.main.backendId);
852
+ return this.deps.errorRouter.executeWithRetry(() => this.deps.agentRouter.execute({
853
+ prompt,
854
+ context,
855
+ event,
856
+ processKey: STAGE_A_PROCESS_KEY,
857
+ preResolvedBinding: binding,
858
+ reassemblePrompt,
859
+ ...(requestedTier ? { requestedTier } : {}),
860
+ }), event);
861
+ }
862
+ // ── ⑤B Stage B dispatch ──────────────────────────────────────────────
863
+ composeStageBEvent(parent, correlationId, journalSkeletonBlock, yesterdayDateStr) {
864
+ // Stage B does NOT inherit the parent's `todayWriteLockId` or
865
+ // `fetchReportBlock`. The lock gates today.md only (Stage B never
866
+ // touches it); the fetch report describes data Stage A consumes
867
+ // (pending observations from mail / notion / calendar pre-pass)
868
+ // that Stage B has no skill bundle to read. Stripping them keeps
869
+ // Stage B's prompt minimal so the lite-tier cold-start floor holds.
870
+ const stripped = {};
871
+ for (const [key, value] of Object.entries(parent.data ?? {})) {
872
+ if (key === "todayWriteLockId")
873
+ continue;
874
+ if (key === "fetchReportBlock")
875
+ continue;
876
+ if (key === "acquisitionPlanBlock")
877
+ continue;
878
+ stripped[key] = value;
879
+ }
880
+ stripped.morningPipelineStage = "journal";
881
+ stripped.journalSkeletonBlock = journalSkeletonBlock;
882
+ // daily-journal-daemon-write.md §4.10 — browser-history digest now
883
+ // fetched daemon-side and injected as `<browser_digest>` (Stage B
884
+ // has zero tool requirement so it cannot fetch it itself). The
885
+ // four-step chain in `buildBrowserDigestBlock` mirrors the LLM
886
+ // logic the task-flow used to perform.
887
+ const browserDigestBlock = this.buildBrowserDigestBlock(yesterdayDateStr);
888
+ if (browserDigestBlock !== null) {
889
+ stripped.browserDigestBlock = browserDigestBlock;
890
+ }
891
+ return {
892
+ type: STAGE_B_PROCESS_KEY,
893
+ source: parent.source,
894
+ priority: parent.priority ?? EventPriority.HIGH,
895
+ timestamp: parent.timestamp,
896
+ correlationId,
897
+ data: stripped,
898
+ routine: STAGE_B_ROUTINE_SLUG,
899
+ };
900
+ }
901
+ /**
902
+ * Resolve the `<browser_digest>` block Stage B used to fetch via
903
+ * `GET /api/context/browser/yesterday-<date>.md`. Now daemon-driven
904
+ * since Stage B has no tools:
905
+ *
906
+ * 1. Gate on integration mode — `browser_history` `disabled` →
907
+ * return `null` (no block injection).
908
+ * 2. File-first — `<contextDir>/browser/yesterday-<date>.md` written
909
+ * by the 03:00 cron is the primary surface.
910
+ * 3. In-process JSON fallback — if the file is absent (daemon was
911
+ * down at 03:00 or the file was purged), call
912
+ * `runPreMorningDigestJob` in-process to rebuild from SQLite +
913
+ * render the markdown shape (no HTTP loopback).
914
+ * 4. Both unavailable → return `null` (silent skip; the task-flow
915
+ * omits the block).
916
+ *
917
+ * The block is wrapped in `<browser_digest>...</browser_digest>` to
918
+ * match the inbound-XML idiom every other ContextBuilder injection
919
+ * uses (`<fetch_report>`, `<journal_skeleton>`, etc.).
920
+ */
921
+ buildBrowserDigestBlock(yesterdayDateStr) {
922
+ try {
923
+ const integrationState = readIntegrationState(this.deps.db, "browser_history");
924
+ if (integrationState.mode === "disabled")
925
+ return null;
926
+ }
927
+ catch (err) {
928
+ // Read failure on the integration registry is rare (corrupt
929
+ // settings JSON). Log + skip — Stage B should still author the
930
+ // journal without browser-history context if the registry is in
931
+ // a bad state.
932
+ logger.warn({ err }, "browser_history integration state read failed — omitting <browser_digest>");
933
+ return null;
934
+ }
935
+ const contextDir = getContextDir(this.deps.config, this.deps.db);
936
+ // §10.6 / §5.F2 — the cron writes `browser/yesterday-<date>.md`.
937
+ const filePath = join(contextDir, "browser", `yesterday-${yesterdayDateStr}.md`);
938
+ if (existsSync(filePath)) {
939
+ try {
940
+ const body = readFileSync(filePath, "utf-8");
941
+ return `<browser_digest>\n${body}\n</browser_digest>`;
942
+ }
943
+ catch (err) {
944
+ logger.warn({ err, filePath }, "browser digest file read failed — falling back to in-process rebuild");
945
+ }
946
+ }
947
+ // In-process fallback — rebuild the digest from SQLite using the
948
+ // same pure builder the cron uses. Avoids the HTTP loopback that
949
+ // hits the `@hono/node-server` globalThis.Response pitfall
950
+ // (`project_hono_global_response_pitfall` memory). The result is
951
+ // rendered into the same markdown shape the file-first path would
952
+ // have produced.
953
+ try {
954
+ const boundary = {
955
+ timezone: this.deps.config.timezone || undefined,
956
+ dayBoundaryHour: this.deps.config.dayBoundaryHour ?? 4,
957
+ };
958
+ const digest = buildPreMorningDigest({
959
+ db: this.deps.db,
960
+ date: yesterdayDateStr,
961
+ boundary,
962
+ });
963
+ const markdown = renderPreMorningDigestMarkdown(digest);
964
+ return `<browser_digest>\n${markdown}\n</browser_digest>`;
965
+ }
966
+ catch (err) {
967
+ logger.warn({ err, yesterdayDateStr }, "browser digest in-process rebuild failed — omitting <browser_digest>");
968
+ return null;
969
+ }
970
+ }
971
+ async runStageB(event, preResolvedBinding) {
972
+ const context = await this.deps.contextBuilder.build(event);
973
+ // Same pre-resolve fallback as Stage A — see `runStageA`'s comment.
974
+ const binding = preResolvedBinding
975
+ ?? this.deps.agentRouter.resolveBinding(event, {
976
+ processKey: STAGE_B_PROCESS_KEY,
977
+ });
978
+ const reassemblePrompt = (bid) => this.deps.prompt.assemble(event.type, STAGE_B_PROCESS_KEY, bid);
979
+ const prompt = reassemblePrompt(binding.main.backendId);
980
+ return this.deps.errorRouter.executeWithRetry(() => this.deps.agentRouter.execute({
981
+ prompt,
982
+ context,
983
+ event,
984
+ processKey: STAGE_B_PROCESS_KEY,
985
+ preResolvedBinding: binding,
986
+ reassemblePrompt,
987
+ // daily-journal-daemon-write.md §3 corollary — Stage B's
988
+ // session must have zero tool requirement. The empty
989
+ // `skills-manifest.ts` entry suppresses `.claude/skills/*` from
990
+ // being registered, but the SDK still ships its default
991
+ // `CLAUDE_DEFAULT_ALLOWED_TOOLS` (Read / Write / Edit /
992
+ // Bash(curl *) / …). Without this per-execute clamp, Haiku
993
+ // could still call `Write` on `daily/<date>.md` directly —
994
+ // bypassing the daemon-side `DailyJournalComposer` chokepoint
995
+ // and racing it. Mirrors the precedent at
996
+ // `dispatcher-hourly-check.ts:1003` (`routine.hourly_check.triage`).
997
+ //
998
+ // Activation requires the clamp gate in `claude-code-core.ts`
999
+ // to honour an empty array as "no tools" — fixed in the same
1000
+ // PR as this addition (the prior `length > 0` gate silently
1001
+ // dropped `[]` to the default surface).
1002
+ //
1003
+ // Codex / Gemini have no per-spawn `allowedTools` surface —
1004
+ // the Stage B process key routes to Claude (lite tier / Haiku)
1005
+ // by default, so this clamp is effective on the production
1006
+ // binding. On a Claude→Codex/Gemini fallback the clamp is
1007
+ // not honoured; the `max_turns: 20` / `max_budget_usd: 0.30`
1008
+ // envelope on `routine.morning_routine_journal` remains the
1009
+ // safety floor on those backends.
1010
+ allowedToolsOverride: [],
1011
+ }), event);
1012
+ }
1013
+ // ── ⑥b helpers — read DB-side stage summaries for parent-audit ──────
1014
+ readStageSummaries(correlationId) {
1015
+ // We use the auditor's authoritative agent_actions rows (cost / turns /
1016
+ // result) rather than the in-memory `AgentResult` so retry attempts
1017
+ // and partial-failure paths report the same shape regardless of which
1018
+ // branch produced them.
1019
+ const rows = this.deps.db
1020
+ .prepare(`SELECT action_type AS actionType,
1021
+ cost_usd AS cost_usd,
1022
+ num_turns AS num_turns,
1023
+ result AS result
1024
+ FROM agent_actions
1025
+ WHERE event_id = ?
1026
+ AND action_type IN (?, ?)
1027
+ ORDER BY id ASC`)
1028
+ .all(correlationId, STAGE_A_ACTION_TYPE, STAGE_B_ACTION_TYPE);
1029
+ let stageA = null;
1030
+ let stageB = null;
1031
+ for (const row of rows) {
1032
+ // Latest row wins on retry — agent_actions inserts append a fresh
1033
+ // row per attempt; the most-recent row is the one the gate should
1034
+ // attribute. `loadMorningRoutineActionRows` follows the same rule.
1035
+ const summary = {
1036
+ cost_usd: row.cost_usd,
1037
+ num_turns: row.num_turns,
1038
+ result: row.result,
1039
+ };
1040
+ if (row.actionType === STAGE_A_ACTION_TYPE)
1041
+ stageA = summary;
1042
+ else if (row.actionType === STAGE_B_ACTION_TYPE)
1043
+ stageB = summary;
1044
+ }
1045
+ return { stageA, stageB };
1046
+ }
1047
+ }
1048
+ /**
1049
+ * Extract the underlying `BackendQuotaError` from a stage rejection so
1050
+ * `recordStageFailure` can tag the audit row with `failureKind='quota'`
1051
+ * + `failureCode=originalCode` (e.g. `max_budget_usd`). Mirrors the
1052
+ * `DispatcherErrorRouter.extractQuotaError` logic — kept module-local
1053
+ * here so the orchestrator is not coupled to the dispatcher's private
1054
+ * extraction surface.
1055
+ */
1056
+ function extractQuotaError(error) {
1057
+ if (error instanceof BackendQuotaError)
1058
+ return error;
1059
+ if (error instanceof BackendRouterHandledError) {
1060
+ if (error.cause instanceof BackendQuotaError)
1061
+ return error.cause;
1062
+ }
1063
+ return null;
1064
+ }
1065
+ /**
1066
+ * Map the composer's `DailyJournalComposeResult` to the
1067
+ * `agent_actions.detail.dailyWrite` JSON shape audit persists. The two
1068
+ * types are structurally identical today — but the mapper localises
1069
+ * the coupling so a future schema change to the audit shape doesn't
1070
+ * silently drift from the composer's API. Inlined at the call site
1071
+ * via `import type` would also work but loses the assertion site.
1072
+ */
1073
+ function toDailyWriteAuditDetail(result) {
1074
+ return result;
1075
+ }
1076
+ function renderHandoffParsedBlock(parsed) {
1077
+ // XML over JSON: the rest of the daemon's prompt-injection payloads
1078
+ // (`<fetch_report>`, `<acquisition-plan>`, `<integration_modes>`) use
1079
+ // XML-style tags; keep the same shape so Stage A's task-flow can read
1080
+ // them with one consistent extractor.
1081
+ const lines = ["<handoff_parsed>"];
1082
+ lines.push(" <tomorrow>");
1083
+ if (parsed.tomorrow.length === 0) {
1084
+ lines.push(" <item>(none)</item>");
1085
+ }
1086
+ else {
1087
+ for (const item of parsed.tomorrow) {
1088
+ lines.push(` <item>${escapeXml(item)}</item>`);
1089
+ }
1090
+ }
1091
+ lines.push(" </tomorrow>");
1092
+ lines.push(" <later>");
1093
+ if (parsed.later.length === 0) {
1094
+ lines.push(" <item>(none)</item>");
1095
+ }
1096
+ else {
1097
+ for (const item of parsed.later) {
1098
+ lines.push(` <item>${escapeXml(item)}</item>`);
1099
+ }
1100
+ }
1101
+ lines.push(" </later>");
1102
+ lines.push("</handoff_parsed>");
1103
+ return lines.join("\n");
1104
+ }
1105
+ function escapeXml(value) {
1106
+ return value
1107
+ .replace(/&/g, "&amp;")
1108
+ .replace(/</g, "&lt;")
1109
+ .replace(/>/g, "&gt;");
1110
+ }
1111
+ /**
1112
+ * Walk a calendar observation payload and lift the load-bearing fields
1113
+ * (`start`, `title`, `allDay`) into a uniform struct. Canonical
1114
+ * `raw.*` keys win over legacy top-level keys; whichever provides the
1115
+ * value first is taken so a writer that emits both does not produce
1116
+ * inconsistent reads.
1117
+ */
1118
+ function extractCalendarPayloadParts(parsed) {
1119
+ const title = pickString(parsed.raw?.title)
1120
+ ?? pickString(parsed.raw?.summary)
1121
+ ?? pickString(parsed.title)
1122
+ ?? pickString(parsed.summary)
1123
+ ?? "";
1124
+ const isAllDay = parsed.raw?.allDay === true
1125
+ || parsed.raw?.all_day === true
1126
+ || parsed.allDay === true
1127
+ || parsed.all_day === true;
1128
+ const startRaw = pickString(parsed.raw?.start)
1129
+ ?? pickString(parsed.startTime)
1130
+ ?? pickString(parsed.start_time)
1131
+ ?? pickString(parsed.start);
1132
+ if (startRaw === null)
1133
+ return { startMs: null, title, isAllDay };
1134
+ const ms = Date.parse(startRaw);
1135
+ if (!Number.isFinite(ms))
1136
+ return { startMs: null, title, isAllDay };
1137
+ return { startMs: ms, title, isAllDay };
1138
+ }
1139
+ function safeParseCalendarShape(raw) {
1140
+ if (raw === null)
1141
+ return null;
1142
+ try {
1143
+ return JSON.parse(raw);
1144
+ }
1145
+ catch {
1146
+ return null;
1147
+ }
1148
+ }
1149
+ /**
1150
+ * Phase 7 — extract `{date, title}` from a calendar observation payload
1151
+ * for the roadmap skeleton. Differs from `parseCalendarPayload` (which
1152
+ * emits `{time HH:MM, title}` for the daily journal skeleton): the
1153
+ * roadmap skeleton renders calendar events as date bullets, not time
1154
+ * bullets, because the look-ahead window is 7 days forward and per-
1155
+ * minute granularity is irrelevant for Quarterly Focus / Preparation
1156
+ * Timeline hints.
1157
+ *
1158
+ * Returns `null` when the payload has no parseable start time. Title-
1159
+ * only payloads are intentionally dropped — a calendar bullet without a
1160
+ * date is noise for a forward-window skeleton.
1161
+ */
1162
+ function parseForwardCalendarPayload(raw, timezone) {
1163
+ const parsed = safeParseCalendarShape(raw);
1164
+ if (parsed === null)
1165
+ return null;
1166
+ const parts = extractCalendarPayloadParts(parsed);
1167
+ if (parts.startMs === null)
1168
+ return null;
1169
+ // Render the date in the operator's timezone so the skeleton's bullet
1170
+ // dates line up with `<calendar_events_7d>` (which renders in the same
1171
+ // tz). All-day events stored with a trailing 00:00 UTC suffix could
1172
+ // otherwise drift by one day for east-of-UTC operators.
1173
+ const formatter = new Intl.DateTimeFormat("en-CA", {
1174
+ timeZone: timezone ?? "UTC",
1175
+ year: "numeric",
1176
+ month: "2-digit",
1177
+ day: "2-digit",
1178
+ });
1179
+ const date = formatter.format(new Date(parts.startMs));
1180
+ return { date, title: parts.title, startMs: parts.startMs };
1181
+ }
1182
+ function parseCalendarPayload(raw, timezone) {
1183
+ const parsed = safeParseCalendarShape(raw);
1184
+ if (parsed === null)
1185
+ return null;
1186
+ const parts = extractCalendarPayloadParts(parsed);
1187
+ if (parts.isAllDay) {
1188
+ return { time: null, title: parts.title };
1189
+ }
1190
+ if (parts.startMs === null) {
1191
+ return { time: null, title: parts.title };
1192
+ }
1193
+ // Render `HH:MM` in the operator's local timezone — matches
1194
+ // `SkeletonCalendarEvent.time`'s "HH:MM local start time" contract,
1195
+ // the DM-section bullet's tz-aware rendering inside the skeleton
1196
+ // builder, and ContextBuilder's `<calendar_events_7d>` block. The
1197
+ // pre-fix UTC slice (`getUTCHours`/`Minutes`) would render a 10:00
1198
+ // local standup for a UTC-7 operator as `17:00` in the `## Schedule`
1199
+ // scratch input that Stage B then uses to author the daily journal.
1200
+ if (typeof timezone === "string" && timezone.length > 0) {
1201
+ try {
1202
+ const fmt = new Intl.DateTimeFormat("en-GB", {
1203
+ hour: "2-digit",
1204
+ minute: "2-digit",
1205
+ hourCycle: "h23",
1206
+ timeZone: timezone,
1207
+ });
1208
+ return { time: fmt.format(new Date(parts.startMs)), title: parts.title };
1209
+ }
1210
+ catch {
1211
+ // Fall through to UTC slice on a bad TZ name (Intl throws
1212
+ // RangeError). Still better than throwing past the pure helper.
1213
+ }
1214
+ }
1215
+ const date = new Date(parts.startMs);
1216
+ const hh = String(date.getUTCHours()).padStart(2, "0");
1217
+ const mm = String(date.getUTCMinutes()).padStart(2, "0");
1218
+ return { time: `${hh}:${mm}`, title: parts.title };
1219
+ }
1220
+ function pickString(value) {
1221
+ if (typeof value !== "string")
1222
+ return null;
1223
+ if (value.length === 0)
1224
+ return null;
1225
+ return value;
1226
+ }
1227
+ // Re-export the action-type constants so dispatcher / runner can
1228
+ // continue to import them from one path even after Phase 6 moves
1229
+ // more responsibilities into the orchestrator.
1230
+ export { STAGE_A_PROCESS_KEY, STAGE_B_PROCESS_KEY, STAGE_A_ROUTINE_SLUG, STAGE_B_ROUTINE_SLUG, };