@aitne/daemon 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (963) hide show
  1. package/dist/adapters/dashboard-adapter.d.ts +18 -2
  2. package/dist/adapters/dashboard-adapter.d.ts.map +1 -1
  3. package/dist/adapters/dashboard-adapter.js +101 -51
  4. package/dist/adapters/dashboard-adapter.js.map +1 -1
  5. package/dist/adapters/discord.d.ts +8 -0
  6. package/dist/adapters/discord.d.ts.map +1 -1
  7. package/dist/adapters/discord.js +100 -21
  8. package/dist/adapters/discord.js.map +1 -1
  9. package/dist/adapters/message-hub.d.ts.map +1 -1
  10. package/dist/adapters/message-hub.js +7 -1
  11. package/dist/adapters/message-hub.js.map +1 -1
  12. package/dist/adapters/notification-manager.d.ts +102 -2
  13. package/dist/adapters/notification-manager.d.ts.map +1 -1
  14. package/dist/adapters/notification-manager.js +228 -8
  15. package/dist/adapters/notification-manager.js.map +1 -1
  16. package/dist/adapters/outbound-text.d.ts +16 -0
  17. package/dist/adapters/outbound-text.d.ts.map +1 -1
  18. package/dist/adapters/outbound-text.js +118 -1
  19. package/dist/adapters/outbound-text.js.map +1 -1
  20. package/dist/adapters/primary-platform-resolver.d.ts +69 -0
  21. package/dist/adapters/primary-platform-resolver.d.ts.map +1 -0
  22. package/dist/adapters/primary-platform-resolver.js +55 -0
  23. package/dist/adapters/primary-platform-resolver.js.map +1 -0
  24. package/dist/adapters/slack-adapter.d.ts +28 -0
  25. package/dist/adapters/slack-adapter.d.ts.map +1 -1
  26. package/dist/adapters/slack-adapter.js +134 -35
  27. package/dist/adapters/slack-adapter.js.map +1 -1
  28. package/dist/adapters/telegram-adapter.d.ts +7 -1
  29. package/dist/adapters/telegram-adapter.d.ts.map +1 -1
  30. package/dist/adapters/telegram-adapter.js +49 -18
  31. package/dist/adapters/telegram-adapter.js.map +1 -1
  32. package/dist/adapters/whatsapp-adapter.d.ts +33 -0
  33. package/dist/adapters/whatsapp-adapter.d.ts.map +1 -1
  34. package/dist/adapters/whatsapp-adapter.js +84 -0
  35. package/dist/adapters/whatsapp-adapter.js.map +1 -1
  36. package/dist/api/directory-picker.d.ts.map +1 -1
  37. package/dist/api/directory-picker.js +14 -0
  38. package/dist/api/directory-picker.js.map +1 -1
  39. package/dist/api/env-writer.d.ts.map +1 -1
  40. package/dist/api/env-writer.js +6 -1
  41. package/dist/api/env-writer.js.map +1 -1
  42. package/dist/api/helpers/agent-errors.d.ts +2600 -0
  43. package/dist/api/helpers/agent-errors.d.ts.map +1 -0
  44. package/dist/api/helpers/agent-errors.js +2506 -0
  45. package/dist/api/helpers/agent-errors.js.map +1 -0
  46. package/dist/api/integration-route-gate.d.ts.map +1 -1
  47. package/dist/api/integration-route-gate.js +10 -3
  48. package/dist/api/integration-route-gate.js.map +1 -1
  49. package/dist/api/routes/agent-schedule-plan-match.d.ts +5 -0
  50. package/dist/api/routes/agent-schedule-plan-match.d.ts.map +1 -0
  51. package/dist/api/routes/agent-schedule-plan-match.js +101 -0
  52. package/dist/api/routes/agent-schedule-plan-match.js.map +1 -0
  53. package/dist/api/routes/agent-schedule.d.ts +4 -0
  54. package/dist/api/routes/agent-schedule.d.ts.map +1 -0
  55. package/dist/api/routes/agent-schedule.js +750 -0
  56. package/dist/api/routes/agent-schedule.js.map +1 -0
  57. package/dist/api/routes/agent.d.ts.map +1 -1
  58. package/dist/api/routes/agent.js +209 -366
  59. package/dist/api/routes/agent.js.map +1 -1
  60. package/dist/api/routes/apple-calendar.d.ts.map +1 -1
  61. package/dist/api/routes/apple-calendar.js +109 -27
  62. package/dist/api/routes/apple-calendar.js.map +1 -1
  63. package/dist/api/routes/attachments.d.ts.map +1 -1
  64. package/dist/api/routes/attachments.js +113 -21
  65. package/dist/api/routes/attachments.js.map +1 -1
  66. package/dist/api/routes/backends.d.ts.map +1 -1
  67. package/dist/api/routes/backends.js +100 -4
  68. package/dist/api/routes/backends.js.map +1 -1
  69. package/dist/api/routes/books.d.ts.map +1 -1
  70. package/dist/api/routes/books.js +58 -18
  71. package/dist/api/routes/books.js.map +1 -1
  72. package/dist/api/routes/calendar.d.ts +3 -2
  73. package/dist/api/routes/calendar.d.ts.map +1 -1
  74. package/dist/api/routes/calendar.js +330 -55
  75. package/dist/api/routes/calendar.js.map +1 -1
  76. package/dist/api/routes/commands.d.ts.map +1 -1
  77. package/dist/api/routes/commands.js +20 -1
  78. package/dist/api/routes/commands.js.map +1 -1
  79. package/dist/api/routes/context/index.d.ts +33 -0
  80. package/dist/api/routes/context/index.d.ts.map +1 -0
  81. package/dist/api/routes/context/index.js +193 -0
  82. package/dist/api/routes/context/index.js.map +1 -0
  83. package/dist/api/routes/context/locks.d.ts +4 -0
  84. package/dist/api/routes/context/locks.d.ts.map +1 -0
  85. package/dist/api/routes/context/locks.js +136 -0
  86. package/dist/api/routes/context/locks.js.map +1 -0
  87. package/dist/api/routes/context/path-resolve.d.ts +15 -0
  88. package/dist/api/routes/context/path-resolve.d.ts.map +1 -0
  89. package/dist/api/routes/context/path-resolve.js +109 -0
  90. package/dist/api/routes/context/path-resolve.js.map +1 -0
  91. package/dist/api/routes/context/permissions.d.ts +35 -0
  92. package/dist/api/routes/context/permissions.d.ts.map +1 -0
  93. package/dist/api/routes/context/permissions.js +192 -0
  94. package/dist/api/routes/context/permissions.js.map +1 -0
  95. package/dist/api/routes/context/read.d.ts +4 -0
  96. package/dist/api/routes/context/read.d.ts.map +1 -0
  97. package/dist/api/routes/context/read.js +295 -0
  98. package/dist/api/routes/context/read.js.map +1 -0
  99. package/dist/api/routes/context/repair.d.ts +4 -0
  100. package/dist/api/routes/context/repair.d.ts.map +1 -0
  101. package/dist/api/routes/context/repair.js +114 -0
  102. package/dist/api/routes/context/repair.js.map +1 -0
  103. package/dist/api/routes/context/snapshots.d.ts +4 -0
  104. package/dist/api/routes/context/snapshots.d.ts.map +1 -0
  105. package/dist/api/routes/context/snapshots.js +177 -0
  106. package/dist/api/routes/context/snapshots.js.map +1 -0
  107. package/dist/api/routes/context/write.d.ts +4 -0
  108. package/dist/api/routes/context/write.d.ts.map +1 -0
  109. package/dist/api/routes/context/write.js +570 -0
  110. package/dist/api/routes/context/write.js.map +1 -0
  111. package/dist/api/routes/context.d.ts +2 -43
  112. package/dist/api/routes/context.d.ts.map +1 -1
  113. package/dist/api/routes/context.js +415 -558
  114. package/dist/api/routes/context.js.map +1 -1
  115. package/dist/api/routes/dashboard/config.d.ts +4 -0
  116. package/dist/api/routes/dashboard/config.d.ts.map +1 -0
  117. package/dist/api/routes/dashboard/config.js +499 -0
  118. package/dist/api/routes/dashboard/config.js.map +1 -0
  119. package/dist/api/routes/dashboard/conversations.d.ts +4 -0
  120. package/dist/api/routes/dashboard/conversations.d.ts.map +1 -0
  121. package/dist/api/routes/dashboard/conversations.js +309 -0
  122. package/dist/api/routes/dashboard/conversations.js.map +1 -0
  123. package/dist/api/routes/dashboard/cost-approvals.d.ts +29 -0
  124. package/dist/api/routes/dashboard/cost-approvals.d.ts.map +1 -0
  125. package/dist/api/routes/dashboard/cost-approvals.js +259 -0
  126. package/dist/api/routes/dashboard/cost-approvals.js.map +1 -0
  127. package/dist/api/routes/dashboard/index.d.ts +27 -0
  128. package/dist/api/routes/dashboard/index.d.ts.map +1 -0
  129. package/dist/api/routes/dashboard/index.js +47 -0
  130. package/dist/api/routes/dashboard/index.js.map +1 -0
  131. package/dist/api/routes/dashboard/messaging.d.ts +4 -0
  132. package/dist/api/routes/dashboard/messaging.d.ts.map +1 -0
  133. package/dist/api/routes/dashboard/messaging.js +351 -0
  134. package/dist/api/routes/dashboard/messaging.js.map +1 -0
  135. package/dist/api/routes/dashboard/notifications.d.ts +4 -0
  136. package/dist/api/routes/dashboard/notifications.d.ts.map +1 -0
  137. package/dist/api/routes/dashboard/notifications.js +109 -0
  138. package/dist/api/routes/dashboard/notifications.js.map +1 -0
  139. package/dist/api/routes/dashboard/oauth-google.d.ts +4 -0
  140. package/dist/api/routes/dashboard/oauth-google.d.ts.map +1 -0
  141. package/dist/api/routes/dashboard/oauth-google.js +293 -0
  142. package/dist/api/routes/dashboard/oauth-google.js.map +1 -0
  143. package/dist/api/routes/dashboard/schedule-readonly.d.ts +4 -0
  144. package/dist/api/routes/dashboard/schedule-readonly.d.ts.map +1 -0
  145. package/dist/api/routes/dashboard/schedule-readonly.js +46 -0
  146. package/dist/api/routes/dashboard/schedule-readonly.js.map +1 -0
  147. package/dist/api/routes/dashboard/secrets.d.ts +24 -0
  148. package/dist/api/routes/dashboard/secrets.d.ts.map +1 -0
  149. package/dist/api/routes/dashboard/secrets.js +307 -0
  150. package/dist/api/routes/dashboard/secrets.js.map +1 -0
  151. package/dist/api/routes/dashboard/snapshots.d.ts +4 -0
  152. package/dist/api/routes/dashboard/snapshots.d.ts.map +1 -0
  153. package/dist/api/routes/dashboard/snapshots.js +33 -0
  154. package/dist/api/routes/dashboard/snapshots.js.map +1 -0
  155. package/dist/api/routes/dashboard.d.ts.map +1 -1
  156. package/dist/api/routes/dashboard.js +20 -12
  157. package/dist/api/routes/dashboard.js.map +1 -1
  158. package/dist/api/routes/delegated.d.ts +5 -4
  159. package/dist/api/routes/delegated.d.ts.map +1 -1
  160. package/dist/api/routes/delegated.js +6 -5
  161. package/dist/api/routes/delegated.js.map +1 -1
  162. package/dist/api/routes/docs.d.ts.map +1 -1
  163. package/dist/api/routes/docs.js +72 -9
  164. package/dist/api/routes/docs.js.map +1 -1
  165. package/dist/api/routes/entities.d.ts.map +1 -1
  166. package/dist/api/routes/entities.js +112 -43
  167. package/dist/api/routes/entities.js.map +1 -1
  168. package/dist/api/routes/fs.d.ts.map +1 -1
  169. package/dist/api/routes/fs.js +27 -12
  170. package/dist/api/routes/fs.js.map +1 -1
  171. package/dist/api/routes/git-templates.d.ts.map +1 -1
  172. package/dist/api/routes/git-templates.js +107 -27
  173. package/dist/api/routes/git-templates.js.map +1 -1
  174. package/dist/api/routes/git.d.ts.map +1 -1
  175. package/dist/api/routes/git.js +55 -11
  176. package/dist/api/routes/git.js.map +1 -1
  177. package/dist/api/routes/github.d.ts.map +1 -1
  178. package/dist/api/routes/github.js +110 -17
  179. package/dist/api/routes/github.js.map +1 -1
  180. package/dist/api/routes/integrations/crud-patch.d.ts +17 -0
  181. package/dist/api/routes/integrations/crud-patch.d.ts.map +1 -0
  182. package/dist/api/routes/integrations/crud-patch.js +600 -0
  183. package/dist/api/routes/integrations/crud-patch.js.map +1 -0
  184. package/dist/api/routes/integrations/crud.d.ts +16 -0
  185. package/dist/api/routes/integrations/crud.d.ts.map +1 -0
  186. package/dist/api/routes/integrations/crud.js +158 -0
  187. package/dist/api/routes/integrations/crud.js.map +1 -0
  188. package/dist/api/routes/integrations/exec.d.ts +23 -0
  189. package/dist/api/routes/integrations/exec.d.ts.map +1 -0
  190. package/dist/api/routes/integrations/exec.js +356 -0
  191. package/dist/api/routes/integrations/exec.js.map +1 -0
  192. package/dist/api/routes/integrations/index.d.ts +62 -0
  193. package/dist/api/routes/integrations/index.d.ts.map +1 -0
  194. package/dist/api/routes/integrations/index.js +70 -0
  195. package/dist/api/routes/integrations/index.js.map +1 -0
  196. package/dist/api/routes/integrations/integrations/crud.d.ts +16 -0
  197. package/dist/api/routes/integrations/integrations/crud.d.ts.map +1 -0
  198. package/dist/api/routes/integrations/integrations/crud.js +158 -0
  199. package/dist/api/routes/integrations/integrations/crud.js.map +1 -0
  200. package/dist/api/routes/integrations/integrations/index.d.ts +55 -0
  201. package/dist/api/routes/integrations/integrations/index.d.ts.map +1 -0
  202. package/dist/api/routes/integrations/integrations/index.js +65 -0
  203. package/dist/api/routes/integrations/integrations/index.js.map +1 -0
  204. package/dist/api/routes/integrations/integrations/invoke.d.ts +38 -0
  205. package/dist/api/routes/integrations/integrations/invoke.d.ts.map +1 -0
  206. package/dist/api/routes/integrations/integrations/invoke.js +320 -0
  207. package/dist/api/routes/integrations/integrations/invoke.js.map +1 -0
  208. package/dist/api/routes/integrations/integrations/probe.d.ts +21 -0
  209. package/dist/api/routes/integrations/integrations/probe.d.ts.map +1 -0
  210. package/dist/api/routes/integrations/integrations/probe.js +247 -0
  211. package/dist/api/routes/integrations/integrations/probe.js.map +1 -0
  212. package/dist/api/routes/integrations/invoke.d.ts +38 -0
  213. package/dist/api/routes/integrations/invoke.d.ts.map +1 -0
  214. package/dist/api/routes/integrations/invoke.js +320 -0
  215. package/dist/api/routes/integrations/invoke.js.map +1 -0
  216. package/dist/api/routes/integrations/probe.d.ts +21 -0
  217. package/dist/api/routes/integrations/probe.d.ts.map +1 -0
  218. package/dist/api/routes/integrations/probe.js +247 -0
  219. package/dist/api/routes/integrations/probe.js.map +1 -0
  220. package/dist/api/routes/integrations.d.ts.map +1 -1
  221. package/dist/api/routes/integrations.js +65 -13
  222. package/dist/api/routes/integrations.js.map +1 -1
  223. package/dist/api/routes/knowledge.d.ts.map +1 -1
  224. package/dist/api/routes/knowledge.js +13 -2
  225. package/dist/api/routes/knowledge.js.map +1 -1
  226. package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts +4 -0
  227. package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts.map +1 -0
  228. package/dist/api/routes/mail/_pa_wip_mail/app-password.js +192 -0
  229. package/dist/api/routes/mail/_pa_wip_mail/app-password.js.map +1 -0
  230. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts +55 -0
  231. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts.map +1 -0
  232. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js +91 -0
  233. package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js.map +1 -0
  234. package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts +36 -0
  235. package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts.map +1 -0
  236. package/dist/api/routes/mail/_pa_wip_mail/dependencies.js +2 -0
  237. package/dist/api/routes/mail/_pa_wip_mail/dependencies.js.map +1 -0
  238. package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts +45 -0
  239. package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts.map +1 -0
  240. package/dist/api/routes/mail/_pa_wip_mail/gating.js +98 -0
  241. package/dist/api/routes/mail/_pa_wip_mail/gating.js.map +1 -0
  242. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts +4 -0
  243. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts.map +1 -0
  244. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js +289 -0
  245. package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js.map +1 -0
  246. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts +4 -0
  247. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts.map +1 -0
  248. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js +192 -0
  249. package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js.map +1 -0
  250. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts +55 -0
  251. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts.map +1 -0
  252. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js +91 -0
  253. package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js.map +1 -0
  254. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts +36 -0
  255. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts.map +1 -0
  256. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js +2 -0
  257. package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js.map +1 -0
  258. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts +5 -0
  259. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts.map +1 -0
  260. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js +139 -0
  261. package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js.map +1 -0
  262. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts +45 -0
  263. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts.map +1 -0
  264. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js +98 -0
  265. package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js.map +1 -0
  266. package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts +18 -0
  267. package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts.map +1 -0
  268. package/dist/api/routes/mail/_pa_wip_mail/mail/index.js +40 -0
  269. package/dist/api/routes/mail/_pa_wip_mail/mail/index.js.map +1 -0
  270. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts +15 -0
  271. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts.map +1 -0
  272. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js +239 -0
  273. package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js.map +1 -0
  274. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts +4 -0
  275. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts.map +1 -0
  276. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js +73 -0
  277. package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js.map +1 -0
  278. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts +64 -0
  279. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts.map +1 -0
  280. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js +286 -0
  281. package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js.map +1 -0
  282. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts +4 -0
  283. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts.map +1 -0
  284. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js +73 -0
  285. package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js.map +1 -0
  286. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts +5 -0
  287. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts.map +1 -0
  288. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js +35 -0
  289. package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js.map +1 -0
  290. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts +23 -0
  291. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts.map +1 -0
  292. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js +131 -0
  293. package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js.map +1 -0
  294. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts +64 -0
  295. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts.map +1 -0
  296. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js +286 -0
  297. package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js.map +1 -0
  298. package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts +4 -0
  299. package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts.map +1 -0
  300. package/dist/api/routes/mail/_pa_wip_mail/search-health.js +131 -0
  301. package/dist/api/routes/mail/_pa_wip_mail/search-health.js.map +1 -0
  302. package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts +23 -0
  303. package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts.map +1 -0
  304. package/dist/api/routes/mail/_pa_wip_mail/validators.js +131 -0
  305. package/dist/api/routes/mail/_pa_wip_mail/validators.js.map +1 -0
  306. package/dist/api/routes/mail/accounts.d.ts +4 -0
  307. package/dist/api/routes/mail/accounts.d.ts.map +1 -0
  308. package/dist/api/routes/mail/accounts.js +289 -0
  309. package/dist/api/routes/mail/accounts.js.map +1 -0
  310. package/dist/api/routes/mail/app-password.d.ts +4 -0
  311. package/dist/api/routes/mail/app-password.d.ts.map +1 -0
  312. package/dist/api/routes/mail/app-password.js +192 -0
  313. package/dist/api/routes/mail/app-password.js.map +1 -0
  314. package/dist/api/routes/mail/body-helpers.d.ts +56 -0
  315. package/dist/api/routes/mail/body-helpers.d.ts.map +1 -0
  316. package/dist/api/routes/mail/body-helpers.js +91 -0
  317. package/dist/api/routes/mail/body-helpers.js.map +1 -0
  318. package/dist/api/routes/mail/dependencies.d.ts +36 -0
  319. package/dist/api/routes/mail/dependencies.d.ts.map +1 -0
  320. package/dist/api/routes/mail/dependencies.js +2 -0
  321. package/dist/api/routes/mail/dependencies.js.map +1 -0
  322. package/dist/api/routes/mail/drafts.d.ts +5 -0
  323. package/dist/api/routes/mail/drafts.d.ts.map +1 -0
  324. package/dist/api/routes/mail/drafts.js +139 -0
  325. package/dist/api/routes/mail/drafts.js.map +1 -0
  326. package/dist/api/routes/mail/gating.d.ts +45 -0
  327. package/dist/api/routes/mail/gating.d.ts.map +1 -0
  328. package/dist/api/routes/mail/gating.js +99 -0
  329. package/dist/api/routes/mail/gating.js.map +1 -0
  330. package/dist/api/routes/mail/index.d.ts +18 -0
  331. package/dist/api/routes/mail/index.d.ts.map +1 -0
  332. package/dist/api/routes/mail/index.js +40 -0
  333. package/dist/api/routes/mail/index.js.map +1 -0
  334. package/dist/api/routes/mail/messages.d.ts +15 -0
  335. package/dist/api/routes/mail/messages.d.ts.map +1 -0
  336. package/dist/api/routes/mail/messages.js +239 -0
  337. package/dist/api/routes/mail/messages.js.map +1 -0
  338. package/dist/api/routes/mail/outlook-config.d.ts +4 -0
  339. package/dist/api/routes/mail/outlook-config.d.ts.map +1 -0
  340. package/dist/api/routes/mail/outlook-config.js +73 -0
  341. package/dist/api/routes/mail/outlook-config.js.map +1 -0
  342. package/dist/api/routes/mail/provider-resolver.d.ts +64 -0
  343. package/dist/api/routes/mail/provider-resolver.d.ts.map +1 -0
  344. package/dist/api/routes/mail/provider-resolver.js +286 -0
  345. package/dist/api/routes/mail/provider-resolver.js.map +1 -0
  346. package/dist/api/routes/mail/providers.d.ts +4 -0
  347. package/dist/api/routes/mail/providers.d.ts.map +1 -0
  348. package/dist/api/routes/mail/providers.js +73 -0
  349. package/dist/api/routes/mail/providers.js.map +1 -0
  350. package/dist/api/routes/mail/search-health.d.ts +4 -0
  351. package/dist/api/routes/mail/search-health.d.ts.map +1 -0
  352. package/dist/api/routes/mail/search-health.js +131 -0
  353. package/dist/api/routes/mail/search-health.js.map +1 -0
  354. package/dist/api/routes/mail/tags-folders.d.ts +5 -0
  355. package/dist/api/routes/mail/tags-folders.d.ts.map +1 -0
  356. package/dist/api/routes/mail/tags-folders.js +35 -0
  357. package/dist/api/routes/mail/tags-folders.js.map +1 -0
  358. package/dist/api/routes/mail/validators.d.ts +23 -0
  359. package/dist/api/routes/mail/validators.d.ts.map +1 -0
  360. package/dist/api/routes/mail/validators.js +131 -0
  361. package/dist/api/routes/mail/validators.js.map +1 -0
  362. package/dist/api/routes/mail.d.ts.map +1 -1
  363. package/dist/api/routes/mail.js +259 -67
  364. package/dist/api/routes/mail.js.map +1 -1
  365. package/dist/api/routes/managed-tasks.d.ts.map +1 -1
  366. package/dist/api/routes/managed-tasks.js +142 -54
  367. package/dist/api/routes/managed-tasks.js.map +1 -1
  368. package/dist/api/routes/mcp.d.ts.map +1 -1
  369. package/dist/api/routes/mcp.js +115 -47
  370. package/dist/api/routes/mcp.js.map +1 -1
  371. package/dist/api/routes/metrics.d.ts +1 -1
  372. package/dist/api/routes/metrics.js +2 -2
  373. package/dist/api/routes/notion.d.ts.map +1 -1
  374. package/dist/api/routes/notion.js +230 -54
  375. package/dist/api/routes/notion.js.map +1 -1
  376. package/dist/api/routes/observations.d.ts.map +1 -1
  377. package/dist/api/routes/observations.js +40 -169
  378. package/dist/api/routes/observations.js.map +1 -1
  379. package/dist/api/routes/obsidian.d.ts.map +1 -1
  380. package/dist/api/routes/obsidian.js +193 -32
  381. package/dist/api/routes/obsidian.js.map +1 -1
  382. package/dist/api/routes/profile-questions.d.ts.map +1 -1
  383. package/dist/api/routes/profile-questions.js +19 -3
  384. package/dist/api/routes/profile-questions.js.map +1 -1
  385. package/dist/api/routes/receipts.d.ts.map +1 -1
  386. package/dist/api/routes/receipts.js +64 -24
  387. package/dist/api/routes/receipts.js.map +1 -1
  388. package/dist/api/routes/recurring-schedules.d.ts.map +1 -1
  389. package/dist/api/routes/recurring-schedules.js +243 -13
  390. package/dist/api/routes/recurring-schedules.js.map +1 -1
  391. package/dist/api/routes/repositories.d.ts.map +1 -1
  392. package/dist/api/routes/repositories.js +278 -104
  393. package/dist/api/routes/repositories.js.map +1 -1
  394. package/dist/api/routes/schedule-model-resolver.d.ts +153 -0
  395. package/dist/api/routes/schedule-model-resolver.d.ts.map +1 -0
  396. package/dist/api/routes/schedule-model-resolver.js +282 -0
  397. package/dist/api/routes/schedule-model-resolver.js.map +1 -0
  398. package/dist/api/routes/schedule-options.d.ts +25 -0
  399. package/dist/api/routes/schedule-options.d.ts.map +1 -0
  400. package/dist/api/routes/schedule-options.js +77 -0
  401. package/dist/api/routes/schedule-options.js.map +1 -0
  402. package/dist/api/routes/schedule-validation.d.ts +146 -0
  403. package/dist/api/routes/schedule-validation.d.ts.map +1 -0
  404. package/dist/api/routes/schedule-validation.js +153 -0
  405. package/dist/api/routes/schedule-validation.js.map +1 -0
  406. package/dist/api/routes/setup.d.ts.map +1 -1
  407. package/dist/api/routes/setup.js +100 -26
  408. package/dist/api/routes/setup.js.map +1 -1
  409. package/dist/api/routes/skills.d.ts.map +1 -1
  410. package/dist/api/routes/skills.js +81 -30
  411. package/dist/api/routes/skills.js.map +1 -1
  412. package/dist/api/routes/sot-bindings.d.ts.map +1 -1
  413. package/dist/api/routes/sot-bindings.js +46 -11
  414. package/dist/api/routes/sot-bindings.js.map +1 -1
  415. package/dist/api/routes/sse.d.ts.map +1 -1
  416. package/dist/api/routes/sse.js +6 -1
  417. package/dist/api/routes/sse.js.map +1 -1
  418. package/dist/api/routes/system.d.ts.map +1 -1
  419. package/dist/api/routes/system.js +15 -2
  420. package/dist/api/routes/system.js.map +1 -1
  421. package/dist/api/routes/travel-bookings.d.ts.map +1 -1
  422. package/dist/api/routes/travel-bookings.js +26 -9
  423. package/dist/api/routes/travel-bookings.js.map +1 -1
  424. package/dist/api/routes/travel-time.d.ts.map +1 -1
  425. package/dist/api/routes/travel-time.js +50 -10
  426. package/dist/api/routes/travel-time.js.map +1 -1
  427. package/dist/api/routes/wiki.d.ts.map +1 -1
  428. package/dist/api/routes/wiki.js +49 -8
  429. package/dist/api/routes/wiki.js.map +1 -1
  430. package/dist/api/server.d.ts +15 -3
  431. package/dist/api/server.d.ts.map +1 -1
  432. package/dist/api/server.js +32 -10
  433. package/dist/api/server.js.map +1 -1
  434. package/dist/bootstrap/adapters.d.ts.map +1 -1
  435. package/dist/bootstrap/adapters.js +7 -4
  436. package/dist/bootstrap/adapters.js.map +1 -1
  437. package/dist/bootstrap/api.d.ts +205 -0
  438. package/dist/bootstrap/api.d.ts.map +1 -0
  439. package/dist/bootstrap/api.js +443 -0
  440. package/dist/bootstrap/api.js.map +1 -0
  441. package/dist/bootstrap/db.d.ts +119 -0
  442. package/dist/bootstrap/db.d.ts.map +1 -0
  443. package/dist/bootstrap/db.js +294 -0
  444. package/dist/bootstrap/db.js.map +1 -0
  445. package/dist/bootstrap/event-pipeline.d.ts +308 -0
  446. package/dist/bootstrap/event-pipeline.d.ts.map +1 -0
  447. package/dist/bootstrap/event-pipeline.js +704 -0
  448. package/dist/bootstrap/event-pipeline.js.map +1 -0
  449. package/dist/bootstrap/observers.d.ts +148 -0
  450. package/dist/bootstrap/observers.d.ts.map +1 -0
  451. package/dist/bootstrap/observers.js +558 -0
  452. package/dist/bootstrap/observers.js.map +1 -0
  453. package/dist/bootstrap/schedule-helpers.d.ts +122 -0
  454. package/dist/bootstrap/schedule-helpers.d.ts.map +1 -1
  455. package/dist/bootstrap/schedule-helpers.js +202 -4
  456. package/dist/bootstrap/schedule-helpers.js.map +1 -1
  457. package/dist/config.d.ts.map +1 -1
  458. package/dist/config.js +20 -3
  459. package/dist/config.js.map +1 -1
  460. package/dist/core/abort-utils.d.ts +14 -0
  461. package/dist/core/abort-utils.d.ts.map +1 -0
  462. package/dist/core/abort-utils.js +36 -0
  463. package/dist/core/abort-utils.js.map +1 -0
  464. package/dist/core/agent-core.d.ts +22 -3
  465. package/dist/core/agent-core.d.ts.map +1 -1
  466. package/dist/core/agent-core.js +3 -1
  467. package/dist/core/agent-core.js.map +1 -1
  468. package/dist/core/backends/auth-health-monitor.js +2 -3
  469. package/dist/core/backends/auth-health-monitor.js.map +1 -1
  470. package/dist/core/backends/backend-router.d.ts +11 -1
  471. package/dist/core/backends/backend-router.d.ts.map +1 -1
  472. package/dist/core/backends/backend-router.js +97 -2
  473. package/dist/core/backends/backend-router.js.map +1 -1
  474. package/dist/core/backends/claude-code-core.d.ts +51 -0
  475. package/dist/core/backends/claude-code-core.d.ts.map +1 -1
  476. package/dist/core/backends/claude-code-core.js +134 -11
  477. package/dist/core/backends/claude-code-core.js.map +1 -1
  478. package/dist/core/backends/claude-tool-collection.js +1 -1
  479. package/dist/core/backends/codex-core.d.ts +13 -1
  480. package/dist/core/backends/codex-core.d.ts.map +1 -1
  481. package/dist/core/backends/codex-core.js +436 -22
  482. package/dist/core/backends/codex-core.js.map +1 -1
  483. package/dist/core/backends/gemini-cli-core.d.ts +5 -1
  484. package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
  485. package/dist/core/backends/gemini-cli-core.js +298 -15
  486. package/dist/core/backends/gemini-cli-core.js.map +1 -1
  487. package/dist/core/backends/install-methods.d.ts.map +1 -1
  488. package/dist/core/backends/install-methods.js +22 -0
  489. package/dist/core/backends/install-methods.js.map +1 -1
  490. package/dist/core/backends/model-registry.d.ts +9 -4
  491. package/dist/core/backends/model-registry.d.ts.map +1 -1
  492. package/dist/core/backends/model-registry.js +153 -23
  493. package/dist/core/backends/model-registry.js.map +1 -1
  494. package/dist/core/backends/native-skill-discovery-probe.d.ts +80 -0
  495. package/dist/core/backends/native-skill-discovery-probe.d.ts.map +1 -0
  496. package/dist/core/backends/native-skill-discovery-probe.js +175 -0
  497. package/dist/core/backends/native-skill-discovery-probe.js.map +1 -0
  498. package/dist/core/backends/opencode-basic-auth-fetch.d.ts +27 -0
  499. package/dist/core/backends/opencode-basic-auth-fetch.d.ts.map +1 -0
  500. package/dist/core/backends/opencode-basic-auth-fetch.js +40 -0
  501. package/dist/core/backends/opencode-basic-auth-fetch.js.map +1 -0
  502. package/dist/core/backends/opencode-config-builder.d.ts +86 -0
  503. package/dist/core/backends/opencode-config-builder.d.ts.map +1 -0
  504. package/dist/core/backends/opencode-config-builder.js +172 -0
  505. package/dist/core/backends/opencode-config-builder.js.map +1 -0
  506. package/dist/core/backends/opencode-core.d.ts +316 -0
  507. package/dist/core/backends/opencode-core.d.ts.map +1 -0
  508. package/dist/core/backends/opencode-core.js +1502 -0
  509. package/dist/core/backends/opencode-core.js.map +1 -0
  510. package/dist/core/backends/opencode-event-mapper.d.ts +133 -0
  511. package/dist/core/backends/opencode-event-mapper.d.ts.map +1 -0
  512. package/dist/core/backends/opencode-event-mapper.js +198 -0
  513. package/dist/core/backends/opencode-event-mapper.js.map +1 -0
  514. package/dist/core/backends/opencode-mcp.d.ts +82 -0
  515. package/dist/core/backends/opencode-mcp.d.ts.map +1 -0
  516. package/dist/core/backends/opencode-mcp.js +165 -0
  517. package/dist/core/backends/opencode-mcp.js.map +1 -0
  518. package/dist/core/backends/opencode-server-manager.d.ts +114 -0
  519. package/dist/core/backends/opencode-server-manager.d.ts.map +1 -0
  520. package/dist/core/backends/opencode-server-manager.js +222 -0
  521. package/dist/core/backends/opencode-server-manager.js.map +1 -0
  522. package/dist/core/backends/opencode-types.d.ts +46 -0
  523. package/dist/core/backends/opencode-types.d.ts.map +1 -0
  524. package/dist/core/backends/opencode-types.js +14 -0
  525. package/dist/core/backends/opencode-types.js.map +1 -0
  526. package/dist/core/backends/plan-presets.d.ts +18 -5
  527. package/dist/core/backends/plan-presets.d.ts.map +1 -1
  528. package/dist/core/backends/plan-presets.js +144 -23
  529. package/dist/core/backends/plan-presets.js.map +1 -1
  530. package/dist/core/backends/process-config-cascade.d.ts +35 -0
  531. package/dist/core/backends/process-config-cascade.d.ts.map +1 -1
  532. package/dist/core/backends/process-config-cascade.js +35 -1
  533. package/dist/core/backends/process-config-cascade.js.map +1 -1
  534. package/dist/core/backends/prompt-utils.d.ts.map +1 -1
  535. package/dist/core/backends/prompt-utils.js +0 -2
  536. package/dist/core/backends/prompt-utils.js.map +1 -1
  537. package/dist/core/backends/quota-reset-hints.d.ts +44 -0
  538. package/dist/core/backends/quota-reset-hints.d.ts.map +1 -0
  539. package/dist/core/backends/quota-reset-hints.js +117 -0
  540. package/dist/core/backends/quota-reset-hints.js.map +1 -0
  541. package/dist/core/bang-commands/commands-close.d.ts +24 -0
  542. package/dist/core/bang-commands/commands-close.d.ts.map +1 -0
  543. package/dist/core/bang-commands/commands-close.js +24 -0
  544. package/dist/core/bang-commands/commands-close.js.map +1 -0
  545. package/dist/core/bang-commands/commands-cost.d.ts.map +1 -1
  546. package/dist/core/bang-commands/commands-cost.js +13 -0
  547. package/dist/core/bang-commands/commands-cost.js.map +1 -1
  548. package/dist/core/bang-commands/commands-help.d.ts.map +1 -1
  549. package/dist/core/bang-commands/commands-help.js +44 -5
  550. package/dist/core/bang-commands/commands-help.js.map +1 -1
  551. package/dist/core/bang-commands/commands-report.d.ts.map +1 -1
  552. package/dist/core/bang-commands/commands-report.js +1 -0
  553. package/dist/core/bang-commands/commands-report.js.map +1 -1
  554. package/dist/core/bang-commands/commands-stop-start.d.ts.map +1 -1
  555. package/dist/core/bang-commands/commands-stop-start.js +2 -0
  556. package/dist/core/bang-commands/commands-stop-start.js.map +1 -1
  557. package/dist/core/bang-commands/commands-wiki.d.ts.map +1 -1
  558. package/dist/core/bang-commands/commands-wiki.js +12 -1
  559. package/dist/core/bang-commands/commands-wiki.js.map +1 -1
  560. package/dist/core/bang-commands/format-utils.d.ts +13 -1
  561. package/dist/core/bang-commands/format-utils.d.ts.map +1 -1
  562. package/dist/core/bang-commands/format-utils.js +21 -2
  563. package/dist/core/bang-commands/format-utils.js.map +1 -1
  564. package/dist/core/bang-commands/index.d.ts +1 -0
  565. package/dist/core/bang-commands/index.d.ts.map +1 -1
  566. package/dist/core/bang-commands/index.js +3 -0
  567. package/dist/core/bang-commands/index.js.map +1 -1
  568. package/dist/core/bang-commands/registry.d.ts +50 -0
  569. package/dist/core/bang-commands/registry.d.ts.map +1 -1
  570. package/dist/core/bang-commands/registry.js +164 -19
  571. package/dist/core/bang-commands/registry.js.map +1 -1
  572. package/dist/core/channel-timeline.d.ts +18 -1
  573. package/dist/core/channel-timeline.d.ts.map +1 -1
  574. package/dist/core/channel-timeline.js +44 -0
  575. package/dist/core/channel-timeline.js.map +1 -1
  576. package/dist/core/context/activity-view-runner.js +9 -1
  577. package/dist/core/context/activity-view-runner.js.map +1 -1
  578. package/dist/core/context/default-schedules-runner.js +44 -4
  579. package/dist/core/context/default-schedules-runner.js.map +1 -1
  580. package/dist/core/context/domain-index-runner.js +9 -1
  581. package/dist/core/context/domain-index-runner.js.map +1 -1
  582. package/dist/core/context/entity-source-rename.d.ts.map +1 -1
  583. package/dist/core/context/entity-source-rename.js +9 -1
  584. package/dist/core/context/entity-source-rename.js.map +1 -1
  585. package/dist/core/context/policy-index-runner.js +9 -1
  586. package/dist/core/context/policy-index-runner.js.map +1 -1
  587. package/dist/core/context/reconciler-runner.js +9 -1
  588. package/dist/core/context/reconciler-runner.js.map +1 -1
  589. package/dist/core/context-builder.d.ts +97 -2
  590. package/dist/core/context-builder.d.ts.map +1 -1
  591. package/dist/core/context-builder.js +303 -30
  592. package/dist/core/context-builder.js.map +1 -1
  593. package/dist/core/context-frontmatter.d.ts +6 -0
  594. package/dist/core/context-frontmatter.d.ts.map +1 -1
  595. package/dist/core/context-frontmatter.js +120 -8
  596. package/dist/core/context-frontmatter.js.map +1 -1
  597. package/dist/core/context-health.js +21 -9
  598. package/dist/core/context-health.js.map +1 -1
  599. package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts +19 -0
  600. package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts.map +1 -0
  601. package/dist/core/context-validation/_pa_wip_context_validation/index.js +19 -0
  602. package/dist/core/context-validation/_pa_wip_context_validation/index.js.map +1 -0
  603. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts +94 -0
  604. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts.map +1 -0
  605. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js +130 -0
  606. package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js.map +1 -0
  607. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts +60 -0
  608. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts.map +1 -0
  609. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js +156 -0
  610. package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js.map +1 -0
  611. package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts +41 -0
  612. package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts.map +1 -0
  613. package/dist/core/context-validation/_pa_wip_context_validation/section.js +82 -0
  614. package/dist/core/context-validation/_pa_wip_context_validation/section.js.map +1 -0
  615. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts +52 -0
  616. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts.map +1 -0
  617. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js +110 -0
  618. package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js.map +1 -0
  619. package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts +85 -0
  620. package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts.map +1 -0
  621. package/dist/core/context-validation/_pa_wip_context_validation/today.js +162 -0
  622. package/dist/core/context-validation/_pa_wip_context_validation/today.js.map +1 -0
  623. package/dist/core/context-validation/index.d.ts +19 -0
  624. package/dist/core/context-validation/index.d.ts.map +1 -0
  625. package/dist/core/context-validation/index.js +19 -0
  626. package/dist/core/context-validation/index.js.map +1 -0
  627. package/dist/core/context-validation/prepare-write.d.ts +95 -0
  628. package/dist/core/context-validation/prepare-write.d.ts.map +1 -0
  629. package/dist/core/context-validation/prepare-write.js +135 -0
  630. package/dist/core/context-validation/prepare-write.js.map +1 -0
  631. package/dist/core/context-validation/routine-rulebook.d.ts +60 -0
  632. package/dist/core/context-validation/routine-rulebook.d.ts.map +1 -0
  633. package/dist/core/context-validation/routine-rulebook.js +156 -0
  634. package/dist/core/context-validation/routine-rulebook.js.map +1 -0
  635. package/dist/core/context-validation/section.d.ts +41 -0
  636. package/dist/core/context-validation/section.d.ts.map +1 -0
  637. package/dist/core/context-validation/section.js +82 -0
  638. package/dist/core/context-validation/section.js.map +1 -0
  639. package/dist/core/context-validation/snapshot-debounce.d.ts +52 -0
  640. package/dist/core/context-validation/snapshot-debounce.d.ts.map +1 -0
  641. package/dist/core/context-validation/snapshot-debounce.js +110 -0
  642. package/dist/core/context-validation/snapshot-debounce.js.map +1 -0
  643. package/dist/core/context-validation/today.d.ts +85 -0
  644. package/dist/core/context-validation/today.d.ts.map +1 -0
  645. package/dist/core/context-validation/today.js +168 -0
  646. package/dist/core/context-validation/today.js.map +1 -0
  647. package/dist/core/daemon-api-cli.d.ts +6 -5
  648. package/dist/core/daemon-api-cli.d.ts.map +1 -1
  649. package/dist/core/daemon-api-cli.js +73 -32
  650. package/dist/core/daemon-api-cli.js.map +1 -1
  651. package/dist/core/dispatcher-error-handling.d.ts +13 -0
  652. package/dist/core/dispatcher-error-handling.d.ts.map +1 -1
  653. package/dist/core/dispatcher-error-handling.js +69 -0
  654. package/dist/core/dispatcher-error-handling.js.map +1 -1
  655. package/dist/core/dispatcher-hourly-check.d.ts +73 -1
  656. package/dist/core/dispatcher-hourly-check.d.ts.map +1 -1
  657. package/dist/core/dispatcher-hourly-check.js +249 -151
  658. package/dist/core/dispatcher-hourly-check.js.map +1 -1
  659. package/dist/core/dispatcher-message-handler.d.ts +11 -1
  660. package/dist/core/dispatcher-message-handler.d.ts.map +1 -1
  661. package/dist/core/dispatcher-message-handler.js +165 -47
  662. package/dist/core/dispatcher-message-handler.js.map +1 -1
  663. package/dist/core/dispatcher-morning-routine.d.ts +38 -30
  664. package/dist/core/dispatcher-morning-routine.d.ts.map +1 -1
  665. package/dist/core/dispatcher-morning-routine.js +162 -104
  666. package/dist/core/dispatcher-morning-routine.js.map +1 -1
  667. package/dist/core/dispatcher-prompt.d.ts +4 -1
  668. package/dist/core/dispatcher-prompt.d.ts.map +1 -1
  669. package/dist/core/dispatcher-prompt.js +18 -2
  670. package/dist/core/dispatcher-prompt.js.map +1 -1
  671. package/dist/core/dispatcher-repository-helpers.d.ts.map +1 -1
  672. package/dist/core/dispatcher-repository-helpers.js +5 -1
  673. package/dist/core/dispatcher-repository-helpers.js.map +1 -1
  674. package/dist/core/dispatcher-result-processor.d.ts.map +1 -1
  675. package/dist/core/dispatcher-result-processor.js +9 -4
  676. package/dist/core/dispatcher-result-processor.js.map +1 -1
  677. package/dist/core/dispatcher-scheduled-tasks.d.ts +1 -1
  678. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -1
  679. package/dist/core/dispatcher-scheduled-tasks.js +79 -16
  680. package/dist/core/dispatcher-scheduled-tasks.js.map +1 -1
  681. package/dist/core/dispatcher-types.d.ts +84 -12
  682. package/dist/core/dispatcher-types.d.ts.map +1 -1
  683. package/dist/core/dispatcher-types.js.map +1 -1
  684. package/dist/core/dispatcher.d.ts +50 -1
  685. package/dist/core/dispatcher.d.ts.map +1 -1
  686. package/dist/core/dispatcher.js +143 -8
  687. package/dist/core/dispatcher.js.map +1 -1
  688. package/dist/core/dm-freshness-metrics.d.ts +6 -5
  689. package/dist/core/dm-freshness-metrics.d.ts.map +1 -1
  690. package/dist/core/dm-freshness-metrics.js +7 -6
  691. package/dist/core/dm-freshness-metrics.js.map +1 -1
  692. package/dist/core/evening-review-verify.d.ts +164 -0
  693. package/dist/core/evening-review-verify.d.ts.map +1 -0
  694. package/dist/core/evening-review-verify.js +637 -0
  695. package/dist/core/evening-review-verify.js.map +1 -0
  696. package/dist/core/fetch-window-prompt-loader.d.ts +47 -0
  697. package/dist/core/fetch-window-prompt-loader.d.ts.map +1 -0
  698. package/dist/core/fetch-window-prompt-loader.js +72 -0
  699. package/dist/core/fetch-window-prompt-loader.js.map +1 -0
  700. package/dist/core/management-md.d.ts.map +1 -1
  701. package/dist/core/management-md.js +23 -9
  702. package/dist/core/management-md.js.map +1 -1
  703. package/dist/core/management-registry.d.ts +13 -21
  704. package/dist/core/management-registry.d.ts.map +1 -1
  705. package/dist/core/management-registry.js +27 -48
  706. package/dist/core/management-registry.js.map +1 -1
  707. package/dist/core/metrics.d.ts +88 -1
  708. package/dist/core/metrics.d.ts.map +1 -1
  709. package/dist/core/metrics.js +78 -2
  710. package/dist/core/metrics.js.map +1 -1
  711. package/dist/core/morning/agent-journal-appender.d.ts +197 -0
  712. package/dist/core/morning/agent-journal-appender.d.ts.map +1 -0
  713. package/dist/core/morning/agent-journal-appender.js +458 -0
  714. package/dist/core/morning/agent-journal-appender.js.map +1 -0
  715. package/dist/core/morning/handoff-parser.d.ts +45 -0
  716. package/dist/core/morning/handoff-parser.d.ts.map +1 -0
  717. package/dist/core/morning/handoff-parser.js +117 -0
  718. package/dist/core/morning/handoff-parser.js.map +1 -0
  719. package/dist/core/morning/journal-skeleton-builder.d.ts +157 -0
  720. package/dist/core/morning/journal-skeleton-builder.d.ts.map +1 -0
  721. package/dist/core/morning/journal-skeleton-builder.js +303 -0
  722. package/dist/core/morning/journal-skeleton-builder.js.map +1 -0
  723. package/dist/core/morning/orchestrator.d.ts +312 -0
  724. package/dist/core/morning/orchestrator.d.ts.map +1 -0
  725. package/dist/core/morning/orchestrator.js +827 -0
  726. package/dist/core/morning/orchestrator.js.map +1 -0
  727. package/dist/core/morning/parent-audit-emitter.d.ts +82 -0
  728. package/dist/core/morning/parent-audit-emitter.d.ts.map +1 -0
  729. package/dist/core/morning/parent-audit-emitter.js +120 -0
  730. package/dist/core/morning/parent-audit-emitter.js.map +1 -0
  731. package/dist/core/morning/roadmap-skeleton-builder.d.ts +159 -0
  732. package/dist/core/morning/roadmap-skeleton-builder.d.ts.map +1 -0
  733. package/dist/core/morning/roadmap-skeleton-builder.js +338 -0
  734. package/dist/core/morning/roadmap-skeleton-builder.js.map +1 -0
  735. package/dist/core/output-language-policy.js +1 -1
  736. package/dist/core/output-language-policy.js.map +1 -1
  737. package/dist/core/policy-files.d.ts +19 -2
  738. package/dist/core/policy-files.d.ts.map +1 -1
  739. package/dist/core/policy-files.js +65 -7
  740. package/dist/core/policy-files.js.map +1 -1
  741. package/dist/core/pre-pass-freshness.d.ts +28 -0
  742. package/dist/core/pre-pass-freshness.d.ts.map +1 -0
  743. package/dist/core/pre-pass-freshness.js +10 -0
  744. package/dist/core/pre-pass-freshness.js.map +1 -0
  745. package/dist/core/previous-week-digest.d.ts +130 -0
  746. package/dist/core/previous-week-digest.d.ts.map +1 -0
  747. package/dist/core/previous-week-digest.js +257 -0
  748. package/dist/core/previous-week-digest.js.map +1 -0
  749. package/dist/core/prompts.js +3 -3
  750. package/dist/core/prompts.js.map +1 -1
  751. package/dist/core/quiet-hours-sync.d.ts.map +1 -1
  752. package/dist/core/quiet-hours-sync.js +7 -0
  753. package/dist/core/quiet-hours-sync.js.map +1 -1
  754. package/dist/core/recurrence.d.ts +13 -0
  755. package/dist/core/recurrence.d.ts.map +1 -1
  756. package/dist/core/recurrence.js +108 -13
  757. package/dist/core/recurrence.js.map +1 -1
  758. package/dist/core/release-assets.d.ts +21 -1
  759. package/dist/core/release-assets.d.ts.map +1 -1
  760. package/dist/core/release-assets.js +58 -3
  761. package/dist/core/release-assets.js.map +1 -1
  762. package/dist/core/repository-management-docs.d.ts.map +1 -1
  763. package/dist/core/repository-management-docs.js +14 -4
  764. package/dist/core/repository-management-docs.js.map +1 -1
  765. package/dist/core/review-context.d.ts.map +1 -1
  766. package/dist/core/review-context.js +29 -1
  767. package/dist/core/review-context.js.map +1 -1
  768. package/dist/core/roadmap-maintenance.d.ts +213 -0
  769. package/dist/core/roadmap-maintenance.d.ts.map +1 -0
  770. package/dist/core/roadmap-maintenance.js +706 -0
  771. package/dist/core/roadmap-maintenance.js.map +1 -0
  772. package/dist/core/roadmap-validate.d.ts +5 -0
  773. package/dist/core/roadmap-validate.d.ts.map +1 -1
  774. package/dist/core/roadmap-validate.js +6 -69
  775. package/dist/core/roadmap-validate.js.map +1 -1
  776. package/dist/core/routine-acquisition-plan.d.ts +43 -7
  777. package/dist/core/routine-acquisition-plan.d.ts.map +1 -1
  778. package/dist/core/routine-acquisition-plan.js +99 -8
  779. package/dist/core/routine-acquisition-plan.js.map +1 -1
  780. package/dist/core/routine-fetch-window-retry.d.ts +41 -2
  781. package/dist/core/routine-fetch-window-retry.d.ts.map +1 -1
  782. package/dist/core/routine-fetch-window-retry.js +91 -8
  783. package/dist/core/routine-fetch-window-retry.js.map +1 -1
  784. package/dist/core/routine-fetch-window-runner.d.ts +55 -21
  785. package/dist/core/routine-fetch-window-runner.d.ts.map +1 -1
  786. package/dist/core/routine-fetch-window-runner.js +258 -35
  787. package/dist/core/routine-fetch-window-runner.js.map +1 -1
  788. package/dist/core/routine-windows.d.ts +17 -13
  789. package/dist/core/routine-windows.d.ts.map +1 -1
  790. package/dist/core/routine-windows.js +78 -36
  791. package/dist/core/routine-windows.js.map +1 -1
  792. package/dist/core/scheduler.d.ts +121 -37
  793. package/dist/core/scheduler.d.ts.map +1 -1
  794. package/dist/core/scheduler.js +359 -80
  795. package/dist/core/scheduler.js.map +1 -1
  796. package/dist/core/session-manager.d.ts +25 -6
  797. package/dist/core/session-manager.d.ts.map +1 -1
  798. package/dist/core/session-manager.js +32 -15
  799. package/dist/core/session-manager.js.map +1 -1
  800. package/dist/core/skeleton.d.ts.map +1 -1
  801. package/dist/core/skeleton.js +23 -23
  802. package/dist/core/skeleton.js.map +1 -1
  803. package/dist/core/skills-compiler.d.ts +275 -25
  804. package/dist/core/skills-compiler.d.ts.map +1 -1
  805. package/dist/core/skills-compiler.js +844 -205
  806. package/dist/core/skills-compiler.js.map +1 -1
  807. package/dist/core/skills-manifest.d.ts +104 -0
  808. package/dist/core/skills-manifest.d.ts.map +1 -1
  809. package/dist/core/skills-manifest.js +350 -39
  810. package/dist/core/skills-manifest.js.map +1 -1
  811. package/dist/core/wiki/git-precompile.d.ts +9 -0
  812. package/dist/core/wiki/git-precompile.d.ts.map +1 -1
  813. package/dist/core/wiki/git-precompile.js +7 -1
  814. package/dist/core/wiki/git-precompile.js.map +1 -1
  815. package/dist/core/workdir.d.ts +30 -1
  816. package/dist/core/workdir.d.ts.map +1 -1
  817. package/dist/core/workdir.js +140 -15
  818. package/dist/core/workdir.js.map +1 -1
  819. package/dist/db/entities-store.d.ts +5 -5
  820. package/dist/db/entities-store.js +5 -5
  821. package/dist/db/hourly-check-signals.d.ts.map +1 -1
  822. package/dist/db/hourly-check-signals.js +121 -35
  823. package/dist/db/hourly-check-signals.js.map +1 -1
  824. package/dist/db/observations.d.ts +1 -1
  825. package/dist/db/observations.js +1 -1
  826. package/dist/db/observations.js.map +1 -1
  827. package/dist/db/recurring-schedules.d.ts +32 -1
  828. package/dist/db/recurring-schedules.d.ts.map +1 -1
  829. package/dist/db/recurring-schedules.js +29 -10
  830. package/dist/db/recurring-schedules.js.map +1 -1
  831. package/dist/db/repositories-store.d.ts +2 -1
  832. package/dist/db/repositories-store.d.ts.map +1 -1
  833. package/dist/db/repositories-store.js +38 -3
  834. package/dist/db/repositories-store.js.map +1 -1
  835. package/dist/db/schema.d.ts.map +1 -1
  836. package/dist/db/schema.js +157 -51
  837. package/dist/db/schema.js.map +1 -1
  838. package/dist/db/wiki-store.d.ts.map +1 -1
  839. package/dist/db/wiki-store.js +3 -0
  840. package/dist/db/wiki-store.js.map +1 -1
  841. package/dist/index.js +308 -1473
  842. package/dist/index.js.map +1 -1
  843. package/dist/messaging/magic-phrase.d.ts +16 -0
  844. package/dist/messaging/magic-phrase.d.ts.map +1 -1
  845. package/dist/messaging/magic-phrase.js +53 -0
  846. package/dist/messaging/magic-phrase.js.map +1 -1
  847. package/dist/messaging/owner-channels.d.ts +24 -0
  848. package/dist/messaging/owner-channels.d.ts.map +1 -1
  849. package/dist/messaging/owner-channels.js +38 -0
  850. package/dist/messaging/owner-channels.js.map +1 -1
  851. package/dist/messaging/setup-welcome-dm.d.ts +30 -0
  852. package/dist/messaging/setup-welcome-dm.d.ts.map +1 -0
  853. package/dist/messaging/setup-welcome-dm.js +86 -0
  854. package/dist/messaging/setup-welcome-dm.js.map +1 -0
  855. package/dist/observers/calendar-poller.d.ts +2 -0
  856. package/dist/observers/calendar-poller.d.ts.map +1 -1
  857. package/dist/observers/calendar-poller.js +76 -54
  858. package/dist/observers/calendar-poller.js.map +1 -1
  859. package/dist/observers/delegated-sync-worker.d.ts +62 -0
  860. package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
  861. package/dist/observers/delegated-sync-worker.js +128 -1
  862. package/dist/observers/delegated-sync-worker.js.map +1 -1
  863. package/dist/observers/git-watcher.d.ts +22 -0
  864. package/dist/observers/git-watcher.d.ts.map +1 -1
  865. package/dist/observers/git-watcher.js +31 -7
  866. package/dist/observers/git-watcher.js.map +1 -1
  867. package/dist/observers/imminent-event-scheduler.d.ts +2 -0
  868. package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
  869. package/dist/observers/imminent-event-scheduler.js +29 -0
  870. package/dist/observers/imminent-event-scheduler.js.map +1 -1
  871. package/dist/observers/notion-poller.d.ts +2 -0
  872. package/dist/observers/notion-poller.d.ts.map +1 -1
  873. package/dist/observers/notion-poller.js +44 -6
  874. package/dist/observers/notion-poller.js.map +1 -1
  875. package/dist/observers/poll-guard.d.ts +63 -0
  876. package/dist/observers/poll-guard.d.ts.map +1 -0
  877. package/dist/observers/poll-guard.js +89 -0
  878. package/dist/observers/poll-guard.js.map +1 -0
  879. package/dist/safety/absolute-block-audit.d.ts +17 -0
  880. package/dist/safety/absolute-block-audit.d.ts.map +1 -1
  881. package/dist/safety/absolute-block-audit.js +28 -2
  882. package/dist/safety/absolute-block-audit.js.map +1 -1
  883. package/dist/safety/agent-write-tracker.d.ts +42 -1
  884. package/dist/safety/agent-write-tracker.d.ts.map +1 -1
  885. package/dist/safety/agent-write-tracker.js +81 -1
  886. package/dist/safety/agent-write-tracker.js.map +1 -1
  887. package/dist/safety/always-disallowed.d.ts +34 -0
  888. package/dist/safety/always-disallowed.d.ts.map +1 -1
  889. package/dist/safety/always-disallowed.js +114 -7
  890. package/dist/safety/always-disallowed.js.map +1 -1
  891. package/dist/safety/audit.d.ts +20 -0
  892. package/dist/safety/audit.d.ts.map +1 -1
  893. package/dist/safety/audit.js +126 -0
  894. package/dist/safety/audit.js.map +1 -1
  895. package/dist/safety/risk-classifier.d.ts +17 -1
  896. package/dist/safety/risk-classifier.d.ts.map +1 -1
  897. package/dist/safety/risk-classifier.js +75 -7
  898. package/dist/safety/risk-classifier.js.map +1 -1
  899. package/dist/safety/subprocess-block-scanner.d.ts +89 -0
  900. package/dist/safety/subprocess-block-scanner.d.ts.map +1 -0
  901. package/dist/safety/subprocess-block-scanner.js +177 -0
  902. package/dist/safety/subprocess-block-scanner.js.map +1 -0
  903. package/dist/scheduler/hourly-check-gate.d.ts +23 -9
  904. package/dist/scheduler/hourly-check-gate.d.ts.map +1 -1
  905. package/dist/scheduler/hourly-check-gate.js +11 -6
  906. package/dist/scheduler/hourly-check-gate.js.map +1 -1
  907. package/dist/secrets/backend-api-key-env.d.ts.map +1 -1
  908. package/dist/secrets/backend-api-key-env.js +1 -0
  909. package/dist/secrets/backend-api-key-env.js.map +1 -1
  910. package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
  911. package/dist/services/delegated-backend-invoker.js +8 -1
  912. package/dist/services/delegated-backend-invoker.js.map +1 -1
  913. package/dist/services/delegated-invoker-audit.d.ts.map +1 -1
  914. package/dist/services/delegated-invoker-audit.js +5 -1
  915. package/dist/services/delegated-invoker-audit.js.map +1 -1
  916. package/dist/services/delegated-proxy-config.d.ts +3 -2
  917. package/dist/services/delegated-proxy-config.d.ts.map +1 -1
  918. package/dist/services/delegated-proxy-config.js.map +1 -1
  919. package/dist/services/integrations/extract-write-item-id.d.ts +5 -2
  920. package/dist/services/integrations/extract-write-item-id.d.ts.map +1 -1
  921. package/dist/services/integrations/extract-write-item-id.js.map +1 -1
  922. package/dist/services/mcp/generators/index.d.ts +1 -0
  923. package/dist/services/mcp/generators/index.d.ts.map +1 -1
  924. package/dist/services/mcp/generators/index.js +3 -0
  925. package/dist/services/mcp/generators/index.js.map +1 -1
  926. package/dist/services/mcp/sdk-observations-server.d.ts +60 -0
  927. package/dist/services/mcp/sdk-observations-server.d.ts.map +1 -0
  928. package/dist/services/mcp/sdk-observations-server.js +161 -0
  929. package/dist/services/mcp/sdk-observations-server.js.map +1 -0
  930. package/dist/services/mcp/session-materializer.d.ts.map +1 -1
  931. package/dist/services/mcp/session-materializer.js +13 -9
  932. package/dist/services/mcp/session-materializer.js.map +1 -1
  933. package/dist/services/mcp/types.d.ts +1 -0
  934. package/dist/services/mcp/types.d.ts.map +1 -1
  935. package/dist/services/notion.d.ts +19 -1
  936. package/dist/services/notion.d.ts.map +1 -1
  937. package/dist/services/notion.js +41 -2
  938. package/dist/services/notion.js.map +1 -1
  939. package/dist/services/observations-batch.d.ts +100 -0
  940. package/dist/services/observations-batch.d.ts.map +1 -0
  941. package/dist/services/observations-batch.js +258 -0
  942. package/dist/services/observations-batch.js.map +1 -0
  943. package/dist/services/voice/transcriber.d.ts +23 -0
  944. package/dist/services/voice/transcriber.d.ts.map +1 -1
  945. package/dist/services/voice/transcriber.js +55 -0
  946. package/dist/services/voice/transcriber.js.map +1 -1
  947. package/dist/settings/runtime-settings.d.ts +9 -6
  948. package/dist/settings/runtime-settings.d.ts.map +1 -1
  949. package/dist/settings/runtime-settings.js +50 -17
  950. package/dist/settings/runtime-settings.js.map +1 -1
  951. package/package.json +3 -2
  952. package/dist/api/delegated-proxy-helper.d.ts +0 -33
  953. package/dist/api/delegated-proxy-helper.d.ts.map +0 -1
  954. package/dist/api/delegated-proxy-helper.js +0 -54
  955. package/dist/api/delegated-proxy-helper.js.map +0 -1
  956. package/dist/core/roadmap-merge.d.ts +0 -7
  957. package/dist/core/roadmap-merge.d.ts.map +0 -1
  958. package/dist/core/roadmap-merge.js +0 -187
  959. package/dist/core/roadmap-merge.js.map +0 -1
  960. package/dist/db/test-schemas.d.ts +0 -23
  961. package/dist/db/test-schemas.d.ts.map +0 -1
  962. package/dist/db/test-schemas.js +0 -111
  963. package/dist/db/test-schemas.js.map +0 -1
@@ -0,0 +1,637 @@
1
+ /**
2
+ * Phase 4 of `docs/design/appendices/evening-review-slimdown.md` — the
3
+ * post-launch verification surface. Bundles four checks an operator
4
+ * runs once after the slimdown ships to confirm the change actually
5
+ * delivered what it promised:
6
+ *
7
+ * 1. The 17:45 cron emits one
8
+ * `agent_actions.action_type='roadmap_mechanical_maintenance'` row
9
+ * per agent-day.
10
+ * 2. `routine.evening_review` sessions stay inside the seeded
11
+ * envelope (50 turns / $1.00) — token counts dropped after the
12
+ * `travel` skill + Step 4 prose were removed.
13
+ * 3. `resolveSkillManifest` correctly gates `notify` on the rulebook
14
+ * predicate (5 vs 6 skills depending on `routines/evening.md`
15
+ * shape).
16
+ * 4. Over the last 30 days, evening_review sessions on rulebook-less
17
+ * installs called `POST /api/notify` zero times — any non-zero
18
+ * count is a prompt regression signal worth investigating.
19
+ *
20
+ * Read-only and offline. Safe to call while the daemon is up (the DB
21
+ * file is opened in WAL mode upstream) or while it is stopped (the CLI
22
+ * opens its own readonly handle).
23
+ *
24
+ * The daemon-side `eveningRulebookIsActive` predicate is the
25
+ * authoritative implementation; this module imports it directly so the
26
+ * rulebook gate cannot drift between runtime and verification.
27
+ */
28
+ import { existsSync, readFileSync } from "node:fs";
29
+ import { homedir } from "node:os";
30
+ import { join, resolve } from "node:path";
31
+ import { CONTEXT_RELATIVE_PATHS } from "./context-paths.js";
32
+ import { EVENT_SKILL_SETS, eveningRulebookIsActive, } from "./skills-manifest.js";
33
+ /** envelope seeded in `process_backend_config` for routine.evening_review */
34
+ export const EVENING_REVIEW_ENVELOPE_BUDGET_USD = 1.0;
35
+ export const EVENING_REVIEW_ENVELOPE_MAX_TURNS = 50;
36
+ /** danger threshold — half of cap. Slim shape sits well below this. */
37
+ export const ENVELOPE_DANGER_FRACTION = 0.5;
38
+ export function runEveningReviewSlimdownChecks(deps) {
39
+ const { db, contextDir } = deps;
40
+ const windowDays = deps.windowDays ?? 7;
41
+ const now = (deps.now ?? (() => new Date()))();
42
+ const installAgeDays = readInstallAgeDays(db);
43
+ const rulebook = inspectRulebook(contextDir);
44
+ // Reuse the daemon's predicate to mirror its decision exactly when the
45
+ // file IS readable. The local inspection only adds detail (heading
46
+ // count, indeterminate state) the predicate doesn't expose.
47
+ if (rulebook.state !== "unreadable") {
48
+ rulebook.predicateActive = eveningRulebookIsActive(contextDir);
49
+ }
50
+ const checks = [
51
+ checkCronAuditFreshness(db, { windowDays, installAgeDays, now }),
52
+ checkEveningReviewTokenEnvelope(db, { windowDays }),
53
+ checkConditionalNotifyLoad({ contextDir, rulebook }),
54
+ checkNotifyInvocations30d(db, {
55
+ installAgeDays,
56
+ rulebookActive: rulebook.predicateActive,
57
+ }),
58
+ ];
59
+ return {
60
+ checks,
61
+ summary: {
62
+ total: checks.length,
63
+ passed: checks.filter((c) => c.status === "pass").length,
64
+ warned: checks.filter((c) => c.status === "warn").length,
65
+ failed: checks.filter((c) => c.status === "fail").length,
66
+ windowDays,
67
+ installAgeDays,
68
+ generatedAt: now.toISOString(),
69
+ },
70
+ };
71
+ }
72
+ export function checkCronAuditFreshness(db, opts) {
73
+ const expectedDays = Math.max(1, Math.min(opts.windowDays, opts.installAgeDays));
74
+ const rows = db
75
+ .prepare(`SELECT date(started_at, 'localtime') AS day,
76
+ COUNT(*) AS n,
77
+ SUM(CASE WHEN result = 'success' THEN 1 ELSE 0 END) AS ok,
78
+ SUM(CASE WHEN result = 'failed' THEN 1 ELSE 0 END) AS fail
79
+ FROM agent_actions
80
+ WHERE action_type = 'roadmap_mechanical_maintenance'
81
+ AND started_at >= datetime('now', ?)
82
+ GROUP BY day
83
+ ORDER BY day DESC`)
84
+ .all(`-${expectedDays} days`);
85
+ const lastRow = db
86
+ .prepare(`SELECT started_at, result, error
87
+ FROM agent_actions
88
+ WHERE action_type = 'roadmap_mechanical_maintenance'
89
+ ORDER BY started_at DESC
90
+ LIMIT 1`)
91
+ .get();
92
+ const expectedDayList = expectedDaySet(opts.now, expectedDays);
93
+ const daysWithRowSet = new Set(rows.map((r) => r.day));
94
+ const missingDays = expectedDayList.filter((d) => !daysWithRowSet.has(d));
95
+ const failedRows = rows.reduce((acc, r) => acc + Number(r.fail || 0), 0);
96
+ // SQLite's `>= datetime('now', '-N days')` filter is UTC-bounded but
97
+ // `date(started_at, 'localtime')` and `expectedDayList` are local. In
98
+ // TZs with a negative UTC offset a row whose local date sits one
99
+ // earlier than the local window can still pass the UTC filter and
100
+ // appear in `daysWithRowSet`. Report the ratio against the local
101
+ // window only so the display never says "8/7 day(s) covered" or "7/7
102
+ // have a row. Missing: <full list>" (a contradiction the unfiltered
103
+ // size would produce in the leaked-day case).
104
+ const daysCovered = expectedDayList.length - missingDays.length;
105
+ const data = {
106
+ windowDays: expectedDays,
107
+ daysWithRow: daysCovered,
108
+ daysMissing: missingDays,
109
+ failedRows,
110
+ lastRunAt: lastRow?.started_at ?? null,
111
+ lastRunResult: lastRow?.result ?? null,
112
+ };
113
+ if (rows.length === 0) {
114
+ // A fresh install (≤ 1 agent-day) may genuinely not have hit 17:45
115
+ // yet — soften to warn so the post-launch report doesn't flag a
116
+ // not-yet-triggered cron as broken on day 0.
117
+ const isFreshInstall = opts.installAgeDays <= 1;
118
+ return {
119
+ id: "cron_audit_freshness",
120
+ label: "Cron audit row daily freshness",
121
+ status: isFreshInstall ? "warn" : "fail",
122
+ detail: isFreshInstall
123
+ ? `No rows yet — fresh install (~${opts.installAgeDays}d). The 17:45 cron may not have fired yet.`
124
+ : `No 'roadmap_mechanical_maintenance' rows in the last ${expectedDays} day(s).`,
125
+ hint: "Wait until after 17:45 local on a normal weekday, then re-run. " +
126
+ "To trigger immediately: 'aitne run-now roadmap_maintenance'.",
127
+ data,
128
+ };
129
+ }
130
+ if (failedRows > 0) {
131
+ return {
132
+ id: "cron_audit_freshness",
133
+ label: "Cron audit row daily freshness",
134
+ status: "fail",
135
+ detail: `${daysCovered}/${expectedDays} day(s) have a row but ${failedRows} run(s) ended with ` +
136
+ // lastRow is non-null whenever rows.length > 0 (both come from
137
+ // the same action_type filter on agent_actions); the `?? "—"`
138
+ // is TypeScript narrowing safety for a path the runtime cannot
139
+ // reach.
140
+ /* c8 ignore next */
141
+ `result='failed'. Last status: ${lastRow?.result ?? "—"}.`,
142
+ hint: "Inspect failures with 'aitne audit --type roadmap_mechanical_maintenance " +
143
+ "--since 7d --result failed --detail'.",
144
+ data,
145
+ };
146
+ }
147
+ if (missingDays.length > 0) {
148
+ return {
149
+ id: "cron_audit_freshness",
150
+ label: "Cron audit row daily freshness",
151
+ status: "warn",
152
+ detail: `${daysCovered}/${expectedDays} day(s) have a row. ` +
153
+ `Missing: ${missingDays.join(", ")}.`,
154
+ hint: "Acceptable if the daemon was stopped on those days. Otherwise check " +
155
+ "'aitne audit --type roadmap_mechanical_maintenance --since 14d' for the " +
156
+ "skip pattern.",
157
+ data,
158
+ };
159
+ }
160
+ return {
161
+ id: "cron_audit_freshness",
162
+ label: "Cron audit row daily freshness",
163
+ status: "pass",
164
+ // Same TS-narrowing dance as the failed-rows branch above — lastRow
165
+ // is non-null whenever rows.length > 0.
166
+ /* c8 ignore next */
167
+ detail: `${daysCovered}/${expectedDays} day(s) covered. Last run ${lastRow?.started_at ?? "—"} → ${lastRow?.result ?? "—"}.`,
168
+ data,
169
+ };
170
+ }
171
+ export function checkEveningReviewTokenEnvelope(db, opts) {
172
+ const stats = db
173
+ .prepare(`SELECT COUNT(*) AS n,
174
+ AVG(tokens_input) AS avg_in,
175
+ MAX(tokens_input) AS max_in,
176
+ AVG(tokens_output) AS avg_out,
177
+ MAX(tokens_output) AS max_out,
178
+ AVG(cost_usd) AS avg_cost,
179
+ MAX(cost_usd) AS max_cost,
180
+ AVG(num_turns) AS avg_turns,
181
+ MAX(num_turns) AS max_turns,
182
+ AVG(cache_read_tokens) AS avg_cache_read
183
+ FROM agent_actions
184
+ WHERE action_type = 'routine.evening_review'
185
+ AND result IN ('success', 'partial')
186
+ AND started_at >= datetime('now', ?)`)
187
+ .get(`-${opts.windowDays} days`);
188
+ // SQLite COUNT/AVG always returns at least one row, so `stats` is
189
+ // defined; the `?? 0` is TS narrowing safety only.
190
+ /* c8 ignore next */
191
+ const n = Number(stats?.n ?? 0);
192
+ const data = {
193
+ windowDays: opts.windowDays,
194
+ sessions: n,
195
+ avgInputTokens: roundOrNull(stats?.avg_in),
196
+ maxInputTokens: numericOrNull(stats?.max_in),
197
+ avgOutputTokens: roundOrNull(stats?.avg_out),
198
+ maxOutputTokens: numericOrNull(stats?.max_out),
199
+ avgCacheReadTokens: roundOrNull(stats?.avg_cache_read),
200
+ avgCostUsd: roundCost(stats?.avg_cost),
201
+ maxCostUsd: roundCost(stats?.max_cost),
202
+ avgNumTurns: roundOrNull(stats?.avg_turns),
203
+ maxNumTurns: numericOrNull(stats?.max_turns),
204
+ envelopeBudgetUsd: EVENING_REVIEW_ENVELOPE_BUDGET_USD,
205
+ envelopeMaxTurns: EVENING_REVIEW_ENVELOPE_MAX_TURNS,
206
+ };
207
+ if (n === 0) {
208
+ return {
209
+ id: "evening_review_token_envelope",
210
+ label: "evening_review session envelope",
211
+ status: "warn",
212
+ detail: `No successful evening_review runs in the last ${opts.windowDays} day(s).`,
213
+ hint: "Either the routine has not fired yet, has been disabled, or is failing " +
214
+ "before completion. Check 'aitne audit --type routine.evening_review " +
215
+ "--since 30d --detail'.",
216
+ data,
217
+ };
218
+ }
219
+ // `stats` is non-null because n > 0 above; SQLite returned at least
220
+ // one row. `roundCost` always returns a number (so `avgCostUsd` has
221
+ // no nullable branch); `avgNumTurns` can be null when every row in
222
+ // the window had a NULL `num_turns`, in which case "no rows hit the
223
+ // cap" is the correct conservative reading.
224
+ const costNearCap = data.avgCostUsd >= EVENING_REVIEW_ENVELOPE_BUDGET_USD * ENVELOPE_DANGER_FRACTION;
225
+ const turnsNearCap = data.avgNumTurns !== null &&
226
+ data.avgNumTurns >= EVENING_REVIEW_ENVELOPE_MAX_TURNS * ENVELOPE_DANGER_FRACTION;
227
+ if (costNearCap || turnsNearCap) {
228
+ const flags = [
229
+ costNearCap
230
+ ? `avg cost $${data.avgCostUsd} ≥ ${ENVELOPE_DANGER_FRACTION * 100}% of $${EVENING_REVIEW_ENVELOPE_BUDGET_USD} cap`
231
+ : null,
232
+ turnsNearCap
233
+ ? `avg turns ${data.avgNumTurns} ≥ ${ENVELOPE_DANGER_FRACTION * 100}% of ${EVENING_REVIEW_ENVELOPE_MAX_TURNS} cap`
234
+ : null,
235
+ ].filter(Boolean);
236
+ return {
237
+ id: "evening_review_token_envelope",
238
+ label: "evening_review session envelope",
239
+ status: "warn",
240
+ detail: `${n} session(s) — ${flags.join("; ")}. Slim shape may not be in effect.`,
241
+ hint: "Compare against 'aitne audit --type routine.evening_review --since 30d " +
242
+ "--detail' to look for slow drift. The slimmer post-PR2 prompt should sit " +
243
+ "well below half the envelope; sustained values near it suggest a " +
244
+ "prompt regression or the legacy four-step shape still applying.",
245
+ data,
246
+ };
247
+ }
248
+ return {
249
+ id: "evening_review_token_envelope",
250
+ label: "evening_review session envelope",
251
+ status: "pass",
252
+ detail: `${n} session(s) — avg input ${formatTokens(data.avgInputTokens)} / ` +
253
+ `output ${formatTokens(data.avgOutputTokens)} / cost $${data.avgCostUsd} ` +
254
+ // avgNumTurns can be null when every row in the window has a
255
+ // NULL num_turns (e.g. legacy audit rows from before the column
256
+ // was wired). Both branches are exercised by the token-envelope
257
+ // tests.
258
+ `/ ${data.avgNumTurns ?? "—"} turn(s). Within envelope.`,
259
+ data,
260
+ };
261
+ }
262
+ export function checkConditionalNotifyLoad(opts) {
263
+ const rulebookPath = join(opts.contextDir, CONTEXT_RELATIVE_PATHS.routines.evening);
264
+ // EVENT_SKILL_SETS always carries this key — see skills-manifest.ts.
265
+ // The `?? []` is defensive against a future deletion landing in the
266
+ // manifest map; the verify report would still produce a coherent
267
+ // (empty-manifest) row instead of crashing.
268
+ /* c8 ignore next */
269
+ const baseManifest = EVENT_SKILL_SETS["routine.evening_review"] ?? [];
270
+ const resolvedManifest = opts.rulebook.predicateActive
271
+ ? [...baseManifest]
272
+ : baseManifest.filter((s) => s !== "notify");
273
+ const data = {
274
+ contextDir: opts.contextDir,
275
+ rulebookPath,
276
+ rulebookState: opts.rulebook.state,
277
+ rulebookHeadingCount: opts.rulebook.headingCount,
278
+ predicateActive: opts.rulebook.predicateActive,
279
+ expectedSkillCount: resolvedManifest.length,
280
+ resolvedManifest,
281
+ };
282
+ if (opts.rulebook.state === "unreadable") {
283
+ const hint = looksLikeIcloudPath(rulebookPath)
284
+ ? "The vault sits under iCloud Drive — the CLI usually lacks macOS Full " +
285
+ "Disk Access while the daemon (launched via the agent lifecycle) does " +
286
+ "have it. Grant Terminal/iTerm Full Disk Access in System Settings → " +
287
+ "Privacy & Security to let 'aitne verify' inspect the rulebook " +
288
+ "independently. The daemon's runtime predicate is unaffected."
289
+ : "The CLI cannot read the rulebook to mirror the daemon's predicate. The " +
290
+ "daemon may still be reading it correctly. Try 'cat <path>' from this " +
291
+ "shell — if that also fails, fix permissions; otherwise the CLI's " +
292
+ "sandbox simply differs from the daemon's.";
293
+ return {
294
+ id: "conditional_notify_load",
295
+ label: "Conditional notify load (resolveSkillManifest)",
296
+ status: "warn",
297
+ detail: `Rulebook ${rulebookPath} exists but is unreadable to this process — ` +
298
+ `predicate result indeterminate (cannot mirror eveningRulebookIsActive).`,
299
+ hint,
300
+ data,
301
+ };
302
+ }
303
+ return {
304
+ id: "conditional_notify_load",
305
+ label: "Conditional notify load (resolveSkillManifest)",
306
+ status: "pass",
307
+ detail: `Rulebook ${opts.rulebook.state} → ` +
308
+ `${opts.rulebook.predicateActive ? "keep" : "drop"} notify → ` +
309
+ `${resolvedManifest.length}-skill manifest (${resolvedManifest.join(", ")}).`,
310
+ data,
311
+ };
312
+ }
313
+ export function checkNotifyInvocations30d(db, opts) {
314
+ const windowDays = Math.max(1, Math.min(30, opts.installAgeDays));
315
+ const sessions = db
316
+ .prepare(`SELECT a.id, a.started_at, a.completed_at,
317
+ (
318
+ SELECT COUNT(*) FROM notification_log n
319
+ WHERE n.created_at >= a.started_at
320
+ AND n.created_at <= COALESCE(a.completed_at, datetime(a.started_at, '+30 minutes'))
321
+ ) AS notify_count
322
+ FROM agent_actions a
323
+ WHERE a.action_type = 'routine.evening_review'
324
+ AND a.started_at >= datetime('now', ?)
325
+ ORDER BY a.started_at DESC`)
326
+ .all(`-${windowDays} days`);
327
+ const sessionsWithNotify = sessions.filter((s) => Number(s.notify_count) > 0);
328
+ const totalNotifies = sessionsWithNotify.reduce(
329
+ // notify_count is always a non-null integer from SQLite COUNT(*);
330
+ // the `|| 0` is TS-narrowing belt-and-braces.
331
+ /* c8 ignore next */
332
+ (acc, s) => acc + Number(s.notify_count || 0), 0);
333
+ const data = {
334
+ windowDays,
335
+ sessions: sessions.length,
336
+ sessionsWithNotify: sessionsWithNotify.length,
337
+ totalNotifies,
338
+ rulebookActive: opts.rulebookActive,
339
+ samples: sessionsWithNotify.slice(0, 5).map((s) => ({
340
+ id: s.id,
341
+ startedAt: s.started_at,
342
+ completedAt: s.completed_at,
343
+ notifyCount: Number(s.notify_count),
344
+ })),
345
+ };
346
+ if (sessions.length === 0) {
347
+ return {
348
+ id: "notify_invocations_30d",
349
+ label: "30-day notify invocation sample",
350
+ status: "warn",
351
+ detail: `No evening_review sessions in the last ${windowDays} day(s) — nothing to sample.`,
352
+ hint: "Either the routine has not fired yet on this install or the cron is " +
353
+ "blocked. Check 'aitne audit --type routine.evening_review --since 30d'.",
354
+ data,
355
+ };
356
+ }
357
+ if (totalNotifies === 0) {
358
+ return {
359
+ id: "notify_invocations_30d",
360
+ label: "30-day notify invocation sample",
361
+ status: "pass",
362
+ detail: `${sessions.length} session(s) inspected, 0 notify calls. ` +
363
+ (opts.rulebookActive === true
364
+ ? "Rulebook is active — zero is the lower bound (rules may not have triggered)."
365
+ : opts.rulebookActive === false
366
+ ? "Rulebook inactive — zero matches the silent-by-default contract."
367
+ : "Rulebook state indeterminate — zero is consistent with both branches."),
368
+ data,
369
+ };
370
+ }
371
+ if (opts.rulebookActive === null) {
372
+ return {
373
+ id: "notify_invocations_30d",
374
+ label: "30-day notify invocation sample",
375
+ status: "warn",
376
+ detail: `${sessionsWithNotify.length}/${sessions.length} session(s) emitted ` +
377
+ `${totalNotifies} notify call(s). Rulebook state indeterminate — ` +
378
+ `cannot judge whether intent matches.`,
379
+ hint: "Resolve the conditional_notify_load warning first (grant access to the " +
380
+ "rulebook), then re-run 'aitne verify'. The notify counts above are correct; " +
381
+ "only their interpretation is gated on the rulebook predicate.",
382
+ data,
383
+ };
384
+ }
385
+ if (opts.rulebookActive) {
386
+ return {
387
+ id: "notify_invocations_30d",
388
+ label: "30-day notify invocation sample",
389
+ status: "pass",
390
+ detail: `${sessionsWithNotify.length}/${sessions.length} session(s) emitted ` +
391
+ `${totalNotifies} notify call(s). Rulebook is active — explicit notify ` +
392
+ `intent is legitimate.`,
393
+ data,
394
+ };
395
+ }
396
+ return {
397
+ id: "notify_invocations_30d",
398
+ label: "30-day notify invocation sample",
399
+ status: "warn",
400
+ detail: `${sessionsWithNotify.length}/${sessions.length} session(s) emitted ` +
401
+ `${totalNotifies} notify call(s) — but the rulebook is inactive. ` +
402
+ `Built-in steps should be silent.`,
403
+ hint: "Inspect the offending sessions: 'aitne audit --type routine.evening_review " +
404
+ "--since 30d --detail' and cross-reference notification_log timestamps. " +
405
+ "Likely cause: the prompt regressed and reintroduced a Step-4-style " +
406
+ "user-facing wrap-up.",
407
+ data,
408
+ };
409
+ }
410
+ // ─────────────────────────────────────────────────────────────────────────
411
+ // Helpers
412
+ // ─────────────────────────────────────────────────────────────────────────
413
+ /**
414
+ * Pre-read inspection of `routines/evening.md` that surfaces detail the
415
+ * boolean predicate doesn't expose (heading count, indeterminate state).
416
+ *
417
+ * The daemon's predicate (`eveningRulebookIsActive`) is canonical and
418
+ * the caller overlays its boolean answer on top of this inspection's
419
+ * state — see `runEveningReviewSlimdownChecks`. The split exists because
420
+ * the predicate intentionally collapses unreadable / absent / empty
421
+ * into a single `false`, which is the right runtime answer but loses
422
+ * the diagnostic detail the verify report needs.
423
+ */
424
+ export function inspectRulebook(contextDir) {
425
+ const rulebookPath = join(contextDir, CONTEXT_RELATIVE_PATHS.routines.evening);
426
+ if (!existsSync(rulebookPath)) {
427
+ return { state: "absent", predicateActive: false, headingCount: 0 };
428
+ }
429
+ let body;
430
+ try {
431
+ body = readFileSync(rulebookPath, "utf-8");
432
+ }
433
+ catch {
434
+ // The daemon predicate also returns false on unreadable; we mark
435
+ // `null` to let the verify renderer surface "indeterminate" rather
436
+ // than implying the predicate decided "inactive".
437
+ return { state: "unreadable", predicateActive: null, headingCount: 0 };
438
+ }
439
+ if (body.trim().length === 0) {
440
+ return { state: "empty", predicateActive: false, headingCount: 0 };
441
+ }
442
+ if (!/^###\s+/m.test(body)) {
443
+ return { state: "no_headings", predicateActive: false, headingCount: 0 };
444
+ }
445
+ // The `?? []` cannot fire — we guarded with a `^###\s+` test above,
446
+ // so `match()` returns at least one capture. Defensive only.
447
+ /* c8 ignore next */
448
+ const headings = (body.match(/^###\s+.+$/gm) ?? []).length;
449
+ return { state: "active", predicateActive: true, headingCount: headings };
450
+ }
451
+ /**
452
+ * Best-effort install age proxy: the oldest agent_actions row.
453
+ *
454
+ * Returns the floor in agent-days, capped at 365 so a long-running
455
+ * install doesn't widen the verification window past Phase 4's intent.
456
+ * Returns 1 when the table is empty (a fresh install has no history;
457
+ * clamping prevents "0-day window" arithmetic downstream) — that 1
458
+ * also drives the fresh-install softening in the cron-freshness check.
459
+ */
460
+ export function readInstallAgeDays(db) {
461
+ const row = db
462
+ .prepare(`SELECT julianday('now') - julianday(MIN(started_at)) AS age_days
463
+ FROM agent_actions`)
464
+ .get();
465
+ const age = Number(row?.age_days);
466
+ if (!Number.isFinite(age) || age < 1)
467
+ return 1;
468
+ return Math.min(365, Math.floor(age) + 1);
469
+ }
470
+ /**
471
+ * Returns YYYY-MM-DD strings from `now - windowDays + 1` up to `now` in
472
+ * the host's local timezone. Used to enumerate which agent-days the
473
+ * cron freshness check expects a row for.
474
+ */
475
+ export function expectedDaySet(now, windowDays) {
476
+ const out = [];
477
+ for (let i = windowDays - 1; i >= 0; i--) {
478
+ const d = new Date(now.getFullYear(), now.getMonth(), now.getDate() - i);
479
+ out.push(formatYmd(d));
480
+ }
481
+ return out;
482
+ }
483
+ function formatYmd(date) {
484
+ const y = date.getFullYear();
485
+ const m = String(date.getMonth() + 1).padStart(2, "0");
486
+ const d = String(date.getDate()).padStart(2, "0");
487
+ return `${y}-${m}-${d}`;
488
+ }
489
+ function roundOrNull(value) {
490
+ // Distinguish "SQL AVG returned NULL because all input rows had NULL"
491
+ // from "SQL AVG returned 0 because every row was 0" — both are valid
492
+ // states the verify report needs to surface differently.
493
+ if (value === null || value === undefined)
494
+ return null;
495
+ const n = Number(value);
496
+ // SQLite always returns numbers for these aggregates; the !isFinite
497
+ // guard is defensive against a future call site passing a string.
498
+ /* c8 ignore next */
499
+ if (!Number.isFinite(n))
500
+ return null;
501
+ return Math.round(n);
502
+ }
503
+ function numericOrNull(value) {
504
+ if (value === null || value === undefined)
505
+ return null;
506
+ const n = Number(value);
507
+ /* c8 ignore next */
508
+ if (!Number.isFinite(n))
509
+ return null;
510
+ return n;
511
+ }
512
+ function roundCost(value) {
513
+ const n = Number(value);
514
+ // Number(null/undefined) → 0 / NaN, both handled by the same guard
515
+ // below. Reachability tested via the n=0 path; the genuine NaN
516
+ // branch is defensive.
517
+ /* c8 ignore next */
518
+ if (!Number.isFinite(n))
519
+ return 0;
520
+ return Math.round(n * 1000) / 1000;
521
+ }
522
+ function formatTokens(value) {
523
+ if (value == null)
524
+ return "—";
525
+ if (value >= 1000)
526
+ return `${(value / 1000).toFixed(1)}k`;
527
+ return String(value);
528
+ }
529
+ /**
530
+ * iCloud-Drive Obsidian vaults live under
531
+ * `~/Library/Mobile Documents/iCloud~md~obsidian/Documents/...` and are
532
+ * gated by macOS Full Disk Access. The daemon (launched via the agent
533
+ * lifecycle) typically inherits the grant; the CLI invoked from a fresh
534
+ * Terminal session does not. The hint distinguishes that from a true
535
+ * permission failure so the operator knows where to look first.
536
+ */
537
+ function looksLikeIcloudPath(p) {
538
+ return /\/Library\/Mobile Documents\/iCloud~/.test(p);
539
+ }
540
+ /**
541
+ * Resolve the context directory the same way the daemon's
542
+ * `getContextDir(config, db)` does, but reading from the raw `settings`
543
+ * table so the CLI doesn't need to construct a full AgentConfig.
544
+ *
545
+ * The three-branch contract mirrors `config.ts:getContextDir` exactly:
546
+ *
547
+ * 1. plain mode → `<dataDir>/context`
548
+ * 2. obsidian mode + configured `primaryVaultPath` + NOT degraded → the
549
+ * configured vault path
550
+ * 3. obsidian mode + degraded (vault currently unreachable) → fall
551
+ * back to `<dataDir>/context`, matching what the daemon's runtime
552
+ * actually reads from while degraded
553
+ *
554
+ * Without (3) the verify CLI would evaluate the rulebook predicate
555
+ * against an unreadable vault path while the daemon evaluates it against
556
+ * the fallback — silently inverting the §3.5 cross-backend parity claim
557
+ * during exactly the time a verify report is most likely to be run
558
+ * (operator investigating why the agent is acting strangely).
559
+ *
560
+ * Settings values are JSON-encoded in the `settings` table. Corrupt /
561
+ * unparseable JSON is treated as "not configured" rather than throwing —
562
+ * a verify report should never fail because a single setting row is
563
+ * malformed; the daemon's `parseJsonOrDefault` has the same posture.
564
+ *
565
+ * Tilde-expansion (`~/Foo`) of `primaryVaultPath` matches
566
+ * `normalizeRuntimeSettings` in `config.ts`. In practice the setup
567
+ * wizard stores absolute paths, but this defends against a manually-set
568
+ * value in the settings table (and against any future writer that
569
+ * forgets to expand).
570
+ */
571
+ export function resolveContextDirFromDb(db, dataDir) {
572
+ const get = (key) => {
573
+ try {
574
+ const row = db
575
+ .prepare("SELECT value_json FROM settings WHERE key = ?")
576
+ .get(key);
577
+ if (!row?.value_json)
578
+ return null;
579
+ return JSON.parse(row.value_json);
580
+ }
581
+ catch {
582
+ return null;
583
+ }
584
+ };
585
+ const vaultMode = get("vaultMode");
586
+ const rawPrimaryVaultPath = get("primaryVaultPath");
587
+ const primaryVaultPath = typeof rawPrimaryVaultPath === "string" && rawPrimaryVaultPath.length > 0
588
+ ? expandTilde(rawPrimaryVaultPath)
589
+ : null;
590
+ if (vaultMode === "obsidian" &&
591
+ primaryVaultPath !== null &&
592
+ !isDegradedFromDb(db)) {
593
+ return primaryVaultPath;
594
+ }
595
+ return join(dataDir, "context");
596
+ }
597
+ function expandTilde(p) {
598
+ if (p.startsWith("~/") || p.startsWith("~\\")) {
599
+ return resolve(homedir(), p.slice(2));
600
+ }
601
+ return p;
602
+ }
603
+ /**
604
+ * Mirror of `isDegraded(db)` from `db/runtime-state.ts`, inlined so the
605
+ * CLI doesn't need to import the full runtime-state module (which pulls
606
+ * in the daemon's logger). Same key, same shape: a non-null
607
+ * `runtime_state.value_json` for the degraded marker means degraded.
608
+ */
609
+ function isDegradedFromDb(db) {
610
+ try {
611
+ const row = db
612
+ .prepare("SELECT value_json FROM runtime_state WHERE key = ?")
613
+ .get("management_mode.degraded");
614
+ if (!row?.value_json)
615
+ return false;
616
+ // Treat any parse error as "not degraded" — same posture as
617
+ // readRuntimeState's corrupt-row fallback in runtime-state.ts. The
618
+ // verify report should not crash because the degraded marker is
619
+ // malformed; the worst case is identical to "no degraded marker".
620
+ try {
621
+ return JSON.parse(row.value_json) !== null;
622
+ }
623
+ catch {
624
+ return false;
625
+ }
626
+ // Outer guard against a DB error on the runtime_state SELECT — the
627
+ // table is created by applySchema before this CLI ever runs, so the
628
+ // realistic reach paths (DB locked mid-shutdown, file corruption)
629
+ // are out of scope for the verify report. Same posture as the
630
+ // surrounding helper's defensive catches.
631
+ /* c8 ignore next 3 */
632
+ }
633
+ catch {
634
+ return false;
635
+ }
636
+ }
637
+ //# sourceMappingURL=evening-review-verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evening-review-verify.js","sourceRoot":"","sources":["../../src/core/evening-review-verify.ts"],"names":[],"mappings":"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"}