@aitne/daemon 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2056) hide show
  1. package/dist/adapters/composite-dashboard-stream.d.ts +8 -11
  2. package/dist/adapters/composite-dashboard-stream.js +8 -11
  3. package/dist/adapters/dashboard-adapter.d.ts +18 -6
  4. package/dist/adapters/dashboard-adapter.js +101 -55
  5. package/dist/adapters/discord.d.ts +10 -3
  6. package/dist/adapters/discord.js +102 -26
  7. package/dist/adapters/docs-qa-adapter.d.ts +15 -16
  8. package/dist/adapters/docs-qa-adapter.js +14 -15
  9. package/dist/adapters/message-hub.d.ts +2 -3
  10. package/dist/adapters/message-hub.js +9 -3
  11. package/dist/adapters/notification-manager.d.ts +100 -3
  12. package/dist/adapters/notification-manager.js +244 -23
  13. package/dist/adapters/outbound-text.d.ts +17 -4
  14. package/dist/adapters/outbound-text.js +119 -5
  15. package/dist/adapters/primary-platform-resolver.d.ts +68 -0
  16. package/dist/adapters/primary-platform-resolver.js +54 -0
  17. package/dist/adapters/slack-adapter.d.ts +32 -5
  18. package/dist/adapters/slack-adapter.js +146 -58
  19. package/dist/adapters/telegram-adapter.d.ts +11 -8
  20. package/dist/adapters/telegram-adapter.js +63 -42
  21. package/dist/adapters/types.d.ts +3 -4
  22. package/dist/adapters/types.js +0 -1
  23. package/dist/adapters/whatsapp-adapter.d.ts +104 -18
  24. package/dist/adapters/whatsapp-adapter.js +305 -69
  25. package/dist/api/chat-binding-query.d.ts +0 -1
  26. package/dist/api/chat-binding-query.js +0 -1
  27. package/dist/api/chat-session-resume.d.ts +0 -1
  28. package/dist/api/chat-session-resume.js +0 -1
  29. package/dist/api/directory-picker.d.ts +0 -1
  30. package/dist/api/directory-picker.js +14 -1
  31. package/dist/api/env-writer.d.ts +0 -1
  32. package/dist/api/env-writer.js +108 -5
  33. package/dist/api/helpers/agent-errors-envelope.d.ts +116 -0
  34. package/dist/api/helpers/agent-errors-envelope.js +165 -0
  35. package/dist/api/helpers/agent-errors-registry.d.ts +2290 -0
  36. package/dist/api/helpers/agent-errors-registry.js +2197 -0
  37. package/dist/api/helpers/agent-errors-types.d.ts +193 -0
  38. package/dist/api/helpers/agent-errors-types.js +15 -0
  39. package/dist/api/helpers/agent-errors-zod.d.ts +33 -0
  40. package/dist/api/helpers/agent-errors-zod.js +138 -0
  41. package/dist/api/helpers/agent-errors.d.ts +4 -0
  42. package/dist/api/helpers/agent-errors.js +17 -0
  43. package/dist/api/integration-route-gate.d.ts +0 -1
  44. package/dist/api/integration-route-gate.js +10 -4
  45. package/dist/api/json-body.d.ts +3 -4
  46. package/dist/api/json-body.js +3 -4
  47. package/dist/api/routes/activity-sources.d.ts +1 -2
  48. package/dist/api/routes/activity-sources.js +0 -1
  49. package/dist/api/routes/agent-schedule-plan-match.d.ts +4 -0
  50. package/dist/api/routes/agent-schedule-plan-match.js +100 -0
  51. package/dist/api/routes/agent-schedule.d.ts +3 -0
  52. package/dist/api/routes/agent-schedule.js +790 -0
  53. package/dist/api/routes/agent.d.ts +0 -1
  54. package/dist/api/routes/agent.js +233 -367
  55. package/dist/api/routes/agents/index.d.ts +3 -0
  56. package/dist/api/routes/agents/index.js +404 -0
  57. package/dist/api/routes/agents/views.d.ts +185 -0
  58. package/dist/api/routes/agents/views.js +514 -0
  59. package/dist/api/routes/apple-calendar.d.ts +1 -2
  60. package/dist/api/routes/apple-calendar.js +110 -29
  61. package/dist/api/routes/attachments.d.ts +0 -1
  62. package/dist/api/routes/attachments.js +113 -22
  63. package/dist/api/routes/backends.d.ts +0 -1
  64. package/dist/api/routes/backends.js +144 -40
  65. package/dist/api/routes/books.d.ts +0 -1
  66. package/dist/api/routes/books.js +65 -26
  67. package/dist/api/routes/browser-automation-purchase.d.ts +31 -0
  68. package/dist/api/routes/browser-automation-purchase.js +251 -0
  69. package/dist/api/routes/browser-automation-sites.d.ts +22 -0
  70. package/dist/api/routes/browser-automation-sites.js +238 -0
  71. package/dist/api/routes/browser-history-managed.d.ts +23 -0
  72. package/dist/api/routes/browser-history-managed.js +202 -0
  73. package/dist/api/routes/browser-history.d.ts +3 -0
  74. package/dist/api/routes/browser-history.js +433 -0
  75. package/dist/api/routes/browser-task.d.ts +43 -0
  76. package/dist/api/routes/browser-task.js +617 -0
  77. package/dist/api/routes/calendar.d.ts +3 -3
  78. package/dist/api/routes/calendar.js +330 -56
  79. package/dist/api/routes/commands.d.ts +0 -1
  80. package/dist/api/routes/commands.js +27 -2
  81. package/dist/api/routes/context/frontmatter-merge.d.ts +28 -0
  82. package/dist/api/routes/context/frontmatter-merge.js +56 -0
  83. package/dist/api/routes/context/index.d.ts +40 -0
  84. package/dist/api/routes/context/index.js +174 -0
  85. package/dist/api/routes/context/locks.d.ts +3 -0
  86. package/dist/api/routes/context/locks.js +136 -0
  87. package/dist/api/routes/context/path-resolve.d.ts +26 -0
  88. package/dist/api/routes/context/path-resolve.js +125 -0
  89. package/dist/api/routes/context/permissions.d.ts +58 -0
  90. package/dist/api/routes/context/permissions.js +234 -0
  91. package/dist/api/routes/context/read.d.ts +3 -0
  92. package/dist/api/routes/context/read.js +306 -0
  93. package/dist/api/routes/context/repair.d.ts +3 -0
  94. package/dist/api/routes/context/repair.js +114 -0
  95. package/dist/api/routes/context/snapshots.d.ts +3 -0
  96. package/dist/api/routes/context/snapshots.js +208 -0
  97. package/dist/api/routes/context/write-step.d.ts +132 -0
  98. package/dist/api/routes/context/write-step.js +151 -0
  99. package/dist/api/routes/context/write.d.ts +3 -0
  100. package/dist/api/routes/context/write.js +781 -0
  101. package/dist/api/routes/dashboard/config.d.ts +3 -0
  102. package/dist/api/routes/dashboard/config.js +507 -0
  103. package/dist/api/routes/dashboard/conversations.d.ts +3 -0
  104. package/dist/api/routes/dashboard/conversations.js +308 -0
  105. package/dist/api/routes/dashboard/cost-approvals.d.ts +28 -0
  106. package/dist/api/routes/dashboard/cost-approvals.js +258 -0
  107. package/dist/api/routes/dashboard/index.d.ts +26 -0
  108. package/dist/api/routes/dashboard/index.js +46 -0
  109. package/dist/api/routes/dashboard/messaging.d.ts +3 -0
  110. package/dist/api/routes/dashboard/messaging.js +349 -0
  111. package/dist/api/routes/dashboard/notifications.d.ts +3 -0
  112. package/dist/api/routes/dashboard/notifications.js +108 -0
  113. package/dist/api/routes/dashboard/oauth-google.d.ts +3 -0
  114. package/dist/api/routes/dashboard/oauth-google.js +288 -0
  115. package/dist/api/routes/dashboard/schedule-readonly.d.ts +3 -0
  116. package/dist/api/routes/dashboard/schedule-readonly.js +54 -0
  117. package/dist/api/routes/dashboard/secrets.d.ts +23 -0
  118. package/dist/api/routes/dashboard/secrets.js +306 -0
  119. package/dist/api/routes/dashboard/snapshots.d.ts +3 -0
  120. package/dist/api/routes/dashboard/snapshots.js +32 -0
  121. package/dist/api/routes/delegated-sync.d.ts +0 -1
  122. package/dist/api/routes/delegated-sync.js +0 -1
  123. package/dist/api/routes/delegated.d.ts +5 -5
  124. package/dist/api/routes/delegated.js +6 -6
  125. package/dist/api/routes/docs.d.ts +0 -1
  126. package/dist/api/routes/docs.js +72 -10
  127. package/dist/api/routes/entities.d.ts +0 -1
  128. package/dist/api/routes/entities.js +114 -45
  129. package/dist/api/routes/fs.d.ts +0 -1
  130. package/dist/api/routes/fs.js +27 -13
  131. package/dist/api/routes/fs.logic.d.ts +0 -1
  132. package/dist/api/routes/fs.logic.js +6 -2
  133. package/dist/api/routes/git-accounts.d.ts +0 -1
  134. package/dist/api/routes/git-accounts.js +0 -1
  135. package/dist/api/routes/git-templates.d.ts +0 -1
  136. package/dist/api/routes/git-templates.js +113 -28
  137. package/dist/api/routes/git.d.ts +0 -1
  138. package/dist/api/routes/git.js +65 -16
  139. package/dist/api/routes/github.d.ts +0 -1
  140. package/dist/api/routes/github.js +130 -24
  141. package/dist/api/routes/health.d.ts +0 -1
  142. package/dist/api/routes/health.js +4 -3
  143. package/dist/api/routes/integrations/crud-patch.d.ts +16 -0
  144. package/dist/api/routes/integrations/crud-patch.js +638 -0
  145. package/dist/api/routes/integrations/crud.d.ts +15 -0
  146. package/dist/api/routes/integrations/crud.js +157 -0
  147. package/dist/api/routes/integrations/exec.d.ts +22 -0
  148. package/dist/api/routes/integrations/exec.js +349 -0
  149. package/dist/api/routes/integrations/index.d.ts +61 -0
  150. package/dist/api/routes/integrations/index.js +69 -0
  151. package/dist/api/routes/integrations/probe.d.ts +20 -0
  152. package/dist/api/routes/integrations/probe.js +246 -0
  153. package/dist/api/routes/integrations-reconcile.d.ts +0 -1
  154. package/dist/api/routes/integrations-reconcile.js +0 -1
  155. package/dist/api/routes/knowledge.d.ts +0 -1
  156. package/dist/api/routes/knowledge.js +14 -4
  157. package/dist/api/routes/mail/accounts.d.ts +3 -0
  158. package/dist/api/routes/mail/accounts.js +288 -0
  159. package/dist/api/routes/mail/app-password.d.ts +3 -0
  160. package/dist/api/routes/mail/app-password.js +191 -0
  161. package/dist/api/routes/mail/body-helpers.d.ts +55 -0
  162. package/dist/api/routes/mail/body-helpers.js +90 -0
  163. package/dist/api/routes/mail/dependencies.d.ts +35 -0
  164. package/dist/api/routes/mail/dependencies.js +1 -0
  165. package/dist/api/routes/mail/drafts.d.ts +4 -0
  166. package/dist/api/routes/mail/drafts.js +138 -0
  167. package/dist/api/routes/mail/gating.d.ts +44 -0
  168. package/dist/api/routes/mail/gating.js +98 -0
  169. package/dist/api/routes/mail/index.d.ts +17 -0
  170. package/dist/api/routes/mail/index.js +39 -0
  171. package/dist/api/routes/mail/messages.d.ts +14 -0
  172. package/dist/api/routes/mail/messages.js +238 -0
  173. package/dist/api/routes/mail/outlook-config.d.ts +3 -0
  174. package/dist/api/routes/mail/outlook-config.js +72 -0
  175. package/dist/api/routes/mail/provider-resolver.d.ts +63 -0
  176. package/dist/api/routes/mail/provider-resolver.js +285 -0
  177. package/dist/api/routes/mail/providers.d.ts +3 -0
  178. package/dist/api/routes/mail/providers.js +72 -0
  179. package/dist/api/routes/mail/search-health.d.ts +3 -0
  180. package/dist/api/routes/mail/search-health.js +130 -0
  181. package/dist/api/routes/mail/tags-folders.d.ts +4 -0
  182. package/dist/api/routes/mail/tags-folders.js +34 -0
  183. package/dist/api/routes/mail/validators.d.ts +22 -0
  184. package/dist/api/routes/mail/validators.js +130 -0
  185. package/dist/api/routes/managed-tasks.d.ts +0 -1
  186. package/dist/api/routes/managed-tasks.js +154 -63
  187. package/dist/api/routes/mcp.d.ts +0 -1
  188. package/dist/api/routes/mcp.js +115 -48
  189. package/dist/api/routes/metrics.d.ts +1 -2
  190. package/dist/api/routes/metrics.js +2 -3
  191. package/dist/api/routes/notion.d.ts +0 -1
  192. package/dist/api/routes/notion.js +234 -55
  193. package/dist/api/routes/observations.d.ts +0 -1
  194. package/dist/api/routes/observations.js +53 -184
  195. package/dist/api/routes/obsidian.d.ts +0 -1
  196. package/dist/api/routes/obsidian.js +193 -33
  197. package/dist/api/routes/profile-questions.d.ts +0 -1
  198. package/dist/api/routes/profile-questions.js +26 -5
  199. package/dist/api/routes/receipts.d.ts +0 -1
  200. package/dist/api/routes/receipts.js +64 -25
  201. package/dist/api/routes/recurring-schedules.d.ts +0 -1
  202. package/dist/api/routes/recurring-schedules.js +288 -15
  203. package/dist/api/routes/repositories.d.ts +0 -1
  204. package/dist/api/routes/repositories.js +278 -105
  205. package/dist/api/routes/schedule-model-resolver.d.ts +152 -0
  206. package/dist/api/routes/schedule-model-resolver.js +285 -0
  207. package/dist/api/routes/schedule-options.d.ts +24 -0
  208. package/dist/api/routes/schedule-options.js +76 -0
  209. package/dist/api/routes/schedule-validation.d.ts +145 -0
  210. package/dist/api/routes/schedule-validation.js +152 -0
  211. package/dist/api/routes/setup-migrate.d.ts +0 -1
  212. package/dist/api/routes/setup-migrate.js +6 -4
  213. package/dist/api/routes/setup.d.ts +0 -1
  214. package/dist/api/routes/setup.js +142 -27
  215. package/dist/api/routes/skill-curation.d.ts +0 -1
  216. package/dist/api/routes/skill-curation.js +0 -1
  217. package/dist/api/routes/skills.d.ts +2 -1
  218. package/dist/api/routes/skills.js +92 -33
  219. package/dist/api/routes/sot-bindings.d.ts +1 -2
  220. package/dist/api/routes/sot-bindings.js +46 -12
  221. package/dist/api/routes/sse.d.ts +0 -1
  222. package/dist/api/routes/sse.js +6 -2
  223. package/dist/api/routes/system.d.ts +0 -1
  224. package/dist/api/routes/system.js +15 -3
  225. package/dist/api/routes/task-flows.d.ts +0 -1
  226. package/dist/api/routes/task-flows.js +0 -1
  227. package/dist/api/routes/travel-bookings.d.ts +0 -1
  228. package/dist/api/routes/travel-bookings.js +26 -10
  229. package/dist/api/routes/triggers.d.ts +0 -1
  230. package/dist/api/routes/triggers.js +0 -1
  231. package/dist/api/routes/voice.d.ts +0 -1
  232. package/dist/api/routes/voice.js +0 -1
  233. package/dist/api/routes/wiki.d.ts +0 -1
  234. package/dist/api/routes/wiki.js +84 -17
  235. package/dist/api/server.d.ts +55 -6
  236. package/dist/api/server.js +76 -22
  237. package/dist/bootstrap/adapters.d.ts +0 -1
  238. package/dist/bootstrap/adapters.js +7 -5
  239. package/dist/bootstrap/api.d.ts +219 -0
  240. package/dist/bootstrap/api.js +502 -0
  241. package/dist/bootstrap/catchup.d.ts +0 -1
  242. package/dist/bootstrap/catchup.js +1 -2
  243. package/dist/bootstrap/db.d.ts +213 -0
  244. package/dist/bootstrap/db.js +617 -0
  245. package/dist/bootstrap/event-pipeline.d.ts +329 -0
  246. package/dist/bootstrap/event-pipeline.js +1203 -0
  247. package/dist/bootstrap/managed-chromium.d.ts +26 -0
  248. package/dist/bootstrap/managed-chromium.js +66 -0
  249. package/dist/bootstrap/observers.d.ts +147 -0
  250. package/dist/bootstrap/observers.js +586 -0
  251. package/dist/bootstrap/schedule-helpers.d.ts +122 -1
  252. package/dist/bootstrap/schedule-helpers.js +206 -6
  253. package/dist/bootstrap/services.d.ts +0 -1
  254. package/dist/bootstrap/services.js +1 -11
  255. package/dist/config.d.ts +1 -2
  256. package/dist/config.js +32 -15
  257. package/dist/core/abort-utils.d.ts +13 -0
  258. package/dist/core/abort-utils.js +35 -0
  259. package/dist/core/agent-core.d.ts +36 -4
  260. package/dist/core/agent-core.js +3 -2
  261. package/dist/core/agent-execution-recorder.d.ts +78 -0
  262. package/dist/core/agent-execution-recorder.js +60 -0
  263. package/dist/core/agents/agent-execution-tracker.d.ts +91 -0
  264. package/dist/core/agents/agent-execution-tracker.js +226 -0
  265. package/dist/core/agents/agent-frontmatter.d.ts +57 -0
  266. package/dist/core/agents/agent-frontmatter.js +74 -0
  267. package/dist/core/agents/agent-id-resolver.d.ts +47 -0
  268. package/dist/core/agents/agent-id-resolver.js +61 -0
  269. package/dist/core/agents/builtin-registry.d.ts +156 -0
  270. package/dist/core/agents/builtin-registry.js +257 -0
  271. package/dist/core/agents/cron-substitute.d.ts +60 -0
  272. package/dist/core/agents/cron-substitute.js +100 -0
  273. package/dist/core/agents/definition-criteria.d.ts +14 -0
  274. package/dist/core/agents/definition-criteria.js +25 -0
  275. package/dist/core/agents/effective-definition.d.ts +47 -0
  276. package/dist/core/agents/effective-definition.js +101 -0
  277. package/dist/core/agents/firing-blocked.d.ts +28 -0
  278. package/dist/core/agents/firing-blocked.js +27 -0
  279. package/dist/core/agents/loader-boot.d.ts +26 -0
  280. package/dist/core/agents/loader-boot.js +98 -0
  281. package/dist/core/agents/loader-watcher.d.ts +23 -0
  282. package/dist/core/agents/loader-watcher.js +84 -0
  283. package/dist/core/agents/loader.d.ts +188 -0
  284. package/dist/core/agents/loader.js +754 -0
  285. package/dist/core/agents/override-merge.d.ts +57 -0
  286. package/dist/core/agents/override-merge.js +131 -0
  287. package/dist/core/agents/recurrence-convert.d.ts +92 -0
  288. package/dist/core/agents/recurrence-convert.js +207 -0
  289. package/dist/core/agents/recurring-schedule-adapter.d.ts +24 -0
  290. package/dist/core/agents/recurring-schedule-adapter.js +157 -0
  291. package/dist/core/agents/success-criteria.d.ts +60 -0
  292. package/dist/core/agents/success-criteria.js +139 -0
  293. package/dist/core/agents/validate-agent-md.d.ts +17 -0
  294. package/dist/core/agents/validate-agent-md.js +64 -0
  295. package/dist/core/alerts.d.ts +0 -1
  296. package/dist/core/alerts.js +0 -1
  297. package/dist/core/atomic-write.d.ts +0 -1
  298. package/dist/core/atomic-write.js +17 -4
  299. package/dist/core/backends/api-key-probe.d.ts +0 -1
  300. package/dist/core/backends/api-key-probe.js +0 -1
  301. package/dist/core/backends/auth-health-monitor.d.ts +0 -1
  302. package/dist/core/backends/auth-health-monitor.js +31 -5
  303. package/dist/core/backends/auth-recovery.d.ts +0 -1
  304. package/dist/core/backends/auth-recovery.js +17 -4
  305. package/dist/core/backends/auth-telemetry.d.ts +0 -1
  306. package/dist/core/backends/auth-telemetry.js +0 -1
  307. package/dist/core/backends/backend-router.d.ts +44 -3
  308. package/dist/core/backends/backend-router.js +230 -3
  309. package/dist/core/backends/claude-auth.d.ts +0 -1
  310. package/dist/core/backends/claude-auth.js +0 -1
  311. package/dist/core/backends/claude-code-core.d.ts +53 -2
  312. package/dist/core/backends/claude-code-core.js +202 -29
  313. package/dist/core/backends/claude-credentials-store.d.ts +0 -1
  314. package/dist/core/backends/claude-credentials-store.js +0 -1
  315. package/dist/core/backends/claude-delegated.d.ts +0 -1
  316. package/dist/core/backends/claude-delegated.js +14 -15
  317. package/dist/core/backends/claude-errors.d.ts +0 -1
  318. package/dist/core/backends/claude-errors.js +0 -1
  319. package/dist/core/backends/claude-probe.d.ts +0 -1
  320. package/dist/core/backends/claude-probe.js +0 -1
  321. package/dist/core/backends/claude-tool-collection.d.ts +0 -1
  322. package/dist/core/backends/claude-tool-collection.js +177 -32
  323. package/dist/core/backends/cli-quota-guards.d.ts +100 -0
  324. package/dist/core/backends/cli-quota-guards.js +95 -0
  325. package/dist/core/backends/cli-utils.d.ts +26 -2
  326. package/dist/core/backends/cli-utils.js +133 -15
  327. package/dist/core/backends/codex-core.d.ts +13 -2
  328. package/dist/core/backends/codex-core.js +470 -63
  329. package/dist/core/backends/gemini-cli-core.d.ts +5 -2
  330. package/dist/core/backends/gemini-cli-core.js +348 -68
  331. package/dist/core/backends/idle-watchdog.d.ts +0 -1
  332. package/dist/core/backends/idle-watchdog.js +0 -1
  333. package/dist/core/backends/install-methods.d.ts +0 -1
  334. package/dist/core/backends/install-methods.js +22 -1
  335. package/dist/core/backends/model-registry.d.ts +10 -6
  336. package/dist/core/backends/model-registry.js +204 -34
  337. package/dist/core/backends/native-skill-discovery-probe.d.ts +77 -0
  338. package/dist/core/backends/native-skill-discovery-probe.js +172 -0
  339. package/dist/core/backends/opencode-basic-auth-fetch.d.ts +26 -0
  340. package/dist/core/backends/opencode-basic-auth-fetch.js +39 -0
  341. package/dist/core/backends/opencode-config-builder.d.ts +113 -0
  342. package/dist/core/backends/opencode-config-builder.js +184 -0
  343. package/dist/core/backends/opencode-core.d.ts +315 -0
  344. package/dist/core/backends/opencode-core.js +1508 -0
  345. package/dist/core/backends/opencode-event-mapper.d.ts +132 -0
  346. package/dist/core/backends/opencode-event-mapper.js +197 -0
  347. package/dist/core/backends/opencode-mcp.d.ts +81 -0
  348. package/dist/core/backends/opencode-mcp.js +157 -0
  349. package/dist/core/backends/opencode-server-manager.d.ts +113 -0
  350. package/dist/core/backends/opencode-server-manager.js +221 -0
  351. package/dist/core/backends/opencode-types.d.ts +45 -0
  352. package/dist/core/backends/opencode-types.js +13 -0
  353. package/dist/core/backends/plan-presets.d.ts +18 -6
  354. package/dist/core/backends/plan-presets.js +191 -24
  355. package/dist/core/backends/price-fetcher.d.ts +0 -1
  356. package/dist/core/backends/price-fetcher.js +0 -1
  357. package/dist/core/backends/process-config-cascade.d.ts +35 -1
  358. package/dist/core/backends/process-config-cascade.js +35 -2
  359. package/dist/core/backends/prompt-utils.d.ts +0 -1
  360. package/dist/core/backends/prompt-utils.js +0 -3
  361. package/dist/core/backends/proxy-model-registry.d.ts +0 -1
  362. package/dist/core/backends/proxy-model-registry.js +0 -1
  363. package/dist/core/backends/quota-reset-hints.d.ts +43 -0
  364. package/dist/core/backends/quota-reset-hints.js +116 -0
  365. package/dist/core/backends/silent-api-error-detector.d.ts +0 -1
  366. package/dist/core/backends/silent-api-error-detector.js +0 -1
  367. package/dist/core/bang-commands/commands-checks.d.ts +16 -0
  368. package/dist/core/bang-commands/commands-checks.js +58 -0
  369. package/dist/core/bang-commands/commands-close.d.ts +23 -0
  370. package/dist/core/bang-commands/commands-close.js +23 -0
  371. package/dist/core/bang-commands/commands-cost.d.ts +0 -1
  372. package/dist/core/bang-commands/commands-cost.js +13 -1
  373. package/dist/core/bang-commands/commands-help.d.ts +0 -1
  374. package/dist/core/bang-commands/commands-help.js +44 -6
  375. package/dist/core/bang-commands/commands-report.d.ts +0 -1
  376. package/dist/core/bang-commands/commands-report.js +1 -1
  377. package/dist/core/bang-commands/commands-research.d.ts +36 -0
  378. package/dist/core/bang-commands/commands-research.js +284 -0
  379. package/dist/core/bang-commands/commands-stop-start.d.ts +0 -1
  380. package/dist/core/bang-commands/commands-stop-start.js +2 -1
  381. package/dist/core/bang-commands/commands-wiki.d.ts +0 -1
  382. package/dist/core/bang-commands/commands-wiki.js +53 -14
  383. package/dist/core/bang-commands/format-utils.d.ts +15 -3
  384. package/dist/core/bang-commands/format-utils.js +23 -4
  385. package/dist/core/bang-commands/index.d.ts +3 -1
  386. package/dist/core/bang-commands/index.js +14 -1
  387. package/dist/core/bang-commands/registry.d.ts +59 -1
  388. package/dist/core/bang-commands/registry.js +175 -23
  389. package/dist/core/bang-commands/user-commands.d.ts +0 -1
  390. package/dist/core/bang-commands/user-commands.js +0 -1
  391. package/dist/core/browser-history/pre-morning-digest-job.d.ts +79 -0
  392. package/dist/core/browser-history/pre-morning-digest-job.js +89 -0
  393. package/dist/core/browser-history/research-cluster-fanout.d.ts +40 -0
  394. package/dist/core/browser-history/research-cluster-fanout.js +47 -0
  395. package/dist/core/browser-history/research-events.d.ts +37 -0
  396. package/dist/core/browser-history/research-events.js +70 -0
  397. package/dist/core/channel-timeline.d.ts +18 -2
  398. package/dist/core/channel-timeline.js +44 -1
  399. package/dist/core/character-block.d.ts +0 -1
  400. package/dist/core/character-block.js +0 -1
  401. package/dist/core/context/activity-sources.d.ts +3 -4
  402. package/dist/core/context/activity-sources.js +0 -1
  403. package/dist/core/context/activity-view-reconciler.d.ts +1 -2
  404. package/dist/core/context/activity-view-reconciler.js +10 -10
  405. package/dist/core/context/activity-view-runner.d.ts +0 -1
  406. package/dist/core/context/activity-view-runner.js +11 -3
  407. package/dist/core/context/default-schedules-reconciler.d.ts +1 -2
  408. package/dist/core/context/default-schedules-reconciler.js +1 -2
  409. package/dist/core/context/default-schedules-runner.d.ts +0 -1
  410. package/dist/core/context/default-schedules-runner.js +44 -5
  411. package/dist/core/context/domain-index-reconciler.d.ts +3 -1
  412. package/dist/core/context/domain-index-reconciler.js +11 -5
  413. package/dist/core/context/domain-index-runner.d.ts +0 -1
  414. package/dist/core/context/domain-index-runner.js +9 -2
  415. package/dist/core/context/entity-mirror.d.ts +9 -7
  416. package/dist/core/context/entity-mirror.js +21 -9
  417. package/dist/core/context/entity-source-rename.d.ts +0 -1
  418. package/dist/core/context/entity-source-rename.js +9 -2
  419. package/dist/core/context/index-reconciler.d.ts +26 -5
  420. package/dist/core/context/index-reconciler.js +110 -56
  421. package/dist/core/context/policy-index-reconciler.d.ts +6 -7
  422. package/dist/core/context/policy-index-reconciler.js +6 -7
  423. package/dist/core/context/policy-index-runner.d.ts +2 -3
  424. package/dist/core/context/policy-index-runner.js +10 -3
  425. package/dist/core/context/reconciler-runner.d.ts +0 -1
  426. package/dist/core/context/reconciler-runner.js +46 -6
  427. package/dist/core/context/reconciler-section.d.ts +30 -0
  428. package/dist/core/context/reconciler-section.js +39 -0
  429. package/dist/core/context-builder-calendar.d.ts +36 -0
  430. package/dist/core/context-builder-calendar.js +245 -0
  431. package/dist/core/context-builder-conversation.d.ts +95 -0
  432. package/dist/core/context-builder-conversation.js +444 -0
  433. package/dist/core/context-builder-format.d.ts +8 -0
  434. package/dist/core/context-builder-format.js +22 -0
  435. package/dist/core/context-builder-projects.d.ts +11 -0
  436. package/dist/core/context-builder-projects.js +102 -0
  437. package/dist/core/context-builder-yesterday.d.ts +30 -0
  438. package/dist/core/context-builder-yesterday.js +198 -0
  439. package/dist/core/context-builder.d.ts +73 -124
  440. package/dist/core/context-builder.js +272 -903
  441. package/dist/core/context-file-serializer.d.ts +92 -0
  442. package/dist/core/context-file-serializer.js +126 -0
  443. package/dist/core/context-frontmatter-extract.d.ts +32 -0
  444. package/dist/core/context-frontmatter-extract.js +98 -0
  445. package/dist/core/context-frontmatter.d.ts +14 -1
  446. package/dist/core/context-frontmatter.js +180 -109
  447. package/dist/core/context-health.d.ts +0 -1
  448. package/dist/core/context-health.js +25 -14
  449. package/dist/core/context-paths.d.ts +128 -85
  450. package/dist/core/context-paths.js +190 -108
  451. package/dist/core/context-staleness.d.ts +0 -1
  452. package/dist/core/context-staleness.js +2 -3
  453. package/dist/core/context-validation/frontmatter.d.ts +73 -0
  454. package/dist/core/context-validation/frontmatter.js +216 -0
  455. package/dist/core/context-validation/index.d.ts +19 -0
  456. package/dist/core/context-validation/index.js +19 -0
  457. package/dist/core/context-validation/prepare-write.d.ts +94 -0
  458. package/dist/core/context-validation/prepare-write.js +145 -0
  459. package/dist/core/context-validation/routine-rulebook.d.ts +59 -0
  460. package/dist/core/context-validation/routine-rulebook.js +155 -0
  461. package/dist/core/context-validation/section.d.ts +40 -0
  462. package/dist/core/context-validation/section.js +90 -0
  463. package/dist/core/context-validation/snapshot-debounce.d.ts +51 -0
  464. package/dist/core/context-validation/snapshot-debounce.js +109 -0
  465. package/dist/core/context-validation/today.d.ts +84 -0
  466. package/dist/core/context-validation/today.js +167 -0
  467. package/dist/core/context-vault-aliases.d.ts +107 -0
  468. package/dist/core/context-vault-aliases.js +253 -0
  469. package/dist/core/custom-routine-scheduler.d.ts +5 -6
  470. package/dist/core/custom-routine-scheduler.js +3 -4
  471. package/dist/core/daemon-api-cli.d.ts +6 -6
  472. package/dist/core/daemon-api-cli.js +132 -33
  473. package/dist/core/dashboard-session-cleanup.d.ts +0 -1
  474. package/dist/core/dashboard-session-cleanup.js +0 -1
  475. package/dist/core/dashboard-session-controls.d.ts +0 -1
  476. package/dist/core/dashboard-session-controls.js +0 -1
  477. package/dist/core/delegated-connector-health.d.ts +0 -1
  478. package/dist/core/delegated-connector-health.js +0 -1
  479. package/dist/core/dispatcher-date-utils.d.ts +0 -1
  480. package/dist/core/dispatcher-date-utils.js +0 -1
  481. package/dist/core/dispatcher-error-handling.d.ts +13 -1
  482. package/dist/core/dispatcher-error-handling.js +69 -1
  483. package/dist/core/dispatcher-hourly-check.d.ts +73 -2
  484. package/dist/core/dispatcher-hourly-check.js +258 -153
  485. package/dist/core/dispatcher-message-handler.d.ts +32 -2
  486. package/dist/core/dispatcher-message-handler.js +310 -53
  487. package/dist/core/dispatcher-morning-routine.d.ts +38 -31
  488. package/dist/core/dispatcher-morning-routine.js +238 -156
  489. package/dist/core/dispatcher-prompt.d.ts +4 -2
  490. package/dist/core/dispatcher-prompt.js +19 -4
  491. package/dist/core/dispatcher-repository-helpers.d.ts +0 -1
  492. package/dist/core/dispatcher-repository-helpers.js +5 -2
  493. package/dist/core/dispatcher-result-processor.d.ts +20 -1
  494. package/dist/core/dispatcher-result-processor.js +94 -5
  495. package/dist/core/dispatcher-scheduled-browser-task.d.ts +91 -0
  496. package/dist/core/dispatcher-scheduled-browser-task.js +228 -0
  497. package/dist/core/dispatcher-scheduled-tasks.d.ts +69 -2
  498. package/dist/core/dispatcher-scheduled-tasks.js +452 -29
  499. package/dist/core/dispatcher-types.d.ts +140 -13
  500. package/dist/core/dispatcher-types.js +0 -1
  501. package/dist/core/dispatcher.d.ts +194 -5
  502. package/dist/core/dispatcher.js +487 -11
  503. package/dist/core/dm-freshness-metrics.d.ts +6 -6
  504. package/dist/core/dm-freshness-metrics.js +7 -7
  505. package/dist/core/dm-token-router.d.ts +58 -0
  506. package/dist/core/dm-token-router.js +58 -0
  507. package/dist/core/docs/citation-validator.d.ts +0 -1
  508. package/dist/core/docs/citation-validator.js +0 -1
  509. package/dist/core/docs/extract-terms.d.ts +0 -1
  510. package/dist/core/docs/extract-terms.js +0 -1
  511. package/dist/core/docs/indexer.d.ts +0 -1
  512. package/dist/core/docs/indexer.js +0 -1
  513. package/dist/core/drift-effects.d.ts +0 -1
  514. package/dist/core/drift-effects.js +6 -3
  515. package/dist/core/evening-review-verify.d.ts +163 -0
  516. package/dist/core/evening-review-verify.js +636 -0
  517. package/dist/core/event-bus.d.ts +0 -1
  518. package/dist/core/event-bus.js +0 -1
  519. package/dist/core/fetch-window-prompt-loader.d.ts +46 -0
  520. package/dist/core/fetch-window-prompt-loader.js +71 -0
  521. package/dist/core/git-project-docs.d.ts +0 -1
  522. package/dist/core/git-project-docs.js +13 -6
  523. package/dist/core/health-monitor.d.ts +2 -2
  524. package/dist/core/health-monitor.js +6 -3
  525. package/dist/core/heartbeat.d.ts +0 -1
  526. package/dist/core/heartbeat.js +0 -1
  527. package/dist/core/injection-policy.d.ts +107 -0
  528. package/dist/core/injection-policy.js +117 -0
  529. package/dist/core/integration-health.d.ts +0 -1
  530. package/dist/core/integration-health.js +1 -2
  531. package/dist/core/integration-lifecycle.d.ts +0 -1
  532. package/dist/core/integration-lifecycle.js +0 -1
  533. package/dist/core/integration-main-backend.d.ts +0 -1
  534. package/dist/core/integration-main-backend.js +11 -4
  535. package/dist/core/integration-probe.d.ts +0 -1
  536. package/dist/core/integration-probe.js +0 -1
  537. package/dist/core/management-md-write-lock.d.ts +1 -2
  538. package/dist/core/management-md-write-lock.js +1 -2
  539. package/dist/core/management-md.d.ts +24 -10
  540. package/dist/core/management-md.js +65 -33
  541. package/dist/core/management-registry.d.ts +16 -25
  542. package/dist/core/management-registry.js +32 -54
  543. package/dist/core/management-telemetry.d.ts +1 -2
  544. package/dist/core/management-telemetry.js +1 -2
  545. package/dist/core/message-recorder.d.ts +3 -4
  546. package/dist/core/message-recorder.js +3 -4
  547. package/dist/core/metrics.d.ts +88 -2
  548. package/dist/core/metrics.js +78 -3
  549. package/dist/core/migration-backup.d.ts +0 -1
  550. package/dist/core/migration-backup.js +11 -1
  551. package/dist/core/morning/agent-journal-appender.d.ts +264 -0
  552. package/dist/core/morning/agent-journal-appender.js +632 -0
  553. package/dist/core/morning/daily-journal-composer.d.ts +183 -0
  554. package/dist/core/morning/daily-journal-composer.js +421 -0
  555. package/dist/core/morning/handoff-parser.d.ts +43 -0
  556. package/dist/core/morning/handoff-parser.js +115 -0
  557. package/dist/core/morning/journal-skeleton-builder.d.ts +155 -0
  558. package/dist/core/morning/journal-skeleton-builder.js +301 -0
  559. package/dist/core/morning/orchestrator.d.ts +424 -0
  560. package/dist/core/morning/orchestrator.js +1230 -0
  561. package/dist/core/morning/parent-audit-emitter.d.ts +80 -0
  562. package/dist/core/morning/parent-audit-emitter.js +118 -0
  563. package/dist/core/morning/partial-extract-streak.d.ts +76 -0
  564. package/dist/core/morning/partial-extract-streak.js +165 -0
  565. package/dist/core/morning/roadmap-skeleton-builder.d.ts +158 -0
  566. package/dist/core/morning/roadmap-skeleton-builder.js +337 -0
  567. package/dist/core/output-language-policy.d.ts +0 -1
  568. package/dist/core/output-language-policy.js +7 -8
  569. package/dist/core/overview-write-lock.d.ts +0 -1
  570. package/dist/core/overview-write-lock.js +0 -1
  571. package/dist/core/path-compat.d.ts +0 -1
  572. package/dist/core/path-compat.js +0 -1
  573. package/dist/core/path-rewrite.d.ts +1 -2
  574. package/dist/core/path-rewrite.js +0 -1
  575. package/dist/core/policy-files.d.ts +39 -13
  576. package/dist/core/policy-files.js +62 -12
  577. package/dist/core/pre-pass-freshness.d.ts +27 -0
  578. package/dist/core/pre-pass-freshness.js +9 -0
  579. package/dist/core/previous-week-digest.d.ts +129 -0
  580. package/dist/core/previous-week-digest.js +256 -0
  581. package/dist/core/profile-questions/seed.d.ts +2 -3
  582. package/dist/core/profile-questions/seed.js +4 -4
  583. package/dist/core/profile-questions/slot-filled.d.ts +0 -1
  584. package/dist/core/profile-questions/slot-filled.js +0 -1
  585. package/dist/core/prompts.d.ts +0 -1
  586. package/dist/core/prompts.js +6 -7
  587. package/dist/core/quiet-hours-sync.d.ts +0 -1
  588. package/dist/core/quiet-hours-sync.js +7 -1
  589. package/dist/core/quiet-hours.d.ts +35 -0
  590. package/dist/core/quiet-hours.js +93 -0
  591. package/dist/core/read-sensitive-token-manager.d.ts +0 -1
  592. package/dist/core/read-sensitive-token-manager.js +0 -1
  593. package/dist/core/recurrence.d.ts +13 -1
  594. package/dist/core/recurrence.js +108 -14
  595. package/dist/core/reinstall.d.ts +5 -1
  596. package/dist/core/reinstall.js +12 -2
  597. package/dist/core/release-assets.d.ts +39 -4
  598. package/dist/core/release-assets.js +83 -8
  599. package/dist/core/repository-management-docs.d.ts +0 -1
  600. package/dist/core/repository-management-docs.js +32 -11
  601. package/dist/core/retention.d.ts +49 -4
  602. package/dist/core/retention.js +218 -5
  603. package/dist/core/review-context.d.ts +10 -1
  604. package/dist/core/review-context.js +51 -6
  605. package/dist/core/roadmap-horizon.d.ts +0 -1
  606. package/dist/core/roadmap-horizon.js +0 -1
  607. package/dist/core/roadmap-ids.d.ts +4 -6
  608. package/dist/core/roadmap-ids.js +4 -6
  609. package/dist/core/roadmap-maintenance.d.ts +212 -0
  610. package/dist/core/roadmap-maintenance.js +732 -0
  611. package/dist/core/roadmap-refresh-triggers.d.ts +0 -1
  612. package/dist/core/roadmap-refresh-triggers.js +0 -1
  613. package/dist/core/roadmap-truncate.d.ts +0 -1
  614. package/dist/core/roadmap-truncate.js +0 -1
  615. package/dist/core/roadmap-validate.d.ts +5 -1
  616. package/dist/core/roadmap-validate.js +12 -75
  617. package/dist/core/roadmap-write-lock.d.ts +0 -1
  618. package/dist/core/roadmap-write-lock.js +0 -1
  619. package/dist/core/routine-acquisition-plan.d.ts +43 -8
  620. package/dist/core/routine-acquisition-plan.js +99 -9
  621. package/dist/core/routine-fetch-window-retry.d.ts +40 -3
  622. package/dist/core/routine-fetch-window-retry.js +90 -9
  623. package/dist/core/routine-fetch-window-runner.d.ts +55 -22
  624. package/dist/core/routine-fetch-window-runner.js +287 -41
  625. package/dist/core/routine-windows.d.ts +17 -19
  626. package/dist/core/routine-windows.js +80 -44
  627. package/dist/core/schedule-insert-helper.d.ts +0 -1
  628. package/dist/core/schedule-insert-helper.js +0 -1
  629. package/dist/core/schedule-maintenance.d.ts +0 -1
  630. package/dist/core/schedule-maintenance.js +0 -1
  631. package/dist/core/scheduler.d.ts +179 -37
  632. package/dist/core/scheduler.js +614 -91
  633. package/dist/core/semaphore.d.ts +0 -1
  634. package/dist/core/semaphore.js +0 -1
  635. package/dist/core/session-gate.d.ts +0 -1
  636. package/dist/core/session-gate.js +0 -1
  637. package/dist/core/session-manager.d.ts +25 -7
  638. package/dist/core/session-manager.js +32 -16
  639. package/dist/core/signal-detector.d.ts +2 -3
  640. package/dist/core/signal-detector.js +3 -4
  641. package/dist/core/skeleton.d.ts +1 -2
  642. package/dist/core/skeleton.js +31 -32
  643. package/dist/core/skill-curation/apply-proposal.d.ts +0 -1
  644. package/dist/core/skill-curation/apply-proposal.js +0 -1
  645. package/dist/core/skill-curation/auto-revert.d.ts +0 -1
  646. package/dist/core/skill-curation/auto-revert.js +4 -5
  647. package/dist/core/skill-curation/classify-diff.d.ts +0 -1
  648. package/dist/core/skill-curation/classify-diff.js +0 -0
  649. package/dist/core/skill-curation/declarations.d.ts +0 -1
  650. package/dist/core/skill-curation/declarations.js +0 -1
  651. package/dist/core/skill-curation/knowledge-map.d.ts +0 -1
  652. package/dist/core/skill-curation/knowledge-map.js +0 -1
  653. package/dist/core/skill-curation/orphan-overlay.d.ts +2 -3
  654. package/dist/core/skill-curation/orphan-overlay.js +5 -6
  655. package/dist/core/skill-curation/overlay-store.d.ts +6 -4
  656. package/dist/core/skill-curation/overlay-store.js +12 -7
  657. package/dist/core/skill-curation/render/convention-notes.d.ts +0 -1
  658. package/dist/core/skill-curation/render/convention-notes.js +0 -1
  659. package/dist/core/skill-curation/render/cross-references.d.ts +0 -1
  660. package/dist/core/skill-curation/render/cross-references.js +0 -1
  661. package/dist/core/skill-curation/render/frontmatter-schema.d.ts +0 -1
  662. package/dist/core/skill-curation/render/frontmatter-schema.js +0 -1
  663. package/dist/core/skill-curation/render/index.d.ts +0 -1
  664. package/dist/core/skill-curation/render/index.js +0 -1
  665. package/dist/core/skill-curation/render/knowledge-layout.d.ts +0 -1
  666. package/dist/core/skill-curation/render/knowledge-layout.js +0 -1
  667. package/dist/core/skill-curation/render/routing-table.d.ts +0 -1
  668. package/dist/core/skill-curation/render/routing-table.js +0 -1
  669. package/dist/core/skill-curation/render/search-recipes.d.ts +0 -1
  670. package/dist/core/skill-curation/render/search-recipes.js +0 -1
  671. package/dist/core/skill-curation/run-token.d.ts +0 -1
  672. package/dist/core/skill-curation/run-token.js +0 -1
  673. package/dist/core/skill-curation/signals.d.ts +0 -1
  674. package/dist/core/skill-curation/signals.js +0 -1
  675. package/dist/core/skill-curation/smoke-test.d.ts +0 -1
  676. package/dist/core/skill-curation/smoke-test.js +0 -1
  677. package/dist/core/skill-curation/splicer.d.ts +0 -1
  678. package/dist/core/skill-curation/splicer.js +0 -1
  679. package/dist/core/skill-curation/workdir.d.ts +0 -1
  680. package/dist/core/skill-curation/workdir.js +0 -1
  681. package/dist/core/skill-source-paths.d.ts +0 -1
  682. package/dist/core/skill-source-paths.js +0 -1
  683. package/dist/core/skills-compiler-cli-renderer.d.ts +79 -0
  684. package/dist/core/skills-compiler-cli-renderer.js +289 -0
  685. package/dist/core/skills-compiler-denied-tools.d.ts +57 -0
  686. package/dist/core/skills-compiler-denied-tools.js +204 -0
  687. package/dist/core/skills-compiler-skill-index.d.ts +117 -0
  688. package/dist/core/skills-compiler-skill-index.js +262 -0
  689. package/dist/core/skills-compiler-tree.d.ts +38 -0
  690. package/dist/core/skills-compiler-tree.js +157 -0
  691. package/dist/core/skills-compiler-types.d.ts +46 -0
  692. package/dist/core/skills-compiler-types.js +1 -0
  693. package/dist/core/skills-compiler-variants.d.ts +117 -0
  694. package/dist/core/skills-compiler-variants.js +337 -0
  695. package/dist/core/skills-compiler.d.ts +169 -217
  696. package/dist/core/skills-compiler.js +385 -940
  697. package/dist/core/skills-manifest.d.ts +133 -1
  698. package/dist/core/skills-manifest.js +507 -40
  699. package/dist/core/system-reset.d.ts +1 -2
  700. package/dist/core/system-reset.js +1 -2
  701. package/dist/core/template-store.d.ts +2 -3
  702. package/dist/core/template-store.js +7 -4
  703. package/dist/core/template-versions.d.ts +1 -2
  704. package/dist/core/template-versions.js +1 -2
  705. package/dist/core/today-agent-plan.d.ts +0 -1
  706. package/dist/core/today-agent-plan.js +0 -1
  707. package/dist/core/today-direct-writer.d.ts +11 -2
  708. package/dist/core/today-direct-writer.js +42 -27
  709. package/dist/core/today-write-lock.d.ts +0 -1
  710. package/dist/core/today-write-lock.js +0 -1
  711. package/dist/core/trigger-dispatch.d.ts +0 -1
  712. package/dist/core/trigger-dispatch.js +0 -1
  713. package/dist/core/trigger-evaluator.d.ts +0 -1
  714. package/dist/core/trigger-evaluator.js +0 -1
  715. package/dist/core/user-skills-root.d.ts +24 -0
  716. package/dist/core/user-skills-root.js +29 -0
  717. package/dist/core/wiki/approval-queue.d.ts +0 -1
  718. package/dist/core/wiki/approval-queue.js +7 -3
  719. package/dist/core/wiki/bridge.d.ts +0 -1
  720. package/dist/core/wiki/bridge.js +0 -1
  721. package/dist/core/wiki/compile-lock.d.ts +0 -1
  722. package/dist/core/wiki/compile-lock.js +0 -1
  723. package/dist/core/wiki/compile-preview.d.ts +0 -1
  724. package/dist/core/wiki/compile-preview.js +0 -1
  725. package/dist/core/wiki/cost-estimate.d.ts +0 -1
  726. package/dist/core/wiki/cost-estimate.js +23 -3
  727. package/dist/core/wiki/dispatcher.d.ts +1 -21
  728. package/dist/core/wiki/dispatcher.js +0 -26
  729. package/dist/core/wiki/git-precompile.d.ts +9 -1
  730. package/dist/core/wiki/git-precompile.js +7 -2
  731. package/dist/core/wiki/import-migrate.d.ts +0 -1
  732. package/dist/core/wiki/import-migrate.js +0 -1
  733. package/dist/core/wiki/import-probe.d.ts +0 -1
  734. package/dist/core/wiki/import-probe.js +7 -5
  735. package/dist/core/wiki/index-cache.d.ts +0 -1
  736. package/dist/core/wiki/index-cache.js +0 -1
  737. package/dist/core/wiki/multi-url-dispatch.d.ts +0 -1
  738. package/dist/core/wiki/multi-url-dispatch.js +19 -9
  739. package/dist/core/wiki/wiki-fts.d.ts +0 -1
  740. package/dist/core/wiki/wiki-fts.js +0 -1
  741. package/dist/core/wiki/workspaces.d.ts +17 -2
  742. package/dist/core/wiki/workspaces.js +28 -17
  743. package/dist/core/wiki/write-strategy.d.ts +0 -1
  744. package/dist/core/wiki/write-strategy.js +19 -3
  745. package/dist/core/workdir.d.ts +38 -2
  746. package/dist/core/workdir.js +159 -17
  747. package/dist/db/agent-executions-store.d.ts +149 -0
  748. package/dist/db/agent-executions-store.js +209 -0
  749. package/dist/db/agents-store.d.ts +179 -0
  750. package/dist/db/agents-store.js +264 -0
  751. package/dist/db/automation-triggers.d.ts +0 -1
  752. package/dist/db/automation-triggers.js +0 -1
  753. package/dist/db/browser-automation-b4-config-store.d.ts +68 -0
  754. package/dist/db/browser-automation-b4-config-store.js +111 -0
  755. package/dist/db/browser-automation-purchase-primary-channels-store.d.ts +48 -0
  756. package/dist/db/browser-automation-purchase-primary-channels-store.js +88 -0
  757. package/dist/db/browser-automation-purchase-replies-store.d.ts +48 -0
  758. package/dist/db/browser-automation-purchase-replies-store.js +71 -0
  759. package/dist/db/browser-automation-purchase-tokens-store.d.ts +276 -0
  760. package/dist/db/browser-automation-purchase-tokens-store.js +483 -0
  761. package/dist/db/browser-automation-store.d.ts +37 -0
  762. package/dist/db/browser-automation-store.js +41 -0
  763. package/dist/db/browser-history-store.d.ts +231 -0
  764. package/dist/db/browser-history-store.js +601 -0
  765. package/dist/db/browser-task-action-log-store.d.ts +41 -0
  766. package/dist/db/browser-task-action-log-store.js +74 -0
  767. package/dist/db/browser-task-clarifications-store.d.ts +67 -0
  768. package/dist/db/browser-task-clarifications-store.js +118 -0
  769. package/dist/db/browser-task-final-confirm-tokens-store.d.ts +108 -0
  770. package/dist/db/browser-task-final-confirm-tokens-store.js +251 -0
  771. package/dist/db/browser-task-store.d.ts +114 -0
  772. package/dist/db/browser-task-store.js +250 -0
  773. package/dist/db/client.d.ts +0 -1
  774. package/dist/db/client.js +0 -1
  775. package/dist/db/entities-store.d.ts +6 -7
  776. package/dist/db/entities-store.js +5 -6
  777. package/dist/db/hourly-check-signals.d.ts +0 -1
  778. package/dist/db/hourly-check-signals.js +121 -36
  779. package/dist/db/integration-probe-store.d.ts +0 -1
  780. package/dist/db/integration-probe-store.js +0 -1
  781. package/dist/db/integrations-store.d.ts +0 -1
  782. package/dist/db/integrations-store.js +0 -1
  783. package/dist/db/managed-chromium-sites-store.d.ts +110 -0
  784. package/dist/db/managed-chromium-sites-store.js +174 -0
  785. package/dist/db/managed-chromium-state.d.ts +58 -0
  786. package/dist/db/managed-chromium-state.js +104 -0
  787. package/dist/db/managed-tasks-store.d.ts +0 -1
  788. package/dist/db/managed-tasks-store.js +0 -1
  789. package/dist/db/management-parse-failures-store.d.ts +0 -1
  790. package/dist/db/management-parse-failures-store.js +0 -1
  791. package/dist/db/migrations/context-vault-restructure.d.ts +263 -0
  792. package/dist/db/migrations/context-vault-restructure.js +1384 -0
  793. package/dist/db/migrations.d.ts +111 -0
  794. package/dist/db/migrations.js +476 -0
  795. package/dist/db/observations.d.ts +1 -2
  796. package/dist/db/observations.js +13 -4
  797. package/dist/db/recurring-schedules.d.ts +44 -3
  798. package/dist/db/recurring-schedules.js +116 -21
  799. package/dist/db/repositories-store.d.ts +2 -2
  800. package/dist/db/repositories-store.js +41 -4
  801. package/dist/db/runtime-state.d.ts +32 -2
  802. package/dist/db/runtime-state.js +33 -2
  803. package/dist/db/schema.d.ts +0 -1
  804. package/dist/db/schema.js +923 -54
  805. package/dist/db/sot-bindings-store.d.ts +0 -1
  806. package/dist/db/sot-bindings-store.js +0 -1
  807. package/dist/db/voice-transcripts-store.d.ts +0 -1
  808. package/dist/db/voice-transcripts-store.js +0 -1
  809. package/dist/db/wiki-store.d.ts +0 -1
  810. package/dist/db/wiki-store.js +3 -1
  811. package/dist/index.d.ts +0 -1
  812. package/dist/index.js +408 -1522
  813. package/dist/init.d.ts +0 -1
  814. package/dist/init.js +0 -2
  815. package/dist/log-buffer.d.ts +0 -1
  816. package/dist/log-buffer.js +0 -2
  817. package/dist/logging.d.ts +0 -1
  818. package/dist/logging.js +0 -2
  819. package/dist/management-rules.d.ts +0 -1
  820. package/dist/management-rules.js +0 -1
  821. package/dist/messaging/browser-task-mcp-notifier.d.ts +77 -0
  822. package/dist/messaging/browser-task-mcp-notifier.js +164 -0
  823. package/dist/messaging/browser-task-screenshot-attachment.d.ts +62 -0
  824. package/dist/messaging/browser-task-screenshot-attachment.js +115 -0
  825. package/dist/messaging/constants.d.ts +0 -1
  826. package/dist/messaging/constants.js +0 -1
  827. package/dist/messaging/final-confirm-system-message-sender.d.ts +53 -0
  828. package/dist/messaging/final-confirm-system-message-sender.js +165 -0
  829. package/dist/messaging/magic-phrase.d.ts +16 -1
  830. package/dist/messaging/magic-phrase.js +60 -3
  831. package/dist/messaging/owner-channels.d.ts +40 -1
  832. package/dist/messaging/owner-channels.js +59 -1
  833. package/dist/messaging/purchase-system-message-sender.d.ts +54 -0
  834. package/dist/messaging/purchase-system-message-sender.js +213 -0
  835. package/dist/messaging/setup-welcome-dm.d.ts +0 -1
  836. package/dist/messaging/setup-welcome-dm.js +0 -1
  837. package/dist/messaging/url-extract.d.ts +0 -1
  838. package/dist/messaging/url-extract.js +5 -1
  839. package/dist/observers/browser-history-poller.d.ts +113 -0
  840. package/dist/observers/browser-history-poller.js +404 -0
  841. package/dist/observers/calendar-poller.d.ts +2 -1
  842. package/dist/observers/calendar-poller.js +76 -55
  843. package/dist/observers/context-index-reconciler-observer.d.ts +0 -1
  844. package/dist/observers/context-index-reconciler-observer.js +0 -1
  845. package/dist/observers/delegated-probe-observer.d.ts +0 -1
  846. package/dist/observers/delegated-probe-observer.js +0 -1
  847. package/dist/observers/delegated-sync-worker.d.ts +70 -10
  848. package/dist/observers/delegated-sync-worker.js +138 -12
  849. package/dist/observers/entity-mirror-observer.d.ts +0 -1
  850. package/dist/observers/entity-mirror-observer.js +0 -1
  851. package/dist/observers/git-delegated-cron.d.ts +0 -1
  852. package/dist/observers/git-delegated-cron.js +0 -1
  853. package/dist/observers/git-event-classifier.d.ts +0 -1
  854. package/dist/observers/git-event-classifier.js +0 -1
  855. package/dist/observers/git-watcher.d.ts +22 -1
  856. package/dist/observers/git-watcher.js +38 -9
  857. package/dist/observers/github-poller-classifier.d.ts +0 -1
  858. package/dist/observers/github-poller-classifier.js +0 -1
  859. package/dist/observers/github-poller.d.ts +3 -1
  860. package/dist/observers/github-poller.js +28 -3
  861. package/dist/observers/imminent-event-scheduler.d.ts +2 -1
  862. package/dist/observers/imminent-event-scheduler.js +30 -2
  863. package/dist/observers/mail-poller.d.ts +0 -1
  864. package/dist/observers/mail-poller.js +45 -18
  865. package/dist/observers/mail-reconciliation.d.ts +1 -2
  866. package/dist/observers/mail-reconciliation.js +1 -2
  867. package/dist/observers/manager.d.ts +7 -8
  868. package/dist/observers/manager.js +7 -8
  869. package/dist/observers/notion-poller.d.ts +2 -1
  870. package/dist/observers/notion-poller.js +44 -7
  871. package/dist/observers/observation-summarizer/index.d.ts +0 -1
  872. package/dist/observers/observation-summarizer/index.js +0 -1
  873. package/dist/observers/observation-summarizer/pre-filter.d.ts +0 -1
  874. package/dist/observers/observation-summarizer/pre-filter.js +0 -1
  875. package/dist/observers/observation-summarizer/response-parser.d.ts +0 -1
  876. package/dist/observers/observation-summarizer/response-parser.js +7 -7
  877. package/dist/observers/observation-summarizer/summarizer-client.d.ts +0 -1
  878. package/dist/observers/observation-summarizer/summarizer-client.js +0 -1
  879. package/dist/observers/observation-summarizer/summarizer-prompts.d.ts +0 -1
  880. package/dist/observers/observation-summarizer/summarizer-prompts.js +0 -1
  881. package/dist/observers/observation-summarizer/worker.d.ts +2 -1
  882. package/dist/observers/observation-summarizer/worker.js +25 -1
  883. package/dist/observers/obsidian-watcher.d.ts +0 -1
  884. package/dist/observers/obsidian-watcher.js +0 -1
  885. package/dist/observers/poll-guard.d.ts +62 -0
  886. package/dist/observers/poll-guard.js +88 -0
  887. package/dist/observers/primary-vault-watcher.d.ts +0 -1
  888. package/dist/observers/primary-vault-watcher.js +0 -1
  889. package/dist/observers/repository-management-cron.d.ts +0 -1
  890. package/dist/observers/repository-management-cron.js +0 -1
  891. package/dist/observers/skill-curation-walker.d.ts +0 -1
  892. package/dist/observers/skill-curation-walker.js +0 -1
  893. package/dist/safety/absolute-block-audit.d.ts +17 -1
  894. package/dist/safety/absolute-block-audit.js +28 -3
  895. package/dist/safety/agent-write-tracker.d.ts +42 -2
  896. package/dist/safety/agent-write-tracker.js +81 -2
  897. package/dist/safety/always-disallowed.d.ts +93 -3
  898. package/dist/safety/always-disallowed.js +504 -20
  899. package/dist/safety/audit.d.ts +37 -6
  900. package/dist/safety/audit.js +263 -15
  901. package/dist/safety/integration-write-tracker.d.ts +0 -1
  902. package/dist/safety/integration-write-tracker.js +0 -1
  903. package/dist/safety/outbound-purchase-guard.d.ts +60 -0
  904. package/dist/safety/outbound-purchase-guard.js +82 -0
  905. package/dist/safety/risk-classifier.d.ts +21 -6
  906. package/dist/safety/risk-classifier.js +296 -70
  907. package/dist/safety/subprocess-block-scanner.d.ts +88 -0
  908. package/dist/safety/subprocess-block-scanner.js +176 -0
  909. package/dist/scheduler/hourly-check-gate.d.ts +23 -10
  910. package/dist/scheduler/hourly-check-gate.js +11 -7
  911. package/dist/secrets/backend-api-key-env.d.ts +0 -1
  912. package/dist/secrets/backend-api-key-env.js +1 -1
  913. package/dist/secrets/codex-home-materializer.d.ts +0 -1
  914. package/dist/secrets/codex-home-materializer.js +0 -1
  915. package/dist/secrets/encrypted-blob-store.d.ts +0 -1
  916. package/dist/secrets/encrypted-blob-store.js +0 -1
  917. package/dist/secrets/platform-secret-store.d.ts +0 -1
  918. package/dist/secrets/platform-secret-store.js +0 -1
  919. package/dist/secrets/redaction.d.ts +0 -1
  920. package/dist/secrets/redaction.js +0 -1
  921. package/dist/secrets/secret-broker.d.ts +0 -2
  922. package/dist/secrets/secret-broker.js +0 -4
  923. package/dist/secrets/secret-names.d.ts +1 -2
  924. package/dist/secrets/secret-names.js +0 -2
  925. package/dist/secrets/secret-store.d.ts +0 -1
  926. package/dist/secrets/secret-store.js +0 -1
  927. package/dist/secrets/types.d.ts +0 -1
  928. package/dist/secrets/types.js +0 -1
  929. package/dist/services/apple-calendar/caldav-client.d.ts +0 -1
  930. package/dist/services/apple-calendar/caldav-client.js +0 -1
  931. package/dist/services/apple-calendar/caldav-codec.d.ts +0 -1
  932. package/dist/services/apple-calendar/caldav-codec.js +0 -1
  933. package/dist/services/apple-calendar/index.d.ts +0 -1
  934. package/dist/services/apple-calendar/index.js +0 -1
  935. package/dist/services/apple-calendar/service.d.ts +0 -1
  936. package/dist/services/apple-calendar/service.js +0 -1
  937. package/dist/services/apple-calendar/types.d.ts +0 -1
  938. package/dist/services/apple-calendar/types.js +0 -1
  939. package/dist/services/attachments/hardlink.d.ts +0 -1
  940. package/dist/services/attachments/hardlink.js +0 -1
  941. package/dist/services/attachments/sanitize.d.ts +0 -1
  942. package/dist/services/attachments/sanitize.js +0 -1
  943. package/dist/services/attachments/store.d.ts +0 -1
  944. package/dist/services/attachments/store.js +1 -3
  945. package/dist/services/browser-history/automation/browser-task-tools/dom-snapshot-output.d.ts +48 -0
  946. package/dist/services/browser-history/automation/browser-task-tools/dom-snapshot-output.js +98 -0
  947. package/dist/services/browser-history/automation/browser-task-tools/extract-cap.d.ts +76 -0
  948. package/dist/services/browser-history/automation/browser-task-tools/extract-cap.js +79 -0
  949. package/dist/services/browser-history/automation/browser-task-tools/extract-output.d.ts +66 -0
  950. package/dist/services/browser-history/automation/browser-task-tools/extract-output.js +69 -0
  951. package/dist/services/browser-history/automation/browser-task-tools/final-confirm-gate.d.ts +129 -0
  952. package/dist/services/browser-history/automation/browser-task-tools/final-confirm-gate.js +150 -0
  953. package/dist/services/browser-history/automation/browser-task-tools/loop-guard.d.ts +95 -0
  954. package/dist/services/browser-history/automation/browser-task-tools/loop-guard.js +123 -0
  955. package/dist/services/browser-history/automation/browser-task-tools/navigate-guard.d.ts +54 -0
  956. package/dist/services/browser-history/automation/browser-task-tools/navigate-guard.js +62 -0
  957. package/dist/services/browser-history/automation/browser-task-tools/schemas.d.ts +201 -0
  958. package/dist/services/browser-history/automation/browser-task-tools/schemas.js +248 -0
  959. package/dist/services/browser-history/automation/browser-task-tools/screenshot-output.d.ts +76 -0
  960. package/dist/services/browser-history/automation/browser-task-tools/screenshot-output.js +101 -0
  961. package/dist/services/browser-history/automation/browser-task-tools/server.d.ts +240 -0
  962. package/dist/services/browser-history/automation/browser-task-tools/server.js +1016 -0
  963. package/dist/services/browser-history/automation/cdp-network-interception.d.ts +74 -0
  964. package/dist/services/browser-history/automation/cdp-network-interception.js +106 -0
  965. package/dist/services/browser-history/automation/egress-denylist.d.ts +167 -0
  966. package/dist/services/browser-history/automation/egress-denylist.js +452 -0
  967. package/dist/services/browser-history/automation/external-content.d.ts +72 -0
  968. package/dist/services/browser-history/automation/external-content.js +0 -0
  969. package/dist/services/browser-history/automation/final-confirm-handler.d.ts +178 -0
  970. package/dist/services/browser-history/automation/final-confirm-handler.js +462 -0
  971. package/dist/services/browser-history/automation/lite-final-confirm-tokens.d.ts +100 -0
  972. package/dist/services/browser-history/automation/lite-final-confirm-tokens.js +126 -0
  973. package/dist/services/browser-history/automation/payment-path-blocker.d.ts +62 -0
  974. package/dist/services/browser-history/automation/payment-path-blocker.js +113 -0
  975. package/dist/services/browser-history/automation/purchase-handler.d.ts +344 -0
  976. package/dist/services/browser-history/automation/purchase-handler.js +666 -0
  977. package/dist/services/browser-history/automation/purchase-tokens.d.ts +265 -0
  978. package/dist/services/browser-history/automation/purchase-tokens.js +271 -0
  979. package/dist/services/browser-history/automation/site-registry.d.ts +176 -0
  980. package/dist/services/browser-history/automation/site-registry.js +290 -0
  981. package/dist/services/browser-history/automation/trace-store-paths.d.ts +80 -0
  982. package/dist/services/browser-history/automation/trace-store-paths.js +119 -0
  983. package/dist/services/browser-history/automation/trace-store.d.ts +29 -0
  984. package/dist/services/browser-history/automation/trace-store.js +63 -0
  985. package/dist/services/browser-history/cleanup-interests-reflection.d.ts +39 -0
  986. package/dist/services/browser-history/cleanup-interests-reflection.js +204 -0
  987. package/dist/services/browser-history/detectors/atlas.d.ts +2 -0
  988. package/dist/services/browser-history/detectors/atlas.js +4 -0
  989. package/dist/services/browser-history/detectors/chrome.d.ts +2 -0
  990. package/dist/services/browser-history/detectors/chrome.js +4 -0
  991. package/dist/services/browser-history/detectors/chromium.d.ts +2 -0
  992. package/dist/services/browser-history/detectors/chromium.js +193 -0
  993. package/dist/services/browser-history/detectors/comet.d.ts +2 -0
  994. package/dist/services/browser-history/detectors/comet.js +4 -0
  995. package/dist/services/browser-history/detectors/registry.d.ts +15 -0
  996. package/dist/services/browser-history/detectors/registry.js +82 -0
  997. package/dist/services/browser-history/history-mtime.d.ts +8 -0
  998. package/dist/services/browser-history/history-mtime.js +31 -0
  999. package/dist/services/browser-history/interests-reflection-lock.d.ts +26 -0
  1000. package/dist/services/browser-history/interests-reflection-lock.js +84 -0
  1001. package/dist/services/browser-history/lifecycle/chromium-install.d.ts +78 -0
  1002. package/dist/services/browser-history/lifecycle/chromium-install.js +206 -0
  1003. package/dist/services/browser-history/lifecycle/chromium-launcher.d.ts +77 -0
  1004. package/dist/services/browser-history/lifecycle/chromium-launcher.js +288 -0
  1005. package/dist/services/browser-history/lifecycle/failure-escalation.d.ts +3 -0
  1006. package/dist/services/browser-history/lifecycle/failure-escalation.js +54 -0
  1007. package/dist/services/browser-history/lifecycle/health-check.d.ts +8 -0
  1008. package/dist/services/browser-history/lifecycle/health-check.js +17 -0
  1009. package/dist/services/browser-history/lifecycle/platform.d.ts +99 -0
  1010. package/dist/services/browser-history/lifecycle/platform.js +597 -0
  1011. package/dist/services/browser-history/lifecycle/supervisor.d.ts +24 -0
  1012. package/dist/services/browser-history/lifecycle/supervisor.js +334 -0
  1013. package/dist/services/browser-history/managed-chromium/cdp-connect.d.ts +110 -0
  1014. package/dist/services/browser-history/managed-chromium/cdp-connect.js +171 -0
  1015. package/dist/services/browser-history/managed-chromium/instance-a-config.d.ts +116 -0
  1016. package/dist/services/browser-history/managed-chromium/instance-a-config.js +164 -0
  1017. package/dist/services/browser-history/managed-chromium/instance-a-launcher.d.ts +82 -0
  1018. package/dist/services/browser-history/managed-chromium/instance-a-launcher.js +200 -0
  1019. package/dist/services/browser-history/managed-chromium/managed-chromium-supervisor.d.ts +69 -0
  1020. package/dist/services/browser-history/managed-chromium/managed-chromium-supervisor.js +334 -0
  1021. package/dist/services/browser-history/managed-chromium/reauth-detector.d.ts +60 -0
  1022. package/dist/services/browser-history/managed-chromium/reauth-detector.js +179 -0
  1023. package/dist/services/browser-history/managed-chromium/sandbox-install.d.ts +69 -0
  1024. package/dist/services/browser-history/managed-chromium/sandbox-install.js +123 -0
  1025. package/dist/services/browser-history/managed-chromium/sandbox-launcher.d.ts +117 -0
  1026. package/dist/services/browser-history/managed-chromium/sandbox-launcher.js +244 -0
  1027. package/dist/services/browser-history/managed-chromium/setup-bootstrap.d.ts +149 -0
  1028. package/dist/services/browser-history/managed-chromium/setup-bootstrap.js +404 -0
  1029. package/dist/services/browser-history/managed-chromium/site-bootstrap.d.ts +133 -0
  1030. package/dist/services/browser-history/managed-chromium/site-bootstrap.js +360 -0
  1031. package/dist/services/browser-history/managed-chromium/supervisor-config.d.ts +75 -0
  1032. package/dist/services/browser-history/managed-chromium/supervisor-config.js +146 -0
  1033. package/dist/services/browser-history/managed-chromium/types.d.ts +199 -0
  1034. package/dist/services/browser-history/managed-chromium/types.js +116 -0
  1035. package/dist/services/browser-history/pipeline/amazon-extractor.d.ts +11 -0
  1036. package/dist/services/browser-history/pipeline/amazon-extractor.js +33 -0
  1037. package/dist/services/browser-history/pipeline/classifier.d.ts +7 -0
  1038. package/dist/services/browser-history/pipeline/classifier.js +208 -0
  1039. package/dist/services/browser-history/pipeline/cluster-extractor.d.ts +76 -0
  1040. package/dist/services/browser-history/pipeline/cluster-extractor.js +271 -0
  1041. package/dist/services/browser-history/pipeline/interests-block.d.ts +99 -0
  1042. package/dist/services/browser-history/pipeline/interests-block.js +333 -0
  1043. package/dist/services/browser-history/pipeline/meaningful-filter.d.ts +47 -0
  1044. package/dist/services/browser-history/pipeline/meaningful-filter.js +228 -0
  1045. package/dist/services/browser-history/pipeline/offer-rate-limit.d.ts +75 -0
  1046. package/dist/services/browser-history/pipeline/offer-rate-limit.js +188 -0
  1047. package/dist/services/browser-history/pipeline/offer-triggers.d.ts +150 -0
  1048. package/dist/services/browser-history/pipeline/offer-triggers.js +164 -0
  1049. package/dist/services/browser-history/pipeline/pre-morning-digest.d.ts +118 -0
  1050. package/dist/services/browser-history/pipeline/pre-morning-digest.js +399 -0
  1051. package/dist/services/browser-history/pipeline/project-matcher.d.ts +26 -0
  1052. package/dist/services/browser-history/pipeline/project-matcher.js +314 -0
  1053. package/dist/services/browser-history/pipeline/redactor.d.ts +15 -0
  1054. package/dist/services/browser-history/pipeline/redactor.js +119 -0
  1055. package/dist/services/browser-history/pipeline/reload-detector.d.ts +6 -0
  1056. package/dist/services/browser-history/pipeline/reload-detector.js +16 -0
  1057. package/dist/services/browser-history/pipeline/sensitive-hosts.d.ts +2 -0
  1058. package/dist/services/browser-history/pipeline/sensitive-hosts.js +173 -0
  1059. package/dist/services/browser-history/pipeline/summarizer.d.ts +52 -0
  1060. package/dist/services/browser-history/pipeline/summarizer.js +97 -0
  1061. package/dist/services/browser-history/pipeline/weekly-interests-summary.d.ts +139 -0
  1062. package/dist/services/browser-history/pipeline/weekly-interests-summary.js +227 -0
  1063. package/dist/services/browser-history/readers/chromium-reader.d.ts +30 -0
  1064. package/dist/services/browser-history/readers/chromium-reader.js +139 -0
  1065. package/dist/services/browser-history/readers/snapshot.d.ts +19 -0
  1066. package/dist/services/browser-history/readers/snapshot.js +67 -0
  1067. package/dist/services/browser-history/refresh-interests-reflection.d.ts +125 -0
  1068. package/dist/services/browser-history/refresh-interests-reflection.js +424 -0
  1069. package/dist/services/browser-history/types.d.ts +60 -0
  1070. package/dist/services/browser-history/types.js +1 -0
  1071. package/dist/services/browser-task/browser-task-allowlist.d.ts +107 -0
  1072. package/dist/services/browser-task/browser-task-allowlist.js +247 -0
  1073. package/dist/services/browser-task/browser-task-deadline-scanner.d.ts +76 -0
  1074. package/dist/services/browser-task/browser-task-deadline-scanner.js +68 -0
  1075. package/dist/services/browser-task/browser-task-driver.d.ts +188 -0
  1076. package/dist/services/browser-task/browser-task-driver.js +714 -0
  1077. package/dist/services/browser-task/browser-task-runner.d.ts +166 -0
  1078. package/dist/services/browser-task/browser-task-runner.js +781 -0
  1079. package/dist/services/browser-task/browser-task-slots.d.ts +212 -0
  1080. package/dist/services/browser-task/browser-task-slots.js +404 -0
  1081. package/dist/services/browser-task/browser-task-transition-events.d.ts +76 -0
  1082. package/dist/services/browser-task/browser-task-transition-events.js +80 -0
  1083. package/dist/services/calendar/outlook/graph-calendar-client.d.ts +0 -1
  1084. package/dist/services/calendar/outlook/graph-calendar-client.js +0 -1
  1085. package/dist/services/calendar.d.ts +0 -1
  1086. package/dist/services/calendar.js +21 -16
  1087. package/dist/services/delegated-backend-invoker.d.ts +0 -1
  1088. package/dist/services/delegated-backend-invoker.js +8 -2
  1089. package/dist/services/delegated-invoker-audit.d.ts +0 -1
  1090. package/dist/services/delegated-invoker-audit.js +5 -2
  1091. package/dist/services/delegated-invoker-cache-hits.d.ts +0 -1
  1092. package/dist/services/delegated-invoker-cache-hits.js +0 -1
  1093. package/dist/services/delegated-invoker-janitors.d.ts +0 -1
  1094. package/dist/services/delegated-invoker-janitors.js +0 -1
  1095. package/dist/services/delegated-invoker-utils.d.ts +0 -1
  1096. package/dist/services/delegated-invoker-utils.js +0 -1
  1097. package/dist/services/delegated-proxy-config.d.ts +3 -3
  1098. package/dist/services/delegated-proxy-config.js +0 -1
  1099. package/dist/services/delegated-task-result-cache.d.ts +0 -1
  1100. package/dist/services/delegated-task-result-cache.js +0 -0
  1101. package/dist/services/delegated-task-runtime.d.ts +0 -1
  1102. package/dist/services/delegated-task-runtime.js +0 -1
  1103. package/dist/services/delegated-task-session-pool.d.ts +0 -1
  1104. package/dist/services/delegated-task-session-pool.js +0 -1
  1105. package/dist/services/delegated-tool-runtime.d.ts +0 -1
  1106. package/dist/services/delegated-tool-runtime.js +0 -1
  1107. package/dist/services/fts5.d.ts +0 -1
  1108. package/dist/services/fts5.js +0 -1
  1109. package/dist/services/git-account-registry.d.ts +0 -1
  1110. package/dist/services/git-account-registry.js +0 -1
  1111. package/dist/services/github.d.ts +9 -40
  1112. package/dist/services/github.js +9 -107
  1113. package/dist/services/gmail-classifier.d.ts +0 -1
  1114. package/dist/services/gmail-classifier.js +0 -1
  1115. package/dist/services/gmail.d.ts +0 -1
  1116. package/dist/services/gmail.js +31 -52
  1117. package/dist/services/google-auth.d.ts +0 -1
  1118. package/dist/services/google-auth.js +0 -1
  1119. package/dist/services/integrations/extract-write-item-id.d.ts +5 -3
  1120. package/dist/services/integrations/extract-write-item-id.js +6 -1
  1121. package/dist/services/integrations/reconcile.d.ts +0 -1
  1122. package/dist/services/integrations/reconcile.js +0 -1
  1123. package/dist/services/integrations/snapshot-partitions.d.ts +0 -1
  1124. package/dist/services/integrations/snapshot-partitions.js +8 -1
  1125. package/dist/services/journal/render.d.ts +0 -1
  1126. package/dist/services/journal/render.js +0 -1
  1127. package/dist/services/journal/writer.d.ts +0 -1
  1128. package/dist/services/journal/writer.js +0 -1
  1129. package/dist/services/mail/account-registry.d.ts +0 -1
  1130. package/dist/services/mail/account-registry.js +7 -3
  1131. package/dist/services/mail/gmail/auth-failure-classifier.d.ts +0 -1
  1132. package/dist/services/mail/gmail/auth-failure-classifier.js +0 -1
  1133. package/dist/services/mail/gmail/gmail-provider.d.ts +0 -1
  1134. package/dist/services/mail/gmail/gmail-provider.js +0 -1
  1135. package/dist/services/mail/gmail/legacy-row.d.ts +0 -1
  1136. package/dist/services/mail/gmail/legacy-row.js +0 -1
  1137. package/dist/services/mail/gmail/poll-cursor.d.ts +0 -1
  1138. package/dist/services/mail/gmail/poll-cursor.js +0 -1
  1139. package/dist/services/mail/html-to-plaintext.d.ts +0 -1
  1140. package/dist/services/mail/html-to-plaintext.js +0 -1
  1141. package/dist/services/mail/imap/app-password.d.ts +0 -1
  1142. package/dist/services/mail/imap/app-password.js +0 -1
  1143. package/dist/services/mail/imap/auth-failure-classifier.d.ts +0 -1
  1144. package/dist/services/mail/imap/auth-failure-classifier.js +0 -1
  1145. package/dist/services/mail/imap/capabilities.d.ts +0 -1
  1146. package/dist/services/mail/imap/capabilities.js +0 -1
  1147. package/dist/services/mail/imap/client.d.ts +0 -1
  1148. package/dist/services/mail/imap/client.js +0 -1
  1149. package/dist/services/mail/imap/cursor.d.ts +0 -1
  1150. package/dist/services/mail/imap/cursor.js +0 -1
  1151. package/dist/services/mail/imap/folder-resolver.d.ts +0 -1
  1152. package/dist/services/mail/imap/folder-resolver.js +0 -1
  1153. package/dist/services/mail/imap/icloud-provider.d.ts +0 -1
  1154. package/dist/services/mail/imap/icloud-provider.js +0 -1
  1155. package/dist/services/mail/imap/imap-provider-base.d.ts +0 -1
  1156. package/dist/services/mail/imap/imap-provider-base.js +12 -7
  1157. package/dist/services/mail/imap/query-translator.d.ts +0 -1
  1158. package/dist/services/mail/imap/query-translator.js +0 -1
  1159. package/dist/services/mail/imap/reconcile-planner.d.ts +0 -1
  1160. package/dist/services/mail/imap/reconcile-planner.js +0 -1
  1161. package/dist/services/mail/imap/reply-mime.d.ts +0 -1
  1162. package/dist/services/mail/imap/reply-mime.js +0 -1
  1163. package/dist/services/mail/imap/yahoo-provider.d.ts +0 -1
  1164. package/dist/services/mail/imap/yahoo-provider.js +0 -1
  1165. package/dist/services/mail/mail-search.d.ts +0 -1
  1166. package/dist/services/mail/mail-search.js +0 -1
  1167. package/dist/services/mail/outlook/auth-failure-classifier.d.ts +0 -1
  1168. package/dist/services/mail/outlook/auth-failure-classifier.js +0 -1
  1169. package/dist/services/mail/outlook/client-config.d.ts +0 -1
  1170. package/dist/services/mail/outlook/client-config.js +0 -1
  1171. package/dist/services/mail/outlook/delta-cursor.d.ts +0 -1
  1172. package/dist/services/mail/outlook/delta-cursor.js +0 -1
  1173. package/dist/services/mail/outlook/graph-client.d.ts +0 -1
  1174. package/dist/services/mail/outlook/graph-client.js +0 -1
  1175. package/dist/services/mail/outlook/msal-app-factory.d.ts +0 -1
  1176. package/dist/services/mail/outlook/msal-app-factory.js +0 -1
  1177. package/dist/services/mail/outlook/msal-cache-plugin.d.ts +0 -1
  1178. package/dist/services/mail/outlook/msal-cache-plugin.js +0 -1
  1179. package/dist/services/mail/outlook/oauth-device-code.d.ts +0 -1
  1180. package/dist/services/mail/outlook/oauth-device-code.js +0 -1
  1181. package/dist/services/mail/outlook/oauth-loopback.d.ts +0 -1
  1182. package/dist/services/mail/outlook/oauth-loopback.js +0 -1
  1183. package/dist/services/mail/outlook/outlook-provider.d.ts +0 -1
  1184. package/dist/services/mail/outlook/outlook-provider.js +0 -1
  1185. package/dist/services/mail/outlook/query-translator.d.ts +0 -1
  1186. package/dist/services/mail/outlook/query-translator.js +0 -1
  1187. package/dist/services/mail/provider.d.ts +0 -1
  1188. package/dist/services/mail/provider.js +0 -1
  1189. package/dist/services/mail/query-utils.d.ts +0 -1
  1190. package/dist/services/mail/query-utils.js +0 -1
  1191. package/dist/services/mail-classifier.d.ts +0 -1
  1192. package/dist/services/mail-classifier.js +0 -1
  1193. package/dist/services/mail-ingestion.d.ts +0 -1
  1194. package/dist/services/mail-ingestion.js +0 -1
  1195. package/dist/services/mcp/auto-probe.d.ts +0 -1
  1196. package/dist/services/mcp/auto-probe.js +0 -1
  1197. package/dist/services/mcp/generators/claude.d.ts +0 -1
  1198. package/dist/services/mcp/generators/claude.js +0 -1
  1199. package/dist/services/mcp/generators/codex.d.ts +0 -1
  1200. package/dist/services/mcp/generators/codex.js +0 -1
  1201. package/dist/services/mcp/generators/gemini.d.ts +0 -1
  1202. package/dist/services/mcp/generators/gemini.js +0 -1
  1203. package/dist/services/mcp/generators/index.d.ts +1 -1
  1204. package/dist/services/mcp/generators/index.js +3 -1
  1205. package/dist/services/mcp/generators/types.d.ts +0 -1
  1206. package/dist/services/mcp/generators/types.js +0 -1
  1207. package/dist/services/mcp/probe.d.ts +0 -1
  1208. package/dist/services/mcp/probe.js +7 -1
  1209. package/dist/services/mcp/registry.d.ts +0 -1
  1210. package/dist/services/mcp/registry.js +0 -1
  1211. package/dist/services/mcp/risk.d.ts +1 -2
  1212. package/dist/services/mcp/risk.js +1 -2
  1213. package/dist/services/mcp/sdk-observations-server.d.ts +59 -0
  1214. package/dist/services/mcp/sdk-observations-server.js +160 -0
  1215. package/dist/services/mcp/session-materializer.d.ts +2 -3
  1216. package/dist/services/mcp/session-materializer.js +15 -12
  1217. package/dist/services/mcp/tool-audit.d.ts +0 -1
  1218. package/dist/services/mcp/tool-audit.js +0 -1
  1219. package/dist/services/mcp/types.d.ts +1 -1
  1220. package/dist/services/mcp/types.js +0 -1
  1221. package/dist/services/notion.d.ts +17 -2
  1222. package/dist/services/notion.js +39 -3
  1223. package/dist/services/observations-batch.d.ts +98 -0
  1224. package/dist/services/observations-batch.js +256 -0
  1225. package/dist/services/obsidian.d.ts +0 -1
  1226. package/dist/services/obsidian.js +0 -1
  1227. package/dist/services/service-registry.d.ts +0 -3
  1228. package/dist/services/service-registry.js +0 -2
  1229. package/dist/services/voice/transcriber-impl.d.ts +0 -1
  1230. package/dist/services/voice/transcriber-impl.js +21 -20
  1231. package/dist/services/voice/transcriber.d.ts +22 -2
  1232. package/dist/services/voice/transcriber.js +68 -11
  1233. package/dist/settings/runtime-settings.d.ts +52 -8
  1234. package/dist/settings/runtime-settings.js +172 -20
  1235. package/dist/settings/settings-store.d.ts +0 -1
  1236. package/dist/settings/settings-store.js +44 -2
  1237. package/native/win-appcontainer/README.md +66 -0
  1238. package/native/win-appcontainer/binding.gyp +33 -0
  1239. package/native/win-appcontainer/loader.js +29 -0
  1240. package/native/win-appcontainer/package.json +18 -0
  1241. package/native/win-appcontainer/src/win_appcontainer.cc +67 -0
  1242. package/package.json +8 -3
  1243. package/dist/adapters/composite-dashboard-stream.d.ts.map +0 -1
  1244. package/dist/adapters/composite-dashboard-stream.js.map +0 -1
  1245. package/dist/adapters/dashboard-adapter.d.ts.map +0 -1
  1246. package/dist/adapters/dashboard-adapter.js.map +0 -1
  1247. package/dist/adapters/discord.d.ts.map +0 -1
  1248. package/dist/adapters/discord.js.map +0 -1
  1249. package/dist/adapters/docs-qa-adapter.d.ts.map +0 -1
  1250. package/dist/adapters/docs-qa-adapter.js.map +0 -1
  1251. package/dist/adapters/message-hub.d.ts.map +0 -1
  1252. package/dist/adapters/message-hub.js.map +0 -1
  1253. package/dist/adapters/notification-manager.d.ts.map +0 -1
  1254. package/dist/adapters/notification-manager.js.map +0 -1
  1255. package/dist/adapters/outbound-text.d.ts.map +0 -1
  1256. package/dist/adapters/outbound-text.js.map +0 -1
  1257. package/dist/adapters/slack-adapter.d.ts.map +0 -1
  1258. package/dist/adapters/slack-adapter.js.map +0 -1
  1259. package/dist/adapters/telegram-adapter.d.ts.map +0 -1
  1260. package/dist/adapters/telegram-adapter.js.map +0 -1
  1261. package/dist/adapters/types.d.ts.map +0 -1
  1262. package/dist/adapters/types.js.map +0 -1
  1263. package/dist/adapters/whatsapp-adapter.d.ts.map +0 -1
  1264. package/dist/adapters/whatsapp-adapter.js.map +0 -1
  1265. package/dist/api/chat-binding-query.d.ts.map +0 -1
  1266. package/dist/api/chat-binding-query.js.map +0 -1
  1267. package/dist/api/chat-session-resume.d.ts.map +0 -1
  1268. package/dist/api/chat-session-resume.js.map +0 -1
  1269. package/dist/api/delegated-proxy-helper.d.ts +0 -33
  1270. package/dist/api/delegated-proxy-helper.d.ts.map +0 -1
  1271. package/dist/api/delegated-proxy-helper.js +0 -54
  1272. package/dist/api/delegated-proxy-helper.js.map +0 -1
  1273. package/dist/api/directory-picker.d.ts.map +0 -1
  1274. package/dist/api/directory-picker.js.map +0 -1
  1275. package/dist/api/env-writer.d.ts.map +0 -1
  1276. package/dist/api/env-writer.js.map +0 -1
  1277. package/dist/api/integration-route-gate.d.ts.map +0 -1
  1278. package/dist/api/integration-route-gate.js.map +0 -1
  1279. package/dist/api/json-body.d.ts.map +0 -1
  1280. package/dist/api/json-body.js.map +0 -1
  1281. package/dist/api/routes/activity-sources.d.ts.map +0 -1
  1282. package/dist/api/routes/activity-sources.js.map +0 -1
  1283. package/dist/api/routes/agent.d.ts.map +0 -1
  1284. package/dist/api/routes/agent.js.map +0 -1
  1285. package/dist/api/routes/apple-calendar.d.ts.map +0 -1
  1286. package/dist/api/routes/apple-calendar.js.map +0 -1
  1287. package/dist/api/routes/attachments.d.ts.map +0 -1
  1288. package/dist/api/routes/attachments.js.map +0 -1
  1289. package/dist/api/routes/backends.d.ts.map +0 -1
  1290. package/dist/api/routes/backends.js.map +0 -1
  1291. package/dist/api/routes/books.d.ts.map +0 -1
  1292. package/dist/api/routes/books.js.map +0 -1
  1293. package/dist/api/routes/calendar.d.ts.map +0 -1
  1294. package/dist/api/routes/calendar.js.map +0 -1
  1295. package/dist/api/routes/commands.d.ts.map +0 -1
  1296. package/dist/api/routes/commands.js.map +0 -1
  1297. package/dist/api/routes/context.d.ts +0 -57
  1298. package/dist/api/routes/context.d.ts.map +0 -1
  1299. package/dist/api/routes/context.js +0 -1788
  1300. package/dist/api/routes/context.js.map +0 -1
  1301. package/dist/api/routes/dashboard.d.ts +0 -29
  1302. package/dist/api/routes/dashboard.d.ts.map +0 -1
  1303. package/dist/api/routes/dashboard.js +0 -2160
  1304. package/dist/api/routes/dashboard.js.map +0 -1
  1305. package/dist/api/routes/delegated-sync.d.ts.map +0 -1
  1306. package/dist/api/routes/delegated-sync.js.map +0 -1
  1307. package/dist/api/routes/delegated.d.ts.map +0 -1
  1308. package/dist/api/routes/delegated.js.map +0 -1
  1309. package/dist/api/routes/docs.d.ts.map +0 -1
  1310. package/dist/api/routes/docs.js.map +0 -1
  1311. package/dist/api/routes/entities.d.ts.map +0 -1
  1312. package/dist/api/routes/entities.js.map +0 -1
  1313. package/dist/api/routes/fs.d.ts.map +0 -1
  1314. package/dist/api/routes/fs.js.map +0 -1
  1315. package/dist/api/routes/fs.logic.d.ts.map +0 -1
  1316. package/dist/api/routes/fs.logic.js.map +0 -1
  1317. package/dist/api/routes/git-accounts.d.ts.map +0 -1
  1318. package/dist/api/routes/git-accounts.js.map +0 -1
  1319. package/dist/api/routes/git-templates.d.ts.map +0 -1
  1320. package/dist/api/routes/git-templates.js.map +0 -1
  1321. package/dist/api/routes/git.d.ts.map +0 -1
  1322. package/dist/api/routes/git.js.map +0 -1
  1323. package/dist/api/routes/github.d.ts.map +0 -1
  1324. package/dist/api/routes/github.js.map +0 -1
  1325. package/dist/api/routes/health.d.ts.map +0 -1
  1326. package/dist/api/routes/health.js.map +0 -1
  1327. package/dist/api/routes/integrations-reconcile.d.ts.map +0 -1
  1328. package/dist/api/routes/integrations-reconcile.js.map +0 -1
  1329. package/dist/api/routes/integrations.d.ts +0 -48
  1330. package/dist/api/routes/integrations.d.ts.map +0 -1
  1331. package/dist/api/routes/integrations.js +0 -1572
  1332. package/dist/api/routes/integrations.js.map +0 -1
  1333. package/dist/api/routes/knowledge.d.ts.map +0 -1
  1334. package/dist/api/routes/knowledge.js.map +0 -1
  1335. package/dist/api/routes/mail.d.ts +0 -39
  1336. package/dist/api/routes/mail.d.ts.map +0 -1
  1337. package/dist/api/routes/mail.js +0 -1472
  1338. package/dist/api/routes/mail.js.map +0 -1
  1339. package/dist/api/routes/managed-tasks.d.ts.map +0 -1
  1340. package/dist/api/routes/managed-tasks.js.map +0 -1
  1341. package/dist/api/routes/mcp.d.ts.map +0 -1
  1342. package/dist/api/routes/mcp.js.map +0 -1
  1343. package/dist/api/routes/metrics.d.ts.map +0 -1
  1344. package/dist/api/routes/metrics.js.map +0 -1
  1345. package/dist/api/routes/notion.d.ts.map +0 -1
  1346. package/dist/api/routes/notion.js.map +0 -1
  1347. package/dist/api/routes/observations.d.ts.map +0 -1
  1348. package/dist/api/routes/observations.js.map +0 -1
  1349. package/dist/api/routes/obsidian.d.ts.map +0 -1
  1350. package/dist/api/routes/obsidian.js.map +0 -1
  1351. package/dist/api/routes/profile-questions.d.ts.map +0 -1
  1352. package/dist/api/routes/profile-questions.js.map +0 -1
  1353. package/dist/api/routes/receipts.d.ts.map +0 -1
  1354. package/dist/api/routes/receipts.js.map +0 -1
  1355. package/dist/api/routes/recurring-schedules.d.ts.map +0 -1
  1356. package/dist/api/routes/recurring-schedules.js.map +0 -1
  1357. package/dist/api/routes/repositories.d.ts.map +0 -1
  1358. package/dist/api/routes/repositories.js.map +0 -1
  1359. package/dist/api/routes/setup-migrate.d.ts.map +0 -1
  1360. package/dist/api/routes/setup-migrate.js.map +0 -1
  1361. package/dist/api/routes/setup.d.ts.map +0 -1
  1362. package/dist/api/routes/setup.js.map +0 -1
  1363. package/dist/api/routes/skill-curation.d.ts.map +0 -1
  1364. package/dist/api/routes/skill-curation.js.map +0 -1
  1365. package/dist/api/routes/skills.d.ts.map +0 -1
  1366. package/dist/api/routes/skills.js.map +0 -1
  1367. package/dist/api/routes/sot-bindings.d.ts.map +0 -1
  1368. package/dist/api/routes/sot-bindings.js.map +0 -1
  1369. package/dist/api/routes/sse.d.ts.map +0 -1
  1370. package/dist/api/routes/sse.js.map +0 -1
  1371. package/dist/api/routes/system.d.ts.map +0 -1
  1372. package/dist/api/routes/system.js.map +0 -1
  1373. package/dist/api/routes/task-flows.d.ts.map +0 -1
  1374. package/dist/api/routes/task-flows.js.map +0 -1
  1375. package/dist/api/routes/travel-bookings.d.ts.map +0 -1
  1376. package/dist/api/routes/travel-bookings.js.map +0 -1
  1377. package/dist/api/routes/travel-time.d.ts +0 -8
  1378. package/dist/api/routes/travel-time.d.ts.map +0 -1
  1379. package/dist/api/routes/travel-time.js +0 -87
  1380. package/dist/api/routes/travel-time.js.map +0 -1
  1381. package/dist/api/routes/triggers.d.ts.map +0 -1
  1382. package/dist/api/routes/triggers.js.map +0 -1
  1383. package/dist/api/routes/voice.d.ts.map +0 -1
  1384. package/dist/api/routes/voice.js.map +0 -1
  1385. package/dist/api/routes/wiki.d.ts.map +0 -1
  1386. package/dist/api/routes/wiki.js.map +0 -1
  1387. package/dist/api/server.d.ts.map +0 -1
  1388. package/dist/api/server.js.map +0 -1
  1389. package/dist/bootstrap/adapters.d.ts.map +0 -1
  1390. package/dist/bootstrap/adapters.js.map +0 -1
  1391. package/dist/bootstrap/catchup.d.ts.map +0 -1
  1392. package/dist/bootstrap/catchup.js.map +0 -1
  1393. package/dist/bootstrap/schedule-helpers.d.ts.map +0 -1
  1394. package/dist/bootstrap/schedule-helpers.js.map +0 -1
  1395. package/dist/bootstrap/services.d.ts.map +0 -1
  1396. package/dist/bootstrap/services.js.map +0 -1
  1397. package/dist/config.d.ts.map +0 -1
  1398. package/dist/config.js.map +0 -1
  1399. package/dist/core/agent-core.d.ts.map +0 -1
  1400. package/dist/core/agent-core.js.map +0 -1
  1401. package/dist/core/alerts.d.ts.map +0 -1
  1402. package/dist/core/alerts.js.map +0 -1
  1403. package/dist/core/atomic-write.d.ts.map +0 -1
  1404. package/dist/core/atomic-write.js.map +0 -1
  1405. package/dist/core/backends/api-key-probe.d.ts.map +0 -1
  1406. package/dist/core/backends/api-key-probe.js.map +0 -1
  1407. package/dist/core/backends/auth-health-monitor.d.ts.map +0 -1
  1408. package/dist/core/backends/auth-health-monitor.js.map +0 -1
  1409. package/dist/core/backends/auth-recovery.d.ts.map +0 -1
  1410. package/dist/core/backends/auth-recovery.js.map +0 -1
  1411. package/dist/core/backends/auth-telemetry.d.ts.map +0 -1
  1412. package/dist/core/backends/auth-telemetry.js.map +0 -1
  1413. package/dist/core/backends/backend-router.d.ts.map +0 -1
  1414. package/dist/core/backends/backend-router.js.map +0 -1
  1415. package/dist/core/backends/claude-auth.d.ts.map +0 -1
  1416. package/dist/core/backends/claude-auth.js.map +0 -1
  1417. package/dist/core/backends/claude-code-core.d.ts.map +0 -1
  1418. package/dist/core/backends/claude-code-core.js.map +0 -1
  1419. package/dist/core/backends/claude-credentials-store.d.ts.map +0 -1
  1420. package/dist/core/backends/claude-credentials-store.js.map +0 -1
  1421. package/dist/core/backends/claude-delegated.d.ts.map +0 -1
  1422. package/dist/core/backends/claude-delegated.js.map +0 -1
  1423. package/dist/core/backends/claude-errors.d.ts.map +0 -1
  1424. package/dist/core/backends/claude-errors.js.map +0 -1
  1425. package/dist/core/backends/claude-probe.d.ts.map +0 -1
  1426. package/dist/core/backends/claude-probe.js.map +0 -1
  1427. package/dist/core/backends/claude-tool-collection.d.ts.map +0 -1
  1428. package/dist/core/backends/claude-tool-collection.js.map +0 -1
  1429. package/dist/core/backends/cli-utils.d.ts.map +0 -1
  1430. package/dist/core/backends/cli-utils.js.map +0 -1
  1431. package/dist/core/backends/codex-core.d.ts.map +0 -1
  1432. package/dist/core/backends/codex-core.js.map +0 -1
  1433. package/dist/core/backends/gemini-cli-core.d.ts.map +0 -1
  1434. package/dist/core/backends/gemini-cli-core.js.map +0 -1
  1435. package/dist/core/backends/idle-watchdog.d.ts.map +0 -1
  1436. package/dist/core/backends/idle-watchdog.js.map +0 -1
  1437. package/dist/core/backends/install-methods.d.ts.map +0 -1
  1438. package/dist/core/backends/install-methods.js.map +0 -1
  1439. package/dist/core/backends/model-registry.d.ts.map +0 -1
  1440. package/dist/core/backends/model-registry.js.map +0 -1
  1441. package/dist/core/backends/plan-presets.d.ts.map +0 -1
  1442. package/dist/core/backends/plan-presets.js.map +0 -1
  1443. package/dist/core/backends/price-fetcher.d.ts.map +0 -1
  1444. package/dist/core/backends/price-fetcher.js.map +0 -1
  1445. package/dist/core/backends/process-config-cascade.d.ts.map +0 -1
  1446. package/dist/core/backends/process-config-cascade.js.map +0 -1
  1447. package/dist/core/backends/prompt-utils.d.ts.map +0 -1
  1448. package/dist/core/backends/prompt-utils.js.map +0 -1
  1449. package/dist/core/backends/proxy-model-registry.d.ts.map +0 -1
  1450. package/dist/core/backends/proxy-model-registry.js.map +0 -1
  1451. package/dist/core/backends/silent-api-error-detector.d.ts.map +0 -1
  1452. package/dist/core/backends/silent-api-error-detector.js.map +0 -1
  1453. package/dist/core/bang-commands/commands-cost.d.ts.map +0 -1
  1454. package/dist/core/bang-commands/commands-cost.js.map +0 -1
  1455. package/dist/core/bang-commands/commands-help.d.ts.map +0 -1
  1456. package/dist/core/bang-commands/commands-help.js.map +0 -1
  1457. package/dist/core/bang-commands/commands-report.d.ts.map +0 -1
  1458. package/dist/core/bang-commands/commands-report.js.map +0 -1
  1459. package/dist/core/bang-commands/commands-stop-start.d.ts.map +0 -1
  1460. package/dist/core/bang-commands/commands-stop-start.js.map +0 -1
  1461. package/dist/core/bang-commands/commands-wiki.d.ts.map +0 -1
  1462. package/dist/core/bang-commands/commands-wiki.js.map +0 -1
  1463. package/dist/core/bang-commands/format-utils.d.ts.map +0 -1
  1464. package/dist/core/bang-commands/format-utils.js.map +0 -1
  1465. package/dist/core/bang-commands/index.d.ts.map +0 -1
  1466. package/dist/core/bang-commands/index.js.map +0 -1
  1467. package/dist/core/bang-commands/registry.d.ts.map +0 -1
  1468. package/dist/core/bang-commands/registry.js.map +0 -1
  1469. package/dist/core/bang-commands/user-commands.d.ts.map +0 -1
  1470. package/dist/core/bang-commands/user-commands.js.map +0 -1
  1471. package/dist/core/channel-timeline.d.ts.map +0 -1
  1472. package/dist/core/channel-timeline.js.map +0 -1
  1473. package/dist/core/character-block.d.ts.map +0 -1
  1474. package/dist/core/character-block.js.map +0 -1
  1475. package/dist/core/context/activity-sources.d.ts.map +0 -1
  1476. package/dist/core/context/activity-sources.js.map +0 -1
  1477. package/dist/core/context/activity-view-reconciler.d.ts.map +0 -1
  1478. package/dist/core/context/activity-view-reconciler.js.map +0 -1
  1479. package/dist/core/context/activity-view-runner.d.ts.map +0 -1
  1480. package/dist/core/context/activity-view-runner.js.map +0 -1
  1481. package/dist/core/context/default-schedules-reconciler.d.ts.map +0 -1
  1482. package/dist/core/context/default-schedules-reconciler.js.map +0 -1
  1483. package/dist/core/context/default-schedules-runner.d.ts.map +0 -1
  1484. package/dist/core/context/default-schedules-runner.js.map +0 -1
  1485. package/dist/core/context/domain-index-reconciler.d.ts.map +0 -1
  1486. package/dist/core/context/domain-index-reconciler.js.map +0 -1
  1487. package/dist/core/context/domain-index-runner.d.ts.map +0 -1
  1488. package/dist/core/context/domain-index-runner.js.map +0 -1
  1489. package/dist/core/context/entity-mirror.d.ts.map +0 -1
  1490. package/dist/core/context/entity-mirror.js.map +0 -1
  1491. package/dist/core/context/entity-source-rename.d.ts.map +0 -1
  1492. package/dist/core/context/entity-source-rename.js.map +0 -1
  1493. package/dist/core/context/index-reconciler.d.ts.map +0 -1
  1494. package/dist/core/context/index-reconciler.js.map +0 -1
  1495. package/dist/core/context/policy-index-reconciler.d.ts.map +0 -1
  1496. package/dist/core/context/policy-index-reconciler.js.map +0 -1
  1497. package/dist/core/context/policy-index-runner.d.ts.map +0 -1
  1498. package/dist/core/context/policy-index-runner.js.map +0 -1
  1499. package/dist/core/context/reconciler-runner.d.ts.map +0 -1
  1500. package/dist/core/context/reconciler-runner.js.map +0 -1
  1501. package/dist/core/context-builder.d.ts.map +0 -1
  1502. package/dist/core/context-builder.js.map +0 -1
  1503. package/dist/core/context-frontmatter-backfill.d.ts +0 -33
  1504. package/dist/core/context-frontmatter-backfill.d.ts.map +0 -1
  1505. package/dist/core/context-frontmatter-backfill.js +0 -111
  1506. package/dist/core/context-frontmatter-backfill.js.map +0 -1
  1507. package/dist/core/context-frontmatter.d.ts.map +0 -1
  1508. package/dist/core/context-frontmatter.js.map +0 -1
  1509. package/dist/core/context-health.d.ts.map +0 -1
  1510. package/dist/core/context-health.js.map +0 -1
  1511. package/dist/core/context-paths.d.ts.map +0 -1
  1512. package/dist/core/context-paths.js.map +0 -1
  1513. package/dist/core/context-staleness.d.ts.map +0 -1
  1514. package/dist/core/context-staleness.js.map +0 -1
  1515. package/dist/core/custom-routine-scheduler.d.ts.map +0 -1
  1516. package/dist/core/custom-routine-scheduler.js.map +0 -1
  1517. package/dist/core/daemon-api-cli.d.ts.map +0 -1
  1518. package/dist/core/daemon-api-cli.js.map +0 -1
  1519. package/dist/core/dashboard-session-cleanup.d.ts.map +0 -1
  1520. package/dist/core/dashboard-session-cleanup.js.map +0 -1
  1521. package/dist/core/dashboard-session-controls.d.ts.map +0 -1
  1522. package/dist/core/dashboard-session-controls.js.map +0 -1
  1523. package/dist/core/delegated-connector-health.d.ts.map +0 -1
  1524. package/dist/core/delegated-connector-health.js.map +0 -1
  1525. package/dist/core/dispatcher-date-utils.d.ts.map +0 -1
  1526. package/dist/core/dispatcher-date-utils.js.map +0 -1
  1527. package/dist/core/dispatcher-error-handling.d.ts.map +0 -1
  1528. package/dist/core/dispatcher-error-handling.js.map +0 -1
  1529. package/dist/core/dispatcher-hourly-check.d.ts.map +0 -1
  1530. package/dist/core/dispatcher-hourly-check.js.map +0 -1
  1531. package/dist/core/dispatcher-message-handler.d.ts.map +0 -1
  1532. package/dist/core/dispatcher-message-handler.js.map +0 -1
  1533. package/dist/core/dispatcher-morning-routine.d.ts.map +0 -1
  1534. package/dist/core/dispatcher-morning-routine.js.map +0 -1
  1535. package/dist/core/dispatcher-prompt.d.ts.map +0 -1
  1536. package/dist/core/dispatcher-prompt.js.map +0 -1
  1537. package/dist/core/dispatcher-repository-helpers.d.ts.map +0 -1
  1538. package/dist/core/dispatcher-repository-helpers.js.map +0 -1
  1539. package/dist/core/dispatcher-result-processor.d.ts.map +0 -1
  1540. package/dist/core/dispatcher-result-processor.js.map +0 -1
  1541. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +0 -1
  1542. package/dist/core/dispatcher-scheduled-tasks.js.map +0 -1
  1543. package/dist/core/dispatcher-types.d.ts.map +0 -1
  1544. package/dist/core/dispatcher-types.js.map +0 -1
  1545. package/dist/core/dispatcher.d.ts.map +0 -1
  1546. package/dist/core/dispatcher.js.map +0 -1
  1547. package/dist/core/dm-freshness-metrics.d.ts.map +0 -1
  1548. package/dist/core/dm-freshness-metrics.js.map +0 -1
  1549. package/dist/core/docs/citation-validator.d.ts.map +0 -1
  1550. package/dist/core/docs/citation-validator.js.map +0 -1
  1551. package/dist/core/docs/extract-terms.d.ts.map +0 -1
  1552. package/dist/core/docs/extract-terms.js.map +0 -1
  1553. package/dist/core/docs/indexer.d.ts.map +0 -1
  1554. package/dist/core/docs/indexer.js.map +0 -1
  1555. package/dist/core/drift-effects.d.ts.map +0 -1
  1556. package/dist/core/drift-effects.js.map +0 -1
  1557. package/dist/core/event-bus.d.ts.map +0 -1
  1558. package/dist/core/event-bus.js.map +0 -1
  1559. package/dist/core/git-project-docs.d.ts.map +0 -1
  1560. package/dist/core/git-project-docs.js.map +0 -1
  1561. package/dist/core/health-monitor.d.ts.map +0 -1
  1562. package/dist/core/health-monitor.js.map +0 -1
  1563. package/dist/core/heartbeat.d.ts.map +0 -1
  1564. package/dist/core/heartbeat.js.map +0 -1
  1565. package/dist/core/integration-health.d.ts.map +0 -1
  1566. package/dist/core/integration-health.js.map +0 -1
  1567. package/dist/core/integration-lifecycle.d.ts.map +0 -1
  1568. package/dist/core/integration-lifecycle.js.map +0 -1
  1569. package/dist/core/integration-main-backend.d.ts.map +0 -1
  1570. package/dist/core/integration-main-backend.js.map +0 -1
  1571. package/dist/core/integration-probe.d.ts.map +0 -1
  1572. package/dist/core/integration-probe.js.map +0 -1
  1573. package/dist/core/management-md-write-lock.d.ts.map +0 -1
  1574. package/dist/core/management-md-write-lock.js.map +0 -1
  1575. package/dist/core/management-md.d.ts.map +0 -1
  1576. package/dist/core/management-md.js.map +0 -1
  1577. package/dist/core/management-registry.d.ts.map +0 -1
  1578. package/dist/core/management-registry.js.map +0 -1
  1579. package/dist/core/management-telemetry.d.ts.map +0 -1
  1580. package/dist/core/management-telemetry.js.map +0 -1
  1581. package/dist/core/message-recorder.d.ts.map +0 -1
  1582. package/dist/core/message-recorder.js.map +0 -1
  1583. package/dist/core/metrics.d.ts.map +0 -1
  1584. package/dist/core/metrics.js.map +0 -1
  1585. package/dist/core/migration-backup.d.ts.map +0 -1
  1586. package/dist/core/migration-backup.js.map +0 -1
  1587. package/dist/core/output-language-policy.d.ts.map +0 -1
  1588. package/dist/core/output-language-policy.js.map +0 -1
  1589. package/dist/core/overview-write-lock.d.ts.map +0 -1
  1590. package/dist/core/overview-write-lock.js.map +0 -1
  1591. package/dist/core/path-compat.d.ts.map +0 -1
  1592. package/dist/core/path-compat.js.map +0 -1
  1593. package/dist/core/path-rewrite.d.ts.map +0 -1
  1594. package/dist/core/path-rewrite.js.map +0 -1
  1595. package/dist/core/policy-files.d.ts.map +0 -1
  1596. package/dist/core/policy-files.js.map +0 -1
  1597. package/dist/core/profile-questions/seed.d.ts.map +0 -1
  1598. package/dist/core/profile-questions/seed.js.map +0 -1
  1599. package/dist/core/profile-questions/slot-filled.d.ts.map +0 -1
  1600. package/dist/core/profile-questions/slot-filled.js.map +0 -1
  1601. package/dist/core/prompts.d.ts.map +0 -1
  1602. package/dist/core/prompts.js.map +0 -1
  1603. package/dist/core/quiet-hours-sync.d.ts.map +0 -1
  1604. package/dist/core/quiet-hours-sync.js.map +0 -1
  1605. package/dist/core/read-sensitive-token-manager.d.ts.map +0 -1
  1606. package/dist/core/read-sensitive-token-manager.js.map +0 -1
  1607. package/dist/core/recurrence.d.ts.map +0 -1
  1608. package/dist/core/recurrence.js.map +0 -1
  1609. package/dist/core/reinstall.d.ts.map +0 -1
  1610. package/dist/core/reinstall.js.map +0 -1
  1611. package/dist/core/release-assets.d.ts.map +0 -1
  1612. package/dist/core/release-assets.js.map +0 -1
  1613. package/dist/core/repository-management-docs.d.ts.map +0 -1
  1614. package/dist/core/repository-management-docs.js.map +0 -1
  1615. package/dist/core/retention.d.ts.map +0 -1
  1616. package/dist/core/retention.js.map +0 -1
  1617. package/dist/core/review-context.d.ts.map +0 -1
  1618. package/dist/core/review-context.js.map +0 -1
  1619. package/dist/core/roadmap-horizon.d.ts.map +0 -1
  1620. package/dist/core/roadmap-horizon.js.map +0 -1
  1621. package/dist/core/roadmap-ids.d.ts.map +0 -1
  1622. package/dist/core/roadmap-ids.js.map +0 -1
  1623. package/dist/core/roadmap-merge.d.ts +0 -7
  1624. package/dist/core/roadmap-merge.d.ts.map +0 -1
  1625. package/dist/core/roadmap-merge.js +0 -187
  1626. package/dist/core/roadmap-merge.js.map +0 -1
  1627. package/dist/core/roadmap-refresh-triggers.d.ts.map +0 -1
  1628. package/dist/core/roadmap-refresh-triggers.js.map +0 -1
  1629. package/dist/core/roadmap-truncate.d.ts.map +0 -1
  1630. package/dist/core/roadmap-truncate.js.map +0 -1
  1631. package/dist/core/roadmap-validate.d.ts.map +0 -1
  1632. package/dist/core/roadmap-validate.js.map +0 -1
  1633. package/dist/core/roadmap-write-lock.d.ts.map +0 -1
  1634. package/dist/core/roadmap-write-lock.js.map +0 -1
  1635. package/dist/core/routine-acquisition-plan.d.ts.map +0 -1
  1636. package/dist/core/routine-acquisition-plan.js.map +0 -1
  1637. package/dist/core/routine-fetch-window-retry.d.ts.map +0 -1
  1638. package/dist/core/routine-fetch-window-retry.js.map +0 -1
  1639. package/dist/core/routine-fetch-window-runner.d.ts.map +0 -1
  1640. package/dist/core/routine-fetch-window-runner.js.map +0 -1
  1641. package/dist/core/routine-windows.d.ts.map +0 -1
  1642. package/dist/core/routine-windows.js.map +0 -1
  1643. package/dist/core/schedule-insert-helper.d.ts.map +0 -1
  1644. package/dist/core/schedule-insert-helper.js.map +0 -1
  1645. package/dist/core/schedule-maintenance.d.ts.map +0 -1
  1646. package/dist/core/schedule-maintenance.js.map +0 -1
  1647. package/dist/core/scheduler.d.ts.map +0 -1
  1648. package/dist/core/scheduler.js.map +0 -1
  1649. package/dist/core/semaphore.d.ts.map +0 -1
  1650. package/dist/core/semaphore.js.map +0 -1
  1651. package/dist/core/session-gate.d.ts.map +0 -1
  1652. package/dist/core/session-gate.js.map +0 -1
  1653. package/dist/core/session-manager.d.ts.map +0 -1
  1654. package/dist/core/session-manager.js.map +0 -1
  1655. package/dist/core/signal-detector.d.ts.map +0 -1
  1656. package/dist/core/signal-detector.js.map +0 -1
  1657. package/dist/core/skeleton.d.ts.map +0 -1
  1658. package/dist/core/skeleton.js.map +0 -1
  1659. package/dist/core/skill-curation/apply-proposal.d.ts.map +0 -1
  1660. package/dist/core/skill-curation/apply-proposal.js.map +0 -1
  1661. package/dist/core/skill-curation/auto-revert.d.ts.map +0 -1
  1662. package/dist/core/skill-curation/auto-revert.js.map +0 -1
  1663. package/dist/core/skill-curation/classify-diff.d.ts.map +0 -1
  1664. package/dist/core/skill-curation/classify-diff.js.map +0 -1
  1665. package/dist/core/skill-curation/declarations.d.ts.map +0 -1
  1666. package/dist/core/skill-curation/declarations.js.map +0 -1
  1667. package/dist/core/skill-curation/knowledge-map.d.ts.map +0 -1
  1668. package/dist/core/skill-curation/knowledge-map.js.map +0 -1
  1669. package/dist/core/skill-curation/orphan-overlay.d.ts.map +0 -1
  1670. package/dist/core/skill-curation/orphan-overlay.js.map +0 -1
  1671. package/dist/core/skill-curation/overlay-store.d.ts.map +0 -1
  1672. package/dist/core/skill-curation/overlay-store.js.map +0 -1
  1673. package/dist/core/skill-curation/render/convention-notes.d.ts.map +0 -1
  1674. package/dist/core/skill-curation/render/convention-notes.js.map +0 -1
  1675. package/dist/core/skill-curation/render/cross-references.d.ts.map +0 -1
  1676. package/dist/core/skill-curation/render/cross-references.js.map +0 -1
  1677. package/dist/core/skill-curation/render/frontmatter-schema.d.ts.map +0 -1
  1678. package/dist/core/skill-curation/render/frontmatter-schema.js.map +0 -1
  1679. package/dist/core/skill-curation/render/index.d.ts.map +0 -1
  1680. package/dist/core/skill-curation/render/index.js.map +0 -1
  1681. package/dist/core/skill-curation/render/knowledge-layout.d.ts.map +0 -1
  1682. package/dist/core/skill-curation/render/knowledge-layout.js.map +0 -1
  1683. package/dist/core/skill-curation/render/routing-table.d.ts.map +0 -1
  1684. package/dist/core/skill-curation/render/routing-table.js.map +0 -1
  1685. package/dist/core/skill-curation/render/search-recipes.d.ts.map +0 -1
  1686. package/dist/core/skill-curation/render/search-recipes.js.map +0 -1
  1687. package/dist/core/skill-curation/run-token.d.ts.map +0 -1
  1688. package/dist/core/skill-curation/run-token.js.map +0 -1
  1689. package/dist/core/skill-curation/signals.d.ts.map +0 -1
  1690. package/dist/core/skill-curation/signals.js.map +0 -1
  1691. package/dist/core/skill-curation/smoke-test.d.ts.map +0 -1
  1692. package/dist/core/skill-curation/smoke-test.js.map +0 -1
  1693. package/dist/core/skill-curation/splicer.d.ts.map +0 -1
  1694. package/dist/core/skill-curation/splicer.js.map +0 -1
  1695. package/dist/core/skill-curation/workdir.d.ts.map +0 -1
  1696. package/dist/core/skill-curation/workdir.js.map +0 -1
  1697. package/dist/core/skill-source-paths.d.ts.map +0 -1
  1698. package/dist/core/skill-source-paths.js.map +0 -1
  1699. package/dist/core/skills-compiler.d.ts.map +0 -1
  1700. package/dist/core/skills-compiler.js.map +0 -1
  1701. package/dist/core/skills-manifest.d.ts.map +0 -1
  1702. package/dist/core/skills-manifest.js.map +0 -1
  1703. package/dist/core/system-reset.d.ts.map +0 -1
  1704. package/dist/core/system-reset.js.map +0 -1
  1705. package/dist/core/template-store.d.ts.map +0 -1
  1706. package/dist/core/template-store.js.map +0 -1
  1707. package/dist/core/template-versions.d.ts.map +0 -1
  1708. package/dist/core/template-versions.js.map +0 -1
  1709. package/dist/core/today-agent-plan.d.ts.map +0 -1
  1710. package/dist/core/today-agent-plan.js.map +0 -1
  1711. package/dist/core/today-direct-writer.d.ts.map +0 -1
  1712. package/dist/core/today-direct-writer.js.map +0 -1
  1713. package/dist/core/today-write-lock.d.ts.map +0 -1
  1714. package/dist/core/today-write-lock.js.map +0 -1
  1715. package/dist/core/trigger-dispatch.d.ts.map +0 -1
  1716. package/dist/core/trigger-dispatch.js.map +0 -1
  1717. package/dist/core/trigger-evaluator.d.ts.map +0 -1
  1718. package/dist/core/trigger-evaluator.js.map +0 -1
  1719. package/dist/core/wiki/approval-queue.d.ts.map +0 -1
  1720. package/dist/core/wiki/approval-queue.js.map +0 -1
  1721. package/dist/core/wiki/bridge.d.ts.map +0 -1
  1722. package/dist/core/wiki/bridge.js.map +0 -1
  1723. package/dist/core/wiki/compile-lock.d.ts.map +0 -1
  1724. package/dist/core/wiki/compile-lock.js.map +0 -1
  1725. package/dist/core/wiki/compile-preview.d.ts.map +0 -1
  1726. package/dist/core/wiki/compile-preview.js.map +0 -1
  1727. package/dist/core/wiki/cost-estimate.d.ts.map +0 -1
  1728. package/dist/core/wiki/cost-estimate.js.map +0 -1
  1729. package/dist/core/wiki/dispatcher.d.ts.map +0 -1
  1730. package/dist/core/wiki/dispatcher.js.map +0 -1
  1731. package/dist/core/wiki/git-precompile.d.ts.map +0 -1
  1732. package/dist/core/wiki/git-precompile.js.map +0 -1
  1733. package/dist/core/wiki/import-migrate.d.ts.map +0 -1
  1734. package/dist/core/wiki/import-migrate.js.map +0 -1
  1735. package/dist/core/wiki/import-probe.d.ts.map +0 -1
  1736. package/dist/core/wiki/import-probe.js.map +0 -1
  1737. package/dist/core/wiki/index-cache.d.ts.map +0 -1
  1738. package/dist/core/wiki/index-cache.js.map +0 -1
  1739. package/dist/core/wiki/multi-url-dispatch.d.ts.map +0 -1
  1740. package/dist/core/wiki/multi-url-dispatch.js.map +0 -1
  1741. package/dist/core/wiki/wiki-fts.d.ts.map +0 -1
  1742. package/dist/core/wiki/wiki-fts.js.map +0 -1
  1743. package/dist/core/wiki/workspaces.d.ts.map +0 -1
  1744. package/dist/core/wiki/workspaces.js.map +0 -1
  1745. package/dist/core/wiki/write-strategy.d.ts.map +0 -1
  1746. package/dist/core/wiki/write-strategy.js.map +0 -1
  1747. package/dist/core/workdir.d.ts.map +0 -1
  1748. package/dist/core/workdir.js.map +0 -1
  1749. package/dist/db/automation-triggers.d.ts.map +0 -1
  1750. package/dist/db/automation-triggers.js.map +0 -1
  1751. package/dist/db/client.d.ts.map +0 -1
  1752. package/dist/db/client.js.map +0 -1
  1753. package/dist/db/entities-store.d.ts.map +0 -1
  1754. package/dist/db/entities-store.js.map +0 -1
  1755. package/dist/db/hourly-check-signals.d.ts.map +0 -1
  1756. package/dist/db/hourly-check-signals.js.map +0 -1
  1757. package/dist/db/integration-probe-store.d.ts.map +0 -1
  1758. package/dist/db/integration-probe-store.js.map +0 -1
  1759. package/dist/db/integrations-store.d.ts.map +0 -1
  1760. package/dist/db/integrations-store.js.map +0 -1
  1761. package/dist/db/managed-tasks-store.d.ts.map +0 -1
  1762. package/dist/db/managed-tasks-store.js.map +0 -1
  1763. package/dist/db/management-parse-failures-store.d.ts.map +0 -1
  1764. package/dist/db/management-parse-failures-store.js.map +0 -1
  1765. package/dist/db/observations.d.ts.map +0 -1
  1766. package/dist/db/observations.js.map +0 -1
  1767. package/dist/db/recurring-schedules.d.ts.map +0 -1
  1768. package/dist/db/recurring-schedules.js.map +0 -1
  1769. package/dist/db/repositories-store.d.ts.map +0 -1
  1770. package/dist/db/repositories-store.js.map +0 -1
  1771. package/dist/db/runtime-state.d.ts.map +0 -1
  1772. package/dist/db/runtime-state.js.map +0 -1
  1773. package/dist/db/schema.d.ts.map +0 -1
  1774. package/dist/db/schema.js.map +0 -1
  1775. package/dist/db/sot-bindings-store.d.ts.map +0 -1
  1776. package/dist/db/sot-bindings-store.js.map +0 -1
  1777. package/dist/db/test-schemas.d.ts +0 -23
  1778. package/dist/db/test-schemas.d.ts.map +0 -1
  1779. package/dist/db/test-schemas.js +0 -111
  1780. package/dist/db/test-schemas.js.map +0 -1
  1781. package/dist/db/voice-transcripts-store.d.ts.map +0 -1
  1782. package/dist/db/voice-transcripts-store.js.map +0 -1
  1783. package/dist/db/wiki-store.d.ts.map +0 -1
  1784. package/dist/db/wiki-store.js.map +0 -1
  1785. package/dist/index.d.ts.map +0 -1
  1786. package/dist/index.js.map +0 -1
  1787. package/dist/init.d.ts.map +0 -1
  1788. package/dist/init.js.map +0 -1
  1789. package/dist/log-buffer.d.ts.map +0 -1
  1790. package/dist/log-buffer.js.map +0 -1
  1791. package/dist/logging.d.ts.map +0 -1
  1792. package/dist/logging.js.map +0 -1
  1793. package/dist/management-rules.d.ts.map +0 -1
  1794. package/dist/management-rules.js.map +0 -1
  1795. package/dist/messaging/constants.d.ts.map +0 -1
  1796. package/dist/messaging/constants.js.map +0 -1
  1797. package/dist/messaging/magic-phrase.d.ts.map +0 -1
  1798. package/dist/messaging/magic-phrase.js.map +0 -1
  1799. package/dist/messaging/owner-channels.d.ts.map +0 -1
  1800. package/dist/messaging/owner-channels.js.map +0 -1
  1801. package/dist/messaging/setup-welcome-dm.d.ts.map +0 -1
  1802. package/dist/messaging/setup-welcome-dm.js.map +0 -1
  1803. package/dist/messaging/url-extract.d.ts.map +0 -1
  1804. package/dist/messaging/url-extract.js.map +0 -1
  1805. package/dist/observers/calendar-poller.d.ts.map +0 -1
  1806. package/dist/observers/calendar-poller.js.map +0 -1
  1807. package/dist/observers/context-index-reconciler-observer.d.ts.map +0 -1
  1808. package/dist/observers/context-index-reconciler-observer.js.map +0 -1
  1809. package/dist/observers/delegated-probe-observer.d.ts.map +0 -1
  1810. package/dist/observers/delegated-probe-observer.js.map +0 -1
  1811. package/dist/observers/delegated-sync-worker.d.ts.map +0 -1
  1812. package/dist/observers/delegated-sync-worker.js.map +0 -1
  1813. package/dist/observers/entity-mirror-observer.d.ts.map +0 -1
  1814. package/dist/observers/entity-mirror-observer.js.map +0 -1
  1815. package/dist/observers/git-delegated-cron.d.ts.map +0 -1
  1816. package/dist/observers/git-delegated-cron.js.map +0 -1
  1817. package/dist/observers/git-event-classifier.d.ts.map +0 -1
  1818. package/dist/observers/git-event-classifier.js.map +0 -1
  1819. package/dist/observers/git-watcher.d.ts.map +0 -1
  1820. package/dist/observers/git-watcher.js.map +0 -1
  1821. package/dist/observers/github-poller-classifier.d.ts.map +0 -1
  1822. package/dist/observers/github-poller-classifier.js.map +0 -1
  1823. package/dist/observers/github-poller.d.ts.map +0 -1
  1824. package/dist/observers/github-poller.js.map +0 -1
  1825. package/dist/observers/imminent-event-scheduler.d.ts.map +0 -1
  1826. package/dist/observers/imminent-event-scheduler.js.map +0 -1
  1827. package/dist/observers/mail-poller.d.ts.map +0 -1
  1828. package/dist/observers/mail-poller.js.map +0 -1
  1829. package/dist/observers/mail-reconciliation.d.ts.map +0 -1
  1830. package/dist/observers/mail-reconciliation.js.map +0 -1
  1831. package/dist/observers/manager.d.ts.map +0 -1
  1832. package/dist/observers/manager.js.map +0 -1
  1833. package/dist/observers/notion-poller.d.ts.map +0 -1
  1834. package/dist/observers/notion-poller.js.map +0 -1
  1835. package/dist/observers/observation-summarizer/index.d.ts.map +0 -1
  1836. package/dist/observers/observation-summarizer/index.js.map +0 -1
  1837. package/dist/observers/observation-summarizer/pre-filter.d.ts.map +0 -1
  1838. package/dist/observers/observation-summarizer/pre-filter.js.map +0 -1
  1839. package/dist/observers/observation-summarizer/response-parser.d.ts.map +0 -1
  1840. package/dist/observers/observation-summarizer/response-parser.js.map +0 -1
  1841. package/dist/observers/observation-summarizer/summarizer-client.d.ts.map +0 -1
  1842. package/dist/observers/observation-summarizer/summarizer-client.js.map +0 -1
  1843. package/dist/observers/observation-summarizer/summarizer-prompts.d.ts.map +0 -1
  1844. package/dist/observers/observation-summarizer/summarizer-prompts.js.map +0 -1
  1845. package/dist/observers/observation-summarizer/worker.d.ts.map +0 -1
  1846. package/dist/observers/observation-summarizer/worker.js.map +0 -1
  1847. package/dist/observers/obsidian-watcher.d.ts.map +0 -1
  1848. package/dist/observers/obsidian-watcher.js.map +0 -1
  1849. package/dist/observers/primary-vault-watcher.d.ts.map +0 -1
  1850. package/dist/observers/primary-vault-watcher.js.map +0 -1
  1851. package/dist/observers/repository-management-cron.d.ts.map +0 -1
  1852. package/dist/observers/repository-management-cron.js.map +0 -1
  1853. package/dist/observers/skill-curation-walker.d.ts.map +0 -1
  1854. package/dist/observers/skill-curation-walker.js.map +0 -1
  1855. package/dist/safety/absolute-block-audit.d.ts.map +0 -1
  1856. package/dist/safety/absolute-block-audit.js.map +0 -1
  1857. package/dist/safety/agent-write-tracker.d.ts.map +0 -1
  1858. package/dist/safety/agent-write-tracker.js.map +0 -1
  1859. package/dist/safety/always-disallowed.d.ts.map +0 -1
  1860. package/dist/safety/always-disallowed.js.map +0 -1
  1861. package/dist/safety/audit.d.ts.map +0 -1
  1862. package/dist/safety/audit.js.map +0 -1
  1863. package/dist/safety/integration-write-tracker.d.ts.map +0 -1
  1864. package/dist/safety/integration-write-tracker.js.map +0 -1
  1865. package/dist/safety/risk-classifier.d.ts.map +0 -1
  1866. package/dist/safety/risk-classifier.js.map +0 -1
  1867. package/dist/scheduler/hourly-check-gate.d.ts.map +0 -1
  1868. package/dist/scheduler/hourly-check-gate.js.map +0 -1
  1869. package/dist/secrets/backend-api-key-env.d.ts.map +0 -1
  1870. package/dist/secrets/backend-api-key-env.js.map +0 -1
  1871. package/dist/secrets/codex-home-materializer.d.ts.map +0 -1
  1872. package/dist/secrets/codex-home-materializer.js.map +0 -1
  1873. package/dist/secrets/encrypted-blob-store.d.ts.map +0 -1
  1874. package/dist/secrets/encrypted-blob-store.js.map +0 -1
  1875. package/dist/secrets/platform-secret-store.d.ts.map +0 -1
  1876. package/dist/secrets/platform-secret-store.js.map +0 -1
  1877. package/dist/secrets/redaction.d.ts.map +0 -1
  1878. package/dist/secrets/redaction.js.map +0 -1
  1879. package/dist/secrets/secret-broker.d.ts.map +0 -1
  1880. package/dist/secrets/secret-broker.js.map +0 -1
  1881. package/dist/secrets/secret-names.d.ts.map +0 -1
  1882. package/dist/secrets/secret-names.js.map +0 -1
  1883. package/dist/secrets/secret-store.d.ts.map +0 -1
  1884. package/dist/secrets/secret-store.js.map +0 -1
  1885. package/dist/secrets/types.d.ts.map +0 -1
  1886. package/dist/secrets/types.js.map +0 -1
  1887. package/dist/services/apple-calendar/caldav-client.d.ts.map +0 -1
  1888. package/dist/services/apple-calendar/caldav-client.js.map +0 -1
  1889. package/dist/services/apple-calendar/caldav-codec.d.ts.map +0 -1
  1890. package/dist/services/apple-calendar/caldav-codec.js.map +0 -1
  1891. package/dist/services/apple-calendar/index.d.ts.map +0 -1
  1892. package/dist/services/apple-calendar/index.js.map +0 -1
  1893. package/dist/services/apple-calendar/service.d.ts.map +0 -1
  1894. package/dist/services/apple-calendar/service.js.map +0 -1
  1895. package/dist/services/apple-calendar/types.d.ts.map +0 -1
  1896. package/dist/services/apple-calendar/types.js.map +0 -1
  1897. package/dist/services/attachments/hardlink.d.ts.map +0 -1
  1898. package/dist/services/attachments/hardlink.js.map +0 -1
  1899. package/dist/services/attachments/sanitize.d.ts.map +0 -1
  1900. package/dist/services/attachments/sanitize.js.map +0 -1
  1901. package/dist/services/attachments/store.d.ts.map +0 -1
  1902. package/dist/services/attachments/store.js.map +0 -1
  1903. package/dist/services/calendar/outlook/graph-calendar-client.d.ts.map +0 -1
  1904. package/dist/services/calendar/outlook/graph-calendar-client.js.map +0 -1
  1905. package/dist/services/calendar.d.ts.map +0 -1
  1906. package/dist/services/calendar.js.map +0 -1
  1907. package/dist/services/delegated-backend-invoker.d.ts.map +0 -1
  1908. package/dist/services/delegated-backend-invoker.js.map +0 -1
  1909. package/dist/services/delegated-invoker-audit.d.ts.map +0 -1
  1910. package/dist/services/delegated-invoker-audit.js.map +0 -1
  1911. package/dist/services/delegated-invoker-cache-hits.d.ts.map +0 -1
  1912. package/dist/services/delegated-invoker-cache-hits.js.map +0 -1
  1913. package/dist/services/delegated-invoker-janitors.d.ts.map +0 -1
  1914. package/dist/services/delegated-invoker-janitors.js.map +0 -1
  1915. package/dist/services/delegated-invoker-utils.d.ts.map +0 -1
  1916. package/dist/services/delegated-invoker-utils.js.map +0 -1
  1917. package/dist/services/delegated-proxy-config.d.ts.map +0 -1
  1918. package/dist/services/delegated-proxy-config.js.map +0 -1
  1919. package/dist/services/delegated-task-result-cache.d.ts.map +0 -1
  1920. package/dist/services/delegated-task-result-cache.js.map +0 -1
  1921. package/dist/services/delegated-task-runtime.d.ts.map +0 -1
  1922. package/dist/services/delegated-task-runtime.js.map +0 -1
  1923. package/dist/services/delegated-task-session-pool.d.ts.map +0 -1
  1924. package/dist/services/delegated-task-session-pool.js.map +0 -1
  1925. package/dist/services/delegated-tool-runtime.d.ts.map +0 -1
  1926. package/dist/services/delegated-tool-runtime.js.map +0 -1
  1927. package/dist/services/fts5.d.ts.map +0 -1
  1928. package/dist/services/fts5.js.map +0 -1
  1929. package/dist/services/git-account-registry.d.ts.map +0 -1
  1930. package/dist/services/git-account-registry.js.map +0 -1
  1931. package/dist/services/github.d.ts.map +0 -1
  1932. package/dist/services/github.js.map +0 -1
  1933. package/dist/services/gmail-classifier.d.ts.map +0 -1
  1934. package/dist/services/gmail-classifier.js.map +0 -1
  1935. package/dist/services/gmail.d.ts.map +0 -1
  1936. package/dist/services/gmail.js.map +0 -1
  1937. package/dist/services/google-auth.d.ts.map +0 -1
  1938. package/dist/services/google-auth.js.map +0 -1
  1939. package/dist/services/google-maps.d.ts +0 -35
  1940. package/dist/services/google-maps.d.ts.map +0 -1
  1941. package/dist/services/google-maps.js +0 -82
  1942. package/dist/services/google-maps.js.map +0 -1
  1943. package/dist/services/integrations/extract-write-item-id.d.ts.map +0 -1
  1944. package/dist/services/integrations/extract-write-item-id.js.map +0 -1
  1945. package/dist/services/integrations/reconcile.d.ts.map +0 -1
  1946. package/dist/services/integrations/reconcile.js.map +0 -1
  1947. package/dist/services/integrations/snapshot-partitions.d.ts.map +0 -1
  1948. package/dist/services/integrations/snapshot-partitions.js.map +0 -1
  1949. package/dist/services/journal/render.d.ts.map +0 -1
  1950. package/dist/services/journal/render.js.map +0 -1
  1951. package/dist/services/journal/writer.d.ts.map +0 -1
  1952. package/dist/services/journal/writer.js.map +0 -1
  1953. package/dist/services/mail/account-registry.d.ts.map +0 -1
  1954. package/dist/services/mail/account-registry.js.map +0 -1
  1955. package/dist/services/mail/gmail/auth-failure-classifier.d.ts.map +0 -1
  1956. package/dist/services/mail/gmail/auth-failure-classifier.js.map +0 -1
  1957. package/dist/services/mail/gmail/gmail-provider.d.ts.map +0 -1
  1958. package/dist/services/mail/gmail/gmail-provider.js.map +0 -1
  1959. package/dist/services/mail/gmail/legacy-row.d.ts.map +0 -1
  1960. package/dist/services/mail/gmail/legacy-row.js.map +0 -1
  1961. package/dist/services/mail/gmail/poll-cursor.d.ts.map +0 -1
  1962. package/dist/services/mail/gmail/poll-cursor.js.map +0 -1
  1963. package/dist/services/mail/html-to-plaintext.d.ts.map +0 -1
  1964. package/dist/services/mail/html-to-plaintext.js.map +0 -1
  1965. package/dist/services/mail/imap/app-password.d.ts.map +0 -1
  1966. package/dist/services/mail/imap/app-password.js.map +0 -1
  1967. package/dist/services/mail/imap/auth-failure-classifier.d.ts.map +0 -1
  1968. package/dist/services/mail/imap/auth-failure-classifier.js.map +0 -1
  1969. package/dist/services/mail/imap/capabilities.d.ts.map +0 -1
  1970. package/dist/services/mail/imap/capabilities.js.map +0 -1
  1971. package/dist/services/mail/imap/client.d.ts.map +0 -1
  1972. package/dist/services/mail/imap/client.js.map +0 -1
  1973. package/dist/services/mail/imap/cursor.d.ts.map +0 -1
  1974. package/dist/services/mail/imap/cursor.js.map +0 -1
  1975. package/dist/services/mail/imap/folder-resolver.d.ts.map +0 -1
  1976. package/dist/services/mail/imap/folder-resolver.js.map +0 -1
  1977. package/dist/services/mail/imap/icloud-provider.d.ts.map +0 -1
  1978. package/dist/services/mail/imap/icloud-provider.js.map +0 -1
  1979. package/dist/services/mail/imap/imap-provider-base.d.ts.map +0 -1
  1980. package/dist/services/mail/imap/imap-provider-base.js.map +0 -1
  1981. package/dist/services/mail/imap/query-translator.d.ts.map +0 -1
  1982. package/dist/services/mail/imap/query-translator.js.map +0 -1
  1983. package/dist/services/mail/imap/reconcile-planner.d.ts.map +0 -1
  1984. package/dist/services/mail/imap/reconcile-planner.js.map +0 -1
  1985. package/dist/services/mail/imap/reply-mime.d.ts.map +0 -1
  1986. package/dist/services/mail/imap/reply-mime.js.map +0 -1
  1987. package/dist/services/mail/imap/yahoo-provider.d.ts.map +0 -1
  1988. package/dist/services/mail/imap/yahoo-provider.js.map +0 -1
  1989. package/dist/services/mail/mail-search.d.ts.map +0 -1
  1990. package/dist/services/mail/mail-search.js.map +0 -1
  1991. package/dist/services/mail/outlook/auth-failure-classifier.d.ts.map +0 -1
  1992. package/dist/services/mail/outlook/auth-failure-classifier.js.map +0 -1
  1993. package/dist/services/mail/outlook/client-config.d.ts.map +0 -1
  1994. package/dist/services/mail/outlook/client-config.js.map +0 -1
  1995. package/dist/services/mail/outlook/delta-cursor.d.ts.map +0 -1
  1996. package/dist/services/mail/outlook/delta-cursor.js.map +0 -1
  1997. package/dist/services/mail/outlook/graph-client.d.ts.map +0 -1
  1998. package/dist/services/mail/outlook/graph-client.js.map +0 -1
  1999. package/dist/services/mail/outlook/msal-app-factory.d.ts.map +0 -1
  2000. package/dist/services/mail/outlook/msal-app-factory.js.map +0 -1
  2001. package/dist/services/mail/outlook/msal-cache-plugin.d.ts.map +0 -1
  2002. package/dist/services/mail/outlook/msal-cache-plugin.js.map +0 -1
  2003. package/dist/services/mail/outlook/oauth-device-code.d.ts.map +0 -1
  2004. package/dist/services/mail/outlook/oauth-device-code.js.map +0 -1
  2005. package/dist/services/mail/outlook/oauth-loopback.d.ts.map +0 -1
  2006. package/dist/services/mail/outlook/oauth-loopback.js.map +0 -1
  2007. package/dist/services/mail/outlook/outlook-provider.d.ts.map +0 -1
  2008. package/dist/services/mail/outlook/outlook-provider.js.map +0 -1
  2009. package/dist/services/mail/outlook/query-translator.d.ts.map +0 -1
  2010. package/dist/services/mail/outlook/query-translator.js.map +0 -1
  2011. package/dist/services/mail/provider.d.ts.map +0 -1
  2012. package/dist/services/mail/provider.js.map +0 -1
  2013. package/dist/services/mail/query-utils.d.ts.map +0 -1
  2014. package/dist/services/mail/query-utils.js.map +0 -1
  2015. package/dist/services/mail-classifier.d.ts.map +0 -1
  2016. package/dist/services/mail-classifier.js.map +0 -1
  2017. package/dist/services/mail-ingestion.d.ts.map +0 -1
  2018. package/dist/services/mail-ingestion.js.map +0 -1
  2019. package/dist/services/mcp/auto-probe.d.ts.map +0 -1
  2020. package/dist/services/mcp/auto-probe.js.map +0 -1
  2021. package/dist/services/mcp/generators/claude.d.ts.map +0 -1
  2022. package/dist/services/mcp/generators/claude.js.map +0 -1
  2023. package/dist/services/mcp/generators/codex.d.ts.map +0 -1
  2024. package/dist/services/mcp/generators/codex.js.map +0 -1
  2025. package/dist/services/mcp/generators/gemini.d.ts.map +0 -1
  2026. package/dist/services/mcp/generators/gemini.js.map +0 -1
  2027. package/dist/services/mcp/generators/index.d.ts.map +0 -1
  2028. package/dist/services/mcp/generators/index.js.map +0 -1
  2029. package/dist/services/mcp/generators/types.d.ts.map +0 -1
  2030. package/dist/services/mcp/generators/types.js.map +0 -1
  2031. package/dist/services/mcp/probe.d.ts.map +0 -1
  2032. package/dist/services/mcp/probe.js.map +0 -1
  2033. package/dist/services/mcp/registry.d.ts.map +0 -1
  2034. package/dist/services/mcp/registry.js.map +0 -1
  2035. package/dist/services/mcp/risk.d.ts.map +0 -1
  2036. package/dist/services/mcp/risk.js.map +0 -1
  2037. package/dist/services/mcp/session-materializer.d.ts.map +0 -1
  2038. package/dist/services/mcp/session-materializer.js.map +0 -1
  2039. package/dist/services/mcp/tool-audit.d.ts.map +0 -1
  2040. package/dist/services/mcp/tool-audit.js.map +0 -1
  2041. package/dist/services/mcp/types.d.ts.map +0 -1
  2042. package/dist/services/mcp/types.js.map +0 -1
  2043. package/dist/services/notion.d.ts.map +0 -1
  2044. package/dist/services/notion.js.map +0 -1
  2045. package/dist/services/obsidian.d.ts.map +0 -1
  2046. package/dist/services/obsidian.js.map +0 -1
  2047. package/dist/services/service-registry.d.ts.map +0 -1
  2048. package/dist/services/service-registry.js.map +0 -1
  2049. package/dist/services/voice/transcriber-impl.d.ts.map +0 -1
  2050. package/dist/services/voice/transcriber-impl.js.map +0 -1
  2051. package/dist/services/voice/transcriber.d.ts.map +0 -1
  2052. package/dist/services/voice/transcriber.js.map +0 -1
  2053. package/dist/settings/runtime-settings.d.ts.map +0 -1
  2054. package/dist/settings/runtime-settings.js.map +0 -1
  2055. package/dist/settings/settings-store.d.ts.map +0 -1
  2056. package/dist/settings/settings-store.js.map +0 -1
@@ -0,0 +1,1203 @@
1
+ /**
2
+ * Event-processing pipeline bootstrap — §10 of the legacy `startup()` IIFE.
3
+ *
4
+ * Extracted from `index.ts` per
5
+ * `docs/design/appendices/index-bootstrap-stage-split.md` Phase B-4.
6
+ * Companion to `bootstrap/db.ts`, `bootstrap/adapters.ts`,
7
+ * `bootstrap/services.ts`, `bootstrap/observers.ts`, and `bootstrap/api.ts`;
8
+ * same Pattern-C shape (file-split-plan.md §10).
9
+ *
10
+ * Responsibilities (in run order — preserves the §10 ordering invariants
11
+ * captured by the design doc's §11):
12
+ * 1. Construct the four agent backends (Claude / Codex / Gemini / Opencode)
13
+ * and wire the per-session MCP context onto each.
14
+ * 2. Run the boot janitors that close orphaned proxy / pool / delegated-task
15
+ * tempdirs and rows so the dispatcher starts from a clean state.
16
+ * 3. Construct `DelegatedBackendInvoker`, `NotificationManager`, and
17
+ * `AuthTelemetry`. The shared `makeAuthNotifier` factory binds the
18
+ * monitor + recovery surfaces to the same notification pipeline.
19
+ * 4. Build the `BackendRouter` with its `prepareSessionDir` fallback
20
+ * re-materialization callback (CLAUDE.md invariant: a Claude→Codex
21
+ * fallback would otherwise leave the dir with only CLAUDE.md and no
22
+ * AGENTS.md). Validates the built-in skill source tree + delegated
23
+ * mode startup contracts before any execute.
24
+ * 5. Construct `ContextBuilder`, `SessionManager`, `MessageRecorder`,
25
+ * `EventBroadcaster`, `AuditLogger`. Build `rematerializeActiveDmWorkdirs`
26
+ * and install it as the real `onMailScopeChanged` handler via the
27
+ * `setMailScopeChangedHandler` dep (forward-reference resolved).
28
+ * 6. Construct `MigrationLock`, `ContextWriteGate`, `SignalDetector`,
29
+ * `ScopedReadSensitiveTokenManager`, then the `EventDispatcher`. Apply
30
+ * every dispatcher setter (signal detector, docs citation lookup,
31
+ * dashboard stream fan-out, attachment store, event broadcaster, voice
32
+ * transcriber, auth recovery/monitor, delegated-sync refresh, bang
33
+ * command registry, skill curation hooks).
34
+ * 7. Construct `AuthHealthMonitor` + `AuthRecovery` (after dispatcher so
35
+ * the `isMorningRoutineActive` closure resolves immediately). Reconcile
36
+ * in-flight recoveries, fire the initial keepalive sweep, and arm the
37
+ * daily sweep timer.
38
+ * 8. Wire the roadmap-refresh trampoline through `setRoadmapRefreshSink`
39
+ * so the observer pollers built in B-2 can emit refresh signals now
40
+ * that the dispatcher exists.
41
+ * 9. Build the on-demand `buildDelegatedSyncWorker` + register it when at
42
+ * least one integration is in `delegated` mode. Register the
43
+ * `DelegatedProbeObserver` so the §4.5 connector-health cache stays
44
+ * fresh.
45
+ * 10. Return the cross-stage closures (`handleSecretChange`,
46
+ * `handleGoogleServicesReady`, `handlePromptContextChanged`,
47
+ * `rematerializeActiveDmWorkdirs`) the B-3 API factory and the
48
+ * `index.ts` post-startup-complete flush consume.
49
+ *
50
+ * Ordering invariants this module preserves (design §11):
51
+ * - Wiki token resolver (B-1) and `mergeRuntimeSettingsFromDb` (B-1) run
52
+ * before this factory is invoked. The dispatcher reads the merged
53
+ * config directly.
54
+ * - Orphan dashboard_chat session close (B-1) runs before SessionManager
55
+ * is constructed here.
56
+ * - Fallback re-materialization is wired into BackendRouter before any
57
+ * backend fallback can occur — the closure lives inside this factory,
58
+ * same lexical proximity as the pre-extraction code.
59
+ * - The roadmap-refresh sink (`setRoadmapRefreshSink` dep) is installed
60
+ * immediately after the dispatcher is constructed but BEFORE
61
+ * `observerManager.startAll()` runs (which happens later in `index.ts`).
62
+ * - `handleSecretChange` and `handleGoogleServicesReady` are returned
63
+ * rather than registered here — the B-3 api factory wires the former
64
+ * into `ApiDependencies.onSecretChanged` and `index.ts` composes the
65
+ * latter with the `startupComplete`/`pendingGoogleServicesReady`
66
+ * deferral wrapper before threading the wrapper into B-3 via
67
+ * `onGoogleServicesReady`.
68
+ *
69
+ * Test surface (per design doc §10):
70
+ * - `createSecretChangeHandler` — exported for the scope-routing matrix
71
+ * test (slack, telegram, discord, notion, github, google, apple_calendar,
72
+ * apiToken, unknown). The Notion hot-register branch's three gates
73
+ * (services.notion, observerManager.has, notionDatabaseIds.length,
74
+ * shouldStartObserversFor) are pinned here. The GitHub webhook-mode
75
+ * upgrade branch's two gates (getGitWatcher non-null, secretState.
76
+ * githubWebhookConfigured) are pinned here.
77
+ * - `createGoogleServicesReadyHandler` — exported for the calendar
78
+ * hot-register / morning-routine gate / roadmap-refresh test matrix.
79
+ */
80
+ import { join } from "node:path";
81
+ import { createReadStream } from "node:fs";
82
+ import { randomBytes } from "node:crypto";
83
+ import { getContextDir, isRoadmapStale } from "../config.js";
84
+ import { resolveUserSkillsRoot } from "../core/user-skills-root.js";
85
+ import { isUserPaused } from "../db/runtime-state.js";
86
+ import { readIntegrations } from "../db/integrations-store.js";
87
+ import { selectGithubRepoSlugs } from "../db/repositories-store.js";
88
+ import { EventPriority } from "@aitne/shared";
89
+ import { createLogger } from "../logging.js";
90
+ import { markContextChanged } from "../core/dashboard-session-controls.js";
91
+ import { EventDispatcher } from "../core/dispatcher.js";
92
+ import { SignalDetector } from "../core/signal-detector.js";
93
+ import { ContextBuilder } from "../core/context-builder.js";
94
+ import { getTaskFlow, initTaskFlows } from "../core/prompts.js";
95
+ import { SessionManager } from "../core/session-manager.js";
96
+ import { MessageRecorder } from "../core/message-recorder.js";
97
+ import { ScopedReadSensitiveTokenManager } from "../core/read-sensitive-token-manager.js";
98
+ import { createDefaultBangCommandRegistry } from "../core/bang-commands/index.js";
99
+ import { ContextWriteGate, MigrationLock, } from "../core/today-write-lock.js";
100
+ import { applyPromptContextStaleness, } from "../core/context-staleness.js";
101
+ // Backends
102
+ import { ClaudeCodeCore } from "../core/backends/claude-code-core.js";
103
+ import { CodexCore } from "../core/backends/codex-core.js";
104
+ import { GeminiCliCore } from "../core/backends/gemini-cli-core.js";
105
+ import { OpencodeCore } from "../core/backends/opencode-core.js";
106
+ import { createOpencodeServerManager, } from "../core/backends/opencode-server-manager.js";
107
+ import { BackendRouter } from "../core/backends/backend-router.js";
108
+ import { AuthTelemetry } from "../core/backends/auth-telemetry.js";
109
+ import { AuthHealthMonitor, AUTH_PROBE_NOTIFICATION_CATEGORY, } from "../core/backends/auth-health-monitor.js";
110
+ import { AuthRecovery } from "../core/backends/auth-recovery.js";
111
+ // Workdir / skills
112
+ import { ensureBackendMaterialized, syncAllUserSkills, buildConfiguredServices, refreshDmSessionWorkdirs, validateDelegatedStartup, } from "../core/workdir.js";
113
+ import { validateBuiltinSkillSourceTree } from "../core/skills-compiler-variants.js";
114
+ // Audit / safety / messaging
115
+ import { AuditLogger } from "../safety/audit.js";
116
+ import { AgentExecutionRecorder } from "../core/agent-execution-recorder.js";
117
+ import { AgentExecutionTracker } from "../core/agents/agent-execution-tracker.js";
118
+ import { loadAgentSuccessCriteria } from "../core/agents/definition-criteria.js";
119
+ import { NotificationManager } from "../adapters/notification-manager.js";
120
+ import { DocsQAAdapter } from "../adapters/docs-qa-adapter.js";
121
+ import { CompositeDashboardStream } from "../adapters/composite-dashboard-stream.js";
122
+ import { EventBroadcaster } from "../api/routes/sse.js";
123
+ import { VoiceTranscriber } from "../services/voice/transcriber.js";
124
+ import { DelegatedBackendInvoker, runDelegatedTaskOrphanJanitor, runProxyTempdirJanitor, } from "../services/delegated-backend-invoker.js";
125
+ import { runSessionPoolTempdirJanitor } from "../services/delegated-task-session-pool.js";
126
+ import { DelegatedSyncWorker, hasActiveDelegatedSyncIntegration, } from "../observers/delegated-sync-worker.js";
127
+ import { shouldStartObserversFor } from "../core/integration-lifecycle.js";
128
+ import { makeDbLookup as makeDocsCitationLookup } from "../core/docs/citation-validator.js";
129
+ import { hasFreshAgentDayTodayMd, readSkillCurationCadence } from "./schedule-helpers.js";
130
+ const logger = createLogger("daemon-bootstrap-event-pipeline");
131
+ /**
132
+ * Construct the event-processing pipeline (§10). See the file-level
133
+ * docstring for the run order and the ordering invariants this factory
134
+ * preserves.
135
+ */
136
+ export async function createEventPipeline(deps) {
137
+ const { db, config, eventBus, secretBroker, blobStore, writeTracker, services, messageHub, dashboardAdapter, attachmentStore, morningRoutineLock, roadmapWriteLock, secretState, observerManager, buildCalendarPoller, buildNotionPoller, getGitWatcher, reloadDiscordAdapter, reloadSlackAdapter, reloadTelegramAdapter, reloadGoogleServices, reloadAppleCalendarService, reloadNotionService, reloadGitHubService, scheduler, isStartupComplete, setMailScopeChangedHandler, setRoadmapRefreshSink, } = deps;
138
+ // ── Agent cores + per-session MCP context ──────────────────────────────
139
+ const opencodeServerManager = deps.opencodeServerManager ?? createOpencodeServerManager();
140
+ const agentCore = new ClaudeCodeCore(config, writeTracker);
141
+ const codexCore = new CodexCore(config);
142
+ const geminiCore = new GeminiCliCore(config, writeTracker, undefined, db);
143
+ const opencodeCore = new OpencodeCore(config, writeTracker, opencodeServerManager);
144
+ // B-003 Phase 3 — wire the MCP session context so per-session workdirs
145
+ // pick up the current DB + keychain state at spawn time. Each core stays
146
+ // backward-compatible: without this call it simply runs without MCP.
147
+ const mcpContext = { db, blobStore };
148
+ agentCore.setMcpContext(mcpContext);
149
+ codexCore.setMcpContext(mcpContext);
150
+ geminiCore.setMcpContext(mcpContext);
151
+ opencodeCore.setMcpContext(mcpContext);
152
+ // ── Boot janitors ──────────────────────────────────────────────────────
153
+ // DELEGATED-PROXY-API-DESIGN.md Phase A — sweep stale
154
+ // `agent-sessions/proxy-*` tempdirs left by SIGKILL'd proxy invocations.
155
+ const janitorRemoved = runProxyTempdirJanitor(config.dataDir);
156
+ if (janitorRemoved > 0) {
157
+ logger.info({ removed: janitorRemoved }, "Boot janitor cleared stale delegated-proxy tempdirs");
158
+ }
159
+ const poolJanitorRemoved = runSessionPoolTempdirJanitor(join(config.dataDir, "agent-sessions"));
160
+ if (poolJanitorRemoved > 0) {
161
+ logger.info({ removed: poolJanitorRemoved }, "Boot janitor cleared stale delegated-task pool tempdirs");
162
+ }
163
+ // DELEGATED-TASK-MODE-DESIGN.md §11.1 — close `delegated_task.exec`
164
+ // rows that were `in_progress` when the daemon last crashed.
165
+ const taskOrphansClosed = runDelegatedTaskOrphanJanitor(db);
166
+ if (taskOrphansClosed > 0) {
167
+ logger.info({ closed: taskOrphansClosed }, "Boot janitor closed orphaned delegated_task in-progress rows");
168
+ }
169
+ const delegatedBackendInvoker = new DelegatedBackendInvoker({
170
+ db,
171
+ config,
172
+ cores: {
173
+ claude: agentCore,
174
+ codex: codexCore,
175
+ gemini: geminiCore,
176
+ opencode: opencodeCore,
177
+ },
178
+ });
179
+ // ── Notification + auth telemetry + shared notifier factory ────────────
180
+ // Sweep stale `batched` rows from a prior crash before the new
181
+ // dispatcher starts producing notifications. A queued (status='batched')
182
+ // row whose flush timer didn't fire (process killed) would otherwise
183
+ // linger forever and confuse the dashboard's notification feed.
184
+ NotificationManager.closeStaleBatchedRows(db);
185
+ const notificationManager = new NotificationManager(messageHub, db, config);
186
+ const authTelemetry = new AuthTelemetry(db);
187
+ const makeAuthNotifier = (source) => ({
188
+ send: async (message, options) => {
189
+ const kind = options?.kind ?? "keepalive";
190
+ const typeMap = {
191
+ probe_failure: "auth.probe_failure",
192
+ recovery: "auth.recovery",
193
+ keepalive: "auth.keepalive_reminder",
194
+ };
195
+ const notificationType = typeMap[kind] ?? "auth.keepalive_reminder";
196
+ // probe_failure and recovery bypass quiet-hours; keepalive does not.
197
+ const category = kind === "keepalive" ? "auth-health" : AUTH_PROBE_NOTIFICATION_CATEGORY;
198
+ await notificationManager.send(message, {
199
+ type: notificationType,
200
+ source,
201
+ priority: EventPriority.NORMAL,
202
+ timestamp: new Date(),
203
+ data: {},
204
+ correlationId: randomBytes(8).toString("hex"),
205
+ }, {
206
+ priority: "normal",
207
+ category,
208
+ destinationMode: "configured_only",
209
+ });
210
+ },
211
+ });
212
+ // ── Read-token manager + backend router with fallback re-materialize ──
213
+ const readTokenManager = new ScopedReadSensitiveTokenManager();
214
+ const agentRouter = new BackendRouter(db, config, [agentCore, codexCore, geminiCore, opencodeCore], notificationManager, authTelemetry,
215
+ // Materialize instruction files for a fallback backend in an existing
216
+ // session workdir. Without this, a Claude→Codex heavy-tier fallback
217
+ // would leave the dir with only CLAUDE.md and no AGENTS.md.
218
+ (sessionDir, backendId, eventType, processKey, wikiWorkspaceName, messageText) => {
219
+ const cfgServices = buildConfiguredServices(config, {
220
+ ...services,
221
+ github: selectGithubRepoSlugs(db).length > 0,
222
+ });
223
+ const mailAccounts = services.mail?.listActiveAccounts() ?? [];
224
+ ensureBackendMaterialized(config.workspaceDir, sessionDir, backendId, eventType, processKey, cfgServices, mailAccounts, readIntegrations(db), config.character, wikiWorkspaceName, getContextDir(config, db), db, messageText ?? null);
225
+ syncAllUserSkills(sessionDir, resolveUserSkillsRoot(config));
226
+ });
227
+ // docs/design/appendices/skills-unification.md Phase 1 §R5 / item 6 — refuse to boot on a
228
+ // malformed source tree. Throws on slug-pattern violations and
229
+ // `description.length > 280` for every built-in `SKILL.md`.
230
+ validateBuiltinSkillSourceTree(join(config.workspaceDir, "agent-assets", "skills"));
231
+ // Startup validation — warn if any delegated-mode variant files are
232
+ // missing. Never throws.
233
+ {
234
+ const startupIntegrations = readIntegrations(db);
235
+ const missing = validateDelegatedStartup(config.workspaceDir, startupIntegrations);
236
+ if (missing.skills.length > 0 || missing.taskFlows.length > 0) {
237
+ logger.warn({ missingSkills: missing.skills, missingTaskFlows: missing.taskFlows }, "Delegated-mode variant files missing — agent will fall back to SKILL.md / direct task-flow for affected entries");
238
+ }
239
+ }
240
+ // ── Context builder + session/message recording + audit broadcaster ───
241
+ const contextBuilder = new ContextBuilder(config, db, services);
242
+ const sessionManager = new SessionManager(db, config);
243
+ const messageRecorder = new MessageRecorder(db);
244
+ const eventBroadcaster = new EventBroadcaster();
245
+ const auditLogger = new AuditLogger(db, {
246
+ // `/api/events/stream` is defined in terms of persisted agent_actions
247
+ // rows, not raw EventBus payloads, so the broadcaster subscribes at
248
+ // the audit layer.
249
+ onRowInserted: (row) => eventBroadcaster.broadcastEvent(row),
250
+ });
251
+ // ── Agent execution recorder + tracker (AGENT_DEFINITIONS_DESIGN.md §8) ─
252
+ // The recorder owns the `agent_executions` row lifecycle + the agent-day
253
+ // `{date}` label; the tracker owns the per-firing begin/complete keyed by
254
+ // event correlationId, success-criteria evaluation, and the SSE feed. Both
255
+ // are wired into the dispatcher (+ the audit `agent_id` resolver) below.
256
+ const agentExecutionRecorder = new AgentExecutionRecorder({
257
+ db,
258
+ timezone: config.timezone || undefined,
259
+ dayBoundaryHour: config.dayBoundaryHour,
260
+ });
261
+ const agentExecutionTracker = new AgentExecutionTracker({
262
+ db,
263
+ recorder: agentExecutionRecorder,
264
+ contextDir: getContextDir(config, db),
265
+ emitSse: (event, payload) => eventBroadcaster.broadcastEvent({
266
+ kind: event,
267
+ ...payload,
268
+ }),
269
+ loadCriteria: loadAgentSuccessCriteria,
270
+ });
271
+ // Stamp `agent_actions.agent_id` for every row produced by the in-flight
272
+ // firing — the tracker holds the resolved slug for the run's correlationId.
273
+ auditLogger.setAgentIdResolver((event) => agentExecutionTracker.currentAgentId(event.correlationId));
274
+ // ── DM workdir re-materialization (shared by mail scope + mode flips) ─
275
+ const rematerializeActiveDmWorkdirs = (reason) => {
276
+ const sessions = sessionManager.listActiveDmSessions();
277
+ if (sessions.length === 0) {
278
+ logger.debug({ reason }, "DM workdir refresh requested — no active DM sessions");
279
+ return null;
280
+ }
281
+ const cfgServices = buildConfiguredServices(config, {
282
+ ...services,
283
+ github: selectGithubRepoSlugs(db).length > 0,
284
+ });
285
+ const mailAccounts = services.mail?.listActiveAccounts() ?? [];
286
+ // Read integration state fresh inside the closure so a Phase F mode
287
+ // flip's pre-`writeIntegrations` row is not what gets baked.
288
+ const integrations = readIntegrations(db);
289
+ const summary = refreshDmSessionWorkdirs({
290
+ projectRoot: config.workspaceDir,
291
+ dataDir: config.dataDir,
292
+ sessions,
293
+ configuredServices: cfgServices,
294
+ mailAccounts,
295
+ integrations,
296
+ character: config.character,
297
+ });
298
+ return { summary, mailAccounts };
299
+ };
300
+ // Real implementation of the mail-scope-changed hook. Forward-reference
301
+ // was held open by the `setMailScopeChangedHandler` setter in `index.ts`.
302
+ setMailScopeChangedHandler((reason) => {
303
+ const result = rematerializeActiveDmWorkdirs(reason);
304
+ if (!result)
305
+ return;
306
+ logger.info({ reason, ...result.summary }, "Mail scope changed — DM session workdirs re-materialized");
307
+ eventBroadcaster.broadcastEvent({
308
+ kind: "mail_scope_changed",
309
+ reason,
310
+ activeAccounts: result.mailAccounts.length,
311
+ ...result.summary,
312
+ });
313
+ });
314
+ // ── Migration / context-write gates + task flow init ──────────────────
315
+ // Long timeout because cross-fs copies of large vaults may legitimately
316
+ // run multiple minutes.
317
+ const migrationLock = new MigrationLock(60 * 60 * 1000);
318
+ const contextWriteGate = new ContextWriteGate();
319
+ initTaskFlows(config.workspaceDir, config.dataDir);
320
+ // ── Signal detector + dispatcher ──────────────────────────────────────
321
+ const signalDetector = new SignalDetector(config);
322
+ const dispatcher = new EventDispatcher(eventBus, agentRouter, contextBuilder, getTaskFlow, notificationManager, sessionManager, messageRecorder, auditLogger, db, config, morningRoutineLock, services, roadmapWriteLock, writeTracker);
323
+ notificationManager.setSignalDetector(signalDetector);
324
+ // Wire the scoped read-token manager into every backend so daemon-API
325
+ // calls from `<sessionDir>` workdirs carry a per-session token, not the
326
+ // legacy shared one. OpenCode is included for parity even though the
327
+ // SDK currently runs in-process and offers no per-tool env injection
328
+ // slot — see opencode-core.ts (issuedReadToken) for the gap; this call
329
+ // keeps the issue/revoke bookkeeping consistent so a future env-
330
+ // injection path lands on a wired manager rather than a silent undefined.
331
+ agentCore.setReadTokenManager?.(readTokenManager);
332
+ codexCore.setReadTokenManager?.(readTokenManager);
333
+ geminiCore.setReadTokenManager?.(readTokenManager);
334
+ opencodeCore.setReadTokenManager?.(readTokenManager);
335
+ // Install the roadmap-refresh sink so observer pollers built in B-2 can
336
+ // emit refresh signals via the `triggerRoadmapRefresh` trampoline. Until
337
+ // this fires the trampoline is a no-op; the actual emit only happens
338
+ // inside poll loops which start after `observerManager.startAll()` in
339
+ // §13 of `index.ts`.
340
+ setRoadmapRefreshSink((source) => dispatcher.emitRoadmapRefresh(source));
341
+ // ── Dispatcher setters ────────────────────────────────────────────────
342
+ dispatcher.setSignalDetector(signalDetector);
343
+ // DOCS_QA_B7_DESIGN.md §11.1 — persistence-side citation validator for
344
+ // docs_qa sessions. Inert for chat/DM/routine flows.
345
+ const docsCitationLookup = makeDocsCitationLookup(db);
346
+ dispatcher.setDocsCitationLookup(docsCitationLookup);
347
+ // Docs-QA SSE adapter — DOCS_QA_B7_DESIGN.md §S4 / §S8. Fans out
348
+ // alongside the dashboard adapter on the same `platform="dashboard"`
349
+ // surface; the `intent: "docs_qa"` discriminator on inbound events
350
+ // forks dispatch into the docs-qa task flow. Intentionally NOT
351
+ // registered with `messageHub` (would collide with the dashboard adapter
352
+ // on the shared platform key).
353
+ const docsQAAdapter = new DocsQAAdapter((event) => void eventBus.put(event), docsCitationLookup);
354
+ dispatcher.setDashboardStream(new CompositeDashboardStream([dashboardAdapter, docsQAAdapter]));
355
+ dispatcher.setAttachmentStore(attachmentStore);
356
+ dispatcher.setEventBroadcaster(eventBroadcaster);
357
+ dispatcher.setAgentExecutionTracker(agentExecutionTracker);
358
+ // Voice transcription. See docs/design/appendices/voice-transcription.md.
359
+ // Env vars stay live for advanced operators; `enabled` falls back to the
360
+ // `voiceTranscriptionEnabled` runtime setting via a getter so the
361
+ // dashboard install flow takes effect without a daemon restart.
362
+ const voiceTranscriberMaxDuration = Number(process.env.PA_VOICE_TRANSCRIPTION_MAX_DURATION_SEC ?? "600");
363
+ const voiceEnvOverride = process.env.PA_VOICE_TRANSCRIPTION_ENABLED;
364
+ const voiceTranscriberEnabled = voiceEnvOverride !== undefined
365
+ ? voiceEnvOverride.toLowerCase() !== "false"
366
+ : () => config.voiceTranscriptionEnabled;
367
+ const voicePrimaryEnvOverride = process.env.PA_VOICE_TRANSCRIPTION_PRIMARY_LANGUAGE;
368
+ const voiceTranscriberPrimaryLanguage = voicePrimaryEnvOverride !== undefined
369
+ ? voicePrimaryEnvOverride.trim() || null
370
+ : () => config.voiceTranscriptionPrimaryLanguage;
371
+ const voiceTranscriber = new VoiceTranscriber({
372
+ db,
373
+ modelDir: join(config.dataDir, "models", "whisper"),
374
+ enabled: voiceTranscriberEnabled,
375
+ model: process.env.PA_VOICE_TRANSCRIPTION_MODEL,
376
+ language: process.env.PA_VOICE_TRANSCRIPTION_LANGUAGE ?? null,
377
+ primaryLanguage: voiceTranscriberPrimaryLanguage,
378
+ maxDurationSec: Number.isFinite(voiceTranscriberMaxDuration)
379
+ ? voiceTranscriberMaxDuration
380
+ : 600,
381
+ });
382
+ dispatcher.setVoiceTranscriber(voiceTranscriber);
383
+ // M5 (release-prep): kick off the Whisper pipeline load in the
384
+ // background so the first inbound voice DM does not pay the
385
+ // ~800 MB – 2.5 GB model-download cost on the request path. The
386
+ // `void` is deliberate — daemon startup must NOT block on Hugging
387
+ // Face Hub being reachable. `warmUp()` is internally fault-tolerant
388
+ // (catches its own errors and logs them), so the outer `.catch` is
389
+ // pure defence against future signature drift.
390
+ void voiceTranscriber.warmUp().catch((err) => {
391
+ logger.warn({ err }, "voice transcriber warm-up threw despite internal catch — investigate");
392
+ });
393
+ // ── Auth health monitor + recovery (post-dispatcher) ──────────────────
394
+ // Constructed after the dispatcher so the `isMorningRoutineActive`
395
+ // closure resolves immediately (no forward-reference let-slot needed).
396
+ const authHealthMonitor = new AuthHealthMonitor(db, {
397
+ claude: agentCore,
398
+ codex: codexCore,
399
+ gemini: geminiCore,
400
+ opencode: opencodeCore,
401
+ }, authTelemetry, {
402
+ notifier: makeAuthNotifier("auth-health-monitor"),
403
+ isMorningRoutineActive: () => dispatcher.isMorningRoutineActive(),
404
+ isQuietHours: () => notificationManager.isQuietHours(),
405
+ probeDisabled: () => config.authProbeDisabled,
406
+ });
407
+ // Reset any recoveries that were in-flight when the daemon was last killed.
408
+ const recovered = authHealthMonitor.reconcilePendingRecoveries();
409
+ if (recovered > 0) {
410
+ logger.info({ count: recovered }, "Reconciled stuck auth recoveries on startup");
411
+ }
412
+ // Run the 60-day keepalive sweep once on startup. Hourly probe is
413
+ // registered via `scheduler.setAuthProbeCallback` in §12.
414
+ void authHealthMonitor.runKeepaliveSweep().catch((err) => {
415
+ logger.warn({ err }, "Initial auth keepalive sweep failed");
416
+ });
417
+ const keepaliveTimer = setInterval(() => {
418
+ void authHealthMonitor.runKeepaliveSweep().catch((err) => {
419
+ logger.warn({ err }, "Periodic auth keepalive sweep failed");
420
+ });
421
+ }, 24 * 60 * 60 * 1000);
422
+ keepaliveTimer.unref?.();
423
+ // Interactive auth recovery manager. Uses the same notifier sink as the
424
+ // AuthHealthMonitor so recovery DMs flow through the same notification
425
+ // pipeline with the same anti-spam guarantees.
426
+ const authRecovery = new AuthRecovery(db, authTelemetry, authHealthMonitor, makeAuthNotifier("auth-recovery"), {
427
+ claudeRecoveryTimeoutMin: 10,
428
+ codexRecoveryTimeoutMin: 15,
429
+ geminiRecoveryTimeoutMin: 5,
430
+ });
431
+ dispatcher.setAuthRecovery(authRecovery);
432
+ dispatcher.setAuthHealthMonitor(authHealthMonitor);
433
+ // ── Delegated sync worker (on-demand) ─────────────────────────────────
434
+ let delegatedSyncWorker = null;
435
+ const buildDelegatedSyncWorker = () => {
436
+ if (!delegatedSyncWorker) {
437
+ delegatedSyncWorker = new DelegatedSyncWorker({
438
+ db,
439
+ invoker: delegatedBackendInvoker,
440
+ calendarId: config.googleCalendarId,
441
+ timezone: config.timezone,
442
+ todayWriteLock: morningRoutineLock,
443
+ triggerRoadmapRefresh: (source) => dispatcher.emitRoadmapRefresh(source),
444
+ });
445
+ }
446
+ return delegatedSyncWorker;
447
+ };
448
+ if (hasActiveDelegatedSyncIntegration(db)) {
449
+ observerManager.register(buildDelegatedSyncWorker());
450
+ }
451
+ // Wire the delegated-sync refresh callback. The thunk reads the live
452
+ // `delegatedSyncWorker` reference each call so the dispatcher tracks
453
+ // re-registration when an integration mode flips. When no delegated
454
+ // integration is present, the worker is null and the call is a no-op.
455
+ dispatcher.setDelegatedSyncRefresh(async () => {
456
+ await delegatedSyncWorker?.runDisabledCadencesForHourlyCheck();
457
+ });
458
+ // ── Delegated probe observer (DELEGATED-MODE-V2 §7.1) ────────────────
459
+ // Hourly re-probe of delegated integrations' connector tools so the
460
+ // `integration_probes` cache reflects current sign-in state.
461
+ {
462
+ const { DelegatedProbeObserver } = await import("../observers/delegated-probe-observer.js");
463
+ observerManager.register(new DelegatedProbeObserver({
464
+ db,
465
+ agentBackends: [agentCore, codexCore, geminiCore, opencodeCore],
466
+ intervalMinutes: config.delegatedProbeIntervalMinutes,
467
+ }));
468
+ }
469
+ // ── Bang commands + skill-curation hooks ──────────────────────────────
470
+ // Messaging bang-commands (`!stop`/`!start`/`!cost`/`!report`) — owner
471
+ // DM chokepoint that runs ahead of every other interceptor.
472
+ dispatcher.setBangCommandRegistry(createDefaultBangCommandRegistry());
473
+ // Browser-task screenshots (ask_user / finish / lite-final-confirm / B-4
474
+ // purchase confirmations) are delivered to the dashboard as real chat
475
+ // attachments — fetched by id through the authenticated /api proxy —
476
+ // instead of loopback trace URLs a raw <img> cannot authenticate. This
477
+ // hook ingests a trace-store PNG/JPEG into the AttachmentStore to mint a
478
+ // fetchable id; messaging adapters take the trace file directly via their
479
+ // native upload API and never reach it. Best-effort: an ingest failure
480
+ // (disallowed mime, missing file) returns null and the caller omits the
481
+ // image. Shared by the MCP notifier + both confirm senders.
482
+ const ingestBrowserTaskScreenshot = async (input) => {
483
+ try {
484
+ const result = await attachmentStore.ingestStream({
485
+ stream: createReadStream(input.absPath),
486
+ declaredMimeType: input.mimeType,
487
+ originalFilename: input.originalFilename,
488
+ direction: "outbound",
489
+ provenance: "agent",
490
+ maxSizeBytes: 5 * 1024 * 1024,
491
+ });
492
+ return {
493
+ id: result.id,
494
+ path: result.path,
495
+ originalFilename: result.originalFilename,
496
+ mimeType: result.mimeType,
497
+ sizeBytes: result.sizeBytes,
498
+ };
499
+ }
500
+ catch (err) {
501
+ logger.warn({ err }, "browser-task screenshot ingest failed (omitting)");
502
+ return null;
503
+ }
504
+ };
505
+ // ── Phase B-4 purchase handler ────────────────────────────────────────
506
+ // MANAGED_CHROMIUM_IMPLEMENTATION_PLAN.md §17.3 / §13 step 50.
507
+ //
508
+ // The handler holds the unforgeable capability that gates
509
+ // `sendSystemMessage` — see `purchase-handler.ts`. The system-message
510
+ // sender uses the existing MessageHub to dispatch DMs; we construct
511
+ // it here once the hub is available, then thread the handler into
512
+ // the dispatcher (for the inbound classifier hook on `!~xxxxxxxx` /
513
+ // `!verify` / `!cancel-purchase`). The API server picks up the same
514
+ // instance via `dispatcher.getPurchaseHandler()` at startup-api.ts.
515
+ //
516
+ // Wired unconditionally — every install gets a handler even when the
517
+ // master toggle is OFF, because the inbound classifier still needs
518
+ // to recognise + reject token-shaped replies that the user might
519
+ // send by mistake (and to write the audit row). The handler refuses
520
+ // issuance internally via `getB4Enabled` so cost is bounded.
521
+ {
522
+ const { createPurchaseHandler } = await import("../services/browser-history/automation/purchase-handler.js");
523
+ const { createPurchaseSystemMessageSender } = await import("../messaging/purchase-system-message-sender.js");
524
+ const sender = createPurchaseSystemMessageSender({
525
+ messageHub,
526
+ paDataDir: config.dataDir,
527
+ ingestOutboundImage: ingestBrowserTaskScreenshot,
528
+ });
529
+ const purchaseHandler = createPurchaseHandler({
530
+ db,
531
+ sender,
532
+ });
533
+ dispatcher.setPurchaseHandler(purchaseHandler);
534
+ // MANAGED_CHROMIUM_IMPLEMENTATION_PLAN.md §17.3 "Daemon crash during
535
+ // the 5-min window" — on supervisor restart, sweep both flavours of
536
+ // orphaned token. (a) Pre-consume rows whose 5-min TTL has elapsed
537
+ // are flipped to `expired` with reason=timeout; (b) post-consume
538
+ // rows where the click never landed (the previous daemon process
539
+ // died after the user typed the token but before finalize) are
540
+ // flipped to `cancelled` with reason=supervisor_orphan_sweep.
541
+ // Without this the rows sit stranded until the daily retention
542
+ // sweep. Best-effort: a failure logs but does not abort startup —
543
+ // the retention sweep is the long-running safety net.
544
+ try {
545
+ const { expireStalePurchaseTokens, sweepOrphanedConsumedPurchaseTokens, } = await import("../db/browser-automation-purchase-tokens-store.js");
546
+ const now = Date.now();
547
+ const expired = expireStalePurchaseTokens(db, now);
548
+ // 10-min grace mirrors the retention sweep — anything consumed
549
+ // more than 10 min ago without a finalize must have been
550
+ // orphaned by a previous daemon process (the workflow's own
551
+ // perWorkflowTimeoutMs is 6 min).
552
+ const orphaned = sweepOrphanedConsumedPurchaseTokens(db, now - 10 * 60 * 1000);
553
+ if (expired.length > 0 || orphaned.length > 0) {
554
+ logger.info({ expired: expired.length, orphaned: orphaned.length }, "B-4 boot-time orphan recovery: cleaned up stranded purchase tokens");
555
+ }
556
+ }
557
+ catch (err) {
558
+ logger.warn({ err }, "B-4 boot-time orphan recovery failed (retention sweep will retry)");
559
+ }
560
+ // MANAGED_CHROMIUM_IMPLEMENTATION_PLAN.md §17.3 row 7 — SIGKILL
561
+ // every orphan A-purchase Chromium process whose `--user-data-dir`
562
+ // points at `chromium-automation-purchase/<siteKey>/`. The DB sweep
563
+ // above flips the token rows to cancelled but the Chromium process
564
+ // could survive the parent daemon's death (Chromium spawns helper
565
+ // children; `detached: false` is a best-effort, not a hard
566
+ // guarantee, and a `nohup` / suspended-launcher path leaves the
567
+ // child alive with the user's authenticated cart context and an
568
+ // open CDP debug port on localhost). The kill is OS-agnostic via
569
+ // the HostProfile abstraction, runs unconditionally regardless of
570
+ // whether any rows were swept (the DB and the process state can
571
+ // diverge — e.g. a daemon crash AFTER finalize but before SIGTERM
572
+ // would leave the process alive without a corresponding pending
573
+ // row), and is best-effort: a missing `chromium-automation-purchase/`
574
+ // directory, missing Chromium binary, or a `ps` shell-out failure
575
+ // is silent.
576
+ try {
577
+ const { createHostProfile } = await import("../services/browser-history/lifecycle/platform.js");
578
+ const { killOrphanedPurchaseChromium } = await import("../services/browser-history/managed-chromium/setup-bootstrap.js");
579
+ const host = createHostProfile();
580
+ const { killedPids } = await killOrphanedPurchaseChromium(host, config.dataDir);
581
+ if (killedPids.length > 0) {
582
+ logger.warn({ killedPids }, "B-4 boot-time recovery: killed orphan A-purchase Chromium processes");
583
+ }
584
+ }
585
+ catch (err) {
586
+ logger.warn({ err }, "B-4 boot-time orphan-Chromium kill failed (process may persist until next OS-level cleanup)");
587
+ }
588
+ }
589
+ // ── Browser-task lite-final-confirm handler ───────────────────────────
590
+ // BROWSER_TASK_REDESIGN_PLAN.md §5 / §14.11 (Q#6 MVP blocker).
591
+ //
592
+ // Parallel to the B-4 purchase handler block above. Same anti-spoofing
593
+ // capability pattern — the sender mints its credential from
594
+ // `final-confirm-handler`'s module-private getter, so an agent tool
595
+ // that imports the sender still cannot dispatch DMs. The dispatcher
596
+ // holds the canonical instance via `setFinalConfirmHandler`; the
597
+ // inbound `!~xxxxxxxx` classifier in `dispatcher-message-handler.ts`
598
+ // queries both stores by raw token and routes to whichever returns a
599
+ // row (jti-prefix dispatch in practice — both jtis are uuid v4, so
600
+ // collision is bounded by uuid uniqueness).
601
+ //
602
+ // Wired unconditionally so the inbound classifier can still write
603
+ // the strict-cancel-on-non-token-reply audit row even when no tokens
604
+ // are currently outstanding. Phase 2 plumbs the same handler instance
605
+ // into the browser-task driver (`DriverDeps.finalConfirmHandler`) so
606
+ // the sub-agent's final-confirm gate issues + awaits via the canonical
607
+ // surface — sharing a single instance is what makes the §14.11 Q#6
608
+ // jti-prefix dispatch deterministic.
609
+ const { createFinalConfirmHandler } = await import("../services/browser-history/automation/final-confirm-handler.js");
610
+ const { createFinalConfirmSystemMessageSender } = await import("../messaging/final-confirm-system-message-sender.js");
611
+ const finalConfirmSender = createFinalConfirmSystemMessageSender({
612
+ messageHub,
613
+ paDataDir: config.dataDir,
614
+ ingestOutboundImage: ingestBrowserTaskScreenshot,
615
+ });
616
+ const finalConfirmHandler = createFinalConfirmHandler({
617
+ db,
618
+ sender: finalConfirmSender,
619
+ });
620
+ dispatcher.setFinalConfirmHandler(finalConfirmHandler);
621
+ // ── Browser-task slot manager + runner + driver ───────────────────────
622
+ // BROWSER_TASK_REDESIGN_PLAN.md §5 / §5.1 — wire the in-memory slot
623
+ // state + the Phase 2 driver so `POST /api/browser-task` runs the
624
+ // real Playwright + Claude SDK loop.
625
+ //
626
+ // Two notifiers, one runner:
627
+ // - `notifier` (structural): runner-side. Fans "queued" /
628
+ // non-completed-terminal intents into MessageHub DMs. Stays terse
629
+ // + templated.
630
+ // - `driver.notifier` (MCP-side): the `mcp__aitne-browser__ask_user`
631
+ // and `mcp__aitne-browser__finish` tool handlers DM through this
632
+ // notifier so agent-authored prose lands on the originating channel.
633
+ //
634
+ // Both round-trip via `parseChannelRef` for the §14.8 attestation —
635
+ // unparseable refs log + skip rather than fan out to all primary
636
+ // channels (the originating value was already attestation-validated
637
+ // at task-creation time).
638
+ const { createBrowserTaskRunner, createSlotStateRef } = await import("../services/browser-task/browser-task-runner.js");
639
+ // BROWSER_TASK_REDESIGN_PLAN.md §9a.5 Shape B — the same emitter
640
+ // instance threads through runner + driver + tools so a single
641
+ // `browser_task` SSE event fans out on every state transition.
642
+ const { createBrowserTaskTransitionEmitter: createBrowserTaskTransitionEmitterAtBoot } = await import("../services/browser-task/browser-task-transition-events.js");
643
+ const browserTaskTransitionEmitter = createBrowserTaskTransitionEmitterAtBoot(eventBroadcaster);
644
+ const { parseChannelRef: parseBrowserTaskChannelRef } = await import("../db/browser-automation-purchase-primary-channels-store.js");
645
+ const { createHostProfile: createBrowserTaskHostProfile } = await import("../services/browser-history/lifecycle/platform.js");
646
+ const { createBrowserTaskMcpNotifier } = await import("../messaging/browser-task-mcp-notifier.js");
647
+ const browserTaskSlotStateRef = createSlotStateRef(config.browserTaskMaxConcurrent);
648
+ const browserTaskMcpNotifier = createBrowserTaskMcpNotifier({
649
+ messageHub,
650
+ paDataDir: config.dataDir,
651
+ ingestOutboundImage: ingestBrowserTaskScreenshot,
652
+ });
653
+ const browserTaskHostProfile = createBrowserTaskHostProfile();
654
+ // Hoisted out of the `createBrowserTaskRunner({ notifier: ... })` arg
655
+ // so the same instance can also wire into the dispatcher's
656
+ // `scheduled.browser_task` fire-time-failure path (see
657
+ // BROWSER_TASK_REDESIGN_PLAN.md §7). One DM-emission contract covers
658
+ // both the runner's own non-completed terminals and the pre-runner
659
+ // dispatch failures (`site_unregistered`, `allowlist_rejected`,
660
+ // `runner_unavailable`) that the runner never sees.
661
+ const browserTaskTerminalNotifier = {
662
+ async notifyQueued(input) {
663
+ const ref = input.originatingChannel;
664
+ if (!ref)
665
+ return;
666
+ const parsed = parseBrowserTaskChannelRef(ref);
667
+ if (!parsed) {
668
+ logger.warn({ taskId: input.taskId, ref }, "browser-task notifyQueued: unparseable channel ref — skipping DM");
669
+ return;
670
+ }
671
+ try {
672
+ await messageHub.sendToPlatform(parsed.platform, parsed.channelId, `🕒 Browser task ${input.taskId} is queued behind ${input.blockedCount} task(s). Aitne will start it once the slot opens.`);
673
+ }
674
+ catch (err) {
675
+ logger.warn({ err, taskId: input.taskId, ref }, "browser-task queue DM dispatch failed (continuing)");
676
+ }
677
+ },
678
+ async notifyTerminal(input) {
679
+ // §5 "Reporting": on the success path the sub-agent's own
680
+ // `finish({ report, screenshotKeys })` tool fans the
681
+ // user-facing DM via the driver-side MCP notifier above. The
682
+ // structural notifier here is the FALLBACK signal — it covers
683
+ // every non-completed terminal (failures, timeouts,
684
+ // cancellations, abandons) where the agent never reached
685
+ // `finish` and the user would otherwise be left waiting.
686
+ if (input.state === "completed")
687
+ return;
688
+ const ref = input.originatingChannel;
689
+ if (!ref)
690
+ return;
691
+ const parsed = parseBrowserTaskChannelRef(ref);
692
+ if (!parsed) {
693
+ logger.warn({ taskId: input.taskId, ref }, "browser-task notifyTerminal: unparseable channel ref — skipping DM");
694
+ return;
695
+ }
696
+ const detail = input.outcomeDetail ?? input.state;
697
+ try {
698
+ await messageHub.sendToPlatform(parsed.platform, parsed.channelId, `🟦 Browser task ${input.taskId} ended: ${input.state} (${detail}).`);
699
+ }
700
+ catch (err) {
701
+ logger.warn({ err, taskId: input.taskId, ref }, "browser-task terminal DM dispatch failed (continuing)");
702
+ }
703
+ },
704
+ };
705
+ const { compileUserHostnameDenylist } = await import("../services/browser-history/automation/egress-denylist.js");
706
+ const browserTaskRunner = createBrowserTaskRunner({
707
+ db,
708
+ slotStateRef: browserTaskSlotStateRef,
709
+ notifier: browserTaskTerminalNotifier,
710
+ transitionEmitter: browserTaskTransitionEmitter,
711
+ driver: {
712
+ db,
713
+ paDataDir: config.dataDir,
714
+ workspaceDir: config.workspaceDir,
715
+ hostProfile: browserTaskHostProfile,
716
+ finalConfirmHandler,
717
+ notifier: browserTaskMcpNotifier,
718
+ transitionEmitter: browserTaskTransitionEmitter,
719
+ // User-curated hostname denylist for the browser-task CDP route
720
+ // handler + §14.7 screenshot retention check. Passed as a thunk
721
+ // (not a precompiled array) so a Dashboard PATCH /api/config —
722
+ // which mutates `config.browserTaskHostnameDenylist` in place via
723
+ // `applyConfigUpdates` — takes effect on the **next** task without
724
+ // a daemon restart. Recompilation per task is cheap (max 500
725
+ // entries × tiny regex).
726
+ getHostnameDenylist: () => compileUserHostnameDenylist(config.browserTaskHostnameDenylist ?? []),
727
+ },
728
+ });
729
+ // BROWSER_TASK_REDESIGN_PLAN.md §6.2 + §7 — Phase 3 wiring. The
730
+ // dispatcher's `scheduled.browser_task` branch reaches the runner
731
+ // through this setter. Wired right after the factory call so a
732
+ // fire-time event that races startup still finds the runner instead
733
+ // of falling through to `runner_unavailable`.
734
+ dispatcher.setBrowserTaskRunner(browserTaskRunner);
735
+ // BROWSER_TASK_REDESIGN_PLAN.md §7 — wire the same DM emitter the
736
+ // runner uses into the dispatcher so fire-time failures
737
+ // (`site_unregistered`, `allowlist_rejected`, `runner_unavailable`)
738
+ // that never reach the runner still notify the owner. Without this
739
+ // a user-scheduled task can silently fail at fire time hours/days
740
+ // after the user issued it.
741
+ dispatcher.setBrowserTaskTerminalNotifier(browserTaskTerminalNotifier);
742
+ // ── Browser-task deadline scanner tick ────────────────────────────────
743
+ // BROWSER_TASK_REDESIGN_PLAN.md §5 ask_user "Deadline enforcement" +
744
+ // §5.1 pending-queue timeout safety valve. Single 30 s tick handles
745
+ // both sweeps so the daemon has one mental model for time-based
746
+ // browser-task housekeeping (cadence preserved from the retired B-3
747
+ // approval-tokens supervisor; see browser-task-deadline-scanner.ts).
748
+ // The tick:
749
+ // 1. lists overdue clarifications (resolved=0 AND deadline_at < now)
750
+ // 2. asks the slot manager to sweep pending-queue timeouts
751
+ // 3. folds the two lists via `decideDeadlineActions`
752
+ // 4. for each action, writes the terminal transition + releases the
753
+ // slot (clarifications also expire the clarification row so the
754
+ // `awaiting_user → abandoned` edge is recorded)
755
+ // 5. DMs the originating channel once per affected task
756
+ //
757
+ // The tick is best-effort: it logs and continues on per-row failures
758
+ // so a single bad row cannot wedge the timer. Cleared during graceful
759
+ // shutdown alongside the keepalive timer (see
760
+ // BootstrapEventPipelineResult.browserTaskDeadlineTimer).
761
+ //
762
+ // Phase 2 — both branches delegate to `browserTaskRunner.expireForDeadline`
763
+ // so a parked Playwright handle gets `releaseDriverHandle`'d alongside
764
+ // the terminal DB write (clarification-deadline path) and the SSE +
765
+ // slot-manager fan-out stays consistent with the runner's own
766
+ // terminal-write paths. The runner method is idempotent on
767
+ // already-terminal rows, so a concurrent /cancel race is safe.
768
+ const browserTaskDeadlineTimer = await (async () => {
769
+ const { decideDeadlineActions, DEADLINE_SCAN_INTERVAL_MS, } = await import("../services/browser-task/browser-task-deadline-scanner.js");
770
+ const { sweepPendingTimeouts } = await import("../services/browser-task/browser-task-slots.js");
771
+ const { listOverdueClarifications, expireClarification, } = await import("../db/browser-task-clarifications-store.js");
772
+ // `parseBrowserTaskChannelRef` is the same `parseChannelRef` hoisted
773
+ // above for the runner notifier; reuse it so the deadline tick and
774
+ // the runner share one channel-parse contract.
775
+ async function tick() {
776
+ try {
777
+ const now = Date.now();
778
+ const overdue = listOverdueClarifications(db, now);
779
+ const sweep = sweepPendingTimeouts(browserTaskSlotStateRef.state, now, config.browserTaskPendingQueueTimeoutMinutes);
780
+ // Apply the pending-queue removals to the shared slot ref so a
781
+ // subsequent route-layer queueState read does not still see
782
+ // expired entries.
783
+ browserTaskSlotStateRef.state = sweep.state;
784
+ const actions = decideDeadlineActions({
785
+ overdueClarifications: overdue,
786
+ expiredPending: sweep.expired,
787
+ nowMs: now,
788
+ });
789
+ if (actions.length === 0)
790
+ return;
791
+ for (const action of actions) {
792
+ try {
793
+ if (action.kind === "abandon_clarification") {
794
+ // Mark the clarification row expired first so the
795
+ // dashboard's clarification list reflects the deadline
796
+ // miss even if `expireForDeadline` hits a CAS race below.
797
+ expireClarification(db, action.clarificationId, action.nowMs);
798
+ // Delegate the parent-task transition to the runner so
799
+ // the parked Playwright handle is released alongside the
800
+ // terminal DB write — without this, every overdue
801
+ // clarification leaks a Chromium process + workdir.
802
+ // `expireForDeadline` is idempotent on already-terminal
803
+ // rows, so a concurrent cancel-race is safe.
804
+ const result = await browserTaskRunner.expireForDeadline(action.taskId, "clarification_deadline");
805
+ if (result.state === "abandoned") {
806
+ const row = (await import("../db/browser-task-store.js"))
807
+ .getBrowserTask(db, action.taskId);
808
+ await sendDeadlineDm(row?.originatingChannel ?? null, `⏰ Browser task ${action.taskId}: the 5-minute clarification window elapsed without a reply. Task abandoned.`);
809
+ }
810
+ }
811
+ else {
812
+ // Queue-timeout — the pending row never acquired a slot,
813
+ // so no Playwright handle exists to release. Still route
814
+ // through the runner so the slot-manager / DB / SSE
815
+ // emission stay coordinated; `expireForDeadline` flips
816
+ // the row to `failed (queue_timeout)` and is a no-op on
817
+ // the slot manager (the pending FIFO entry was already
818
+ // removed by `sweepPendingTimeouts` above).
819
+ const result = await browserTaskRunner.expireForDeadline(action.taskId, "queue_timeout", action.waitedMs);
820
+ const terminal = result.state === "failed"
821
+ ? (await import("../db/browser-task-store.js"))
822
+ .getBrowserTask(db, action.taskId)
823
+ : null;
824
+ if (terminal) {
825
+ // BROWSER_TASK_REDESIGN_PLAN.md §5.1 + §13 — the
826
+ // pending-queue timeout transition is the one slot-
827
+ // manager telemetry row the plan's test list pins
828
+ // explicitly ("emits agent_actions.queue.timeout + DM
829
+ // intent"). The DM intent is the sendDeadlineDm below;
830
+ // this writes the paired audit row so the operator can
831
+ // diagnose saturation episodes without dumping the
832
+ // in-memory slot map. The remaining queue.* events
833
+ // (enter / promote / release) power the dashboard
834
+ // "queue health" surface flagged as §9a future work and
835
+ // are deferred with the rest of that surface.
836
+ try {
837
+ db.prepare(`INSERT INTO agent_actions
838
+ (action_type, detail, result, started_at, completed_at)
839
+ VALUES (?, ?, 'success', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)`).run("browser_task.queue.timeout", JSON.stringify({
840
+ taskId: action.taskId,
841
+ siteKey: action.siteKey,
842
+ waitedMs: action.waitedMs,
843
+ }));
844
+ }
845
+ catch (err) {
846
+ /* c8 ignore next 5 */
847
+ logger.warn({ err, taskId: action.taskId }, "browser-task queue.timeout audit insert failed (continuing)");
848
+ }
849
+ await sendDeadlineDm(terminal.originatingChannel, `⏰ Browser task ${action.taskId}: queued for ${Math.round(action.waitedMs / 60000)} min behind a parked task and exceeded the pending-queue timeout. Task failed.`);
850
+ }
851
+ }
852
+ }
853
+ catch (err) {
854
+ logger.warn({ err, action }, "browser-task deadline action failed (continuing)");
855
+ }
856
+ }
857
+ }
858
+ catch (err) {
859
+ logger.warn({ err }, "browser-task deadline tick failed (continuing)");
860
+ }
861
+ }
862
+ async function sendDeadlineDm(ref, text) {
863
+ if (!ref)
864
+ return;
865
+ const parsed = parseBrowserTaskChannelRef(ref);
866
+ if (!parsed) {
867
+ // Persisted via the §14.8-attested channel set, so an
868
+ // unparseable value here means a value drifted past the
869
+ // attestation — flag visibly even though we cannot deliver.
870
+ logger.warn({ ref }, "browser-task deadline DM: unparseable channel ref — skipping");
871
+ return;
872
+ }
873
+ try {
874
+ await messageHub.sendToPlatform(parsed.platform, parsed.channelId, text);
875
+ }
876
+ catch (err) {
877
+ logger.warn({ err, ref }, "browser-task deadline DM dispatch failed (continuing)");
878
+ }
879
+ }
880
+ const timer = setInterval(() => {
881
+ void tick();
882
+ }, DEADLINE_SCAN_INTERVAL_MS);
883
+ // Allow the daemon to exit cleanly if every other timer has unrefed;
884
+ // a 30 s tick is housekeeping, not load-bearing for liveness.
885
+ if (typeof timer.unref === "function")
886
+ timer.unref();
887
+ return timer;
888
+ })();
889
+ // ── Browser-task boot-recovery DM fan-out ─────────────────────────────
890
+ // BROWSER_TASK_REDESIGN_PLAN.md §6.5 — `initDatabase` flipped every
891
+ // non-terminal `browser_task` row to `failed (daemon_restarted)` and
892
+ // wrote `agent_actions(action_type='browser_task.boot_recovery')` rows
893
+ // (deferred DM dispatch because the messaging adapters were still
894
+ // constructing). Now that `messageHub` exists, scan the audit log for
895
+ // un-DM'd recovery rows and fan them out once. A per-row marker on
896
+ // `agent_actions.metadata` ensures a second boot cannot double-DM.
897
+ //
898
+ // Best-effort: failures log but do not abort startup. The audit log
899
+ // remains the source of truth — an operator can re-fan by running the
900
+ // same SQL manually if all DMs fail.
901
+ void (async () => {
902
+ try {
903
+ const rows = db
904
+ .prepare(`SELECT id, detail FROM agent_actions
905
+ WHERE action_type = 'browser_task.boot_recovery'
906
+ AND (metadata IS NULL
907
+ OR json_extract(metadata, '$.dmSentAt') IS NULL)
908
+ ORDER BY id ASC`)
909
+ .all();
910
+ if (rows.length === 0)
911
+ return;
912
+ const markDmSent = db.prepare(`UPDATE agent_actions
913
+ SET metadata = json_set(COALESCE(metadata, '{}'), '$.dmSentAt', ?)
914
+ WHERE id = ?`);
915
+ for (const row of rows) {
916
+ try {
917
+ const detail = JSON.parse(row.detail);
918
+ const taskId = detail.taskId ?? "<unknown>";
919
+ const ref = detail.originatingChannel;
920
+ if (ref) {
921
+ const parsed = parseBrowserTaskChannelRef(ref);
922
+ if (parsed) {
923
+ await messageHub.sendToPlatform(parsed.platform, parsed.channelId, `♻️ Browser task ${taskId} was running when the daemon restarted and could not resume. The task is marked failed; re-issue the request if you still want it run.`);
924
+ }
925
+ else {
926
+ logger.warn({ taskId, ref }, "browser-task boot-recovery DM: unparseable channel ref — skipping");
927
+ }
928
+ }
929
+ markDmSent.run(new Date().toISOString(), row.id);
930
+ }
931
+ catch (err) {
932
+ logger.warn({ err, auditId: row.id }, "browser-task boot-recovery DM failed (continuing; row stays unmarked for next-boot retry)");
933
+ }
934
+ }
935
+ logger.info({ count: rows.length }, "browser-task boot-recovery: fanned DMs for restarted tasks");
936
+ }
937
+ catch (err) {
938
+ logger.warn({ err }, "browser-task boot-recovery DM fan-out failed (continuing)");
939
+ }
940
+ })();
941
+ // P22 — wire the optimizer-workdir hooks. The `materialize` callback
942
+ // captures db, dataDir, workspaceDir, contextDir, and secretStore so
943
+ // the dispatcher branch can invoke it without importing the workdir
944
+ // module directly.
945
+ {
946
+ const { materializeOptimizerWorkdir, teardownOptimizerWorkdir } = await import("../core/skill-curation/workdir.js");
947
+ dispatcher.setSkillCurationHooks({
948
+ materialize: (opts) => materializeOptimizerWorkdir({
949
+ db,
950
+ dataDir: config.dataDir,
951
+ workspaceDir: config.workspaceDir,
952
+ contextDir: getContextDir(config),
953
+ secretStore: secretBroker,
954
+ cadence: readSkillCurationCadence(db),
955
+ ...(opts?.manual ? { manual: true } : {}),
956
+ ...(opts?.targetSkillsOverride
957
+ ? { targetSkillsOverride: opts.targetSkillsOverride }
958
+ : {}),
959
+ }),
960
+ teardown: teardownOptimizerWorkdir,
961
+ });
962
+ }
963
+ if (isUserPaused(db)) {
964
+ logger.info("Restored user-paused state, autonomous work remains paused");
965
+ }
966
+ // ── Cross-stage closures ──────────────────────────────────────────────
967
+ const handleGoogleServicesReady = createGoogleServicesReadyHandler({
968
+ db,
969
+ config,
970
+ services,
971
+ observerManager,
972
+ buildCalendarPoller,
973
+ scheduler,
974
+ dispatcher,
975
+ });
976
+ const handleSecretChange = createSecretChangeHandler({
977
+ db,
978
+ config,
979
+ services,
980
+ observerManager,
981
+ secretState,
982
+ buildNotionPoller,
983
+ getGitWatcher,
984
+ isStartupComplete,
985
+ reloadSlackAdapter,
986
+ reloadTelegramAdapter,
987
+ reloadDiscordAdapter,
988
+ reloadNotionService,
989
+ reloadGitHubService,
990
+ reloadGoogleServices,
991
+ reloadAppleCalendarService,
992
+ });
993
+ const handlePromptContextChanged = createPromptContextChangedHandler({
994
+ config,
995
+ db,
996
+ dispatcher,
997
+ sessionManager,
998
+ });
999
+ return {
1000
+ dispatcher,
1001
+ sessionManager,
1002
+ messageRecorder,
1003
+ notificationManager,
1004
+ signalDetector,
1005
+ eventBroadcaster,
1006
+ auditLogger,
1007
+ docsQAAdapter,
1008
+ agentBackends: [agentCore, codexCore, geminiCore, opencodeCore],
1009
+ opencodeServerManager,
1010
+ delegatedBackendInvoker,
1011
+ authHealthMonitor,
1012
+ authRecovery,
1013
+ authTelemetry,
1014
+ readTokenManager,
1015
+ migrationLock,
1016
+ contextWriteGate,
1017
+ buildDelegatedSyncWorker,
1018
+ getDelegatedSyncWorker: () => delegatedSyncWorker,
1019
+ rematerializeActiveDmWorkdirs,
1020
+ handleSecretChange,
1021
+ handleGoogleServicesReady,
1022
+ handlePromptContextChanged,
1023
+ keepaliveTimer,
1024
+ browserTaskDeadlineTimer,
1025
+ browserTaskSlotStateRef,
1026
+ browserTaskRunner,
1027
+ };
1028
+ }
1029
+ /**
1030
+ * Build the `handleSecretChange(scope)` closure consumed by the API
1031
+ * surface's `onSecretChanged` hook. Exported so the peer test can pin
1032
+ * the scope-routing matrix without booting a real dispatcher.
1033
+ *
1034
+ * The matrix MUST stay in sync with `docs/design/appendices/
1035
+ * index-bootstrap-stage-split.md` §10 (test bullet 1):
1036
+ *
1037
+ * scope → reload + hot-register branches
1038
+ * "slack" → reloadSlackAdapter(force=true)
1039
+ * "telegram" → reloadTelegramAdapter(force=true)
1040
+ * "discord" → reloadDiscordAdapter(force=true)
1041
+ * "notion" → reloadNotionService; then if services.notion
1042
+ * && !observerManager.has("notion-poller")
1043
+ * && notionDatabaseIds.length > 0
1044
+ * && shouldStartObserversFor(db, "notion")
1045
+ * → register + start a freshly-built poller
1046
+ * "github" → reloadGitHubService; then if getGitWatcher()
1047
+ * && secretState.githubWebhookConfigured
1048
+ * → enableWebhookMode on the existing watcher
1049
+ * "google" → reloadGoogleServices
1050
+ * "apple_calendar" → reloadAppleCalendarService
1051
+ * "apiToken" → no-op (a token rotation only affects future
1052
+ * request authentication; nothing here is keyed on it)
1053
+ * default → no-op (unknown scope is silently ignored to keep
1054
+ * forward-compat with new secret kinds)
1055
+ */
1056
+ export function createSecretChangeHandler(deps) {
1057
+ const { db, config, services, observerManager, secretState, buildNotionPoller, getGitWatcher, isStartupComplete, reloadSlackAdapter, reloadTelegramAdapter, reloadDiscordAdapter, reloadNotionService, reloadGitHubService, reloadGoogleServices, reloadAppleCalendarService, } = deps;
1058
+ return async (scope) => {
1059
+ switch (scope) {
1060
+ case "slack":
1061
+ await reloadSlackAdapter(true);
1062
+ return;
1063
+ case "telegram":
1064
+ await reloadTelegramAdapter(true);
1065
+ return;
1066
+ case "discord":
1067
+ await reloadDiscordAdapter(true);
1068
+ return;
1069
+ case "notion":
1070
+ await reloadNotionService();
1071
+ // Hot-reload: if the user just added the Notion API key while the
1072
+ // integration is already in `direct` mode, register the poller now
1073
+ // so they don't have to restart the daemon. Mirrors the
1074
+ // `handleGoogleServicesReady` calendar-side path. Idempotent via
1075
+ // `observerManager.has()`.
1076
+ //
1077
+ // The explicit `poller.start()` only fires AFTER startup has
1078
+ // completed. During the bootstrap window (API listener live, but
1079
+ // `observerManager.startAll()` not yet called) we register the
1080
+ // poller and let the pending `startAll()` start it — calling
1081
+ // `start()` here AND letting `startAll()` start it again would
1082
+ // overwrite NotionPoller's `setInterval` slot and leak the first
1083
+ // timer (`notion-poller.ts:91` unconditionally writes `this.timer`).
1084
+ if (services.notion
1085
+ && !observerManager.has("notion-poller")
1086
+ && Object.keys(config.notionDatabaseIds).length > 0
1087
+ && shouldStartObserversFor(db, "notion")) {
1088
+ const poller = buildNotionPoller();
1089
+ if (poller) {
1090
+ observerManager.register(poller);
1091
+ if (isStartupComplete()) {
1092
+ void poller.start();
1093
+ logger.info("NotionPoller started via hot-reload");
1094
+ }
1095
+ else {
1096
+ logger.info("NotionPoller registered during bootstrap; observerManager.startAll() will start it");
1097
+ }
1098
+ }
1099
+ }
1100
+ return;
1101
+ case "github":
1102
+ await reloadGitHubService();
1103
+ {
1104
+ const existingGitWatcher = getGitWatcher();
1105
+ if (existingGitWatcher && secretState.githubWebhookConfigured) {
1106
+ existingGitWatcher.enableWebhookMode();
1107
+ }
1108
+ }
1109
+ return;
1110
+ case "google":
1111
+ await reloadGoogleServices();
1112
+ return;
1113
+ case "apple_calendar":
1114
+ await reloadAppleCalendarService();
1115
+ return;
1116
+ case "apiToken":
1117
+ default:
1118
+ return;
1119
+ }
1120
+ };
1121
+ }
1122
+ /**
1123
+ * Build the `handleGoogleServicesReady` closure consumed when an OAuth
1124
+ * round-trip leaves a fresh Google credential in the keychain mid-runtime.
1125
+ * Exported so the peer test can pin the morning-routine / roadmap-refresh
1126
+ * matrix without booting a real dispatcher.
1127
+ *
1128
+ * Branches (per design doc §10 test bullets 2 + 3):
1129
+ * - services.calendar set AND google_calendar in `direct` AND no
1130
+ * calendar observer registered yet → build + start a poller.
1131
+ * - today.md stale → `scheduler.queueMorningRoutineWake("google_auth_ready")`
1132
+ * and SKIP the standalone roadmap refresh (the morning routine's
1133
+ * post-completion hook handles roadmap).
1134
+ * - today.md fresh AND roadmap stale → `dispatcher.emitRoadmapRefresh
1135
+ * ("google_auth_ready")`.
1136
+ */
1137
+ export function createGoogleServicesReadyHandler(deps) {
1138
+ const { db, config, services, observerManager, buildCalendarPoller, scheduler, dispatcher, } = deps;
1139
+ return () => {
1140
+ if (services.calendar
1141
+ && !observerManager.has("calendar")
1142
+ && shouldStartObserversFor(db, "google_calendar")) {
1143
+ const poller = buildCalendarPoller();
1144
+ if (poller) {
1145
+ observerManager.register(poller);
1146
+ void poller.start();
1147
+ logger.info("CalendarPoller started via hot-reload");
1148
+ }
1149
+ }
1150
+ // Trigger morning_routine catchup if today.md is stale or missing
1151
+ // (same logic as runCatchup, ensures schedule generation after first
1152
+ // auth).
1153
+ const contextDir = getContextDir(config);
1154
+ const todayMdPath = join(contextDir, "state", "today.md");
1155
+ const needsMorning = !hasFreshAgentDayTodayMd(todayMdPath, config.timezone || undefined, config.dayBoundaryHour);
1156
+ if (needsMorning) {
1157
+ // Morning routine's post-completion hook will also check roadmap staleness.
1158
+ logger.info("Google services ready — today.md stale, queueing morning_routine wake");
1159
+ scheduler.queueMorningRoutineWake("google_auth_ready");
1160
+ return;
1161
+ }
1162
+ // Only refresh roadmap independently when today.md is already current.
1163
+ // If morning_routine is needed, its post-completion hook will handle
1164
+ // stale roadmap regeneration after the day context has been rebuilt.
1165
+ if (isRoadmapStale(contextDir)) {
1166
+ logger.info("Google services ready — roadmap stale, emitting roadmap_refresh");
1167
+ dispatcher.emitRoadmapRefresh("google_auth_ready");
1168
+ }
1169
+ };
1170
+ }
1171
+ /**
1172
+ * Build the `handlePromptContextChanged` callback consumed by the
1173
+ * context-index reconciler and by the API surface's
1174
+ * `onPromptContextChanged` hook. Exported for symmetry with the other
1175
+ * cross-stage closures; the staleness decision logic itself lives in
1176
+ * `core/context-staleness.ts` (and is unit-tested there).
1177
+ */
1178
+ export function createPromptContextChangedHandler(deps) {
1179
+ const { config, db, dispatcher, sessionManager } = deps;
1180
+ return (path, reason, tier, metadata) => {
1181
+ const setupMode = dispatcher.getCurrentSetupMode();
1182
+ const decision = applyPromptContextStaleness({ path, reason, tier, metadata }, {
1183
+ dmStalenessStrict: config.dmStalenessStrict,
1184
+ setupInProgress: setupMode !== null,
1185
+ markContextChanged: () => markContextChanged(db),
1186
+ markActiveDmSessionsStale: (staleReason) => sessionManager.markActiveDmSessionsStale(staleReason),
1187
+ });
1188
+ logger.debug({
1189
+ path,
1190
+ reason,
1191
+ tier_decided: decision.effectiveTier,
1192
+ tier_requested: decision.requestedTier,
1193
+ tier_reason: metadata?.tierReason,
1194
+ dmStalenessStrict: config.dmStalenessStrict,
1195
+ mode: setupMode,
1196
+ invalidatesDmSessions: decision.invalidatesDmSessions,
1197
+ skippedForSetup: decision.skippedForSetup,
1198
+ }, "Prompt context staleness classified");
1199
+ if (decision.skippedForSetup) {
1200
+ logger.info({ path, reason, mode: setupMode }, "Skipping DM session stale flag - setup in progress");
1201
+ }
1202
+ };
1203
+ }