@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
@@ -1,21 +1,30 @@
1
1
  import { readFile } from "node:fs/promises";
2
- import { existsSync, readdirSync } from "node:fs";
2
+ import { existsSync } from "node:fs";
3
3
  import { join } from "node:path";
4
- import { AGENT_ROLE_DESCRIPTOR, APP_NAME, formatAgentOutboundLabel, formatSqliteDatetime, isRoutineEvent, isMessageEvent, isScheduledDmEvent, isScheduledEvent, localDateStr, normalizeAgentDisplayName, nowInTimezone, getAgentDayBoundsUtc, getAgentDayDateStr, getIntegrationDescriptor, parseSqliteUtcMs, } from "@aitne/shared";
4
+ import { AGENT_ROLE_DESCRIPTOR, APP_NAME, formatAgentOutboundLabel, isRoutineEvent, isMessageEvent, isScheduledDmEvent, isScheduledEvent, normalizeAgentDisplayName, nowInTimezone, getAgentDayDateStr, } from "@aitne/shared";
5
5
  import { getContextDir } from "../config.js";
6
6
  import { getDegradedMode } from "../db/runtime-state.js";
7
7
  import { readIntegrations } from "../db/integrations-store.js";
8
8
  import { CONTEXT_RELATIVE_PATHS } from "./context-paths.js";
9
+ import { getInjectionPolicy } from "./injection-policy.js";
10
+ import { POLICY_FILE_MAX_BYTES } from "./policy-files.js";
9
11
  import { renderOutputLanguagePolicyBlock } from "./output-language-policy.js";
10
- import { OWNER_DM_SCOPE, OWNER_SCOPE_KEY, DASHBOARD_CHAT_SCOPE, DASHBOARD_SCOPE_KEY, getConversationScope, } from "../messaging/constants.js";
11
- import { getProactiveForwardType, isProactiveForwardMetadata, metadataDispatchIds, parseMessageMetadata, } from "./channel-timeline.js";
12
+ import { getPreviousWeekIsoKey, loadPreviousWeekDigest, renderPreviousWeekBlock, } from "./previous-week-digest.js";
12
13
  import { createLogger } from "../logging.js";
13
14
  import { truncateRoadmap } from "./roadmap-truncate.js";
14
15
  import { readDefaultWikiWorkspace, readWikiWorkspaceByName, } from "./wiki/workspaces.js";
16
+ import { renderCalendarBlock } from "./context-builder-calendar.js";
17
+ import { getConversationHistoryForEvent, renderOwnerDmConversationHistory, renderRecentDmActivityBlock, renderRecentDmConversationLog, renderRecentOtherSurfaceBlock, renderResumeCatchupContext, } from "./context-builder-conversation.js";
18
+ import { renderActiveProjectsSection } from "./context-builder-projects.js";
19
+ import { buildAgentDayDmContext, buildYesterdayContext, truncateAgentLog, } from "./context-builder-yesterday.js";
15
20
  const logger = createLogger("context-builder");
16
- const YESTERDAY_AGENT_ACTION_LIMIT = 40;
17
- const YESTERDAY_MESSAGE_LIMIT = 60;
18
- const YESTERDAY_DM_LOG_LIMIT = 20;
21
+ function resolveAlwaysInjectionPolicy(event) {
22
+ const policy = getInjectionPolicy(event.type);
23
+ return {
24
+ injectUserProfile: policy.alwaysBlocks.has("user"),
25
+ injectManagementRules: policy.alwaysBlocks.has("management_rules"),
26
+ };
27
+ }
19
28
  export class ContextBuilder {
20
29
  config;
21
30
  db;
@@ -39,7 +48,20 @@ export class ContextBuilder {
39
48
  }
40
49
  return getContextDir(this.config);
41
50
  }
42
- async build(event) {
51
+ async build(event, opts = {}) {
52
+ // docs/design/appendices/fetch-window-cost-reduction.md §5 (Phase 2) — the pre-pass
53
+ // fetcher session reads no context MD files (no `<user>` / `<today>` /
54
+ // `<roadmap>` etc.) and writes no context paths. Its entire job is
55
+ // "iterate <acquisition-plan>, call the bound MCP, POST to
56
+ // /api/observations, emit one JSON line, exit." Every always-injected
57
+ // block other than `<event_correlation_id>` + `<integration_modes>` +
58
+ // `<acquisition-plan>` is causally unrelated to that work, so the slim
59
+ // builder bypasses them — saves ~10 K input tokens per session and the
60
+ // backend-neutral surface lands the same saving on Claude / Codex /
61
+ // Gemini / OpenCode (§5.5).
62
+ if (isRoutineEvent(event) && event.routine === "fetch_window") {
63
+ return this.buildFetchWindowContext(event);
64
+ }
43
65
  const sections = [];
44
66
  const degradedState = getDegradedMode(this.db);
45
67
  if (degradedState) {
@@ -53,10 +75,20 @@ export class ContextBuilder {
53
75
  "</management_mode_degraded>",
54
76
  ].join("\n"));
55
77
  }
56
- // Always injected (all sessions) B-007 §5.1 canonical paths.
78
+ // Per-event injection policy for the two heavy "always-injected"
79
+ // blocks (`<user>`, `<management_rules>`). `<today>` and the
80
+ // small metadata blocks (`<agent_identity>`, `<current_time>`, …)
81
+ // are unconditionally injected on the wide path. See
82
+ // `resolveAlwaysInjectionPolicy` for the opt-out table and the
83
+ // rationale per event-type.
84
+ const injectionPolicy = resolveAlwaysInjectionPolicy(event);
57
85
  const [userMd, rulesMd, todayMd] = await Promise.all([
58
- this.readFile(CONTEXT_RELATIVE_PATHS.user.profile),
59
- this.readFile(CONTEXT_RELATIVE_PATHS.rules.management),
86
+ injectionPolicy.injectUserProfile
87
+ ? this.readFile(CONTEXT_RELATIVE_PATHS.user.profile)
88
+ : Promise.resolve(null),
89
+ injectionPolicy.injectManagementRules
90
+ ? this.readFile(CONTEXT_RELATIVE_PATHS.rules.management)
91
+ : Promise.resolve(null),
60
92
  this.readFile(CONTEXT_RELATIVE_PATHS.today),
61
93
  ]);
62
94
  // Capture the read time as the authoritative "as of when did this
@@ -67,8 +99,33 @@ export class ContextBuilder {
67
99
  const todayReadAt = todayMd ? new Date().toISOString() : null;
68
100
  if (userMd)
69
101
  sections.push(`<user>\n${userMd}\n</user>`);
70
- if (rulesMd)
71
- sections.push(`<management_rules>\n${rulesMd}\n</management_rules>`);
102
+ // Authoritative injection of `policies/management.md`. Task-flows
103
+ // (`routine.morning_routine.md`, `setup.update.md`, …) reference
104
+ // `<management_rules>` directly, so the XML form is the contract
105
+ // surface. The policy-files registry (`policy-files.ts`)
106
+ // intentionally does NOT re-emit this file — re-adding it there
107
+ // would duplicate the SoT-bindings text in every session prompt.
108
+ //
109
+ // Size guard: design 21 §0.2 / NFR-1b requires a per-file cap on
110
+ // management.md so a runaway hand-edit or reconciler bug cannot
111
+ // blow up the prompt. Mirrors `POLICY_FILE_MAX_BYTES` from
112
+ // policy-files.ts (re-imported so a future cap bump stays
113
+ // single-source-of-change). Oversize → skip-with-warn, matching
114
+ // the policy-files behaviour the registry entry previously
115
+ // provided.
116
+ if (rulesMd) {
117
+ const rulesBytes = Buffer.byteLength(rulesMd, "utf-8");
118
+ if (rulesBytes > POLICY_FILE_MAX_BYTES) {
119
+ logger.warn({
120
+ path: CONTEXT_RELATIVE_PATHS.rules.management,
121
+ size: rulesBytes,
122
+ cap: POLICY_FILE_MAX_BYTES,
123
+ }, "policies/management.md exceeds per-file cap — skipped from <management_rules>");
124
+ }
125
+ else {
126
+ sections.push(`<management_rules>\n${rulesMd}\n</management_rules>`);
127
+ }
128
+ }
72
129
  if (todayMd) {
73
130
  // Truncate ## Agent Log to last N entries for non-evening sessions.
74
131
  // Evening review needs the full log to assess the day.
@@ -146,7 +203,7 @@ export class ContextBuilder {
146
203
  typeof event.data.gateDecision.block === "string") {
147
204
  sections.push(event.data.gateDecision.block);
148
205
  }
149
- // ROUTINE_DATA_ACQUISITION_DESIGN.md §6.4 — the pre-pass fetcher
206
+ // docs/design/appendices/routine-data-acquisition.md §6.4 — the pre-pass fetcher
150
207
  // (`routine.fetch_window`) receives an `<acquisition-plan>` block
151
208
  // assembled by the dispatcher before this session is spawned. The
152
209
  // block carries one `<fetch>` element per (integration × mode ×
@@ -157,7 +214,7 @@ export class ContextBuilder {
157
214
  if (typeof event.data?.acquisitionPlanBlock === "string") {
158
215
  sections.push(event.data.acquisitionPlanBlock);
159
216
  }
160
- // ROUTINE_DATA_ACQUISITION_DESIGN.md §6.4 / Phase 4 D1 — the parent
217
+ // docs/design/appendices/routine-data-acquisition.md §6.4 / Phase 4 D1 — the parent
161
218
  // routine session receives a `<fetch_report>` block summarising the
162
219
  // pre-pass run that immediately preceded it. The block carries the
163
220
  // JSON return shape (`fetched`/`posted`/`duplicates`/`errors`) so
@@ -167,6 +224,21 @@ export class ContextBuilder {
167
224
  if (typeof event.data?.fetchReportBlock === "string") {
168
225
  sections.push(event.data.fetchReportBlock);
169
226
  }
227
+ // morning-routine-optimization.md Phase 5 — daemon-prepared blocks
228
+ // injected verbatim by `MorningRoutinePipelineOrchestrator` before
229
+ // it spawns the stage sessions. `<handoff_parsed>` goes to Stage A
230
+ // (today.md synthesis) so Step 1's prose parse becomes a structured
231
+ // read; `<journal_skeleton>` goes to Stage B (daily journal
232
+ // author) so the skeleton-owned frontmatter + scratch facts are
233
+ // available without re-aggregating from SQLite. Both are fail-soft
234
+ // — when the orchestrator omits the block (parse failure for
235
+ // handoff; non-Stage-B event for skeleton), no string is pushed.
236
+ if (typeof event.data?.handoffParsedBlock === "string") {
237
+ sections.push(event.data.handoffParsedBlock);
238
+ }
239
+ if (typeof event.data?.journalSkeletonBlock === "string") {
240
+ sections.push(event.data.journalSkeletonBlock);
241
+ }
170
242
  // The <obsidian_vault_path> prompt fragment always points at the EXTERNAL
171
243
  // Obsidian vault (CLI skill target), never the agent's primary vault.
172
244
  // Kept verbatim for skill compatibility even after the field rename.
@@ -194,20 +266,7 @@ export class ContextBuilder {
194
266
  // keys we emit `<key>_native_backend="<backend>"` so the native variants
195
267
  // can route per integration without reading `~/.personal-agent/integrations.md`
196
268
  // themselves (DELEGATED-MODE-V2-DESIGN.md §5.4 + INTEGRATION_NATIVE_MODE_DESIGN.md §8.2).
197
- const integrationsSnapshot = readIntegrations(this.db);
198
- const integrationAttrs = Object.entries(integrationsSnapshot)
199
- .flatMap(([key, state]) => {
200
- const attrs = [`${key}="${state.mode}"`];
201
- if (state.mode === "delegated" && state.delegatedBackend) {
202
- attrs.push(`${key}_delegated_to="${state.delegatedBackend}"`);
203
- }
204
- if (state.mode === "native" && state.nativeBackend) {
205
- attrs.push(`${key}_native_backend="${state.nativeBackend}"`);
206
- }
207
- return attrs;
208
- })
209
- .join(" ");
210
- sections.push(`<integration_modes ${integrationAttrs} />`);
269
+ sections.push(this.buildIntegrationModesBlock());
211
270
  // Routine events: additional context
212
271
  if (isRoutineEvent(event)) {
213
272
  // Silent-by-default protocol: applies uniformly to every routine
@@ -232,10 +291,10 @@ export class ContextBuilder {
232
291
  // yesterday.md is created by Dispatcher.rotateDayFiles() before this runs.
233
292
  // It contains the previous day's today.md (with ## Handoff section).
234
293
  const [yesterdayMd, roadmapMd, activeProjects, yesterdaySqlite] = await Promise.all([
235
- this.readFile("yesterday.md"),
236
- this.readFile("roadmap.md"),
237
- this.buildActiveProjectsSection(),
238
- this.buildYesterdaySqliteContext(),
294
+ this.readFile(CONTEXT_RELATIVE_PATHS.yesterday),
295
+ this.readFile(CONTEXT_RELATIVE_PATHS.roadmap),
296
+ renderActiveProjectsSection(this.readableContextDir),
297
+ buildYesterdayContext({ db: this.db, config: this.config }),
239
298
  ]);
240
299
  if (yesterdayMd)
241
300
  sections.push(`<yesterday>\n${yesterdayMd}\n</yesterday>`);
@@ -244,8 +303,37 @@ export class ContextBuilder {
244
303
  sections.push(`<yesterday_dm_conversation_log>\n${yesterdaySqlite.dmConversationLog}\n</yesterday_dm_conversation_log>`);
245
304
  if (roadmapMd)
246
305
  sections.push(`<roadmap>\n${truncateRoadmap(roadmapMd, { timezone: this.config.timezone || undefined })}\n</roadmap>`);
306
+ // morning-routine-optimization.md Phase 7 — on the first-run
307
+ // (no-yesterday) branch the orchestrator pre-builds a
308
+ // `<roadmap_skeleton>` block carrying the daemon-prepared
309
+ // Annual Goals / Quarterly Focus / Preparation Timeline scratch
310
+ // data. Stage A reads it AS WELL AS the truncated `<roadmap>`
311
+ // above so Step 6b can detect the placeholder wizard skeleton
312
+ // and fully populate roadmap.md from these facts. On the
313
+ // recurring branch this key is absent and the block is omitted.
314
+ if (typeof event.data?.roadmapSkeletonBlock === "string") {
315
+ sections.push(event.data.roadmapSkeletonBlock);
316
+ }
247
317
  if (activeProjects)
248
318
  sections.push(`<active_projects>\n${activeProjects}\n</active_projects>`);
319
+ // `docs/design/appendices/weekly-next-week-leverage.md` — every
320
+ // morning of the new ISO week, lift the prior week's import-
321
+ // targeted sections (Carry Over / Next Week Focus / Lessons)
322
+ // from `weekly/YYYY-W{prev}.md` and inject them as a small
323
+ // `<previous_week>` block. Same file Mon–Sun within the week;
324
+ // helper rolls forward automatically when the daemon clock
325
+ // crosses Monday 00:00 local. Null when the prior week's file
326
+ // is missing (e.g. daemon was down through Friday or the
327
+ // catchup window — see schedule-helpers.ts) — block injection
328
+ // is skipped silently and morning_routine proceeds normally.
329
+ const previousWeekKey = getPreviousWeekIsoKey(this.config.timezone || undefined);
330
+ const readableContextDir = this.readableContextDir;
331
+ if (readableContextDir) {
332
+ const previousWeekDigest = await loadPreviousWeekDigest(readableContextDir, previousWeekKey);
333
+ if (previousWeekDigest) {
334
+ sections.push(renderPreviousWeekBlock(previousWeekDigest));
335
+ }
336
+ }
249
337
  // Fetch 7-day calendar events for today.md / roadmap.md updates.
250
338
  // For direct mode, ContextBuilder pre-fetches inline events via
251
339
  // the daemon's CalendarService. For non-direct modes the
@@ -254,12 +342,43 @@ export class ContextBuilder {
254
342
  // `/api/observations`; the sub-block then points the agent at
255
343
  // the observations table instead of emitting a "fetch yourself"
256
344
  // directive that would force Sonnet to drive the MCP fan-out.
257
- sections.push(await this.buildCalendarBlock(7, "calendar_events_7d", true));
345
+ sections.push(await renderCalendarBlock(this.calendarDeps(), {
346
+ days: 7,
347
+ blockName: "calendar_events_7d",
348
+ prepassCovers: true,
349
+ }));
350
+ }
351
+ else if (event.routine === "morning_routine_journal") {
352
+ // morning-routine-optimization.md Phase 5 — Stage B (daily
353
+ // journal author). Reads `<journal_skeleton>` (injected via
354
+ // event.data.journalSkeletonBlock above) as primary input and
355
+ // needs `<calendar_events_7d>` to resolve `[[wikilink]]`s for
356
+ // attended events under `vault_mode === "obsidian"`. Deliberately
357
+ // does NOT load yesterday.md, roadmap.md, active_projects, or
358
+ // SQLite yesterday snapshots — Stage A owns the forward-facing
359
+ // synthesis; Stage B's input set is intentionally minimal so the
360
+ // lite-tier cold-start floor is cleared (see design §"Per-stage
361
+ // input sketches").
362
+ sections.push(await renderCalendarBlock(this.calendarDeps(), {
363
+ days: 7,
364
+ blockName: "calendar_events_7d",
365
+ prepassCovers: true,
366
+ }));
367
+ // daily-journal-daemon-write.md §4.10 — Stage B has zero tool
368
+ // requirement, so the browser-history digest is fetched
369
+ // daemon-side by the orchestrator's `buildBrowserDigestBlock`
370
+ // and forwarded verbatim through `event.data.browserDigestBlock`.
371
+ // Block is omitted silently when browser-history is `disabled`
372
+ // or the digest is unavailable for both the file-first and the
373
+ // in-process fallback paths.
374
+ if (typeof event.data?.browserDigestBlock === "string") {
375
+ sections.push(event.data.browserDigestBlock);
376
+ }
258
377
  }
259
378
  else if (event.routine === "roadmap_refresh") {
260
379
  const [roadmapMd, activeProjects] = await Promise.all([
261
- this.readFile("roadmap.md"),
262
- this.buildActiveProjectsSection(),
380
+ this.readFile(CONTEXT_RELATIVE_PATHS.roadmap),
381
+ renderActiveProjectsSection(this.readableContextDir),
263
382
  ]);
264
383
  // Roadmap refresh must see the full file — the session
265
384
  // regenerates `## Agent Action Plan` wholesale, so any entry the
@@ -272,7 +391,7 @@ export class ContextBuilder {
272
391
  // refresh to incorporate long-horizon intent captured in recent
273
392
  // DMs; the rolling summaries in dm_conversation_log are the
274
393
  // cheapest source (already AI-condensed by the dispatcher).
275
- const dmLog7d = this.buildRecentDmConversationLog(7);
394
+ const dmLog7d = renderRecentDmConversationLog({ db: this.db, config: this.config }, 7);
276
395
  sections.push(`<recent_dm_conversation_log days="7">\n${dmLog7d}\n</recent_dm_conversation_log>`);
277
396
  // 90-day multi-provider calendar window — same shape as morning /
278
397
  // evening / weekly / monthly so every review-style routine sees one
@@ -286,12 +405,15 @@ export class ContextBuilder {
286
405
  // 3-arm hardcoded conditional silently filed native bindings under
287
406
  // the else branch and emitted "preserve existing roadmap content",
288
407
  // bricking roadmap.md generation for native-mode operators.
289
- sections.push(await this.buildCalendarBlock(90, "calendar_events_90d"));
408
+ sections.push(await renderCalendarBlock(this.calendarDeps(), {
409
+ days: 90,
410
+ blockName: "calendar_events_90d",
411
+ }));
290
412
  }
291
413
  else if (event.routine === "evening_review") {
292
414
  const [roadmapMd, activeProjects] = await Promise.all([
293
- this.readFile("roadmap.md"),
294
- this.buildActiveProjectsSection(),
415
+ this.readFile(CONTEXT_RELATIVE_PATHS.roadmap),
416
+ renderActiveProjectsSection(this.readableContextDir),
295
417
  ]);
296
418
  if (roadmapMd)
297
419
  sections.push(`<roadmap>\n${truncateRoadmap(roadmapMd, { timezone: this.config.timezone || undefined })}\n</roadmap>`);
@@ -300,7 +422,10 @@ export class ContextBuilder {
300
422
  // 3-day calendar look-ahead for evening review. Delegated mode emits
301
423
  // an MCP-fetch directive inside the same block so the flow works
302
424
  // without a routine-specific delegated variant.
303
- sections.push(await this.buildCalendarBlock(3, "calendar_events_3d"));
425
+ sections.push(await renderCalendarBlock(this.calendarDeps(), {
426
+ days: 3,
427
+ blockName: "calendar_events_3d",
428
+ }));
304
429
  }
305
430
  else if (event.routine === "user_profile_sweep") {
306
431
  // Both phases read the same current-agent-day bounds at session
@@ -313,7 +438,10 @@ export class ContextBuilder {
313
438
  // than silently running the sweep with an unlabeled log line.
314
439
  const phase = event.data?.phase;
315
440
  if (phase === "morning" || phase === "evening") {
316
- const agentDayDm = this.buildAgentDayDmContext();
441
+ const agentDayDm = buildAgentDayDmContext({
442
+ db: this.db,
443
+ config: this.config,
444
+ });
317
445
  sections.push(`<agent_day_messages>\n${agentDayDm.messages}\n</agent_day_messages>`);
318
446
  sections.push(`<agent_day_dm_conversation_log>\n${agentDayDm.dmConversationLog}\n</agent_day_dm_conversation_log>`);
319
447
  }
@@ -322,7 +450,7 @@ export class ContextBuilder {
322
450
  }
323
451
  }
324
452
  else if (event.routine === "today_refresh") {
325
- // ROUTINE_DATA_ACQUISITION_DESIGN.md Phase 4 / Phase 3 R3 —
453
+ // docs/design/appendices/routine-data-acquisition.md Phase 4 / Phase 3 R3 —
326
454
  // dashboard-triggered manual refresh. The pre-pass fetcher
327
455
  // (`routine.fetch_window`) acquires the day's calendar window
328
456
  // for every active calendar provider ahead of this session and
@@ -342,8 +470,8 @@ export class ContextBuilder {
342
470
  else if (event.routine === "weekly_review" ||
343
471
  event.routine === "monthly_review") {
344
472
  const [roadmapMd, activeProjects] = await Promise.all([
345
- this.readFile("roadmap.md"),
346
- this.buildActiveProjectsSection(),
473
+ this.readFile(CONTEXT_RELATIVE_PATHS.roadmap),
474
+ renderActiveProjectsSection(this.readableContextDir),
347
475
  ]);
348
476
  if (roadmapMd)
349
477
  sections.push(`<roadmap>\n${truncateRoadmap(roadmapMd, { timezone: this.config.timezone || undefined })}\n</roadmap>`);
@@ -351,7 +479,10 @@ export class ContextBuilder {
351
479
  sections.push(`<active_projects>\n${activeProjects}\n</active_projects>`);
352
480
  }
353
481
  const lookaheadDays = event.routine === "monthly_review" ? 30 : 7;
354
- sections.push(await this.buildCalendarBlock(lookaheadDays, `calendar_events_${lookaheadDays}d`));
482
+ sections.push(await renderCalendarBlock(this.calendarDeps(), {
483
+ days: lookaheadDays,
484
+ blockName: `calendar_events_${lookaheadDays}d`,
485
+ }));
355
486
  }
356
487
  }
357
488
  // Agent task / DM-tone events: inject live calendar + origin
@@ -363,7 +494,10 @@ export class ContextBuilder {
363
494
  // 1-day live calendar — critical for temporal awareness (meetings,
364
495
  // conflicts). Delegated mode emits an MCP-fetch directive inside the
365
496
  // same block.
366
- sections.push(await this.buildCalendarBlock(1, "calendar_today"));
497
+ sections.push(await renderCalendarBlock(this.calendarDeps(), {
498
+ days: 1,
499
+ blockName: "calendar_today",
500
+ }));
367
501
  // Task origin metadata — tells the agent WHO scheduled this
368
502
  sections.push(`<task_origin source="${event.source}" schedule_id="${event.scheduleId ?? "none"}" />`);
369
503
  sections.push(`<task_context>\n${JSON.stringify(event.taskContext ?? {}, null, 2)}\n</task_context>`);
@@ -371,8 +505,8 @@ export class ContextBuilder {
371
505
  // (Calendar data is already embedded in the task description by the API endpoint)
372
506
  if (event.source === "dashboard_regenerate") {
373
507
  const [roadmapMd, activeProjects] = await Promise.all([
374
- this.readFile("roadmap.md"),
375
- this.buildActiveProjectsSection(),
508
+ this.readFile(CONTEXT_RELATIVE_PATHS.roadmap),
509
+ renderActiveProjectsSection(this.readableContextDir),
376
510
  ]);
377
511
  if (roadmapMd)
378
512
  sections.push(`<roadmap>\n${roadmapMd}\n</roadmap>`);
@@ -386,11 +520,11 @@ export class ContextBuilder {
386
520
  // pick Variant A (greeting) vs. Variant B (mid-conversation
387
521
  // weave) per the scheduled.dm.md task-flow.
388
522
  if (isScheduledDmEvent(event)) {
389
- const recentDms = this.buildRecentDmActivityBlock(60);
523
+ const recentDms = renderRecentDmActivityBlock({ db: this.db, config: this.config }, 60);
390
524
  if (recentDms) {
391
525
  sections.push(`<recent_dm_messages window="60min">\n${recentDms}\n</recent_dm_messages>`);
392
526
  }
393
- const dmHistory = this.buildOwnerDmConversationHistory(20);
527
+ const dmHistory = renderOwnerDmConversationHistory({ db: this.db, config: this.config }, 20);
394
528
  if (dmHistory) {
395
529
  sections.push(`<recent_dm_conversation>\n${dmHistory}\n</recent_dm_conversation>`);
396
530
  }
@@ -402,11 +536,17 @@ export class ContextBuilder {
402
536
  // history via the backend's conversationHistory parameter. Doing it here
403
537
  // as well would duplicate the data under two different XML tags.
404
538
  if (isMessageEvent(event)) {
405
- const history = this.getConversationHistory(event);
406
- if (history) {
407
- sections.push(`<conversation_history>\n${history}\n</conversation_history>`);
539
+ if (!opts.skipActiveHistoryBlock) {
540
+ const history = getConversationHistoryForEvent({ db: this.db, config: this.config }, event);
541
+ if (history) {
542
+ sections.push(`<conversation_history>\n${history}\n</conversation_history>`);
543
+ }
408
544
  }
409
- const otherSurface = this.buildRecentOtherSurfaceBlock(event);
545
+ // <recent_other_surface> stays even when the active block is
546
+ // suppressed: it covers the OTHER DM surface (dashboard ↔ owner)
547
+ // and never overlaps with the cross-session bridge (which scopes
548
+ // to the current surface).
549
+ const otherSurface = renderRecentOtherSurfaceBlock({ db: this.db, config: this.config }, event);
410
550
  if (otherSurface) {
411
551
  sections.push(`<recent_other_surface>\n${otherSurface}\n</recent_other_surface>`);
412
552
  }
@@ -414,534 +554,99 @@ export class ContextBuilder {
414
554
  return sections.join("\n\n");
415
555
  }
416
556
  /**
417
- * Compute the calendar lookahead window anchored at the user-timezone
418
- * midnight boundary. Shared by direct-mode fetches and the delegated-mode
419
- * MCP-fetch directive so both paths describe exactly the same range.
557
+ * IContextBuilder contract delegate. Full doc + rationale live on
558
+ * `renderResumeCatchupContext` in `context-builder-conversation.ts`
559
+ * (the catchup block is conversation-history surface area; the
560
+ * orchestrator forwards the call so the public interface stays on
561
+ * this class).
420
562
  */
421
- computeCalendarWindow(days) {
422
- const tz = this.config.timezone || undefined;
423
- const dayBounds = getAgentDayBoundsUtc(tz, 0);
424
- const startMs = parseSqliteUtcMs(dayBounds.start);
425
- return {
426
- timeMin: new Date(startMs).toISOString(),
427
- timeMax: new Date(startMs + days * 24 * 60 * 60 * 1000).toISOString(),
428
- };
563
+ async buildResumeCatchupContext(event, sessionStartedAtMs) {
564
+ return renderResumeCatchupContext({ db: this.db, config: this.config }, event, sessionStartedAtMs);
429
565
  }
430
566
  /**
431
- * Build a `<calendar_events_…>` context block honouring every active
432
- * calendar provider × mode cell.
433
- *
434
- * ROUTINE_DATA_ACQUISITION_DESIGN.md §6.6 — the block wraps one
435
- * `<provider key="…" mode="…">…</provider>` sub-block per active
436
- * provider so the parent routine sees a uniform shape regardless of
437
- * which provider(s) the operator has configured. Per-provider body:
438
- *
439
- * - **direct + matching service available** → inline formatted event
440
- * list fetched by the daemon's `services.calendar` (Google today;
441
- * Outlook gets the same path once a dedicated `services.outlookCalendar`
442
- * lands — for now Outlook direct mode emits a service-unavailable
443
- * note so the flow degrades gracefully).
444
- * - **delegated** → a structured directive instructing the agent to
445
- * call the relevant MCP tool (same-backend) or the daemon's
446
- * `/api/integrations/<key>/exec` proxy (cross-backend). For
447
- * `userManagedConnector` providers (Outlook today) the proxy
448
- * branch is suppressed — same-backend and cross-backend collapse
449
- * onto the session's MCP.
450
- * - **native** → directive that points at the session backend's MCP
451
- * only. No daemon proxy: native bindings never fall back to the
452
- * daemon (R7 from the design doc).
453
- * - **disabled** → provider sub-block omitted entirely.
567
+ * Slim context for `routine.fetch_window` (Phase 2 see
568
+ * docs/design/appendices/fetch-window-cost-reduction.md §5). Emits only the three
569
+ * blocks the pre-pass session causally depends on:
454
570
  *
455
- * When no provider is active, emit the legacy
456
- * `<calendar_status>not available</calendar_status>` so routine flows
457
- * that branch on the unavailable marker keep working.
571
+ * - `<event_correlation_id>` required for `/api/observations` POSTs
572
+ * so dispatched observations attribute back to the same parent run.
573
+ * - `<integration_modes>` the partial bodies inlined into the
574
+ * fetcher's user prompt branch on `direct` / `delegated` / `native`
575
+ * per integration; without this block the partial cannot pick a
576
+ * mode-arm. Also the only block that reads from the DB on this path.
577
+ * - `<acquisition-plan>` — verbatim block from
578
+ * `event.data.acquisitionPlanBlock`, assembled by the dispatcher
579
+ * before the sub-session spawns. Carries one `<fetch>` row per
580
+ * (integration × mode × account) tuple. Absent only on the empty-plan
581
+ * short-circuit (`routine-fetch-window-runner.ts:buildFanOutPlanContext`),
582
+ * in which case the slim path emits two blocks instead of three.
458
583
  *
459
- * All callers funnel through this method so the three surfaces
460
- * (morning / evening / weekly+monthly and the agent-task path) stay
461
- * in lock-step when integration handling changes.
462
- */
463
- /**
464
- * Build a `<calendar_events_*>` context block honouring every active
465
- * provider's mode.
584
+ * Skipped relative to the wide path (and why each is safe to drop):
585
+ * - `<management_mode_degraded>` fetch_window does not read context
586
+ * MD files; degraded mode is informational for vault-touching flows.
587
+ * - `<user>` / `<management_rules>` / `<today>` — operator profile +
588
+ * rules + day-log are irrelevant to "fetch new messages since X".
589
+ * - `<agent_identity>` / `<current_time>` / `<current_agent_day>`
590
+ * the per-fetch `<fetch>` row carries its own `since` / `before`
591
+ * timestamps; the fetcher does not introspect "what time is it".
592
+ * - `<settings>` / `<output_language_policy>` — output is structural
593
+ * JSON (`{fetched, posted, duplicates, errors}`); the language
594
+ * policy only governs user-facing prose.
595
+ * - `<routine_protocol>` — silent-by-default + "POST /api/notify is
596
+ * the only user channel" — fetch_window never POSTs to /api/notify;
597
+ * the protocol matters for the parent routine, not the pre-pass.
598
+ * - `<obsidian_vault_path>` — fetcher does not touch the vault.
599
+ * - `<today_write_lock_id>` / `<roadmap_write_lock_id>` — locks are
600
+ * parent-routine concerns; fetcher writes nothing to MD files.
601
+ * - `<gate_decision>` / `<fetch_report>` — pre-pass-related blocks
602
+ * consumed by the parent routine, not by the pre-pass itself.
466
603
  *
467
- * `prepassCovers` A8 / Finding 5. When `true`, the caller's
468
- * `ROUTINE_WINDOWS` entry includes a calendar row, so the
469
- * `routine.fetch_window` pre-pass has already POSTed events to
470
- * `/api/observations` for every non-direct provider. Non-direct
471
- * provider sub-blocks then emit a "read observations" hint instead
472
- * of the legacy "fetch yourself" directive. Direct providers are
473
- * unchanged — ContextBuilder still pre-fetches inline events via
474
- * `services.calendar` (Google) and emits the fallback hint for
475
- * Outlook (no daemon-side service yet). The flag has no effect on
476
- * direct-mode sub-blocks. Default `false` for callers that don't
477
- * have pre-pass coverage (today_refresh, weekly/monthly_review,
478
- * roadmap_refresh).
479
- */
480
- async buildCalendarBlock(days, blockName, prepassCovers = false) {
481
- const integrations = readIntegrations(this.db);
482
- const { timeMin, timeMax } = this.computeCalendarWindow(days);
483
- const subblocks = [];
484
- const googleSub = await this.buildCalendarProviderBlock("google_calendar", "Google Calendar", integrations.google_calendar?.mode ?? "disabled", days, timeMin, timeMax, prepassCovers);
485
- if (googleSub)
486
- subblocks.push(googleSub);
487
- const outlookSub = await this.buildCalendarProviderBlock("outlook_calendar", "Outlook Calendar", integrations.outlook_calendar?.mode ?? "disabled", days, timeMin, timeMax, prepassCovers);
488
- if (outlookSub)
489
- subblocks.push(outlookSub);
490
- if (subblocks.length === 0) {
491
- // Match the legacy single-line shape so existing prose that greps
492
- // for `<calendar_status>not available` keeps matching.
493
- return `<calendar_status>Calendar service not available. No calendar provider is configured for this window.</calendar_status>`;
494
- }
495
- return [
496
- `<${blockName} days="${days}" timeMin="${timeMin}" timeMax="${timeMax}">`,
497
- ...subblocks,
498
- `</${blockName}>`,
499
- ].join("\n");
500
- }
501
- /**
502
- * Emit one provider sub-block for `buildCalendarBlock`. Returns null
503
- * when the provider is disabled (or, for native mode, the binding
504
- * does not apply to a meaningful path — the agent reads
505
- * `<integration_modes>` to decide whether its session backend is the
506
- * native one).
604
+ * Backend-neutral by construction: this string is passed verbatim to
605
+ * `core.execute(...)` for whichever backend resolved the binding
606
+ * (`routine-fetch-window-runner.ts:1529`). Same saving lands on Claude
607
+ * (cache_creation) and on Codex / Gemini / OpenCode (raw input tokens).
507
608
  */
508
- async buildCalendarProviderBlock(key, displayName, mode, days, timeMin, timeMax, prepassCovers = false) {
509
- if (mode === "disabled")
510
- return null;
511
- const open = ` <provider key="${key}" mode="${mode}">`;
512
- const close = " </provider>";
513
- // A8 / Finding 5 — when the parent routine's pre-pass owns the
514
- // calendar window AND this provider is non-direct, the pre-pass
515
- // has already POSTed events to /api/observations. Replace the
516
- // legacy "fetch yourself" directive with a hint pointing at
517
- // observations so the main routine session never re-drives the
518
- // MCP fan-out (the cost regression that motivated this flag).
519
- if (prepassCovers && (mode === "delegated" || mode === "native")) {
520
- return [
521
- open,
522
- `${displayName} ${mode} mode — the routine.fetch_window pre-pass`,
523
- `posted events for [${timeMin}, ${timeMax}) to /api/observations`,
524
- `under source_prefix \`${key}:\`. Read them via:`,
525
- ` GET http://localhost:8321/api/observations?pending=true&source_prefix=${key}:&limit=200`,
526
- `Consult \`<fetch_report>\` injected above for pre-pass status; on`,
527
- `status="failed" or "skipped" treat this provider as unavailable for`,
528
- `the window and log a one-line skip to \`## Agent Log\` instead of`,
529
- `re-driving the connector yourself. Do NOT call /api/calendar/* or`,
530
- `/api/integrations/*/exec — those return 410 in this mode.`,
531
- close,
532
- ].join("\n");
533
- }
534
- if (mode === "direct") {
535
- // Today only `services.calendar` (Google) is wired. Outlook direct
536
- // mode reaches `GET /api/calendar/outlook` from the task flow; the
537
- // context block surfaces a service-status hint until a daemon-side
538
- // CalendarService for Outlook lands. Either way the agent can fall
539
- // back to its own direct REST call from the task flow.
540
- if (key === "google_calendar" && this.services.calendar) {
541
- const inline = await this.fetchCalendarEvents(days);
542
- if (inline !== null) {
543
- return [open, inline, close].join("\n");
544
- }
545
- }
546
- return [
547
- open,
548
- `${displayName}: direct mode, daemon service not initialized for this window.`,
549
- `Fetch yourself via the task flow's direct-mode endpoint (Google: /api/calendar/events; Outlook: /api/calendar/outlook).`,
550
- close,
551
- ].join("\n");
552
- }
553
- if (mode === "delegated") {
554
- // CLAUDE.md: "Never hardcode an integration reference outside the
555
- // registry." `userManagedConnector` is the registry's source of
556
- // truth for whether the daemon ships a `/api/integrations/<key>/
557
- // exec` proxy. Reading it from the descriptor means a future
558
- // user-managed integration (Proton, custom MCP, etc.) inherits
559
- // the right branch without touching this method.
560
- const isUserManaged = getIntegrationDescriptor(key).userManagedConnector === true;
561
- const lines = [
562
- open,
563
- `${displayName} is delegated — see \`<integration_modes>\`. Fetch the window`,
564
- `(timeMin=${timeMin}, timeMax=${timeMax}) and treat the returned events as`,
565
- `the contents of this provider block for the rest of the task flow.`,
566
- "",
567
- " Same-backend (delegated_to == your session backend) — use your",
568
- ` session's ${displayName} MCP tool (whichever your skills document).`,
569
- ];
570
- if (!isUserManaged) {
571
- lines.push("", " Cross-backend (delegated_to != your session backend) — call", " the daemon's task-mode endpoint so the configured account is used:", ` POST http://localhost:8321/api/integrations/${key}/exec`, ` task: List every event between ${timeMin} and ${timeMax}.`, ` outputSchema: { events: [ { id, title, start, end } ] }`, ` Do NOT call /api/calendar/* (returns 410 in delegated mode).`);
572
- }
573
- else {
574
- lines.push("", " Cross-backend: not available for Outlook (user-managed connector,", " no daemon proxy). Fall through to the session's MCP regardless.");
575
- }
576
- lines.push("", "If the call errors out, log one line to `## Agent Log` and proceed", "as if the window were empty.", close);
577
- return lines.join("\n");
609
+ buildFetchWindowContext(event) {
610
+ const sections = [
611
+ `<event_correlation_id>${event.correlationId}</event_correlation_id>`,
612
+ this.buildIntegrationModesBlock(),
613
+ ];
614
+ if (typeof event.data?.acquisitionPlanBlock === "string") {
615
+ sections.push(event.data.acquisitionPlanBlock);
578
616
  }
579
- // mode === "native"
580
- return [
581
- open,
582
- `${displayName} is in native mode — see \`<integration_modes>.${key}_native_to\`.`,
583
- `Fetch this window (timeMin=${timeMin}, timeMax=${timeMax}) yourself via your`,
584
- `session backend's ${displayName} MCP surface. Do NOT call /api/calendar/*`,
585
- `or /api/integrations/*/exec — native mode has no daemon proxy.`,
586
- "",
587
- `If the native binding does not match your session backend (check`,
588
- `\`${key}_native_to\`), treat this provider as unavailable for this turn`,
589
- `and log one line to \`## Agent Log\`.`,
590
- close,
591
- ].join("\n");
617
+ return sections.join("\n\n");
592
618
  }
593
619
  /**
594
- * Fetch calendar events for the next N days and format as markdown.
595
- * Groups events by date with day-of-week and Today/Tomorrow labels.
596
- * Returns null if CalendarService is not available.
620
+ * Render the `<integration_modes ... />` element used by both the wide
621
+ * build path and the fetch_window slim path. Centralised so the slim
622
+ * path cannot drift from the wide path's attribute shape — both routes
623
+ * read from the same `readIntegrations(db)` snapshot and emit
624
+ * `key="mode"` plus the optional `_delegated_to` / `_native_backend`
625
+ * attributes per state.
597
626
  */
598
- async fetchCalendarEvents(days) {
599
- if (!this.services.calendar)
600
- return null;
601
- try {
602
- const { timeMin, timeMax } = this.computeCalendarWindow(days);
603
- const events = await this.services.calendar.listEvents(timeMin, timeMax);
604
- if (events.length === 0) {
605
- return `Calendar connected (Google Calendar). No events found in the next ${days} days.`;
606
- }
607
- return this.formatCalendarEvents(events, days);
608
- }
609
- catch (err) {
610
- logger.warn({ err }, "Failed to fetch calendar events for context");
611
- return null;
612
- }
613
- }
614
- /** Format calendar events grouped by date */
615
- formatCalendarEvents(events, days) {
616
- const now = new Date();
617
- const tz = this.config.timezone || undefined;
618
- const todayStr = localDateStr(now, tz);
619
- const tomorrow = new Date(now);
620
- tomorrow.setDate(tomorrow.getDate() + 1);
621
- const tomorrowStr = localDateStr(tomorrow, tz);
622
- const dayNames = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
623
- // Group events by local date in the configured timezone.
624
- const byDate = new Map();
625
- for (const event of events) {
626
- if (!event.start)
627
- continue;
628
- const dateStr = event.start.length === 10
629
- ? event.start
630
- : localDateStr(new Date(event.start), tz);
631
- const group = byDate.get(dateStr) ?? [];
632
- group.push(event);
633
- byDate.set(dateStr, group);
634
- }
635
- const lines = [];
636
- // Generate all dates in range
637
- for (let i = 0; i < days; i++) {
638
- const date = new Date(now);
639
- date.setDate(date.getDate() + i);
640
- const dateStr = localDateStr(date, tz);
641
- const localInfo = nowInTimezone(tz, date);
642
- const dayName = dayNames[localInfo.dayOfWeek];
643
- let label = "";
644
- if (dateStr === todayStr)
645
- label = " — Today";
646
- else if (dateStr === tomorrowStr)
647
- label = " — Tomorrow";
648
- lines.push(`## ${dateStr} (${dayName})${label}`);
649
- const dayEvents = byDate.get(dateStr);
650
- if (!dayEvents || dayEvents.length === 0) {
651
- lines.push("- (no events)");
627
+ buildIntegrationModesBlock() {
628
+ const integrationsSnapshot = readIntegrations(this.db);
629
+ const integrationAttrs = Object.entries(integrationsSnapshot)
630
+ .flatMap(([key, state]) => {
631
+ const attrs = [`${key}="${state.mode}"`];
632
+ if (state.mode === "delegated" && state.delegatedBackend) {
633
+ attrs.push(`${key}_delegated_to="${state.delegatedBackend}"`);
652
634
  }
653
- else {
654
- for (const event of dayEvents) {
655
- const timeRange = this.formatTimeRange(event);
656
- const summary = event.summary ?? "Untitled";
657
- const locationPart = event.location ? ` @ ${event.location}` : "";
658
- lines.push(`- ${timeRange} ${summary}${locationPart}`);
659
- }
635
+ if (state.mode === "native" && state.nativeBackend) {
636
+ attrs.push(`${key}_native_backend="${state.nativeBackend}"`);
660
637
  }
661
- lines.push("");
662
- }
663
- return lines.join("\n").trimEnd();
664
- }
665
- /** Format event time range as "HH:MM–HH:MM" or "All day" */
666
- formatTimeRange(event) {
667
- if (!event.start || !event.end)
668
- return "All day";
669
- // All-day events have date format (YYYY-MM-DD) without time component
670
- if (event.start.length === 10)
671
- return "All day";
672
- const startDate = new Date(event.start);
673
- const endDate = new Date(event.end);
674
- const startTime = this.formatLocalTime(startDate);
675
- const endTime = this.formatLocalTime(endDate);
676
- return `${startTime}\u2013${endTime}`;
677
- }
678
- formatLocalTime(date) {
679
- const local = nowInTimezone(this.config.timezone || undefined, date);
680
- return `${String(local.hours).padStart(2, "0")}:${String(local.minutes).padStart(2, "0")}`;
681
- }
682
- /**
683
- * SCHEDULED-DM-IMPLEMENTATION-PLAN §5.7 — return inbound owner-DM
684
- * messages received in the last `windowMinutes` across BOTH
685
- * owner-facing scopes (`owner_dm` for messaging-app DMs and
686
- * `dashboard_chat` for the dashboard chat panel), formatted one per
687
- * line oldest first. Returns null when there are no messages so the
688
- * caller can omit the block entirely.
689
- *
690
- * The two-scope query mirrors §3.6's gate set: the briefing
691
- * serializes behind both surfaces, so the LLM must see both
692
- * surfaces when classifying conversation state. A single-scope read
693
- * here would mis-classify state as `asleep` whenever the user is
694
- * mid-conversation on the OTHER surface — exactly the
695
- * voice-mismatch failure the design exists to fix.
696
- *
697
- * `docs_qa` is intentionally excluded — that surface is research
698
- * lookups, not conversation; gating against it would freeze
699
- * briefings during long doc-searches.
700
- */
701
- buildRecentDmActivityBlock(windowMinutes) {
702
- const sinceUtc = formatSqliteDatetime(new Date(Date.now() - windowMinutes * 60_000));
703
- const rows = this.db
704
- .prepare(`SELECT m.role, m.content, m.timestamp
705
- FROM messages m
706
- JOIN conversation_sessions s ON m.session_id = s.id
707
- WHERE s.scope IN (?, ?) AND m.role = 'user' AND m.timestamp >= ?
708
- ORDER BY m.timestamp ASC
709
- LIMIT 30`)
710
- .all(OWNER_DM_SCOPE, DASHBOARD_CHAT_SCOPE, sinceUtc);
711
- if (rows.length === 0)
712
- return null;
713
- return rows
714
- .map((r) => `[${r.timestamp}] ${truncateForBlock(r.content, 200)}`)
715
- .join("\n");
638
+ return attrs;
639
+ })
640
+ .join(" ");
641
+ return `<integration_modes ${integrationAttrs} />`;
716
642
  }
717
643
  /**
718
- * SCHEDULED-DM-IMPLEMENTATION-PLAN §5.7 return the last `limit`
719
- * owner-facing messages across BOTH `owner_dm` and `dashboard_chat`
720
- * scopes (interleaved by timestamp), formatted with role tags. Used
721
- * by `<recent_dm_conversation>` for topic awareness in the bridge
722
- * phrasing of Variant B briefings.
723
- *
724
- * Two-scope read — same reasoning as `buildRecentDmActivityBlock`:
725
- * the briefing must reconstruct topic context from whichever surface
726
- * the user has been using, not just the messaging-app one.
644
+ * Bundle the three deps `renderCalendarBlock` consumes into one
645
+ * object literal so callers in `build()` don't repeat the spread at
646
+ * every site.
727
647
  */
728
- buildOwnerDmConversationHistory(limit) {
729
- const rows = this.db
730
- .prepare(`SELECT m.role, m.content, m.timestamp, m.metadata
731
- FROM messages m
732
- JOIN conversation_sessions s ON m.session_id = s.id
733
- WHERE (s.scope = ? AND s.scope_key = ?)
734
- OR (s.scope = ? AND s.scope_key = ?)
735
- ORDER BY m.timestamp DESC, m.id DESC
736
- LIMIT ?`)
737
- .all(OWNER_DM_SCOPE, OWNER_SCOPE_KEY, DASHBOARD_CHAT_SCOPE, DASHBOARD_SCOPE_KEY, limit);
738
- if (rows.length === 0)
739
- return null;
740
- return rows
741
- .reverse()
742
- .map((r) => {
743
- const forwardSuffix = r.role === "assistant"
744
- && isProactiveForwardMetadata(parseMessageMetadata(r.metadata))
745
- ? " (forwarded from autonomous run)"
746
- : "";
747
- return `[${r.timestamp}] [${r.role}]${forwardSuffix}: ${truncateForBlock(r.content, 400)}`;
748
- })
749
- .join("\n");
750
- }
751
- getConversationHistory(event) {
752
- const maxMessages = this.config.historyInjectionMaxMessages ?? 50;
753
- let rows;
754
- if (event.isDm) {
755
- const { scope, scopeKey } = getConversationScope({
756
- platform: event.platform,
757
- channel: event.channel,
758
- threadId: event.threadId,
759
- isDm: true,
760
- // Without `intent`, a docs_qa event would query under
761
- // `dashboard_chat` and inject chat history into the QA prompt
762
- // (or miss its own QA history). Thread it through so each
763
- // dashboard scope retrieves only its own conversation.
764
- intent: event.intent,
765
- });
766
- // DM: load the active conversation for the matching DM surface.
767
- rows = this.db
768
- .prepare(`SELECT
769
- m.session_id,
770
- m.role,
771
- m.content,
772
- m.platform,
773
- m.timestamp,
774
- m.metadata,
775
- m.backend,
776
- m.model_id,
777
- s.backend_session_id
778
- FROM messages m
779
- JOIN conversation_sessions s ON m.session_id = s.id
780
- WHERE s.scope = ? AND s.scope_key = ? AND s.status = 'active'
781
- ORDER BY m.timestamp DESC, m.id DESC LIMIT ?`)
782
- .all(scope, scopeKey, maxMessages);
783
- }
784
- else {
785
- // Non-DM: query by (platform, channel, thread).
786
- // Hard-cap at 20 — threads are short-lived and higher limits risk
787
- // injecting stale context from unrelated earlier threads.
788
- const threadLimit = Math.min(maxMessages, 20);
789
- rows = this.db
790
- .prepare(`SELECT
791
- m.session_id,
792
- m.role,
793
- m.content,
794
- m.platform,
795
- m.timestamp,
796
- m.metadata,
797
- m.backend,
798
- m.model_id,
799
- s.backend_session_id
800
- FROM messages m
801
- JOIN conversation_sessions s ON m.session_id = s.id
802
- WHERE s.platform = ? AND s.channel_id = ? AND s.thread_id IS ?
803
- ORDER BY m.timestamp DESC, m.id DESC LIMIT ?`)
804
- .all(event.platform, event.channel, event.threadId ?? null, threadLimit);
805
- }
806
- if (rows.length === 0)
807
- return null;
808
- // Truncate by approximate token budget (1 token ≈ 4 chars).
809
- const maxTokens = this.config.historyInjectionMaxTokens ?? 8000;
810
- const reversed = rows.reverse();
811
- const proactiveRows = [];
812
- let tokenBudget = maxTokens * 4; // chars remaining
813
- const lines = [];
814
- for (const r of reversed) {
815
- const metadata = parseMessageMetadata(r.metadata);
816
- const isForward = isProactiveForwardMetadata(metadata);
817
- const tag = r.backend
818
- ? `[${r.timestamp}] [${r.role}/${r.backend}:${r.model_id ?? "?"}]`
819
- : `[${r.timestamp}] [${r.role}]`;
820
- const forwardSuffix = r.role === "assistant" && isForward
821
- ? " (forwarded from autonomous run)"
822
- : "";
823
- const line = `${tag}${forwardSuffix}: ${r.content}`;
824
- tokenBudget -= line.length;
825
- if (tokenBudget < 0 && lines.length > 0) {
826
- lines.unshift(`[...${reversed.length - lines.length} older messages omitted]`);
827
- break;
828
- }
829
- if (isForward) {
830
- proactiveRows.push({
831
- sessionId: r.session_id,
832
- dispatchIds: metadataDispatchIds(metadata),
833
- sessionResumed: r.backend_session_id !== null,
834
- });
835
- }
836
- lines.push(line);
837
- }
838
- if (proactiveRows.length > 0) {
839
- this.logProactiveForwardInjected(proactiveRows);
840
- }
841
- return lines.join("\n");
842
- }
843
- buildRecentOtherSurfaceBlock(event) {
844
- if (!event.isDm || event.intent === "docs_qa")
845
- return null;
846
- const windowMinutes = this.config.historyOtherSurfaceWindowMinutes ?? 1440;
847
- if (!Number.isFinite(windowMinutes) || windowMinutes <= 0)
848
- return null;
849
- const { scope } = getConversationScope({
850
- platform: event.platform,
851
- channel: event.channel,
852
- threadId: event.threadId,
853
- isDm: true,
854
- intent: event.intent,
855
- });
856
- const other = scope === OWNER_DM_SCOPE
857
- ? { scope: DASHBOARD_CHAT_SCOPE, scopeKey: DASHBOARD_SCOPE_KEY }
858
- : scope === DASHBOARD_CHAT_SCOPE
859
- ? { scope: OWNER_DM_SCOPE, scopeKey: OWNER_SCOPE_KEY }
860
- : null;
861
- if (!other)
862
- return null;
863
- const sinceUtc = formatSqliteDatetime(new Date(Date.now() - windowMinutes * 60_000));
864
- const rows = this.db
865
- .prepare(`SELECT
866
- m.role,
867
- m.content,
868
- m.platform,
869
- m.timestamp,
870
- m.metadata,
871
- s.scope,
872
- s.scope_key
873
- FROM messages m
874
- JOIN conversation_sessions s ON m.session_id = s.id
875
- WHERE s.scope = ?
876
- AND s.scope_key = ?
877
- AND s.status = 'active'
878
- AND m.timestamp >= ?
879
- ORDER BY m.timestamp ASC, m.id ASC
880
- LIMIT 60`)
881
- .all(other.scope, other.scopeKey, sinceUtc);
882
- if (rows.length === 0)
883
- return null;
884
- const lines = [];
885
- const ordinaryGroups = new Map();
886
- for (const row of rows) {
887
- const metadata = parseMessageMetadata(row.metadata);
888
- const forwardType = getProactiveForwardType(metadata);
889
- if (forwardType) {
890
- lines.push(`[${row.timestamp}] [${forwardType} → ${row.platform}]: ${row.content}`);
891
- continue;
892
- }
893
- const key = `${row.scope}:${row.scope_key}`;
894
- const timestampMs = parseSqliteUtcMs(row.timestamp);
895
- const existing = ordinaryGroups.get(key);
896
- if (existing) {
897
- existing.count += 1;
898
- existing.firstMs = Math.min(existing.firstMs, timestampMs);
899
- existing.lastMs = Math.max(existing.lastMs, timestampMs);
900
- }
901
- else {
902
- ordinaryGroups.set(key, {
903
- scope: row.scope,
904
- count: 1,
905
- firstMs: timestampMs,
906
- lastMs: timestampMs,
907
- });
908
- }
909
- }
910
- for (const group of ordinaryGroups.values()) {
911
- const spanMinutes = Math.max(1, Math.ceil((group.lastMs - group.firstMs) / 60_000));
912
- lines.push(`(${group.scope}: ${group.count} turns in last ${spanMinutes} minutes)`);
913
- }
914
- return lines.length > 0 ? lines.join("\n") : null;
915
- }
916
- logProactiveForwardInjected(rows) {
917
- const sessionId = rows[rows.length - 1]?.sessionId;
918
- if (sessionId === undefined)
919
- return;
920
- const dispatchIds = [
921
- ...new Set(rows.flatMap((row) => row.dispatchIds)),
922
- ];
923
- try {
924
- this.db
925
- .prepare(`INSERT INTO agent_actions (
926
- action_type, trigger, result, detail, started_at
927
- )
928
- VALUES (
929
- 'proactive_forward_injected',
930
- 'reactive',
931
- 'success',
932
- ?,
933
- CURRENT_TIMESTAMP
934
- )`)
935
- .run(JSON.stringify({
936
- sessionId,
937
- dispatchIds,
938
- forwardCount: rows.length,
939
- sessionResumed: rows.some((row) => row.sessionResumed),
940
- }));
941
- }
942
- catch (err) {
943
- logger.warn({ err, sessionId }, "Failed to log proactive forward injection");
944
- }
648
+ calendarDeps() {
649
+ return { db: this.db, config: this.config, services: this.services };
945
650
  }
946
651
  async readFile(relativePath) {
947
652
  const contextDir = this.readableContextDir;
@@ -957,340 +662,4 @@ export class ContextBuilder {
957
662
  return null;
958
663
  }
959
664
  }
960
- async buildActiveProjectsSection() {
961
- const contextDir = this.readableContextDir;
962
- if (!contextDir)
963
- return null;
964
- const projectsDir = join(contextDir, CONTEXT_RELATIVE_PATHS.projects.dir);
965
- if (!existsSync(projectsDir))
966
- return null;
967
- const projectFiles = readdirSync(projectsDir)
968
- .filter((name) => name.endsWith(".md"))
969
- .filter((name) => !name.startsWith("_"));
970
- if (projectFiles.length === 0)
971
- return null;
972
- const summaries = (await Promise.all(projectFiles.map(async (name) => {
973
- const content = await this.readFile(`${CONTEXT_RELATIVE_PATHS.projects.dir}/${name}`);
974
- if (!content)
975
- return null;
976
- return summarizeProjectFile(name, content);
977
- })))
978
- .filter((summary) => summary !== null)
979
- .filter((summary) => summary.state !== "archived");
980
- if (summaries.length === 0)
981
- return null;
982
- summaries.sort((a, b) => {
983
- const aUpdated = a.updated ?? "";
984
- const bUpdated = b.updated ?? "";
985
- if (aUpdated !== bUpdated)
986
- return bUpdated.localeCompare(aUpdated);
987
- return a.title.localeCompare(b.title);
988
- });
989
- const lines = ["# Active projects", ""];
990
- for (const project of summaries) {
991
- const parts = [`state: ${project.state}`];
992
- if (project.nextMilestone) {
993
- parts.push(`next: ${project.nextMilestone}`);
994
- }
995
- if (project.due) {
996
- parts.push(`due: ${project.due}`);
997
- }
998
- lines.push(`- ${project.title} (\`${project.slug}\`) — ${parts.join("; ")}`);
999
- }
1000
- return lines.join("\n");
1001
- }
1002
- /**
1003
- * Render a rolling 7-day (or N-day) window of DM conversation-log
1004
- * summaries for roadmap_refresh. Unlike `buildYesterdaySqliteContext`,
1005
- * which is anchored to the previous agent-day for journal synthesis,
1006
- * this window is calendar-rolling — refreshes can trigger at any
1007
- * time, and the prompt needs whatever recent DM context exists.
1008
- *
1009
- * Returns a formatted markdown block; falls back to a "(none)" stub
1010
- * so the prompt can always cite the tag unconditionally.
1011
- */
1012
- buildRecentDmConversationLog(days) {
1013
- const timezoneLabel = this.config.timezone || "system";
1014
- const nowMs = Date.now();
1015
- const startMs = nowMs - days * 24 * 60 * 60 * 1000;
1016
- const startSqlite = formatSqliteDatetime(new Date(startMs));
1017
- const endSqlite = formatSqliteDatetime(new Date(nowMs));
1018
- const total = this.db
1019
- .prepare(`SELECT COUNT(*) as cnt FROM dm_conversation_log
1020
- WHERE created_at >= ? AND created_at < ?`)
1021
- .get(startSqlite, endSqlite).cnt;
1022
- const rows = this.db
1023
- .prepare(`SELECT platform, scope, scope_key, summary, message_count, created_at
1024
- FROM dm_conversation_log
1025
- WHERE created_at >= ? AND created_at < ?
1026
- ORDER BY created_at DESC
1027
- LIMIT ?`)
1028
- .all(startSqlite, endSqlite, YESTERDAY_DM_LOG_LIMIT).reverse();
1029
- const lines = [
1030
- `- Window: last ${days} days`,
1031
- `- Timezone: ${timezoneLabel}`,
1032
- `- Rows: ${total}`,
1033
- ];
1034
- if (total > rows.length) {
1035
- lines.push(`- Showing latest ${rows.length} rows only`);
1036
- }
1037
- if (rows.length === 0) {
1038
- lines.push("- (none)");
1039
- return lines.join("\n");
1040
- }
1041
- for (const row of rows) {
1042
- const scopeKey = row.scope_key && row.scope_key.length > 0 ? `/${row.scope_key}` : "";
1043
- lines.push(`- ${formatSqliteTimestampForContext(row.created_at, timezoneLabel)} [${row.platform}:${row.scope}${scopeKey}] (${row.message_count} msgs) ${truncateContextText(row.summary, 220)}`);
1044
- }
1045
- return lines.join("\n");
1046
- }
1047
- async buildYesterdaySqliteContext() {
1048
- const tz = this.config.timezone || undefined;
1049
- const dayBoundaryHour = this.config.dayBoundaryHour ?? 4;
1050
- const previousAgentDayRef = new Date(Date.now() - 24 * 60 * 60 * 1000);
1051
- const bounds = getAgentDayBoundsUtc(tz, dayBoundaryHour, previousAgentDayRef);
1052
- const dayLabel = localDateStr(new Date(parseSqliteUtcMs(bounds.start)), tz);
1053
- const timezoneLabel = this.config.timezone || "system";
1054
- const agentActionTotal = this.db
1055
- .prepare(`SELECT COUNT(*) as cnt FROM agent_actions
1056
- WHERE started_at >= ? AND started_at < ?`)
1057
- .get(bounds.start, bounds.end).cnt;
1058
- const agentActionRows = this.db
1059
- .prepare(`SELECT action_type, trigger, result, started_at, completed_at, error
1060
- FROM agent_actions
1061
- WHERE started_at >= ? AND started_at < ?
1062
- ORDER BY started_at DESC
1063
- LIMIT ?`)
1064
- .all(bounds.start, bounds.end, YESTERDAY_AGENT_ACTION_LIMIT).reverse();
1065
- const messageTotal = this.db
1066
- .prepare(`SELECT COUNT(*) as cnt FROM messages
1067
- WHERE timestamp >= ? AND timestamp < ?
1068
- AND role != 'system'`)
1069
- .get(bounds.start, bounds.end).cnt;
1070
- const messageRows = this.db
1071
- .prepare(`SELECT role, content, platform, timestamp
1072
- FROM messages
1073
- WHERE timestamp >= ? AND timestamp < ?
1074
- AND role != 'system'
1075
- ORDER BY timestamp DESC
1076
- LIMIT ?`)
1077
- .all(bounds.start, bounds.end, YESTERDAY_MESSAGE_LIMIT).reverse();
1078
- const dmLogTotal = this.db
1079
- .prepare(`SELECT COUNT(*) as cnt FROM dm_conversation_log
1080
- WHERE created_at >= ? AND created_at < ?`)
1081
- .get(bounds.start, bounds.end).cnt;
1082
- const dmLogRows = this.db
1083
- .prepare(`SELECT platform, scope, scope_key, summary, message_count, created_at
1084
- FROM dm_conversation_log
1085
- WHERE created_at >= ? AND created_at < ?
1086
- ORDER BY created_at DESC
1087
- LIMIT ?`)
1088
- .all(bounds.start, bounds.end, YESTERDAY_DM_LOG_LIMIT).reverse();
1089
- return {
1090
- agentActions: formatYesterdayAgentActions(dayLabel, timezoneLabel, agentActionRows, agentActionTotal),
1091
- messages: formatYesterdayMessages(dayLabel, timezoneLabel, messageRows, messageTotal),
1092
- dmConversationLog: formatYesterdayDmConversationLog(dayLabel, timezoneLabel, dmLogRows, dmLogTotal),
1093
- };
1094
- }
1095
- /**
1096
- * Current-agent-day variant of `buildYesterdaySqliteContext` for the
1097
- * user-profile sweep (§Phase 2). Resolves the day bounds to the
1098
- * CURRENT agent-day — at 03:50 that window is ~04:00 yesterday →
1099
- * 03:50 today (the agent-day about to close), and at 17:50 it is
1100
- * ~04:00 today → 17:50 today. The sweep reads DM traffic + rolling
1101
- * summaries but not agent_actions (not needed for fact extraction).
1102
- */
1103
- buildAgentDayDmContext() {
1104
- const tz = this.config.timezone || undefined;
1105
- const dayBoundaryHour = this.config.dayBoundaryHour ?? 4;
1106
- const bounds = getAgentDayBoundsUtc(tz, dayBoundaryHour);
1107
- const dayLabel = localDateStr(new Date(parseSqliteUtcMs(bounds.start)), tz);
1108
- const timezoneLabel = this.config.timezone || "system";
1109
- const messageTotal = this.db
1110
- .prepare(`SELECT COUNT(*) as cnt FROM messages
1111
- WHERE timestamp >= ? AND timestamp < ?
1112
- AND role != 'system'`)
1113
- .get(bounds.start, bounds.end).cnt;
1114
- const messageRows = this.db
1115
- .prepare(`SELECT role, content, platform, timestamp
1116
- FROM messages
1117
- WHERE timestamp >= ? AND timestamp < ?
1118
- AND role != 'system'
1119
- ORDER BY timestamp DESC
1120
- LIMIT ?`)
1121
- .all(bounds.start, bounds.end, YESTERDAY_MESSAGE_LIMIT).reverse();
1122
- const dmLogTotal = this.db
1123
- .prepare(`SELECT COUNT(*) as cnt FROM dm_conversation_log
1124
- WHERE created_at >= ? AND created_at < ?`)
1125
- .get(bounds.start, bounds.end).cnt;
1126
- const dmLogRows = this.db
1127
- .prepare(`SELECT platform, scope, scope_key, summary, message_count, created_at
1128
- FROM dm_conversation_log
1129
- WHERE created_at >= ? AND created_at < ?
1130
- ORDER BY created_at DESC
1131
- LIMIT ?`)
1132
- .all(bounds.start, bounds.end, YESTERDAY_DM_LOG_LIMIT).reverse();
1133
- return {
1134
- messages: formatYesterdayMessages(dayLabel, timezoneLabel, messageRows, messageTotal),
1135
- dmConversationLog: formatYesterdayDmConversationLog(dayLabel, timezoneLabel, dmLogRows, dmLogTotal),
1136
- };
1137
- }
1138
- }
1139
- /**
1140
- * Truncate `value` to at most `max` chars, collapsing newlines so the
1141
- * result fits on one line. Suffix `…` when truncation occurs. Used by
1142
- * the scheduled.dm DM-activity / DM-history blocks.
1143
- */
1144
- function truncateForBlock(value, max) {
1145
- const oneLine = value.replace(/\s+/g, " ").trim();
1146
- if (oneLine.length <= max)
1147
- return oneLine;
1148
- return `${oneLine.slice(0, max - 1)}…`;
1149
- }
1150
- function summarizeProjectFile(filename, content) {
1151
- const slug = filename.replace(/\.md$/, "");
1152
- const { frontmatter, body } = splitFrontmatter(content);
1153
- const state = readFrontmatterScalar(frontmatter, "state") ?? "active";
1154
- const title = body.match(/^#\s+(.+)$/m)?.[1]?.trim() || slug;
1155
- return {
1156
- slug,
1157
- title,
1158
- state,
1159
- due: readFrontmatterScalar(frontmatter, "due"),
1160
- nextMilestone: readFrontmatterScalar(frontmatter, "next_milestone"),
1161
- updated: readFrontmatterScalar(frontmatter, "updated"),
1162
- };
1163
- }
1164
- function splitFrontmatter(content) {
1165
- if (!content.startsWith("---\n")) {
1166
- return { frontmatter: "", body: content };
1167
- }
1168
- const endIdx = content.indexOf("\n---", 4);
1169
- if (endIdx < 0) {
1170
- return { frontmatter: "", body: content };
1171
- }
1172
- return {
1173
- frontmatter: content.slice(4, endIdx),
1174
- body: content.slice(endIdx + 4).replace(/^\n+/, ""),
1175
- };
1176
- }
1177
- function readFrontmatterScalar(frontmatter, key) {
1178
- if (!frontmatter)
1179
- return null;
1180
- const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1181
- const match = frontmatter.match(new RegExp(`^${escapedKey}:\\s*(.+)$`, "m"));
1182
- if (!match)
1183
- return null;
1184
- return match[1].trim().replace(/^['"]|['"]$/g, "");
1185
- }
1186
- /**
1187
- * Truncate the ## Agent Log section of today.md to the last `maxEntries`
1188
- * bullet lines. Operates on the string content only (does not touch disk).
1189
- * Inserts an omission marker pointing to GET /api/context/today.
1190
- */
1191
- function truncateAgentLog(content, maxEntries) {
1192
- // Match "\n## Agent Log\n" to avoid false positives inside code blocks or
1193
- // quoted text. The leading \n ensures we match a heading at line start, not
1194
- // a substring of prose. today.md's structure is daemon-controlled, but this
1195
- // is defence-in-depth against accidental matches in Handoff/Notes.
1196
- const needle = "\n## Agent Log\n";
1197
- const needleIdx = content.indexOf(needle);
1198
- if (needleIdx < 0)
1199
- return content;
1200
- const headerIdx = needleIdx + 1; // skip the leading \n to point at "##"
1201
- const sectionHeader = "## Agent Log";
1202
- // Find the end of the Agent Log section (next ## heading or EOF)
1203
- const afterHeader = headerIdx + sectionHeader.length;
1204
- const nextSectionIdx = content.indexOf("\n## ", afterHeader);
1205
- const sectionEnd = nextSectionIdx >= 0 ? nextSectionIdx : content.length;
1206
- const sectionBody = content.slice(afterHeader, sectionEnd);
1207
- const lines = sectionBody.split("\n");
1208
- // Extract bullet lines (start with "- ")
1209
- const bulletLines = lines.filter((l) => l.trimStart().startsWith("- "));
1210
- if (bulletLines.length <= maxEntries)
1211
- return content;
1212
- // Keep only the last maxEntries bullets
1213
- const omitted = bulletLines.length - maxEntries;
1214
- const kept = bulletLines.slice(-maxEntries);
1215
- const truncatedBody = [
1216
- "",
1217
- `[...${omitted} earlier entries omitted — use GET /api/context/today for full content]`,
1218
- ...kept,
1219
- "",
1220
- ].join("\n");
1221
- return (content.slice(0, headerIdx) +
1222
- sectionHeader +
1223
- truncatedBody +
1224
- content.slice(sectionEnd));
1225
- }
1226
- function formatYesterdayAgentActions(dayLabel, timezoneLabel, rows, total) {
1227
- const lines = [
1228
- `- Agent day: ${dayLabel}`,
1229
- `- Timezone: ${timezoneLabel}`,
1230
- `- Rows: ${total}`,
1231
- ];
1232
- if (total > rows.length) {
1233
- lines.push(`- Showing latest ${rows.length} rows only`);
1234
- }
1235
- if (rows.length === 0) {
1236
- lines.push("- (none)");
1237
- return lines.join("\n");
1238
- }
1239
- for (const row of rows) {
1240
- const trigger = row.trigger ? ` (${row.trigger})` : "";
1241
- const result = row.result ?? "unknown";
1242
- const error = row.error
1243
- ? ` — error: ${truncateContextText(row.error, 140)}`
1244
- : "";
1245
- lines.push(`- ${formatSqliteTimestampForContext(row.started_at, timezoneLabel)} [${result}] ${row.action_type}${trigger}${error}`);
1246
- }
1247
- return lines.join("\n");
1248
- }
1249
- function formatYesterdayMessages(dayLabel, timezoneLabel, rows, total) {
1250
- const lines = [
1251
- `- Agent day: ${dayLabel}`,
1252
- `- Timezone: ${timezoneLabel}`,
1253
- `- Rows: ${total}`,
1254
- ];
1255
- if (total > rows.length) {
1256
- lines.push(`- Showing latest ${rows.length} rows only`);
1257
- }
1258
- if (rows.length === 0) {
1259
- lines.push("- (none)");
1260
- return lines.join("\n");
1261
- }
1262
- for (const row of rows) {
1263
- lines.push(`- ${formatSqliteTimestampForContext(row.timestamp, timezoneLabel)} [${row.platform}/${row.role}] ${truncateContextText(row.content, 180)}`);
1264
- }
1265
- return lines.join("\n");
1266
- }
1267
- function formatYesterdayDmConversationLog(dayLabel, timezoneLabel, rows, total) {
1268
- const lines = [
1269
- `- Agent day: ${dayLabel}`,
1270
- `- Timezone: ${timezoneLabel}`,
1271
- `- Rows: ${total}`,
1272
- ];
1273
- if (total > rows.length) {
1274
- lines.push(`- Showing latest ${rows.length} rows only`);
1275
- }
1276
- if (rows.length === 0) {
1277
- lines.push("- (none)");
1278
- return lines.join("\n");
1279
- }
1280
- for (const row of rows) {
1281
- const scopeKey = row.scope_key && row.scope_key.length > 0 ? `/${row.scope_key}` : "";
1282
- lines.push(`- ${formatSqliteTimestampForContext(row.created_at, timezoneLabel)} [${row.platform}:${row.scope}${scopeKey}] (${row.message_count} msgs) ${truncateContextText(row.summary, 220)}`);
1283
- }
1284
- return lines.join("\n");
1285
- }
1286
- function formatSqliteTimestampForContext(timestamp, timezone) {
1287
- const local = nowInTimezone(timezone === "system" ? undefined : timezone, new Date(parseSqliteUtcMs(timestamp)));
1288
- return `${local.year}-${String(local.month).padStart(2, "0")}-${String(local.day).padStart(2, "0")} ${String(local.hours).padStart(2, "0")}:${String(local.minutes).padStart(2, "0")}`;
1289
- }
1290
- function truncateContextText(text, maxChars) {
1291
- const compact = text.replace(/\s+/g, " ").trim();
1292
- if (compact.length <= maxChars)
1293
- return compact;
1294
- return `${compact.slice(0, maxChars - 3)}...`;
1295
665
  }
1296
- //# sourceMappingURL=context-builder.js.map