@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
@@ -1,5 +1,5 @@
1
1
  import { getAgentDayBoundsUtc, getAgentDayDateStr } from "@aitne/shared";
2
- import { snapshotManagementTelemetry, } from "./management-telemetry.js";
2
+ import { snapshotManagementTelemetry, summarize, } from "./management-telemetry.js";
3
3
  export class MetricsCollector {
4
4
  db;
5
5
  timezoneConfig;
@@ -240,6 +240,90 @@ export class MetricsCollector {
240
240
  costUsd: aggregateCost(parsed),
241
241
  };
242
242
  }
243
+ /**
244
+ * PRE_PASS_FAN_OUT_DESIGN.md §7.3 — pre-pass fan-out metrics.
245
+ *
246
+ * Aggregates `routine.fetch_window` audit rows (one per attempt per
247
+ * integration per parent routine) into the four metric families
248
+ * called out in the design table:
249
+ * - `pre_pass_total{routine, integration, status}` — chain-level
250
+ * count keyed by terminal status.
251
+ * - `pre_pass_attempts{routine, integration}` — distribution of
252
+ * attempt counts per chain.
253
+ * - `pre_pass_cost_usd{routine}` — distribution of total cost per
254
+ * chain, rolled up by routine.
255
+ * - `pre_pass_duration_ms{routine, integration}` — distribution of
256
+ * total wall-clock duration per chain.
257
+ *
258
+ * A "chain" is the set of attempts sharing one
259
+ * (`detail.prePass.parentCorrelationId`,
260
+ * `detail.prePass.integrationKey`) pair. The chain's terminal
261
+ * status is the MAX(`attempt`) row's `status`. Aggregation runs in JS
262
+ * after a single SELECT — the per-window row volume is bounded
263
+ * (~170/day worst case per §5) so an in-memory rollup is cheaper
264
+ * than nested SQL window-functions.
265
+ *
266
+ * Soft-fails on every block: a malformed JSON `detail` cell skips
267
+ * the row but does not blank the entire snapshot, mirroring the
268
+ * delegated-task / management aggregators.
269
+ */
270
+ collectPrePassMetrics(days = 30) {
271
+ const window = Number.isFinite(days)
272
+ ? Math.min(Math.max(Math.floor(days), 1), 90)
273
+ : 30;
274
+ const collectedAt = new Date().toISOString();
275
+ let rows = [];
276
+ try {
277
+ rows = this.db
278
+ .prepare(`SELECT cost_usd, duration_ms, backend, detail
279
+ FROM agent_actions
280
+ WHERE action_type = 'routine.fetch_window'
281
+ AND started_at > datetime('now', '-' || ? || ' days')
282
+ AND detail IS NOT NULL`)
283
+ .all(window);
284
+ }
285
+ catch {
286
+ // Table missing in tests / fresh DB — return the empty snapshot.
287
+ return emptyPrePassSnapshot(window, collectedAt);
288
+ }
289
+ const attempts = [];
290
+ for (const row of rows) {
291
+ let detail = {};
292
+ try {
293
+ detail = row.detail ? JSON.parse(row.detail) : {};
294
+ }
295
+ catch {
296
+ continue; // malformed JSON — skip silently
297
+ }
298
+ const prePass = detail.prePass;
299
+ if (!prePass || typeof prePass !== "object")
300
+ continue;
301
+ const pp = prePass;
302
+ const pcid = typeof pp.parentCorrelationId === "string" ? pp.parentCorrelationId : null;
303
+ const routine = typeof pp.parentRoutine === "string" ? pp.parentRoutine : null;
304
+ const integration = typeof pp.integrationKey === "string" ? pp.integrationKey : null;
305
+ const attempt = typeof pp.attempt === "number" ? pp.attempt : null;
306
+ const status = typeof pp.status === "string"
307
+ && (pp.status === "success" || pp.status === "partial" || pp.status === "failed" || pp.status === "skipped")
308
+ ? pp.status
309
+ : null;
310
+ if (!pcid || !routine || !integration || attempt === null || status === null)
311
+ continue;
312
+ attempts.push({
313
+ pcid,
314
+ routine,
315
+ integration,
316
+ attempt,
317
+ status,
318
+ costUsd: row.cost_usd ?? 0,
319
+ durationMs: row.duration_ms ?? 0,
320
+ fallbackTriggered: pp.fallbackTriggered === true,
321
+ requestedBackend: typeof pp.requestedBackend === "string" ? pp.requestedBackend : null,
322
+ actualBackend: row.backend,
323
+ });
324
+ }
325
+ return aggregatePrePassMetrics(attempts, window, collectedAt);
326
+ }
243
327
  /**
244
328
  * docs/design/21-management-registry-and-entities.md §14.3 — the six
245
329
  * Phase-8 metrics, shaped for the dashboard's Management → History tab
@@ -744,4 +828,175 @@ export function aggregateManagedTaskRuns(rows) {
744
828
  }
745
829
  return totals;
746
830
  }
831
+ function emptyPrePassSnapshot(windowDays, collectedAt) {
832
+ return {
833
+ windowDays,
834
+ collectedAt,
835
+ totalChains: 0,
836
+ totalAttempts: 0,
837
+ chainsByStatus: [],
838
+ attemptsPerChain: [],
839
+ costUsdByRoutine: [],
840
+ durationMsByIntegration: [],
841
+ fallbacks: [],
842
+ };
843
+ }
844
+ /**
845
+ * Pure aggregation kernel for `collectPrePassMetrics`. Takes the parsed
846
+ * attempt rows and rolls them up into the §7.3 snapshot shape. Exported
847
+ * for direct unit testing without a SQLite fixture.
848
+ *
849
+ * Chain identity = (parentCorrelationId, integrationKey). Each chain's
850
+ * terminal status is the MAX(`attempt`) row's status; each chain's
851
+ * total cost / duration is the sum across attempts.
852
+ */
853
+ export function aggregatePrePassMetrics(attempts, windowDays, collectedAt) {
854
+ if (attempts.length === 0)
855
+ return emptyPrePassSnapshot(windowDays, collectedAt);
856
+ // pcid → integration → ChainSummary.
857
+ const chainsByPcid = new Map();
858
+ for (const att of attempts) {
859
+ let perPcid = chainsByPcid.get(att.pcid);
860
+ if (!perPcid) {
861
+ perPcid = new Map();
862
+ chainsByPcid.set(att.pcid, perPcid);
863
+ }
864
+ const existing = perPcid.get(att.integration);
865
+ if (existing === undefined) {
866
+ perPcid.set(att.integration, {
867
+ routine: att.routine,
868
+ integration: att.integration,
869
+ attempts: 1,
870
+ finalAttempt: att.attempt,
871
+ finalStatus: att.status,
872
+ totalCostUsd: att.costUsd,
873
+ totalDurationMs: att.durationMs,
874
+ });
875
+ }
876
+ else {
877
+ existing.attempts += 1;
878
+ existing.totalCostUsd += att.costUsd;
879
+ existing.totalDurationMs += att.durationMs;
880
+ // Update terminal status to the row with the highest attempt
881
+ // index — chain status mirrors the runner's `final` attempt.
882
+ if (att.attempt > existing.finalAttempt) {
883
+ existing.finalAttempt = att.attempt;
884
+ existing.finalStatus = att.status;
885
+ }
886
+ }
887
+ }
888
+ // Flatten chain summaries into a single iterable for the next pass.
889
+ const allChains = [];
890
+ for (const perPcid of chainsByPcid.values()) {
891
+ for (const chain of perPcid.values())
892
+ allChains.push(chain);
893
+ }
894
+ // chainsByStatus — routine → integration → status → count.
895
+ const statusCounts = new Map();
896
+ // routine → integration → samples (per-chain attempt counts).
897
+ const attemptsSamples = new Map();
898
+ // routine → samples (per-chain total cost).
899
+ const costSamples = new Map();
900
+ // routine → integration → samples (per-chain total duration).
901
+ const durationSamples = new Map();
902
+ function getOrCreateMap(m, k, factory) {
903
+ const existing = m.get(k);
904
+ if (existing !== undefined)
905
+ return existing;
906
+ const created = factory();
907
+ m.set(k, created);
908
+ return created;
909
+ }
910
+ for (const chain of allChains) {
911
+ const byRoutine = getOrCreateMap(statusCounts, chain.routine, () => new Map());
912
+ const byIntegration = getOrCreateMap(byRoutine, chain.integration, () => new Map());
913
+ byIntegration.set(chain.finalStatus, (byIntegration.get(chain.finalStatus) ?? 0) + 1);
914
+ const attemptsByRoutine = getOrCreateMap(attemptsSamples, chain.routine, () => new Map());
915
+ getOrCreateMap(attemptsByRoutine, chain.integration, () => []).push(chain.attempts);
916
+ getOrCreateMap(costSamples, chain.routine, () => []).push(chain.totalCostUsd);
917
+ const durationByRoutine = getOrCreateMap(durationSamples, chain.routine, () => new Map());
918
+ getOrCreateMap(durationByRoutine, chain.integration, () => []).push(chain.totalDurationMs);
919
+ }
920
+ const chainsByStatus = [];
921
+ for (const [routine, byIntegration] of statusCounts.entries()) {
922
+ for (const [integration, byStatus] of byIntegration.entries()) {
923
+ for (const [status, count] of byStatus.entries()) {
924
+ chainsByStatus.push({
925
+ routine,
926
+ integrationKey: integration,
927
+ status: status,
928
+ count,
929
+ });
930
+ }
931
+ }
932
+ }
933
+ chainsByStatus.sort((a, b) => {
934
+ return (a.routine.localeCompare(b.routine)
935
+ || a.integrationKey.localeCompare(b.integrationKey)
936
+ || a.status.localeCompare(b.status));
937
+ });
938
+ const attemptsPerChain = [];
939
+ for (const [routine, byIntegration] of attemptsSamples.entries()) {
940
+ for (const [integration, samples] of byIntegration.entries()) {
941
+ attemptsPerChain.push({
942
+ routine,
943
+ integrationKey: integration,
944
+ histogram: summarize(samples),
945
+ });
946
+ }
947
+ }
948
+ attemptsPerChain.sort((a, b) => a.routine.localeCompare(b.routine)
949
+ || a.integrationKey.localeCompare(b.integrationKey));
950
+ const costUsdByRoutine = [];
951
+ for (const [routine, samples] of costSamples.entries()) {
952
+ costUsdByRoutine.push({ routine, histogram: summarize(samples) });
953
+ }
954
+ costUsdByRoutine.sort((a, b) => a.routine.localeCompare(b.routine));
955
+ const durationMsByIntegration = [];
956
+ for (const [routine, byIntegration] of durationSamples.entries()) {
957
+ for (const [integration, samples] of byIntegration.entries()) {
958
+ durationMsByIntegration.push({
959
+ routine,
960
+ integrationKey: integration,
961
+ histogram: summarize(samples),
962
+ });
963
+ }
964
+ }
965
+ durationMsByIntegration.sort((a, b) => a.routine.localeCompare(b.routine)
966
+ || a.integrationKey.localeCompare(b.integrationKey));
967
+ // Fallbacks — counted at the attempt level (one fallback observation
968
+ // per attempt that triggered it). routine → requested → actual → count.
969
+ const fallbackCounts = new Map();
970
+ for (const att of attempts) {
971
+ if (!att.fallbackTriggered)
972
+ continue;
973
+ if (!att.requestedBackend || !att.actualBackend)
974
+ continue;
975
+ const byRequested = getOrCreateMap(fallbackCounts, att.routine, () => new Map());
976
+ const byActual = getOrCreateMap(byRequested, att.requestedBackend, () => new Map());
977
+ byActual.set(att.actualBackend, (byActual.get(att.actualBackend) ?? 0) + 1);
978
+ }
979
+ const fallbacks = [];
980
+ for (const [routine, byRequested] of fallbackCounts.entries()) {
981
+ for (const [requestedBackend, byActual] of byRequested.entries()) {
982
+ for (const [actualBackend, count] of byActual.entries()) {
983
+ fallbacks.push({ routine, requestedBackend, actualBackend, count });
984
+ }
985
+ }
986
+ }
987
+ fallbacks.sort((a, b) => a.routine.localeCompare(b.routine)
988
+ || a.requestedBackend.localeCompare(b.requestedBackend)
989
+ || a.actualBackend.localeCompare(b.actualBackend));
990
+ return {
991
+ windowDays,
992
+ collectedAt,
993
+ totalChains: allChains.length,
994
+ totalAttempts: attempts.length,
995
+ chainsByStatus,
996
+ attemptsPerChain,
997
+ costUsdByRoutine,
998
+ durationMsByIntegration,
999
+ fallbacks,
1000
+ };
1001
+ }
747
1002
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Output language policy — one source of truth for the rule injected into
3
+ * every backend session.
4
+ *
5
+ * Design: `docs/design/appendices/output-language-policy.md`
6
+ *
7
+ * Two surfaces consume this module:
8
+ *
9
+ * 1. `ContextBuilder` (per-turn XML context). `renderOutputLanguagePolicyBlock`
10
+ * emits the full `<output_language_policy>` block alongside
11
+ * `<settings primary_language=…>`. Refreshes every turn, so it
12
+ * tracks runtime `PATCH /api/config` changes to `primaryLanguage`.
13
+ *
14
+ * 2. `skills-compiler` (persistent system prompt). The renderer in the
15
+ * instruction-file path emits the much shorter
16
+ * `## Output language` pointer paragraph. Identical byte-for-byte
17
+ * across CLAUDE.md / AGENTS.md / GEMINI.md so the agent reads the
18
+ * same rule on every backend; intentionally carries NO value
19
+ * substitutions (no inlined `primaryLanguage`) — the live value
20
+ * lives in the per-turn XML and would go stale here.
21
+ *
22
+ * Treat both renderers as the unique source of the policy text. The
23
+ * grep guard in `output-language-policy.test.ts` enforces this — adding
24
+ * the same prose elsewhere will fail CI.
25
+ */
26
+ /**
27
+ * Sentinel substring that any duplicate of the policy text would contain.
28
+ * The grep guard test scans `src/` and `agent-assets/` (excluding this
29
+ * file and the related test) for the sentinel and fails CI if it
30
+ * appears anywhere else.
31
+ */
32
+ export declare const OUTPUT_LANGUAGE_POLICY_SENTINEL = "Apply primary_language to:";
33
+ /**
34
+ * Full `<output_language_policy>` block, populated with the current
35
+ * `primaryLanguage`. Injected by `ContextBuilder` once per turn,
36
+ * immediately after the existing `<settings primary_language=… />`
37
+ * line.
38
+ */
39
+ export declare function renderOutputLanguagePolicyBlock(primaryLanguage: string): string;
40
+ /** Heading line used by the instruction-file pointer block. */
41
+ export declare const OUTPUT_LANGUAGE_POINTER_HEADING = "## Output language";
42
+ /**
43
+ * Insert the `## Output language` pointer block into the rendered Claude
44
+ * instruction body. Placement mirrors the design §13.3 stack ordering —
45
+ * after safety, after the user-defined character block (if any), and
46
+ * before the runtime profile body.
47
+ *
48
+ * Placement search order:
49
+ *
50
+ * 1. Right after the character-block end marker (`<!-- character:end -->`
51
+ * followed by the FOOTER paragraph and a blank line). When the
52
+ * character block is present this is the natural "below character"
53
+ * seam.
54
+ * 2. Right after the safety-end sentinel when the character block is
55
+ * absent.
56
+ * 3. Before the first `## ` section heading as a final fallback for
57
+ * legacy bodies that carry neither sentinel.
58
+ *
59
+ * Idempotent: a body that already contains the heading is returned
60
+ * unchanged. This matters because `applyCharacterBlockRewrite` is
61
+ * idempotent in the same way and the two helpers may run in succession
62
+ * across re-materialization.
63
+ */
64
+ export declare function applyOutputLanguagePointerRewrite(content: string): string;
65
+ /**
66
+ * Short `## Output language` pointer paragraph inlined verbatim into
67
+ * CLAUDE.md / AGENTS.md / GEMINI.md by `skills-compiler`. Declarative,
68
+ * no value substitutions — the live `primaryLanguage` is carried by
69
+ * the per-turn `<output_language_policy>` XML block instead, so the
70
+ * instruction file never goes stale when the user PATCHes the setting
71
+ * mid-session. See design §13.4 / §13.5.
72
+ */
73
+ export declare function renderOutputLanguagePolicyPointer(): string;
74
+ //# sourceMappingURL=output-language-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-language-policy.d.ts","sourceRoot":"","sources":["../../src/core/output-language-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,+BACd,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,MAAM,GACtB,MAAM,CA2CR;AAED,+DAA+D;AAC/D,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4CzE;AAQD;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAsB1D"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Output language policy — one source of truth for the rule injected into
3
+ * every backend session.
4
+ *
5
+ * Design: `docs/design/appendices/output-language-policy.md`
6
+ *
7
+ * Two surfaces consume this module:
8
+ *
9
+ * 1. `ContextBuilder` (per-turn XML context). `renderOutputLanguagePolicyBlock`
10
+ * emits the full `<output_language_policy>` block alongside
11
+ * `<settings primary_language=…>`. Refreshes every turn, so it
12
+ * tracks runtime `PATCH /api/config` changes to `primaryLanguage`.
13
+ *
14
+ * 2. `skills-compiler` (persistent system prompt). The renderer in the
15
+ * instruction-file path emits the much shorter
16
+ * `## Output language` pointer paragraph. Identical byte-for-byte
17
+ * across CLAUDE.md / AGENTS.md / GEMINI.md so the agent reads the
18
+ * same rule on every backend; intentionally carries NO value
19
+ * substitutions (no inlined `primaryLanguage`) — the live value
20
+ * lives in the per-turn XML and would go stale here.
21
+ *
22
+ * Treat both renderers as the unique source of the policy text. The
23
+ * grep guard in `output-language-policy.test.ts` enforces this — adding
24
+ * the same prose elsewhere will fail CI.
25
+ */
26
+ const POLICY_BLOCK_OPEN = "<output_language_policy>";
27
+ const POLICY_BLOCK_CLOSE = "</output_language_policy>";
28
+ /**
29
+ * Sentinel substring that any duplicate of the policy text would contain.
30
+ * The grep guard test scans `src/` and `agent-assets/` (excluding this
31
+ * file and the related test) for the sentinel and fails CI if it
32
+ * appears anywhere else.
33
+ */
34
+ export const OUTPUT_LANGUAGE_POLICY_SENTINEL = "Apply primary_language to:";
35
+ /**
36
+ * Full `<output_language_policy>` block, populated with the current
37
+ * `primaryLanguage`. Injected by `ContextBuilder` once per turn,
38
+ * immediately after the existing `<settings primary_language=… />`
39
+ * line.
40
+ */
41
+ export function renderOutputLanguagePolicyBlock(primaryLanguage) {
42
+ const lang = primaryLanguage.trim() || "en";
43
+ return [
44
+ POLICY_BLOCK_OPEN,
45
+ ` Setting: primary_language="${lang}"`,
46
+ "",
47
+ " Apply primary_language to:",
48
+ " - Body prose, bullets, summaries, and narrative written via",
49
+ " /api/context/* (knowledge files under ~/.personal-agent/context/)",
50
+ " - Notes the agent creates in the user's Obsidian vault or Notion",
51
+ " - Section content under user-customized headers (whatever language",
52
+ " the user wrote the header in, content matches)",
53
+ "",
54
+ " DM replies to the owner:",
55
+ " - Match the language of the user's most recent message",
56
+ " - Fall back to primary_language when the input is ambiguous, empty,",
57
+ " or system-generated",
58
+ " - Character block (tone, formality, emoji, verbosity) overrides",
59
+ " locale defaults — preserve the user's chosen voice in any language",
60
+ "",
61
+ " Do NOT translate:",
62
+ " - Structural H2/H3 headers that match the shipped template skeleton",
63
+ " (Identity, Work Pattern, Annual Goals, etc.) — keep English so",
64
+ " parsers (management-md, profile-importer, journal readers) keep",
65
+ " working",
66
+ " - YAML frontmatter keys, wiki-link targets ([[user/profile]]),",
67
+ " file paths, tool names, identifiers, env vars",
68
+ " - Fenced code blocks, JSON, CLI commands, URLs",
69
+ " - The agent journal (agent/journal.md is English by",
70
+ " rules/journal-format.md)",
71
+ " - rules/*.md files (management, redaction, mcp, policies) — these",
72
+ " are a structured registry, not prose",
73
+ "",
74
+ " User-customized headers win:",
75
+ " - If the running file already uses a translated header (e.g.",
76
+ ` "## アイデンティティ"), preserve it and write content under it;`,
77
+ " do not revert to the English template header",
78
+ "",
79
+ " Skeleton precedence:",
80
+ " - When creating a fresh file, copy the template skeleton verbatim",
81
+ " (English H2s) and fill the body in primary_language",
82
+ POLICY_BLOCK_CLOSE,
83
+ ].join("\n");
84
+ }
85
+ /** Heading line used by the instruction-file pointer block. */
86
+ export const OUTPUT_LANGUAGE_POINTER_HEADING = "## Output language";
87
+ /** End-of-character-block sentinel emitted by `character-block.ts`. */
88
+ const CHARACTER_END_MARKER = "<!-- character:end -->";
89
+ /** End-of-safety-preamble sentinel emitted by `skills-compiler.ts`. */
90
+ const SAFETY_END_MARKER = "<!-- safety:end -->";
91
+ /**
92
+ * Insert the `## Output language` pointer block into the rendered Claude
93
+ * instruction body. Placement mirrors the design §13.3 stack ordering —
94
+ * after safety, after the user-defined character block (if any), and
95
+ * before the runtime profile body.
96
+ *
97
+ * Placement search order:
98
+ *
99
+ * 1. Right after the character-block end marker (`<!-- character:end -->`
100
+ * followed by the FOOTER paragraph and a blank line). When the
101
+ * character block is present this is the natural "below character"
102
+ * seam.
103
+ * 2. Right after the safety-end sentinel when the character block is
104
+ * absent.
105
+ * 3. Before the first `## ` section heading as a final fallback for
106
+ * legacy bodies that carry neither sentinel.
107
+ *
108
+ * Idempotent: a body that already contains the heading is returned
109
+ * unchanged. This matters because `applyCharacterBlockRewrite` is
110
+ * idempotent in the same way and the two helpers may run in succession
111
+ * across re-materialization.
112
+ */
113
+ export function applyOutputLanguagePointerRewrite(content) {
114
+ if (content.includes(OUTPUT_LANGUAGE_POINTER_HEADING)) {
115
+ return content;
116
+ }
117
+ const block = renderOutputLanguagePolicyPointer();
118
+ const characterEndIdx = content.indexOf(CHARACTER_END_MARKER);
119
+ if (characterEndIdx >= 0) {
120
+ // The character block ends with FOOTER prose after the end-marker.
121
+ // Insert *after* the FOOTER, immediately before the next `## ` heading
122
+ // so the pointer block becomes a peer section of Character (mirrors
123
+ // the §13.3 stack ordering).
124
+ const searchFrom = characterEndIdx + CHARACTER_END_MARKER.length;
125
+ const tail = content.slice(searchFrom);
126
+ const nextHeadingOffset = tail.search(/\n## /);
127
+ if (nextHeadingOffset >= 0) {
128
+ const insertAt = searchFrom + nextHeadingOffset + 1;
129
+ const before = content.slice(0, insertAt);
130
+ const after = content.slice(insertAt);
131
+ return `${before}${block}\n\n${after}`;
132
+ }
133
+ const trimmed = content.replace(/\s+$/, "");
134
+ return `${trimmed}\n\n${block}\n`;
135
+ }
136
+ const safetyEndIdx = content.indexOf(SAFETY_END_MARKER);
137
+ if (safetyEndIdx >= 0) {
138
+ const afterSentinel = safetyEndIdx + SAFETY_END_MARKER.length;
139
+ let cursor = afterSentinel;
140
+ while (cursor < content.length && /\s/.test(content[cursor]))
141
+ cursor++;
142
+ const before = content.slice(0, afterSentinel);
143
+ const after = content.slice(cursor);
144
+ return after ? `${before}\n\n${block}\n\n${after}` : `${before}\n\n${block}\n`;
145
+ }
146
+ const firstHeadingIdx = findFirstSectionHeading(content);
147
+ if (firstHeadingIdx < 0) {
148
+ const trimmed = content.replace(/\s+$/, "");
149
+ if (!trimmed)
150
+ return `${block}\n`;
151
+ return `${trimmed}\n\n${block}\n`;
152
+ }
153
+ const before = content.slice(0, firstHeadingIdx);
154
+ const after = content.slice(firstHeadingIdx);
155
+ return `${before}${block}\n\n${after}`;
156
+ }
157
+ function findFirstSectionHeading(content) {
158
+ if (content.startsWith("## "))
159
+ return 0;
160
+ const idx = content.indexOf("\n## ");
161
+ return idx < 0 ? -1 : idx + 1;
162
+ }
163
+ /**
164
+ * Short `## Output language` pointer paragraph inlined verbatim into
165
+ * CLAUDE.md / AGENTS.md / GEMINI.md by `skills-compiler`. Declarative,
166
+ * no value substitutions — the live `primaryLanguage` is carried by
167
+ * the per-turn `<output_language_policy>` XML block instead, so the
168
+ * instruction file never goes stale when the user PATCHes the setting
169
+ * mid-session. See design §13.4 / §13.5.
170
+ */
171
+ export function renderOutputLanguagePolicyPointer() {
172
+ return [
173
+ "## Output language",
174
+ "",
175
+ "Output language is governed by `<output_language_policy>` in your",
176
+ "turn context (full text, refreshes on every turn so it tracks runtime",
177
+ "setting changes). In short:",
178
+ "",
179
+ "- **Knowledge files** under `/api/context/*`, **Obsidian** notes,",
180
+ " **Notion** pages, and other user-facing notes → write the body in",
181
+ " `<settings primary_language>`; keep template H2/H3 headers in",
182
+ " English (or preserve user-customized headers verbatim).",
183
+ "- **DM replies** to the owner → match the user's input language;",
184
+ " fall back to `<settings primary_language>` when input is ambiguous",
185
+ " or the turn is system-initiated. Character block (tone, formality,",
186
+ " emoji) overrides locale defaults.",
187
+ "- **Agent-internal surfaces** (this file, skill bodies, the agent",
188
+ " journal, API/log/audit, `rules/*.md` registry) → English. Always.",
189
+ "",
190
+ "See `docs/design/appendices/output-language-policy.md` for the full",
191
+ "rule and policy taxonomy.",
192
+ ].join("\n");
193
+ }
194
+ //# sourceMappingURL=output-language-policy.js.map