@aitne/daemon 0.1.3 → 0.1.6

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 (421) hide show
  1. package/dist/adapters/notification-manager.d.ts +12 -0
  2. package/dist/adapters/notification-manager.d.ts.map +1 -1
  3. package/dist/adapters/notification-manager.js +39 -1
  4. package/dist/adapters/notification-manager.js.map +1 -1
  5. package/dist/adapters/whatsapp-adapter.d.ts.map +1 -1
  6. package/dist/adapters/whatsapp-adapter.js +0 -1
  7. package/dist/adapters/whatsapp-adapter.js.map +1 -1
  8. package/dist/api/integration-route-gate.d.ts +15 -11
  9. package/dist/api/integration-route-gate.d.ts.map +1 -1
  10. package/dist/api/integration-route-gate.js +60 -23
  11. package/dist/api/integration-route-gate.js.map +1 -1
  12. package/dist/api/json-body.d.ts +22 -7
  13. package/dist/api/json-body.d.ts.map +1 -1
  14. package/dist/api/json-body.js +27 -8
  15. package/dist/api/json-body.js.map +1 -1
  16. package/dist/api/routes/agent.d.ts.map +1 -1
  17. package/dist/api/routes/agent.js +25 -0
  18. package/dist/api/routes/agent.js.map +1 -1
  19. package/dist/api/routes/backends.d.ts.map +1 -1
  20. package/dist/api/routes/backends.js +96 -1
  21. package/dist/api/routes/backends.js.map +1 -1
  22. package/dist/api/routes/books.js +1 -1
  23. package/dist/api/routes/books.js.map +1 -1
  24. package/dist/api/routes/commands.d.ts.map +1 -1
  25. package/dist/api/routes/commands.js +16 -13
  26. package/dist/api/routes/commands.js.map +1 -1
  27. package/dist/api/routes/context.d.ts.map +1 -1
  28. package/dist/api/routes/context.js +26 -3
  29. package/dist/api/routes/context.js.map +1 -1
  30. package/dist/api/routes/dashboard.d.ts.map +1 -1
  31. package/dist/api/routes/dashboard.js +103 -5
  32. package/dist/api/routes/dashboard.js.map +1 -1
  33. package/dist/api/routes/fs.d.ts +23 -0
  34. package/dist/api/routes/fs.d.ts.map +1 -0
  35. package/dist/api/routes/fs.js +156 -0
  36. package/dist/api/routes/fs.js.map +1 -0
  37. package/dist/api/routes/fs.logic.d.ts +62 -0
  38. package/dist/api/routes/fs.logic.d.ts.map +1 -0
  39. package/dist/api/routes/fs.logic.js +137 -0
  40. package/dist/api/routes/fs.logic.js.map +1 -0
  41. package/dist/api/routes/github.d.ts.map +1 -1
  42. package/dist/api/routes/github.js +38 -5
  43. package/dist/api/routes/github.js.map +1 -1
  44. package/dist/api/routes/health.d.ts.map +1 -1
  45. package/dist/api/routes/health.js +4 -2
  46. package/dist/api/routes/health.js.map +1 -1
  47. package/dist/api/routes/integrations.d.ts +35 -6
  48. package/dist/api/routes/integrations.d.ts.map +1 -1
  49. package/dist/api/routes/integrations.js +192 -15
  50. package/dist/api/routes/integrations.js.map +1 -1
  51. package/dist/api/routes/mail.d.ts.map +1 -1
  52. package/dist/api/routes/mail.js +112 -46
  53. package/dist/api/routes/mail.js.map +1 -1
  54. package/dist/api/routes/metrics.d.ts +1 -0
  55. package/dist/api/routes/metrics.d.ts.map +1 -1
  56. package/dist/api/routes/metrics.js +24 -0
  57. package/dist/api/routes/metrics.js.map +1 -1
  58. package/dist/api/routes/observations.d.ts.map +1 -1
  59. package/dist/api/routes/observations.js +696 -30
  60. package/dist/api/routes/observations.js.map +1 -1
  61. package/dist/api/routes/setup-migrate.d.ts +9 -1
  62. package/dist/api/routes/setup-migrate.d.ts.map +1 -1
  63. package/dist/api/routes/setup-migrate.js +4 -2
  64. package/dist/api/routes/setup-migrate.js.map +1 -1
  65. package/dist/api/routes/skills.d.ts +9 -1
  66. package/dist/api/routes/skills.d.ts.map +1 -1
  67. package/dist/api/routes/skills.js +77 -17
  68. package/dist/api/routes/skills.js.map +1 -1
  69. package/dist/api/routes/voice.d.ts.map +1 -1
  70. package/dist/api/routes/voice.js +62 -4
  71. package/dist/api/routes/voice.js.map +1 -1
  72. package/dist/api/routes/wiki.d.ts +4 -0
  73. package/dist/api/routes/wiki.d.ts.map +1 -0
  74. package/dist/api/routes/wiki.js +1075 -0
  75. package/dist/api/routes/wiki.js.map +1 -0
  76. package/dist/api/server.d.ts +13 -0
  77. package/dist/api/server.d.ts.map +1 -1
  78. package/dist/api/server.js +27 -1
  79. package/dist/api/server.js.map +1 -1
  80. package/dist/bootstrap/adapters.d.ts +109 -0
  81. package/dist/bootstrap/adapters.d.ts.map +1 -0
  82. package/dist/bootstrap/adapters.js +237 -0
  83. package/dist/bootstrap/adapters.js.map +1 -0
  84. package/dist/bootstrap/catchup.d.ts +23 -0
  85. package/dist/bootstrap/catchup.d.ts.map +1 -0
  86. package/dist/bootstrap/catchup.js +124 -0
  87. package/dist/bootstrap/catchup.js.map +1 -0
  88. package/dist/bootstrap/schedule-helpers.d.ts +18 -0
  89. package/dist/bootstrap/schedule-helpers.d.ts.map +1 -0
  90. package/dist/bootstrap/schedule-helpers.js +96 -0
  91. package/dist/bootstrap/schedule-helpers.js.map +1 -0
  92. package/dist/bootstrap/services.d.ts +60 -0
  93. package/dist/bootstrap/services.d.ts.map +1 -0
  94. package/dist/bootstrap/services.js +209 -0
  95. package/dist/bootstrap/services.js.map +1 -0
  96. package/dist/config.d.ts.map +1 -1
  97. package/dist/config.js +26 -0
  98. package/dist/config.js.map +1 -1
  99. package/dist/core/agent-core.d.ts +25 -0
  100. package/dist/core/agent-core.d.ts.map +1 -1
  101. package/dist/core/agent-core.js.map +1 -1
  102. package/dist/core/backends/backend-router.d.ts +28 -1
  103. package/dist/core/backends/backend-router.d.ts.map +1 -1
  104. package/dist/core/backends/backend-router.js +58 -4
  105. package/dist/core/backends/backend-router.js.map +1 -1
  106. package/dist/core/backends/claude-auth.d.ts +70 -0
  107. package/dist/core/backends/claude-auth.d.ts.map +1 -0
  108. package/dist/core/backends/claude-auth.js +198 -0
  109. package/dist/core/backends/claude-auth.js.map +1 -0
  110. package/dist/core/backends/claude-code-core.d.ts +47 -119
  111. package/dist/core/backends/claude-code-core.d.ts.map +1 -1
  112. package/dist/core/backends/claude-code-core.js +166 -1561
  113. package/dist/core/backends/claude-code-core.js.map +1 -1
  114. package/dist/core/backends/claude-delegated.d.ts +86 -0
  115. package/dist/core/backends/claude-delegated.d.ts.map +1 -0
  116. package/dist/core/backends/claude-delegated.js +801 -0
  117. package/dist/core/backends/claude-delegated.js.map +1 -0
  118. package/dist/core/backends/claude-errors.d.ts +39 -0
  119. package/dist/core/backends/claude-errors.d.ts.map +1 -0
  120. package/dist/core/backends/claude-errors.js +71 -0
  121. package/dist/core/backends/claude-errors.js.map +1 -0
  122. package/dist/core/backends/claude-probe.d.ts +103 -0
  123. package/dist/core/backends/claude-probe.d.ts.map +1 -0
  124. package/dist/core/backends/claude-probe.js +336 -0
  125. package/dist/core/backends/claude-probe.js.map +1 -0
  126. package/dist/core/backends/claude-tool-collection.d.ts +135 -0
  127. package/dist/core/backends/claude-tool-collection.d.ts.map +1 -0
  128. package/dist/core/backends/claude-tool-collection.js +1093 -0
  129. package/dist/core/backends/claude-tool-collection.js.map +1 -0
  130. package/dist/core/backends/codex-core.d.ts.map +1 -1
  131. package/dist/core/backends/codex-core.js +36 -0
  132. package/dist/core/backends/codex-core.js.map +1 -1
  133. package/dist/core/backends/gemini-cli-core.d.ts +45 -5
  134. package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
  135. package/dist/core/backends/gemini-cli-core.js +146 -36
  136. package/dist/core/backends/gemini-cli-core.js.map +1 -1
  137. package/dist/core/backends/plan-presets.d.ts +3 -1
  138. package/dist/core/backends/plan-presets.d.ts.map +1 -1
  139. package/dist/core/backends/plan-presets.js +42 -2
  140. package/dist/core/backends/plan-presets.js.map +1 -1
  141. package/dist/core/backends/prompt-utils.d.ts +1 -0
  142. package/dist/core/backends/prompt-utils.d.ts.map +1 -1
  143. package/dist/core/backends/prompt-utils.js +60 -3
  144. package/dist/core/backends/prompt-utils.js.map +1 -1
  145. package/dist/core/bang-commands/commands-help.d.ts +5 -0
  146. package/dist/core/bang-commands/commands-help.d.ts.map +1 -0
  147. package/dist/core/bang-commands/commands-help.js +69 -0
  148. package/dist/core/bang-commands/commands-help.js.map +1 -0
  149. package/dist/core/bang-commands/commands-wiki.d.ts +75 -0
  150. package/dist/core/bang-commands/commands-wiki.d.ts.map +1 -0
  151. package/dist/core/bang-commands/commands-wiki.js +574 -0
  152. package/dist/core/bang-commands/commands-wiki.js.map +1 -0
  153. package/dist/core/bang-commands/index.d.ts +4 -2
  154. package/dist/core/bang-commands/index.d.ts.map +1 -1
  155. package/dist/core/bang-commands/index.js +15 -1
  156. package/dist/core/bang-commands/index.js.map +1 -1
  157. package/dist/core/bang-commands/registry.d.ts +47 -4
  158. package/dist/core/bang-commands/registry.d.ts.map +1 -1
  159. package/dist/core/bang-commands/registry.js +85 -15
  160. package/dist/core/bang-commands/registry.js.map +1 -1
  161. package/dist/core/context-builder.d.ts +53 -12
  162. package/dist/core/context-builder.d.ts.map +1 -1
  163. package/dist/core/context-builder.js +240 -92
  164. package/dist/core/context-builder.js.map +1 -1
  165. package/dist/core/daemon-api-cli.d.ts.map +1 -1
  166. package/dist/core/daemon-api-cli.js +50 -2
  167. package/dist/core/daemon-api-cli.js.map +1 -1
  168. package/dist/core/dispatcher-date-utils.d.ts +49 -0
  169. package/dist/core/dispatcher-date-utils.d.ts.map +1 -0
  170. package/dist/core/dispatcher-date-utils.js +132 -0
  171. package/dist/core/dispatcher-date-utils.js.map +1 -0
  172. package/dist/core/dispatcher-error-handling.d.ts +159 -0
  173. package/dist/core/dispatcher-error-handling.d.ts.map +1 -0
  174. package/dist/core/dispatcher-error-handling.js +393 -0
  175. package/dist/core/dispatcher-error-handling.js.map +1 -0
  176. package/dist/core/dispatcher-hourly-check.d.ts +150 -0
  177. package/dist/core/dispatcher-hourly-check.d.ts.map +1 -0
  178. package/dist/core/dispatcher-hourly-check.js +665 -0
  179. package/dist/core/dispatcher-hourly-check.js.map +1 -0
  180. package/dist/core/dispatcher-message-handler.d.ts +170 -0
  181. package/dist/core/dispatcher-message-handler.d.ts.map +1 -0
  182. package/dist/core/dispatcher-message-handler.js +1064 -0
  183. package/dist/core/dispatcher-message-handler.js.map +1 -0
  184. package/dist/core/dispatcher-morning-routine.d.ts +169 -0
  185. package/dist/core/dispatcher-morning-routine.d.ts.map +1 -0
  186. package/dist/core/dispatcher-morning-routine.js +449 -0
  187. package/dist/core/dispatcher-morning-routine.js.map +1 -0
  188. package/dist/core/dispatcher-prompt.d.ts +107 -0
  189. package/dist/core/dispatcher-prompt.d.ts.map +1 -0
  190. package/dist/core/dispatcher-prompt.js +227 -0
  191. package/dist/core/dispatcher-prompt.js.map +1 -0
  192. package/dist/core/dispatcher-repository-helpers.d.ts +39 -0
  193. package/dist/core/dispatcher-repository-helpers.d.ts.map +1 -0
  194. package/dist/core/dispatcher-repository-helpers.js +86 -0
  195. package/dist/core/dispatcher-repository-helpers.js.map +1 -0
  196. package/dist/core/dispatcher-result-processor.d.ts +168 -0
  197. package/dist/core/dispatcher-result-processor.d.ts.map +1 -0
  198. package/dist/core/dispatcher-result-processor.js +533 -0
  199. package/dist/core/dispatcher-result-processor.js.map +1 -0
  200. package/dist/core/dispatcher-scheduled-tasks.d.ts +406 -0
  201. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -0
  202. package/dist/core/dispatcher-scheduled-tasks.js +1032 -0
  203. package/dist/core/dispatcher-scheduled-tasks.js.map +1 -0
  204. package/dist/core/dispatcher-types.d.ts +411 -0
  205. package/dist/core/dispatcher-types.d.ts.map +1 -0
  206. package/dist/core/dispatcher-types.js +106 -0
  207. package/dist/core/dispatcher-types.js.map +1 -0
  208. package/dist/core/dispatcher.d.ts +122 -610
  209. package/dist/core/dispatcher.d.ts.map +1 -1
  210. package/dist/core/dispatcher.js +365 -3521
  211. package/dist/core/dispatcher.js.map +1 -1
  212. package/dist/core/integration-health.d.ts +18 -10
  213. package/dist/core/integration-health.d.ts.map +1 -1
  214. package/dist/core/integration-health.js +31 -1
  215. package/dist/core/integration-health.js.map +1 -1
  216. package/dist/core/integration-lifecycle.d.ts +65 -0
  217. package/dist/core/integration-lifecycle.d.ts.map +1 -1
  218. package/dist/core/integration-lifecycle.js +163 -14
  219. package/dist/core/integration-lifecycle.js.map +1 -1
  220. package/dist/core/integration-main-backend.d.ts +40 -0
  221. package/dist/core/integration-main-backend.d.ts.map +1 -1
  222. package/dist/core/integration-main-backend.js +89 -2
  223. package/dist/core/integration-main-backend.js.map +1 -1
  224. package/dist/core/management-md.d.ts +51 -17
  225. package/dist/core/management-md.d.ts.map +1 -1
  226. package/dist/core/management-md.js +233 -56
  227. package/dist/core/management-md.js.map +1 -1
  228. package/dist/core/metrics.d.ts +127 -0
  229. package/dist/core/metrics.d.ts.map +1 -1
  230. package/dist/core/metrics.js +256 -1
  231. package/dist/core/metrics.js.map +1 -1
  232. package/dist/core/output-language-policy.d.ts +74 -0
  233. package/dist/core/output-language-policy.d.ts.map +1 -0
  234. package/dist/core/output-language-policy.js +194 -0
  235. package/dist/core/output-language-policy.js.map +1 -0
  236. package/dist/core/prompts.d.ts +3 -1
  237. package/dist/core/prompts.d.ts.map +1 -1
  238. package/dist/core/prompts.js +161 -3
  239. package/dist/core/prompts.js.map +1 -1
  240. package/dist/core/repository-management-docs.d.ts +24 -0
  241. package/dist/core/repository-management-docs.d.ts.map +1 -1
  242. package/dist/core/repository-management-docs.js +210 -26
  243. package/dist/core/repository-management-docs.js.map +1 -1
  244. package/dist/core/roadmap-validate.js +13 -1
  245. package/dist/core/roadmap-validate.js.map +1 -1
  246. package/dist/core/routine-acquisition-plan.d.ts +182 -0
  247. package/dist/core/routine-acquisition-plan.d.ts.map +1 -0
  248. package/dist/core/routine-acquisition-plan.js +367 -0
  249. package/dist/core/routine-acquisition-plan.js.map +1 -0
  250. package/dist/core/routine-fetch-window-retry.d.ts +109 -0
  251. package/dist/core/routine-fetch-window-retry.d.ts.map +1 -0
  252. package/dist/core/routine-fetch-window-retry.js +210 -0
  253. package/dist/core/routine-fetch-window-retry.js.map +1 -0
  254. package/dist/core/routine-fetch-window-runner.d.ts +427 -0
  255. package/dist/core/routine-fetch-window-runner.d.ts.map +1 -0
  256. package/dist/core/routine-fetch-window-runner.js +1591 -0
  257. package/dist/core/routine-fetch-window-runner.js.map +1 -0
  258. package/dist/core/routine-windows.d.ts +171 -0
  259. package/dist/core/routine-windows.d.ts.map +1 -0
  260. package/dist/core/routine-windows.js +377 -0
  261. package/dist/core/routine-windows.js.map +1 -0
  262. package/dist/core/scheduler.d.ts +50 -2
  263. package/dist/core/scheduler.d.ts.map +1 -1
  264. package/dist/core/scheduler.js +88 -7
  265. package/dist/core/scheduler.js.map +1 -1
  266. package/dist/core/skill-curation/declarations.d.ts.map +1 -1
  267. package/dist/core/skill-curation/declarations.js +11 -12
  268. package/dist/core/skill-curation/declarations.js.map +1 -1
  269. package/dist/core/skill-source-paths.d.ts +14 -0
  270. package/dist/core/skill-source-paths.d.ts.map +1 -0
  271. package/dist/core/skill-source-paths.js +82 -0
  272. package/dist/core/skill-source-paths.js.map +1 -0
  273. package/dist/core/skills-compiler.d.ts +29 -0
  274. package/dist/core/skills-compiler.d.ts.map +1 -1
  275. package/dist/core/skills-compiler.js +166 -30
  276. package/dist/core/skills-compiler.js.map +1 -1
  277. package/dist/core/skills-manifest.d.ts.map +1 -1
  278. package/dist/core/skills-manifest.js +72 -0
  279. package/dist/core/skills-manifest.js.map +1 -1
  280. package/dist/core/system-reset.d.ts +25 -0
  281. package/dist/core/system-reset.d.ts.map +1 -1
  282. package/dist/core/system-reset.js +72 -2
  283. package/dist/core/system-reset.js.map +1 -1
  284. package/dist/core/wiki/approval-queue.d.ts +31 -0
  285. package/dist/core/wiki/approval-queue.d.ts.map +1 -0
  286. package/dist/core/wiki/approval-queue.js +44 -0
  287. package/dist/core/wiki/approval-queue.js.map +1 -0
  288. package/dist/core/wiki/bridge.d.ts +74 -0
  289. package/dist/core/wiki/bridge.d.ts.map +1 -0
  290. package/dist/core/wiki/bridge.js +405 -0
  291. package/dist/core/wiki/bridge.js.map +1 -0
  292. package/dist/core/wiki/compile-lock.d.ts +42 -0
  293. package/dist/core/wiki/compile-lock.d.ts.map +1 -0
  294. package/dist/core/wiki/compile-lock.js +55 -0
  295. package/dist/core/wiki/compile-lock.js.map +1 -0
  296. package/dist/core/wiki/compile-preview.d.ts +8 -0
  297. package/dist/core/wiki/compile-preview.d.ts.map +1 -0
  298. package/dist/core/wiki/compile-preview.js +200 -0
  299. package/dist/core/wiki/compile-preview.js.map +1 -0
  300. package/dist/core/wiki/cost-estimate.d.ts +30 -0
  301. package/dist/core/wiki/cost-estimate.d.ts.map +1 -0
  302. package/dist/core/wiki/cost-estimate.js +243 -0
  303. package/dist/core/wiki/cost-estimate.js.map +1 -0
  304. package/dist/core/wiki/dispatcher.d.ts +48 -0
  305. package/dist/core/wiki/dispatcher.d.ts.map +1 -0
  306. package/dist/core/wiki/dispatcher.js +92 -0
  307. package/dist/core/wiki/dispatcher.js.map +1 -0
  308. package/dist/core/wiki/git-precompile.d.ts +86 -0
  309. package/dist/core/wiki/git-precompile.d.ts.map +1 -0
  310. package/dist/core/wiki/git-precompile.js +96 -0
  311. package/dist/core/wiki/git-precompile.js.map +1 -0
  312. package/dist/core/wiki/import-migrate.d.ts +38 -0
  313. package/dist/core/wiki/import-migrate.d.ts.map +1 -0
  314. package/dist/core/wiki/import-migrate.js +310 -0
  315. package/dist/core/wiki/import-migrate.js.map +1 -0
  316. package/dist/core/wiki/import-probe.d.ts +76 -0
  317. package/dist/core/wiki/import-probe.d.ts.map +1 -0
  318. package/dist/core/wiki/import-probe.js +245 -0
  319. package/dist/core/wiki/import-probe.js.map +1 -0
  320. package/dist/core/wiki/index-cache.d.ts +39 -0
  321. package/dist/core/wiki/index-cache.d.ts.map +1 -0
  322. package/dist/core/wiki/index-cache.js +152 -0
  323. package/dist/core/wiki/index-cache.js.map +1 -0
  324. package/dist/core/wiki/multi-url-dispatch.d.ts +52 -0
  325. package/dist/core/wiki/multi-url-dispatch.d.ts.map +1 -0
  326. package/dist/core/wiki/multi-url-dispatch.js +72 -0
  327. package/dist/core/wiki/multi-url-dispatch.js.map +1 -0
  328. package/dist/core/wiki/wiki-fts.d.ts +75 -0
  329. package/dist/core/wiki/wiki-fts.d.ts.map +1 -0
  330. package/dist/core/wiki/wiki-fts.js +265 -0
  331. package/dist/core/wiki/wiki-fts.js.map +1 -0
  332. package/dist/core/wiki/workspaces.d.ts +101 -0
  333. package/dist/core/wiki/workspaces.d.ts.map +1 -0
  334. package/dist/core/wiki/workspaces.js +352 -0
  335. package/dist/core/wiki/workspaces.js.map +1 -0
  336. package/dist/core/wiki/write-strategy.d.ts +70 -0
  337. package/dist/core/wiki/write-strategy.d.ts.map +1 -0
  338. package/dist/core/wiki/write-strategy.js +112 -0
  339. package/dist/core/wiki/write-strategy.js.map +1 -0
  340. package/dist/core/workdir.d.ts +8 -1
  341. package/dist/core/workdir.d.ts.map +1 -1
  342. package/dist/core/workdir.js +4 -1
  343. package/dist/core/workdir.js.map +1 -1
  344. package/dist/db/observations.d.ts +45 -2
  345. package/dist/db/observations.d.ts.map +1 -1
  346. package/dist/db/observations.js +112 -14
  347. package/dist/db/observations.js.map +1 -1
  348. package/dist/db/schema.d.ts.map +1 -1
  349. package/dist/db/schema.js +135 -25
  350. package/dist/db/schema.js.map +1 -1
  351. package/dist/db/wiki-store.d.ts +3 -0
  352. package/dist/db/wiki-store.d.ts.map +1 -0
  353. package/dist/db/wiki-store.js +7 -0
  354. package/dist/db/wiki-store.js.map +1 -0
  355. package/dist/index.js +159 -610
  356. package/dist/index.js.map +1 -1
  357. package/dist/messaging/url-extract.d.ts +8 -0
  358. package/dist/messaging/url-extract.d.ts.map +1 -0
  359. package/dist/messaging/url-extract.js +41 -0
  360. package/dist/messaging/url-extract.js.map +1 -0
  361. package/dist/observers/delegated-sync-worker.d.ts +52 -1
  362. package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
  363. package/dist/observers/delegated-sync-worker.js +75 -18
  364. package/dist/observers/delegated-sync-worker.js.map +1 -1
  365. package/dist/observers/imminent-event-scheduler.d.ts +20 -7
  366. package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
  367. package/dist/observers/imminent-event-scheduler.js +134 -29
  368. package/dist/observers/imminent-event-scheduler.js.map +1 -1
  369. package/dist/observers/mail-poller.d.ts +12 -5
  370. package/dist/observers/mail-poller.d.ts.map +1 -1
  371. package/dist/observers/mail-poller.js +36 -14
  372. package/dist/observers/mail-poller.js.map +1 -1
  373. package/dist/observers/manager.d.ts +37 -5
  374. package/dist/observers/manager.d.ts.map +1 -1
  375. package/dist/observers/manager.js +28 -10
  376. package/dist/observers/manager.js.map +1 -1
  377. package/dist/safety/always-disallowed.d.ts +65 -0
  378. package/dist/safety/always-disallowed.d.ts.map +1 -1
  379. package/dist/safety/always-disallowed.js +106 -10
  380. package/dist/safety/always-disallowed.js.map +1 -1
  381. package/dist/safety/audit.d.ts +46 -1
  382. package/dist/safety/audit.d.ts.map +1 -1
  383. package/dist/safety/audit.js +79 -16
  384. package/dist/safety/audit.js.map +1 -1
  385. package/dist/safety/risk-classifier.d.ts.map +1 -1
  386. package/dist/safety/risk-classifier.js +29 -0
  387. package/dist/safety/risk-classifier.js.map +1 -1
  388. package/dist/services/delegated-backend-invoker.d.ts +1 -51
  389. package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
  390. package/dist/services/delegated-backend-invoker.js +41 -480
  391. package/dist/services/delegated-backend-invoker.js.map +1 -1
  392. package/dist/services/delegated-invoker-audit.d.ts +94 -0
  393. package/dist/services/delegated-invoker-audit.d.ts.map +1 -0
  394. package/dist/services/delegated-invoker-audit.js +238 -0
  395. package/dist/services/delegated-invoker-audit.js.map +1 -0
  396. package/dist/services/delegated-invoker-cache-hits.d.ts +34 -0
  397. package/dist/services/delegated-invoker-cache-hits.d.ts.map +1 -0
  398. package/dist/services/delegated-invoker-cache-hits.js +104 -0
  399. package/dist/services/delegated-invoker-cache-hits.js.map +1 -0
  400. package/dist/services/delegated-invoker-janitors.d.ts +28 -0
  401. package/dist/services/delegated-invoker-janitors.d.ts.map +1 -0
  402. package/dist/services/delegated-invoker-janitors.js +104 -0
  403. package/dist/services/delegated-invoker-janitors.js.map +1 -0
  404. package/dist/services/delegated-invoker-utils.d.ts +42 -0
  405. package/dist/services/delegated-invoker-utils.d.ts.map +1 -0
  406. package/dist/services/delegated-invoker-utils.js +100 -0
  407. package/dist/services/delegated-invoker-utils.js.map +1 -0
  408. package/dist/services/delegated-task-runtime.d.ts +1 -1
  409. package/dist/services/delegated-task-runtime.js +1 -1
  410. package/dist/services/integrations/snapshot-partitions.d.ts +5 -0
  411. package/dist/services/integrations/snapshot-partitions.d.ts.map +1 -1
  412. package/dist/services/integrations/snapshot-partitions.js +12 -0
  413. package/dist/services/integrations/snapshot-partitions.js.map +1 -1
  414. package/dist/services/voice/transcriber-impl.d.ts.map +1 -1
  415. package/dist/services/voice/transcriber-impl.js +7 -8
  416. package/dist/services/voice/transcriber-impl.js.map +1 -1
  417. package/dist/settings/runtime-settings.d.ts +12 -1
  418. package/dist/settings/runtime-settings.d.ts.map +1 -1
  419. package/dist/settings/runtime-settings.js +59 -1
  420. package/dist/settings/runtime-settings.js.map +1 -1
  421. package/package.json +2 -2
@@ -3,16 +3,20 @@
3
3
  *
4
4
  * Spec: docs/design/backlog/messaging-bang-commands.md
5
5
  */
6
- export { BangCommandRegistry, buildPausedNotice, buildUnknownCommandReply, makeNotify, tryHandle, } from "./registry.js";
6
+ export { BangCommandRegistry, BangArgError, buildPausedNotice, buildUnknownCommandReply, getBangCommandName, makeNotify, normalizeBangCommandText, tryHandle, } from "./registry.js";
7
7
  export { stopCommand, startCommand } from "./commands-stop-start.js";
8
8
  export { costAllCommand, costBackendCommands, formatCostAll, formatCostFiltered, } from "./commands-cost.js";
9
9
  export { reportCommand, formatReport } from "./commands-report.js";
10
+ export { helpCommand, formatHelp } from "./commands-help.js";
11
+ export { askCommand, connectCommand, compileCommand, lintCommand, parseConnectArgs, traceCommand, ingestCommand, wikiHelpCommand, wikiStatusCommand, } from "./commands-wiki.js";
10
12
  export { buildSystemMarker, ensureSystemMarker, formatLocalLong, formatLocalShort, formatMoney, MOBILE_REPLY_BUDGET, truncateForMobile, } from "./format-utils.js";
11
13
  export { CUSTOM_BANG_COMMAND_SOURCE, DEFAULT_USER_BANG_COMMAND_SKILLS, USER_BANG_COMMAND_NAME_PATTERN, buildUserBangCommandPrompt, createUserBangCommand, createUserBangCommandEvent, deleteUserBangCommand, getEnabledUserBangCommandByCommand, getUserBangCommandByCommand, getUserBangCommandById, listUserBangCommands, normalizeBangCommandName, parseEnabledSkills, resolveCommandSkillSlugs, serializeEnabledSkills, updateUserBangCommand, } from "./user-commands.js";
12
14
  import { BangCommandRegistry } from "./registry.js";
13
15
  import { startCommand, stopCommand } from "./commands-stop-start.js";
14
16
  import { costAllCommand, costBackendCommands, } from "./commands-cost.js";
15
17
  import { reportCommand } from "./commands-report.js";
18
+ import { helpCommand } from "./commands-help.js";
19
+ import { askCommand, connectCommand, compileCommand, lintCommand, traceCommand, ingestCommand, wikiHelpCommand, wikiStatusCommand, } from "./commands-wiki.js";
16
20
  /**
17
21
  * Build a registry preloaded with the v1 built-in commands. The registry
18
22
  * is mutable — callers can `.register(...)` more commands afterwards.
@@ -26,6 +30,16 @@ export function createDefaultBangCommandRegistry() {
26
30
  registry.register(cmd);
27
31
  }
28
32
  registry.register(reportCommand);
33
+ registry.register(helpCommand);
34
+ registry.register(wikiStatusCommand);
35
+ registry.register(wikiHelpCommand);
36
+ registry.register(ingestCommand);
37
+ registry.register(compileCommand);
38
+ registry.register(askCommand);
39
+ // WIKI_BUILDER_DESIGN.md Phase 3 — operational triad.
40
+ registry.register(lintCommand);
41
+ registry.register(traceCommand);
42
+ registry.register(connectCommand);
29
43
  return registry;
30
44
  }
31
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/bang-commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,kCAAkC,EAClC,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,cAAc,EACd,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,gCAAgC;IAC9C,MAAM,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/bang-commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,SAAS,GACV,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,kCAAkC,EAClC,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,cAAc,EACd,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,gCAAgC;IAC9C,MAAM,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * Spec: docs/design/backlog/messaging-bang-commands.md
7
7
  */
8
8
  import type Database from "better-sqlite3";
9
- import type { MessageEvent } from "@aitne/shared";
9
+ import type { Event, MessageEvent } from "@aitne/shared";
10
10
  import type { AgentConfig } from "../../config.js";
11
11
  import type { IAuditLogger } from "../dispatcher.js";
12
12
  import { type UserBangCommand } from "./user-commands.js";
@@ -24,6 +24,22 @@ export interface BangCommandContext {
24
24
  audit: IAuditLogger;
25
25
  registry: BangCommandRegistry;
26
26
  enqueueUserBangCommand?: (command: UserBangCommand, event: MessageEvent) => Promise<void>;
27
+ enqueueWikiEvent?: (event: Event) => Promise<void>;
28
+ /**
29
+ * Approval handoff for `!compile full` when the cost estimate exceeds
30
+ * the per-workspace threshold (WIKI_BUILDER_DESIGN.md §5.5). Inserts
31
+ * an `agent_schedule` row with `task_type='approval'`; the dashboard
32
+ * `/approvals` queue and DM approval bot consume from there. The
33
+ * registry passes the cost estimate + git pre-compile outcome through
34
+ * so the approval card can show the same numbers the bang DM did.
35
+ */
36
+ enqueueWikiApproval?: (input: {
37
+ workspace: string;
38
+ processKey: "wiki.compile";
39
+ sourceEvent: MessageEvent;
40
+ estimate: import("@aitne/shared").WikiCostEstimate;
41
+ gitOutcome: import("../wiki/git-precompile.js").GitPreCompilePreview | import("../wiki/git-precompile.js").GitPreCompileOutcome;
42
+ }) => Promise<void>;
27
43
  }
28
44
  export interface BangCommand {
29
45
  /** Exact-match key, including any positional argument variant. */
@@ -36,13 +52,40 @@ export interface BangCommand {
36
52
  details?: readonly string[];
37
53
  handler: (ctx: BangCommandContext) => Promise<void>;
38
54
  }
55
+ export declare class BangArgError extends Error {
56
+ constructor(message: string);
57
+ }
58
+ export interface BangPrefixCommand {
59
+ /** Prefix key. Matches exact prefix or prefix followed by ASCII space. */
60
+ prefix: string;
61
+ /** Human-facing title for dashboard/settings surfaces. */
62
+ title?: string;
63
+ /** Short description for the unknown-command help list. */
64
+ describe: string;
65
+ /** Longer dashboard-facing details. */
66
+ details?: readonly string[];
67
+ parseArgs?: (rest: string, ctx: BangCommandContext) => unknown | Promise<unknown>;
68
+ handler: (ctx: BangCommandContext, args: unknown) => Promise<void>;
69
+ }
70
+ export type RegisteredBangCommand = BangCommand | BangPrefixCommand;
71
+ export interface BangCommandMatch {
72
+ command: RegisteredBangCommand;
73
+ commandName: string;
74
+ rest: string;
75
+ kind: "exact" | "prefix";
76
+ }
39
77
  export declare class BangCommandRegistry {
40
78
  private readonly byName;
41
- register(cmd: BangCommand): void;
79
+ private readonly prefixes;
80
+ register(cmd: RegisteredBangCommand): void;
42
81
  /** Stable, registration-ordered list of registered commands. */
43
- list(): BangCommand[];
82
+ list(): RegisteredBangCommand[];
44
83
  match(text: string): BangCommand | undefined;
84
+ resolve(text: string): BangCommandMatch | undefined;
45
85
  }
86
+ export declare function normalizeBangCommandText(text: string): string;
87
+ export declare function normalizeBangCommandRestText(text: string): string;
88
+ export declare function getBangCommandName(cmd: RegisteredBangCommand): string;
46
89
  /**
47
90
  * Reply text for the §5.1 paused-decline path. Used when the user types any
48
91
  * DM (bang or non-bang) while the agent is paused.
@@ -52,7 +95,7 @@ export declare function buildPausedNotice(): string;
52
95
  * Reply for an unrecognised bang while NOT paused. Lists up to 6 known
53
96
  * commands so the user can recover without checking the docs.
54
97
  */
55
- export declare function buildUnknownCommandReply(commands: BangCommand[]): string;
98
+ export declare function buildUnknownCommandReply(commands: RegisteredBangCommand[]): string;
56
99
  /**
57
100
  * Build a `notify` wrapper that owns marker injection + mobile truncation.
58
101
  * Pure factory so the dispatcher can construct contexts without creating a
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/bang-commands/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAchC,gEAAgE;IAChE,IAAI,IAAI,WAAW,EAAE;IAIrB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAG7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAU1C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EAAE,GACtB,MAAM,CASR;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACxC,cAAc,EAAE,MAAM,GACrB,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAKjC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,mBAAmB,EAC7B,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;IACrD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,GACA,OAAO,CAAC,OAAO,CAAC,CA0GlB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/bang-commands/registry.ts"],"names":[],"mappings":"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"}
@@ -2,25 +2,70 @@ import { isDocsQAMessage } from "@aitne/shared";
2
2
  import { isUserPaused } from "../../db/runtime-state.js";
3
3
  import { CUSTOM_BANG_COMMAND_SOURCE, getEnabledUserBangCommandByCommand, listUserBangCommands, } from "./user-commands.js";
4
4
  import { ensureSystemMarker, buildSystemMarker, truncateForMobile, } from "./format-utils.js";
5
+ export class BangArgError extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = "BangArgError";
9
+ }
10
+ }
5
11
  export class BangCommandRegistry {
6
12
  byName = new Map();
13
+ prefixes = [];
7
14
  register(cmd) {
8
- if (cmd.name !== cmd.name.toLowerCase()) {
9
- throw new Error(`BangCommand.name must be lowercase: ${cmd.name}`);
15
+ const key = getBangCommandName(cmd);
16
+ if (key !== key.toLowerCase()) {
17
+ throw new Error(`BangCommand key must be lowercase: ${key}`);
18
+ }
19
+ if (!key.startsWith("!")) {
20
+ throw new Error(`BangCommand key must start with "!": ${key}`);
10
21
  }
11
- if (!cmd.name.startsWith("!")) {
12
- throw new Error(`BangCommand.name must start with "!": ${cmd.name}`);
22
+ if ("name" in cmd) {
23
+ this.byName.set(cmd.name, cmd);
24
+ }
25
+ else {
26
+ this.prefixes.push(cmd);
27
+ this.prefixes.sort((a, b) => b.prefix.length - a.prefix.length);
13
28
  }
14
- this.byName.set(cmd.name, cmd);
15
29
  }
16
30
  /** Stable, registration-ordered list of registered commands. */
17
31
  list() {
18
- return [...this.byName.values()];
32
+ return [...this.byName.values(), ...this.prefixes];
19
33
  }
20
34
  match(text) {
21
- return this.byName.get(text.trim().toLowerCase());
35
+ return this.byName.get(normalizeBangCommandText(text));
36
+ }
37
+ resolve(text) {
38
+ const compact = normalizeBangCommandRestText(text);
39
+ const normalized = compact.toLowerCase();
40
+ const exact = this.byName.get(normalized);
41
+ if (exact) {
42
+ return { command: exact, commandName: exact.name, rest: "", kind: "exact" };
43
+ }
44
+ for (const cmd of this.prefixes) {
45
+ if (normalized === cmd.prefix) {
46
+ return { command: cmd, commandName: cmd.prefix, rest: "", kind: "prefix" };
47
+ }
48
+ if (normalized.startsWith(`${cmd.prefix} `)) {
49
+ return {
50
+ command: cmd,
51
+ commandName: cmd.prefix,
52
+ rest: compact.slice(cmd.prefix.length + 1).trim(),
53
+ kind: "prefix",
54
+ };
55
+ }
56
+ }
57
+ return undefined;
22
58
  }
23
59
  }
60
+ export function normalizeBangCommandText(text) {
61
+ return normalizeBangCommandRestText(text).toLowerCase();
62
+ }
63
+ export function normalizeBangCommandRestText(text) {
64
+ return text.trim().replace(/[ \t\f\v]+/g, " ");
65
+ }
66
+ export function getBangCommandName(cmd) {
67
+ return "name" in cmd ? cmd.name : cmd.prefix;
68
+ }
24
69
  /**
25
70
  * Reply text for the §5.1 paused-decline path. Used when the user types any
26
71
  * DM (bang or non-bang) while the agent is paused.
@@ -46,7 +91,7 @@ export function buildUnknownCommandReply(commands) {
46
91
  "Unknown command. Try one of:",
47
92
  ];
48
93
  for (const cmd of commands.slice(0, 6)) {
49
- lines.push(`- ${cmd.name} — ${cmd.describe}`);
94
+ lines.push(`- ${getBangCommandName(cmd)} — ${cmd.describe}`);
50
95
  }
51
96
  return lines.join("\n");
52
97
  }
@@ -81,7 +126,7 @@ export async function tryHandle(registry, ctx) {
81
126
  if (isDocsQAMessage(event))
82
127
  return false;
83
128
  const text = event.content.trim();
84
- const lowered = text.toLowerCase();
129
+ const lowered = normalizeBangCommandText(text);
85
130
  const isBang = lowered.startsWith("!");
86
131
  const paused = isUserPaused(db);
87
132
  // §6.3 pause branch — runs BEFORE the bang-prefix check so ANY DM while
@@ -100,6 +145,8 @@ export async function tryHandle(registry, ctx) {
100
145
  audit,
101
146
  registry,
102
147
  enqueueUserBangCommand: ctx.enqueueUserBangCommand,
148
+ enqueueWikiEvent: ctx.enqueueWikiEvent,
149
+ enqueueWikiApproval: ctx.enqueueWikiApproval,
103
150
  });
104
151
  return true;
105
152
  }
@@ -127,11 +174,10 @@ export async function tryHandle(registry, ctx) {
127
174
  // `!stop ...` inside larger prose".
128
175
  if (text.includes("\n"))
129
176
  return false;
130
- const cmd = registry.match(lowered);
131
- if (cmd) {
132
- const notify = makeNotify(rawSend, buildSystemMarker(cmd.name));
133
- audit.logBangCommand(event, { command: cmd.name, status: "ok" });
134
- await cmd.handler({
177
+ const match = registry.resolve(text);
178
+ if (match) {
179
+ const notify = makeNotify(rawSend, buildSystemMarker(match.commandName));
180
+ const commandCtx = {
135
181
  event,
136
182
  db,
137
183
  config: ctx.config,
@@ -139,7 +185,31 @@ export async function tryHandle(registry, ctx) {
139
185
  audit,
140
186
  registry,
141
187
  enqueueUserBangCommand: ctx.enqueueUserBangCommand,
142
- });
188
+ enqueueWikiEvent: ctx.enqueueWikiEvent,
189
+ enqueueWikiApproval: ctx.enqueueWikiApproval,
190
+ };
191
+ try {
192
+ const args = match.kind === "prefix" && "prefix" in match.command
193
+ ? await match.command.parseArgs?.(match.rest, commandCtx)
194
+ : undefined;
195
+ audit.logBangCommand(event, { command: match.commandName, status: "ok" });
196
+ if ("name" in match.command) {
197
+ await match.command.handler(commandCtx);
198
+ }
199
+ else {
200
+ await match.command.handler(commandCtx, args);
201
+ }
202
+ }
203
+ catch (err) {
204
+ if (!(err instanceof BangArgError))
205
+ throw err;
206
+ audit.logBangCommand(event, {
207
+ command: match.commandName,
208
+ status: "invalid_args",
209
+ message: err.message,
210
+ });
211
+ await notify(err.message);
212
+ }
143
213
  return true;
144
214
  }
145
215
  const userCommand = getEnabledUserBangCommandByCommand(db, lowered);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/bang-commands/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/bang-commands/registry.ts"],"names":[],"mappings":"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"}
@@ -25,23 +25,64 @@ export declare class ContextBuilder implements IContextBuilder {
25
25
  */
26
26
  private computeCalendarWindow;
27
27
  /**
28
- * Build a `<calendar_events_…>` context block, honouring Google Calendar
29
- * integration mode:
28
+ * Build a `<calendar_events_…>` context block honouring every active
29
+ * calendar provider × mode cell.
30
30
  *
31
- * - **direct + service available** → embed the formatted event list (prior
32
- * behaviour).
33
- * - **delegated** the daemon has no local CalendarService to call. Emit
34
- * a structured directive telling the task-flow agent to fetch the same
35
- * window itself via its backend's Google Calendar MCP tool and treat the
36
- * response as the contents of this block.
37
- * - **direct but service broken / disabled** → emit the legacy
38
- * `<calendar_status>` unavailable line so the flow degrades gracefully.
31
+ * ROUTINE_DATA_ACQUISITION_DESIGN.md §6.6 the block wraps one
32
+ * `<provider key="…" mode="…">…</provider>` sub-block per active
33
+ * provider so the parent routine sees a uniform shape regardless of
34
+ * which provider(s) the operator has configured. Per-provider body:
35
+ *
36
+ * - **direct + matching service available** → inline formatted event
37
+ * list fetched by the daemon's `services.calendar` (Google today;
38
+ * Outlook gets the same path once a dedicated `services.outlookCalendar`
39
+ * lands — for now Outlook direct mode emits a service-unavailable
40
+ * note so the flow degrades gracefully).
41
+ * - **delegated** → a structured directive instructing the agent to
42
+ * call the relevant MCP tool (same-backend) or the daemon's
43
+ * `/api/integrations/<key>/exec` proxy (cross-backend). For
44
+ * `userManagedConnector` providers (Outlook today) the proxy
45
+ * branch is suppressed — same-backend and cross-backend collapse
46
+ * onto the session's MCP.
47
+ * - **native** → directive that points at the session backend's MCP
48
+ * only. No daemon proxy: native bindings never fall back to the
49
+ * daemon (R7 from the design doc).
50
+ * - **disabled** → provider sub-block omitted entirely.
51
+ *
52
+ * When no provider is active, emit the legacy
53
+ * `<calendar_status>not available</calendar_status>` so routine flows
54
+ * that branch on the unavailable marker keep working.
39
55
  *
40
56
  * All callers funnel through this method so the three surfaces
41
- * (morning / evening / weekly+monthly and the agent-task path) stay in
42
- * lock-step when delegated-mode handling changes.
57
+ * (morning / evening / weekly+monthly and the agent-task path) stay
58
+ * in lock-step when integration handling changes.
59
+ */
60
+ /**
61
+ * Build a `<calendar_events_*>` context block honouring every active
62
+ * provider's mode.
63
+ *
64
+ * `prepassCovers` — A8 / Finding 5. When `true`, the caller's
65
+ * `ROUTINE_WINDOWS` entry includes a calendar row, so the
66
+ * `routine.fetch_window` pre-pass has already POSTed events to
67
+ * `/api/observations` for every non-direct provider. Non-direct
68
+ * provider sub-blocks then emit a "read observations" hint instead
69
+ * of the legacy "fetch yourself" directive. Direct providers are
70
+ * unchanged — ContextBuilder still pre-fetches inline events via
71
+ * `services.calendar` (Google) and emits the fallback hint for
72
+ * Outlook (no daemon-side service yet). The flag has no effect on
73
+ * direct-mode sub-blocks. Default `false` for callers that don't
74
+ * have pre-pass coverage (today_refresh, weekly/monthly_review,
75
+ * roadmap_refresh).
43
76
  */
44
77
  private buildCalendarBlock;
78
+ /**
79
+ * Emit one provider sub-block for `buildCalendarBlock`. Returns null
80
+ * when the provider is disabled (or, for native mode, the binding
81
+ * does not apply to a meaningful path — the agent reads
82
+ * `<integration_modes>` to decide whether its session backend is the
83
+ * native one).
84
+ */
85
+ private buildCalendarProviderBlock;
45
86
  /**
46
87
  * Fetch calendar events for the next N days and format as markdown.
47
88
  * Groups events by date with day-of-week and Today/Tomorrow labels.
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../src/core/context-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,KAAK,EAEN,MAAM,eAAe,CAAC;AAiBvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAYhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAiBvE,qBAAa,cAAe,YAAW,eAAe;IAElD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,eAAe;IAG5C;;;;;;;OAOG;IACH,OAAO,KAAK,kBAAkB,GAK7B;IAEK,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAsa1C;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;;;;;;;;;;;;OAgBG;YACW,kBAAkB;IAkDhC;;;;OAIG;YACW,mBAAmB;IAsBjC,6CAA6C;IAC7C,OAAO,CAAC,oBAAoB;IAwD5B,4DAA4D;IAC5D,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;IAKvB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,0BAA0B;IAyBlC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,+BAA+B;IAsCvC,OAAO,CAAC,sBAAsB;IAkH9B,OAAO,CAAC,4BAA4B;IAmGpC,OAAO,CAAC,2BAA2B;YAuCrB,QAAQ;YAYR,0BAA0B;IAmDxC;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;YAsDtB,2BAA2B;IA+GzC;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CA8E/B"}
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../src/core/context-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,KAAK,EAEN,MAAM,eAAe,CAAC;AAkBvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAahD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAoBvE,qBAAa,cAAe,YAAW,eAAe;IAElD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,eAAe;IAG5C;;;;;;;OAOG;IACH,OAAO,KAAK,kBAAkB,GAK7B;IAEK,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAud1C;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH;;;;;;;;;;;;;;;;OAgBG;YACW,kBAAkB;IA0ChC;;;;;;OAMG;YACW,0BAA0B;IAmHxC;;;;OAIG;YACW,mBAAmB;IAsBjC,6CAA6C;IAC7C,OAAO,CAAC,oBAAoB;IAwD5B,4DAA4D;IAC5D,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;IAKvB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,0BAA0B;IAyBlC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,+BAA+B;IAsCvC,OAAO,CAAC,sBAAsB;IAkH9B,OAAO,CAAC,4BAA4B;IAmGpC,OAAO,CAAC,2BAA2B;YAuCrB,QAAQ;YAYR,0BAA0B;IAmDxC;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;YAsDtB,2BAA2B;IA+GzC;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CA8E/B"}