@tenphi/akno-core 0.1.0

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 (485) hide show
  1. package/LICENSE +83 -0
  2. package/README.md +26 -0
  3. package/config/default.jsonc +548 -0
  4. package/dist/bench/answer-corpus.d.ts +48 -0
  5. package/dist/bench/answer-corpus.d.ts.map +1 -0
  6. package/dist/bench/answer-corpus.js +491 -0
  7. package/dist/bench/answer-corpus.js.map +1 -0
  8. package/dist/bench/answer.d.ts +156 -0
  9. package/dist/bench/answer.d.ts.map +1 -0
  10. package/dist/bench/answer.js +608 -0
  11. package/dist/bench/answer.js.map +1 -0
  12. package/dist/bench/auto-recall-answer-corpus.d.ts +21 -0
  13. package/dist/bench/auto-recall-answer-corpus.d.ts.map +1 -0
  14. package/dist/bench/auto-recall-answer-corpus.js +245 -0
  15. package/dist/bench/auto-recall-answer-corpus.js.map +1 -0
  16. package/dist/bench/auto-recall-answer.d.ts +198 -0
  17. package/dist/bench/auto-recall-answer.d.ts.map +1 -0
  18. package/dist/bench/auto-recall-answer.js +720 -0
  19. package/dist/bench/auto-recall-answer.js.map +1 -0
  20. package/dist/bench/auto-recall-corpus.d.ts +45 -0
  21. package/dist/bench/auto-recall-corpus.d.ts.map +1 -0
  22. package/dist/bench/auto-recall-corpus.js +221 -0
  23. package/dist/bench/auto-recall-corpus.js.map +1 -0
  24. package/dist/bench/auto-recall.d.ts +171 -0
  25. package/dist/bench/auto-recall.d.ts.map +1 -0
  26. package/dist/bench/auto-recall.js +651 -0
  27. package/dist/bench/auto-recall.js.map +1 -0
  28. package/dist/bench/entity-resolution.d.ts +37 -0
  29. package/dist/bench/entity-resolution.d.ts.map +1 -0
  30. package/dist/bench/entity-resolution.js +121 -0
  31. package/dist/bench/entity-resolution.js.map +1 -0
  32. package/dist/bench/graph.d.ts +57 -0
  33. package/dist/bench/graph.d.ts.map +1 -0
  34. package/dist/bench/graph.js +573 -0
  35. package/dist/bench/graph.js.map +1 -0
  36. package/dist/bench/llm-ranking-probe.d.ts +27 -0
  37. package/dist/bench/llm-ranking-probe.d.ts.map +1 -0
  38. package/dist/bench/llm-ranking-probe.js +105 -0
  39. package/dist/bench/llm-ranking-probe.js.map +1 -0
  40. package/dist/bench/merge-discovery-corpus.d.ts +26 -0
  41. package/dist/bench/merge-discovery-corpus.d.ts.map +1 -0
  42. package/dist/bench/merge-discovery-corpus.js +114 -0
  43. package/dist/bench/merge-discovery-corpus.js.map +1 -0
  44. package/dist/bench/merge-discovery-review.d.ts +81 -0
  45. package/dist/bench/merge-discovery-review.d.ts.map +1 -0
  46. package/dist/bench/merge-discovery-review.js +149 -0
  47. package/dist/bench/merge-discovery-review.js.map +1 -0
  48. package/dist/bench/merge-discovery.d.ts +122 -0
  49. package/dist/bench/merge-discovery.d.ts.map +1 -0
  50. package/dist/bench/merge-discovery.js +390 -0
  51. package/dist/bench/merge-discovery.js.map +1 -0
  52. package/dist/bench/mixed-retrieval.d.ts +35 -0
  53. package/dist/bench/mixed-retrieval.d.ts.map +1 -0
  54. package/dist/bench/mixed-retrieval.js +355 -0
  55. package/dist/bench/mixed-retrieval.js.map +1 -0
  56. package/dist/bench/ranking-corpus.d.ts +29 -0
  57. package/dist/bench/ranking-corpus.d.ts.map +1 -0
  58. package/dist/bench/ranking-corpus.js +514 -0
  59. package/dist/bench/ranking-corpus.js.map +1 -0
  60. package/dist/bench/ranking-end-to-end.d.ts +112 -0
  61. package/dist/bench/ranking-end-to-end.d.ts.map +1 -0
  62. package/dist/bench/ranking-end-to-end.js +479 -0
  63. package/dist/bench/ranking-end-to-end.js.map +1 -0
  64. package/dist/bench/ranking-latency.d.ts +71 -0
  65. package/dist/bench/ranking-latency.d.ts.map +1 -0
  66. package/dist/bench/ranking-latency.js +130 -0
  67. package/dist/bench/ranking-latency.js.map +1 -0
  68. package/dist/bench/ranking-matrix.d.ts +141 -0
  69. package/dist/bench/ranking-matrix.d.ts.map +1 -0
  70. package/dist/bench/ranking-matrix.js +526 -0
  71. package/dist/bench/ranking-matrix.js.map +1 -0
  72. package/dist/bench/ranking-review.d.ts +93 -0
  73. package/dist/bench/ranking-review.d.ts.map +1 -0
  74. package/dist/bench/ranking-review.js +249 -0
  75. package/dist/bench/ranking-review.js.map +1 -0
  76. package/dist/bench/ranking.d.ts +122 -0
  77. package/dist/bench/ranking.d.ts.map +1 -0
  78. package/dist/bench/ranking.js +547 -0
  79. package/dist/bench/ranking.js.map +1 -0
  80. package/dist/bench.d.ts +60 -0
  81. package/dist/bench.d.ts.map +1 -0
  82. package/dist/bench.js +167 -0
  83. package/dist/bench.js.map +1 -0
  84. package/dist/config/jsonc.d.ts +8 -0
  85. package/dist/config/jsonc.d.ts.map +1 -0
  86. package/dist/config/jsonc.js +85 -0
  87. package/dist/config/jsonc.js.map +1 -0
  88. package/dist/config/load.d.ts +43 -0
  89. package/dist/config/load.d.ts.map +1 -0
  90. package/dist/config/load.js +608 -0
  91. package/dist/config/load.js.map +1 -0
  92. package/dist/config/paths.d.ts +10 -0
  93. package/dist/config/paths.d.ts.map +1 -0
  94. package/dist/config/paths.js +38 -0
  95. package/dist/config/paths.js.map +1 -0
  96. package/dist/config/schema.d.ts +698 -0
  97. package/dist/config/schema.d.ts.map +1 -0
  98. package/dist/config/schema.js +394 -0
  99. package/dist/config/schema.js.map +1 -0
  100. package/dist/config/write-rules.d.ts +41 -0
  101. package/dist/config/write-rules.d.ts.map +1 -0
  102. package/dist/config/write-rules.js +225 -0
  103. package/dist/config/write-rules.js.map +1 -0
  104. package/dist/config/write-setup.d.ts +42 -0
  105. package/dist/config/write-setup.d.ts.map +1 -0
  106. package/dist/config/write-setup.js +358 -0
  107. package/dist/config/write-setup.js.map +1 -0
  108. package/dist/context.d.ts +64 -0
  109. package/dist/context.d.ts.map +1 -0
  110. package/dist/context.js +14 -0
  111. package/dist/context.js.map +1 -0
  112. package/dist/doctor.d.ts +115 -0
  113. package/dist/doctor.d.ts.map +1 -0
  114. package/dist/doctor.js +388 -0
  115. package/dist/doctor.js.map +1 -0
  116. package/dist/index/chunk.d.ts +62 -0
  117. package/dist/index/chunk.d.ts.map +1 -0
  118. package/dist/index/chunk.js +307 -0
  119. package/dist/index/chunk.js.map +1 -0
  120. package/dist/index/defer.d.ts +32 -0
  121. package/dist/index/defer.d.ts.map +1 -0
  122. package/dist/index/defer.js +66 -0
  123. package/dist/index/defer.js.map +1 -0
  124. package/dist/index/derive.d.ts +99 -0
  125. package/dist/index/derive.d.ts.map +1 -0
  126. package/dist/index/derive.js +378 -0
  127. package/dist/index/derive.js.map +1 -0
  128. package/dist/index/entity-resolution.d.ts +68 -0
  129. package/dist/index/entity-resolution.d.ts.map +1 -0
  130. package/dist/index/entity-resolution.js +305 -0
  131. package/dist/index/entity-resolution.js.map +1 -0
  132. package/dist/index/graph.d.ts +46 -0
  133. package/dist/index/graph.d.ts.map +1 -0
  134. package/dist/index/graph.js +618 -0
  135. package/dist/index/graph.js.map +1 -0
  136. package/dist/index/indexer.d.ts +301 -0
  137. package/dist/index/indexer.d.ts.map +1 -0
  138. package/dist/index/indexer.js +1398 -0
  139. package/dist/index/indexer.js.map +1 -0
  140. package/dist/index/revision-barrier.d.ts +30 -0
  141. package/dist/index/revision-barrier.d.ts.map +1 -0
  142. package/dist/index/revision-barrier.js +140 -0
  143. package/dist/index/revision-barrier.js.map +1 -0
  144. package/dist/index.d.ts +55 -0
  145. package/dist/index.d.ts.map +1 -0
  146. package/dist/index.js +37 -0
  147. package/dist/index.js.map +1 -0
  148. package/dist/ingest/adoption-eligibility.d.ts +4 -0
  149. package/dist/ingest/adoption-eligibility.d.ts.map +1 -0
  150. package/dist/ingest/adoption-eligibility.js +18 -0
  151. package/dist/ingest/adoption-eligibility.js.map +1 -0
  152. package/dist/ingest/availability.d.ts +15 -0
  153. package/dist/ingest/availability.d.ts.map +1 -0
  154. package/dist/ingest/availability.js +37 -0
  155. package/dist/ingest/availability.js.map +1 -0
  156. package/dist/ingest/extract.d.ts +58 -0
  157. package/dist/ingest/extract.d.ts.map +1 -0
  158. package/dist/ingest/extract.js +255 -0
  159. package/dist/ingest/extract.js.map +1 -0
  160. package/dist/ingest/fetch.d.ts +35 -0
  161. package/dist/ingest/fetch.d.ts.map +1 -0
  162. package/dist/ingest/fetch.js +142 -0
  163. package/dist/ingest/fetch.js.map +1 -0
  164. package/dist/ingest/inbox.d.ts +53 -0
  165. package/dist/ingest/inbox.d.ts.map +1 -0
  166. package/dist/ingest/inbox.js +110 -0
  167. package/dist/ingest/inbox.js.map +1 -0
  168. package/dist/ingest/name.d.ts +72 -0
  169. package/dist/ingest/name.d.ts.map +1 -0
  170. package/dist/ingest/name.js +208 -0
  171. package/dist/ingest/name.js.map +1 -0
  172. package/dist/ingest/parts.d.ts +78 -0
  173. package/dist/ingest/parts.d.ts.map +1 -0
  174. package/dist/ingest/parts.js +52 -0
  175. package/dist/ingest/parts.js.map +1 -0
  176. package/dist/ingest/rendition.d.ts +75 -0
  177. package/dist/ingest/rendition.d.ts.map +1 -0
  178. package/dist/ingest/rendition.js +92 -0
  179. package/dist/ingest/rendition.js.map +1 -0
  180. package/dist/ingest/store.d.ts +66 -0
  181. package/dist/ingest/store.d.ts.map +1 -0
  182. package/dist/ingest/store.js +92 -0
  183. package/dist/ingest/store.js.map +1 -0
  184. package/dist/kb/folders.d.ts +37 -0
  185. package/dist/kb/folders.d.ts.map +1 -0
  186. package/dist/kb/folders.js +133 -0
  187. package/dist/kb/folders.js.map +1 -0
  188. package/dist/kb/frontmatter.d.ts +91 -0
  189. package/dist/kb/frontmatter.d.ts.map +1 -0
  190. package/dist/kb/frontmatter.js +274 -0
  191. package/dist/kb/frontmatter.js.map +1 -0
  192. package/dist/kb/line-facts.d.ts +29 -0
  193. package/dist/kb/line-facts.d.ts.map +1 -0
  194. package/dist/kb/line-facts.js +23 -0
  195. package/dist/kb/line-facts.js.map +1 -0
  196. package/dist/kb/page.d.ts +92 -0
  197. package/dist/kb/page.d.ts.map +1 -0
  198. package/dist/kb/page.js +243 -0
  199. package/dist/kb/page.js.map +1 -0
  200. package/dist/kb/scan.d.ts +38 -0
  201. package/dist/kb/scan.d.ts.map +1 -0
  202. package/dist/kb/scan.js +109 -0
  203. package/dist/kb/scan.js.map +1 -0
  204. package/dist/kb/words.d.ts +30 -0
  205. package/dist/kb/words.d.ts.map +1 -0
  206. package/dist/kb/words.js +107 -0
  207. package/dist/kb/words.js.map +1 -0
  208. package/dist/maintenance/adopt.d.ts +65 -0
  209. package/dist/maintenance/adopt.d.ts.map +1 -0
  210. package/dist/maintenance/adopt.js +238 -0
  211. package/dist/maintenance/adopt.js.map +1 -0
  212. package/dist/maintenance/budget.d.ts +55 -0
  213. package/dist/maintenance/budget.d.ts.map +1 -0
  214. package/dist/maintenance/budget.js +61 -0
  215. package/dist/maintenance/budget.js.map +1 -0
  216. package/dist/maintenance/conflicts.d.ts +105 -0
  217. package/dist/maintenance/conflicts.d.ts.map +1 -0
  218. package/dist/maintenance/conflicts.js +368 -0
  219. package/dist/maintenance/conflicts.js.map +1 -0
  220. package/dist/maintenance/contradictions.d.ts +34 -0
  221. package/dist/maintenance/contradictions.d.ts.map +1 -0
  222. package/dist/maintenance/contradictions.js +199 -0
  223. package/dist/maintenance/contradictions.js.map +1 -0
  224. package/dist/maintenance/curate.d.ts +156 -0
  225. package/dist/maintenance/curate.d.ts.map +1 -0
  226. package/dist/maintenance/curate.js +2070 -0
  227. package/dist/maintenance/curate.js.map +1 -0
  228. package/dist/maintenance/dream.d.ts +139 -0
  229. package/dist/maintenance/dream.d.ts.map +1 -0
  230. package/dist/maintenance/dream.js +1632 -0
  231. package/dist/maintenance/dream.js.map +1 -0
  232. package/dist/maintenance/graph-candidates.d.ts +19 -0
  233. package/dist/maintenance/graph-candidates.d.ts.map +1 -0
  234. package/dist/maintenance/graph-candidates.js +120 -0
  235. package/dist/maintenance/graph-candidates.js.map +1 -0
  236. package/dist/maintenance/housekeeping.d.ts +81 -0
  237. package/dist/maintenance/housekeeping.d.ts.map +1 -0
  238. package/dist/maintenance/housekeeping.js +281 -0
  239. package/dist/maintenance/housekeeping.js.map +1 -0
  240. package/dist/maintenance/link-repairs.d.ts +58 -0
  241. package/dist/maintenance/link-repairs.d.ts.map +1 -0
  242. package/dist/maintenance/link-repairs.js +281 -0
  243. package/dist/maintenance/link-repairs.js.map +1 -0
  244. package/dist/maintenance/log.d.ts +41 -0
  245. package/dist/maintenance/log.d.ts.map +1 -0
  246. package/dist/maintenance/log.js +72 -0
  247. package/dist/maintenance/log.js.map +1 -0
  248. package/dist/maintenance/managed-item-routing.d.ts +48 -0
  249. package/dist/maintenance/managed-item-routing.d.ts.map +1 -0
  250. package/dist/maintenance/managed-item-routing.js +281 -0
  251. package/dist/maintenance/managed-item-routing.js.map +1 -0
  252. package/dist/maintenance/managed-item-sources.d.ts +38 -0
  253. package/dist/maintenance/managed-item-sources.d.ts.map +1 -0
  254. package/dist/maintenance/managed-item-sources.js +324 -0
  255. package/dist/maintenance/managed-item-sources.js.map +1 -0
  256. package/dist/maintenance/managed-items.d.ts +162 -0
  257. package/dist/maintenance/managed-items.d.ts.map +1 -0
  258. package/dist/maintenance/managed-items.js +1329 -0
  259. package/dist/maintenance/managed-items.js.map +1 -0
  260. package/dist/maintenance/merge-classifier.d.ts +19 -0
  261. package/dist/maintenance/merge-classifier.d.ts.map +1 -0
  262. package/dist/maintenance/merge-classifier.js +49 -0
  263. package/dist/maintenance/merge-classifier.js.map +1 -0
  264. package/dist/maintenance/model-telemetry.d.ts +45 -0
  265. package/dist/maintenance/model-telemetry.d.ts.map +1 -0
  266. package/dist/maintenance/model-telemetry.js +107 -0
  267. package/dist/maintenance/model-telemetry.js.map +1 -0
  268. package/dist/maintenance/observe.d.ts +72 -0
  269. package/dist/maintenance/observe.d.ts.map +1 -0
  270. package/dist/maintenance/observe.js +265 -0
  271. package/dist/maintenance/observe.js.map +1 -0
  272. package/dist/maintenance/path-policy.d.ts +83 -0
  273. package/dist/maintenance/path-policy.d.ts.map +1 -0
  274. package/dist/maintenance/path-policy.js +360 -0
  275. package/dist/maintenance/path-policy.js.map +1 -0
  276. package/dist/maintenance/plans.d.ts +366 -0
  277. package/dist/maintenance/plans.d.ts.map +1 -0
  278. package/dist/maintenance/plans.js +4060 -0
  279. package/dist/maintenance/plans.js.map +1 -0
  280. package/dist/maintenance/profile.d.ts +33 -0
  281. package/dist/maintenance/profile.d.ts.map +1 -0
  282. package/dist/maintenance/profile.js +99 -0
  283. package/dist/maintenance/profile.js.map +1 -0
  284. package/dist/maintenance/recovery.d.ts +38 -0
  285. package/dist/maintenance/recovery.d.ts.map +1 -0
  286. package/dist/maintenance/recovery.js +217 -0
  287. package/dist/maintenance/recovery.js.map +1 -0
  288. package/dist/maintenance/repair.d.ts +37 -0
  289. package/dist/maintenance/repair.d.ts.map +1 -0
  290. package/dist/maintenance/repair.js +183 -0
  291. package/dist/maintenance/repair.js.map +1 -0
  292. package/dist/maintenance/rule-drift.d.ts +104 -0
  293. package/dist/maintenance/rule-drift.d.ts.map +1 -0
  294. package/dist/maintenance/rule-drift.js +507 -0
  295. package/dist/maintenance/rule-drift.js.map +1 -0
  296. package/dist/maintenance/run-verification.d.ts +44 -0
  297. package/dist/maintenance/run-verification.d.ts.map +1 -0
  298. package/dist/maintenance/run-verification.js +253 -0
  299. package/dist/maintenance/run-verification.js.map +1 -0
  300. package/dist/maintenance/runs.d.ts +142 -0
  301. package/dist/maintenance/runs.d.ts.map +1 -0
  302. package/dist/maintenance/runs.js +439 -0
  303. package/dist/maintenance/runs.js.map +1 -0
  304. package/dist/maintenance/semantic-merge-discovery.d.ts +54 -0
  305. package/dist/maintenance/semantic-merge-discovery.d.ts.map +1 -0
  306. package/dist/maintenance/semantic-merge-discovery.js +308 -0
  307. package/dist/maintenance/semantic-merge-discovery.js.map +1 -0
  308. package/dist/maintenance/temporal.d.ts +44 -0
  309. package/dist/maintenance/temporal.d.ts.map +1 -0
  310. package/dist/maintenance/temporal.js +295 -0
  311. package/dist/maintenance/temporal.js.map +1 -0
  312. package/dist/models/client.d.ts +214 -0
  313. package/dist/models/client.d.ts.map +1 -0
  314. package/dist/models/client.js +904 -0
  315. package/dist/models/client.js.map +1 -0
  316. package/dist/models/provider-api.d.ts +28 -0
  317. package/dist/models/provider-api.d.ts.map +1 -0
  318. package/dist/models/provider-api.js +320 -0
  319. package/dist/models/provider-api.js.map +1 -0
  320. package/dist/open.d.ts +163 -0
  321. package/dist/open.d.ts.map +1 -0
  322. package/dist/open.js +382 -0
  323. package/dist/open.js.map +1 -0
  324. package/dist/ops/adopt.d.ts +12 -0
  325. package/dist/ops/adopt.d.ts.map +1 -0
  326. package/dist/ops/adopt.js +138 -0
  327. package/dist/ops/adopt.js.map +1 -0
  328. package/dist/ops/answer.d.ts +29 -0
  329. package/dist/ops/answer.d.ts.map +1 -0
  330. package/dist/ops/answer.js +557 -0
  331. package/dist/ops/answer.js.map +1 -0
  332. package/dist/ops/context.d.ts +18 -0
  333. package/dist/ops/context.d.ts.map +1 -0
  334. package/dist/ops/context.js +713 -0
  335. package/dist/ops/context.js.map +1 -0
  336. package/dist/ops/folder.d.ts +23 -0
  337. package/dist/ops/folder.d.ts.map +1 -0
  338. package/dist/ops/folder.js +130 -0
  339. package/dist/ops/folder.js.map +1 -0
  340. package/dist/ops/forget.d.ts +14 -0
  341. package/dist/ops/forget.d.ts.map +1 -0
  342. package/dist/ops/forget.js +212 -0
  343. package/dist/ops/forget.js.map +1 -0
  344. package/dist/ops/graph.d.ts +10 -0
  345. package/dist/ops/graph.d.ts.map +1 -0
  346. package/dist/ops/graph.js +480 -0
  347. package/dist/ops/graph.js.map +1 -0
  348. package/dist/ops/ingest.d.ts +40 -0
  349. package/dist/ops/ingest.d.ts.map +1 -0
  350. package/dist/ops/ingest.js +434 -0
  351. package/dist/ops/ingest.js.map +1 -0
  352. package/dist/ops/list.d.ts +9 -0
  353. package/dist/ops/list.d.ts.map +1 -0
  354. package/dist/ops/list.js +217 -0
  355. package/dist/ops/list.js.map +1 -0
  356. package/dist/ops/move.d.ts +20 -0
  357. package/dist/ops/move.d.ts.map +1 -0
  358. package/dist/ops/move.js +173 -0
  359. package/dist/ops/move.js.map +1 -0
  360. package/dist/ops/read.d.ts +9 -0
  361. package/dist/ops/read.d.ts.map +1 -0
  362. package/dist/ops/read.js +271 -0
  363. package/dist/ops/read.js.map +1 -0
  364. package/dist/ops/recall.d.ts +13 -0
  365. package/dist/ops/recall.d.ts.map +1 -0
  366. package/dist/ops/recall.js +297 -0
  367. package/dist/ops/recall.js.map +1 -0
  368. package/dist/ops/remember.d.ts +34 -0
  369. package/dist/ops/remember.d.ts.map +1 -0
  370. package/dist/ops/remember.js +660 -0
  371. package/dist/ops/remember.js.map +1 -0
  372. package/dist/ops/timeline.d.ts +11 -0
  373. package/dist/ops/timeline.d.ts.map +1 -0
  374. package/dist/ops/timeline.js +111 -0
  375. package/dist/ops/timeline.js.map +1 -0
  376. package/dist/ops/undo.d.ts +9 -0
  377. package/dist/ops/undo.d.ts.map +1 -0
  378. package/dist/ops/undo.js +38 -0
  379. package/dist/ops/undo.js.map +1 -0
  380. package/dist/ops/write.d.ts +55 -0
  381. package/dist/ops/write.d.ts.map +1 -0
  382. package/dist/ops/write.js +463 -0
  383. package/dist/ops/write.js.map +1 -0
  384. package/dist/recall/assemble.d.ts +81 -0
  385. package/dist/recall/assemble.d.ts.map +1 -0
  386. package/dist/recall/assemble.js +603 -0
  387. package/dist/recall/assemble.js.map +1 -0
  388. package/dist/recall/expand.d.ts +55 -0
  389. package/dist/recall/expand.d.ts.map +1 -0
  390. package/dist/recall/expand.js +282 -0
  391. package/dist/recall/expand.js.map +1 -0
  392. package/dist/recall/graph-arm.d.ts +17 -0
  393. package/dist/recall/graph-arm.d.ts.map +1 -0
  394. package/dist/recall/graph-arm.js +227 -0
  395. package/dist/recall/graph-arm.js.map +1 -0
  396. package/dist/recall/llm-rerank.d.ts +55 -0
  397. package/dist/recall/llm-rerank.d.ts.map +1 -0
  398. package/dist/recall/llm-rerank.js +213 -0
  399. package/dist/recall/llm-rerank.js.map +1 -0
  400. package/dist/recall/reranker-calibration.d.ts +23 -0
  401. package/dist/recall/reranker-calibration.d.ts.map +1 -0
  402. package/dist/recall/reranker-calibration.js +161 -0
  403. package/dist/recall/reranker-calibration.js.map +1 -0
  404. package/dist/recall/search.d.ts +107 -0
  405. package/dist/recall/search.d.ts.map +1 -0
  406. package/dist/recall/search.js +530 -0
  407. package/dist/recall/search.js.map +1 -0
  408. package/dist/reserved.d.ts +39 -0
  409. package/dist/reserved.d.ts.map +1 -0
  410. package/dist/reserved.js +63 -0
  411. package/dist/reserved.js.map +1 -0
  412. package/dist/rules/compile.d.ts +27 -0
  413. package/dist/rules/compile.d.ts.map +1 -0
  414. package/dist/rules/compile.js +105 -0
  415. package/dist/rules/compile.js.map +1 -0
  416. package/dist/setup/model-free.d.ts +15 -0
  417. package/dist/setup/model-free.d.ts.map +1 -0
  418. package/dist/setup/model-free.js +26 -0
  419. package/dist/setup/model-free.js.map +1 -0
  420. package/dist/setup/openai.d.ts +46 -0
  421. package/dist/setup/openai.d.ts.map +1 -0
  422. package/dist/setup/openai.js +165 -0
  423. package/dist/setup/openai.js.map +1 -0
  424. package/dist/store/db.d.ts +61 -0
  425. package/dist/store/db.d.ts.map +1 -0
  426. package/dist/store/db.js +265 -0
  427. package/dist/store/db.js.map +1 -0
  428. package/dist/store/ids.d.ts +29 -0
  429. package/dist/store/ids.d.ts.map +1 -0
  430. package/dist/store/ids.js +0 -0
  431. package/dist/store/ids.js.map +1 -0
  432. package/dist/store/migrations.d.ts +54 -0
  433. package/dist/store/migrations.d.ts.map +1 -0
  434. package/dist/store/migrations.js +923 -0
  435. package/dist/store/migrations.js.map +1 -0
  436. package/dist/store/vectors.d.ts +34 -0
  437. package/dist/store/vectors.d.ts.map +1 -0
  438. package/dist/store/vectors.js +158 -0
  439. package/dist/store/vectors.js.map +1 -0
  440. package/dist/timeline/documents.d.ts +23 -0
  441. package/dist/timeline/documents.d.ts.map +1 -0
  442. package/dist/timeline/documents.js +262 -0
  443. package/dist/timeline/documents.js.map +1 -0
  444. package/dist/watch/watcher.d.ts +43 -0
  445. package/dist/watch/watcher.d.ts.map +1 -0
  446. package/dist/watch/watcher.js +143 -0
  447. package/dist/watch/watcher.js.map +1 -0
  448. package/dist/write/atomic.d.ts +34 -0
  449. package/dist/write/atomic.d.ts.map +1 -0
  450. package/dist/write/atomic.js +58 -0
  451. package/dist/write/atomic.js.map +1 -0
  452. package/dist/write/conflict.d.ts +43 -0
  453. package/dist/write/conflict.d.ts.map +1 -0
  454. package/dist/write/conflict.js +149 -0
  455. package/dist/write/conflict.js.map +1 -0
  456. package/dist/write/edit.d.ts +59 -0
  457. package/dist/write/edit.d.ts.map +1 -0
  458. package/dist/write/edit.js +231 -0
  459. package/dist/write/edit.js.map +1 -0
  460. package/dist/write/gate.d.ts +59 -0
  461. package/dist/write/gate.d.ts.map +1 -0
  462. package/dist/write/gate.js +99 -0
  463. package/dist/write/gate.js.map +1 -0
  464. package/dist/write/journal.d.ts +90 -0
  465. package/dist/write/journal.d.ts.map +1 -0
  466. package/dist/write/journal.js +187 -0
  467. package/dist/write/journal.js.map +1 -0
  468. package/dist/write/ledger.d.ts +28 -0
  469. package/dist/write/ledger.d.ts.map +1 -0
  470. package/dist/write/ledger.js +141 -0
  471. package/dist/write/ledger.js.map +1 -0
  472. package/dist/write/placement.d.ts +29 -0
  473. package/dist/write/placement.d.ts.map +1 -0
  474. package/dist/write/placement.js +140 -0
  475. package/dist/write/placement.js.map +1 -0
  476. package/dist/write/remember-fallback.d.ts +18 -0
  477. package/dist/write/remember-fallback.d.ts.map +1 -0
  478. package/dist/write/remember-fallback.js +48 -0
  479. package/dist/write/remember-fallback.js.map +1 -0
  480. package/dist/write/retain.d.ts +61 -0
  481. package/dist/write/retain.d.ts.map +1 -0
  482. package/dist/write/retain.js +272 -0
  483. package/dist/write/retain.js.map +1 -0
  484. package/package.json +50 -0
  485. package/swift/extract.swift +232 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,394 @@
1
+ import { z } from 'zod';
2
+ import { PageRole, RememberManagement } from '@tenphi/akno-protocol';
3
+ /**
4
+ * The config document as it appears on disk. Every field is optional here —
5
+ * `config/default.jsonc` supplies the values and this schema only says what a
6
+ * key is allowed to be. The resolved, fully-populated shape is `AknoConfig`.
7
+ */
8
+ /** A credential is named, never inlined. This is the only way to reference one. */
9
+ export const SecretRef = z.object({ env: z.string().min(1) });
10
+ export const ProviderTransport = z.enum(['chat_completions', 'responses']);
11
+ export const ProviderApi = z.enum(['auto', 'chat_completions', 'responses']);
12
+ export const ProviderDoc = z.object({
13
+ base_url: z.string().url().nullable().optional(),
14
+ api_key: SecretRef.nullable().optional(),
15
+ /** Generative transport. Embeddings and native reranking retain their dedicated endpoints. */
16
+ api: ProviderApi.optional(),
17
+ /** Extra headers, for a gateway that wants one. Values may be secret refs. */
18
+ headers: z.record(z.string(), z.union([z.string(), SecretRef])).optional(),
19
+ /**
20
+ * Retries after a rate limit or a transient server error, per request.
21
+ *
22
+ * On the provider rather than on a role because that is where the limit actually lives: a
23
+ * 429 is a property of an account and an endpoint, and every role pointed at this provider
24
+ * is queueing behind the same one. Capped at 5 because a request retried six times has
25
+ * stopped being a retry and become an outage nobody was told about.
26
+ */
27
+ max_retries: z.number().int().min(0).max(5).optional(),
28
+ });
29
+ const modelRoleBase = {
30
+ provider: z.string().optional(),
31
+ id: z.string().nullable().optional(),
32
+ enabled: z.boolean().optional(),
33
+ timeout_ms: z.number().int().positive().optional(),
34
+ };
35
+ export const ReasoningEffort = z.enum(['none', 'low', 'medium', 'high', 'xhigh', 'max']);
36
+ const EmbeddingRoleDoc = z.object({
37
+ ...modelRoleBase,
38
+ dimensions: z.number().int().positive().optional(),
39
+ batch: z.number().int().positive().optional(),
40
+ });
41
+ const RerankerRoleDoc = z.object({
42
+ ...modelRoleBase,
43
+ /** A native `/rerank` endpoint, or a generative model using Akno's ranking prompt. */
44
+ mode: z.enum(['endpoint', 'llm']).optional(),
45
+ /** Remove candidates the configured reranker confidently judges irrelevant. */
46
+ exclude_irrelevant: z.boolean().optional(),
47
+ top_k: z.number().int().positive().optional(),
48
+ max_chars: z.number().int().positive().optional(),
49
+ /** Output budget and thinking level used only by `mode: "llm"`. */
50
+ max_output_tokens: z.number().int().positive().optional(),
51
+ reasoning_effort: ReasoningEffort.nullable().optional(),
52
+ /**
53
+ * Where this model's "relevant" boundary sits on its own logit scale. Subtracted before the
54
+ * sigmoid that turns a raw score into `relevance`, so the boundary lands on 0.5.
55
+ *
56
+ * Rerankers do not share a scale and nothing in a GGUF declares one. Measured on the development knowledge base, 12
57
+ * labelled queries against 120 irrelevant pairs: bge-reranker-v2-m3 puts an irrelevant pair
58
+ * near −11 and clears 0.5 for 0.8% of them; gte-reranker-modernbert-base puts the same pairs
59
+ * near −0.3 and clears 0.5 for **42.5%**. Both rank correctly — only one is centred where a
60
+ * 0.5 cutoff means anything.
61
+ *
62
+ * Calibrating here rather than moving `route_threshold` per model is deliberate: this is the
63
+ * single point where a logit becomes a relevance, so every consumer downstream keeps working
64
+ * unchanged and `relevance` keeps meaning the same thing whichever model produced it.
65
+ */
66
+ score_offset: z.union([z.number(), z.literal('auto')]).optional(),
67
+ });
68
+ /**
69
+ * The shape shared by the two roles that generate text. They differ in what they are *for*,
70
+ * not in how they are configured: `derive` does the work whose quality shows up in the
71
+ * knowledge base and can take its time, `expansion` sits on the recall path where a second
72
+ * of latency is felt on every question. Pointing both at one model is a valid answer; so is
73
+ * pointing `derive` at a 12B and `expansion` at a 3B, which is what a laptop wants.
74
+ */
75
+ const TextRoleDoc = z.object({
76
+ ...modelRoleBase,
77
+ max_output_tokens: z.number().int().positive().optional(),
78
+ concurrency: z.number().int().positive().optional(),
79
+ reasoning_effort: ReasoningEffort.nullable().optional(),
80
+ });
81
+ const VisionRoleDoc = z.object({
82
+ ...modelRoleBase,
83
+ reasoning_effort: ReasoningEffort.nullable().optional(),
84
+ });
85
+ const ModelsDoc = z.object({
86
+ embedding: EmbeddingRoleDoc.optional(),
87
+ reranker: RerankerRoleDoc.optional(),
88
+ derive: TextRoleDoc.optional(),
89
+ expansion: TextRoleDoc.optional(),
90
+ answer: TextRoleDoc.optional(),
91
+ vision: VisionRoleDoc.optional(),
92
+ });
93
+ const RelocationFolder = z
94
+ .string()
95
+ .min(1)
96
+ .refine((value) => {
97
+ const normalized = value.replace(/\\/g, '/');
98
+ return (value === value.trim() &&
99
+ !value.includes('\\') &&
100
+ !normalized.startsWith('/') &&
101
+ !normalized.endsWith('/') &&
102
+ !normalized.endsWith('.md') &&
103
+ !/[?*#]/.test(normalized) &&
104
+ normalized.split('/').every((part) => part.length > 0 && part !== '.' && part !== '..'));
105
+ }, { message: 'relocate_to must be one safe knowledge-base folder path without globs or .md' });
106
+ /** One rule per glob. Most specific wins; `akno rules <path>` explains why. */
107
+ export const FolderRuleDoc = z.object({
108
+ /**
109
+ * What belongs in this folder, in a sentence, for whoever files the next page — which is
110
+ * usually an agent that has never seen the folder before.
111
+ *
112
+ * The rest of a rule tells Akno how to *treat* a page once it is there; this is the only
113
+ * field that says what should be there at all. Without it a taxonomy is a list of globs, and
114
+ * the knowledge that `research/` holds findings about the world while `household/` holds
115
+ * claims about this household lives nowhere a caller can read — which is how a rent figure
116
+ * from a transcript ends up filed as a defence strategy.
117
+ */
118
+ description: z.string().max(500).optional(),
119
+ role: PageRole.optional(),
120
+ /** Whether the conversational curator may place claims in this folder. */
121
+ remember: RememberManagement.optional(),
122
+ /** Canonical entity pages the folder's pages concern. */
123
+ about: z.array(z.string().min(1)).optional(),
124
+ type: z.string().optional(),
125
+ /** `page | document | file | auto | ignore` — behaviour differs by folder, so
126
+ * it is declared once rather than classified per arrival. */
127
+ ingest: z.enum(['page', 'document', 'file', 'auto', 'ignore']).optional(),
128
+ /** Multiplied into the score at assembly. Demotes without hiding. */
129
+ rank: z.number().min(0).max(2).optional(),
130
+ /** Makes a folder an inbox: arrivals are routed out of it. */
131
+ route: z.boolean().optional(),
132
+ /** Enforced structure, reported by `doctor` rather than silently applied. */
133
+ max_depth: z.number().int().positive().optional(),
134
+ /**
135
+ * Exact destination folder for autonomous `max_depth` repair. Merely naming a depth limit
136
+ * diagnoses drift; this separate declaration is what authorizes a unique relocation.
137
+ */
138
+ relocate_to: RelocationFolder.optional(),
139
+ slug_pattern: z.string().optional(),
140
+ });
141
+ const PathsDoc = z.object({
142
+ timeline: z.string().optional(),
143
+ inbox: z.string().optional(),
144
+ observations: z.string().optional(),
145
+ journal: z.string().optional(),
146
+ });
147
+ const IndexDoc = z.object({
148
+ chunk_target_chars: z.number().int().positive().optional(),
149
+ chunk_max_chars: z.number().int().positive().optional(),
150
+ chunk_overlap_chars: z.number().int().nonnegative().optional(),
151
+ summaries: z.boolean().optional(),
152
+ facts: z.boolean().optional(),
153
+ hash_concurrency: z.number().int().positive().optional(),
154
+ ann_threshold_chunks: z.number().int().positive().optional(),
155
+ });
156
+ const RecallDoc = z.object({
157
+ default_budget: z.number().int().positive().optional(),
158
+ default_limit: z.number().int().positive().optional(),
159
+ candidates_per_arm: z.number().int().positive().optional(),
160
+ line_window: z.number().int().positive().optional(),
161
+ source_quote_lines: z.number().int().positive().optional(),
162
+ expansion: z.boolean().optional(),
163
+ expansion_timeout_ms: z.number().int().positive().optional(),
164
+ /** Add exact, bounded evidence-graph candidates to recall before qualification. */
165
+ graph: z.boolean().optional(),
166
+ rank: z
167
+ .object({
168
+ knowledge: z.number().min(0).optional(),
169
+ source: z.number().min(0).optional(),
170
+ inference: z.number().min(0).optional(),
171
+ })
172
+ .optional(),
173
+ });
174
+ const GraphDoc = z.object({
175
+ contextual_resolution: z
176
+ .object({
177
+ /** Model judgment is opt-in until its invented benchmark passes on the configured model. */
178
+ enabled: z.boolean().optional(),
179
+ /** Contextual resolution never searches for or creates candidates. */
180
+ max_candidates: z.number().int().min(2).max(16).optional(),
181
+ max_mentions_per_index: z.number().int().positive().max(1000).optional(),
182
+ /** This classification usually benefits from disabling hidden thinking on hosted models. */
183
+ reasoning_effort: ReasoningEffort.nullable().optional(),
184
+ })
185
+ .optional(),
186
+ });
187
+ const WatchDoc = z.object({
188
+ enabled: z.boolean().optional(),
189
+ debounce_ms: z.number().int().nonnegative().optional(),
190
+ sweep_interval_ms: z.number().int().nonnegative().optional(),
191
+ verify_interval_ms: z.number().int().nonnegative().optional(),
192
+ });
193
+ const ServerDoc = z.object({
194
+ socket: z.string().optional(),
195
+ http: z.string().nullable().optional(),
196
+ mcp_allow: z.array(z.string()).optional(),
197
+ });
198
+ const IngestDoc = z.object({
199
+ max_file_mb: z.number().positive().optional(),
200
+ max_ocr_pages: z.number().int().positive().optional(),
201
+ name_confidence: z.number().min(0).max(1).optional(),
202
+ blocked_extensions: z.array(z.string()).optional(),
203
+ text_rendition: z.boolean().optional(),
204
+ text_rendition_min_chars: z.number().int().nonnegative().optional(),
205
+ });
206
+ /**
207
+ * A **mission** appends emphasis to a fixed system prompt and never replaces it. That
208
+ * is a guardrail, not a convenience: every rule that keeps an inference engine honest lives
209
+ * in the fixed part, and a replaceable prompt is how they all get lost at once.
210
+ */
211
+ const TierDoc = z.object({
212
+ enabled: z.boolean().optional(),
213
+ // Nullable so the committed default can *show* the key with no value, rather than leaving
214
+ // a reader to guess that it exists.
215
+ mission: z.string().nullable().optional(),
216
+ });
217
+ const ManagedFallbackSlug = z
218
+ .string()
219
+ .min(1)
220
+ .max(512)
221
+ .refine((value) => value === value.trim() &&
222
+ !value.startsWith('/') &&
223
+ !value.startsWith('~') &&
224
+ !/^[a-zA-Z]:/.test(value) &&
225
+ !/\.(?:md|markdown)$/i.test(value) &&
226
+ !value.includes('\\') &&
227
+ !value.includes('\0') &&
228
+ value.split('/').every((segment) => segment.length > 0 && !segment.startsWith('.')), 'expected a safe page slug without an extension');
229
+ const MAINTENANCE_PROFILES = ['audit', 'review', 'autonomous'];
230
+ export const MAINTENANCE_TRANSFORMS = [
231
+ 'observe',
232
+ 'reflect',
233
+ 'hygiene',
234
+ 'managed_item',
235
+ 'synthesis',
236
+ 'split',
237
+ 'extract',
238
+ 'merge',
239
+ 'contradiction',
240
+ 'broken_link',
241
+ 'rule_drift',
242
+ 'adopt',
243
+ ];
244
+ const MAINTENANCE_POLICIES = ['off', 'audit', 'review', 'auto'];
245
+ const MaintenancePolicyDoc = z.enum(MAINTENANCE_POLICIES);
246
+ const MaintenancePoliciesDoc = z.object({
247
+ observe: MaintenancePolicyDoc.optional(),
248
+ reflect: MaintenancePolicyDoc.optional(),
249
+ hygiene: MaintenancePolicyDoc.optional(),
250
+ managed_item: MaintenancePolicyDoc.optional(),
251
+ synthesis: MaintenancePolicyDoc.optional(),
252
+ split: MaintenancePolicyDoc.optional(),
253
+ extract: MaintenancePolicyDoc.optional(),
254
+ merge: MaintenancePolicyDoc.optional(),
255
+ contradiction: MaintenancePolicyDoc.optional(),
256
+ broken_link: MaintenancePolicyDoc.optional(),
257
+ rule_drift: MaintenancePolicyDoc.optional(),
258
+ adopt: MaintenancePolicyDoc.optional(),
259
+ });
260
+ const MaintenanceLimitsDoc = z.object({
261
+ max_items: z.number().int().nonnegative().optional(),
262
+ max_files_changed: z.number().int().nonnegative().optional(),
263
+ max_bytes_written: z.number().int().nonnegative().optional(),
264
+ max_high_risk_items: z.number().int().nonnegative().optional(),
265
+ });
266
+ const MaintenancePlanRetentionDoc = z.object({
267
+ /** Exact private operations and evidence are removed from terminal plans after this many days. */
268
+ payload_days: z.number().int().nonnegative().optional(),
269
+ /** Compact terminal plan and item receipts are removed after this many days. */
270
+ receipt_days: z.number().int().nonnegative().optional(),
271
+ });
272
+ const MAINTENANCE_NOTIFICATION_MODES = ['off', 'actionable', 'all'];
273
+ const MaintenanceDoc = z.object({
274
+ /** One understandable authority choice for the complete scheduled cycle. */
275
+ profile: z.enum(MAINTENANCE_PROFILES).optional(),
276
+ /** Per-transformation authority; omitted values inherit the selected profile. */
277
+ policies: MaintenancePoliciesDoc.optional(),
278
+ /** Cumulative apply ceilings shared by every plan-backed phase in one dream invocation. */
279
+ limits: MaintenanceLimitsDoc.optional(),
280
+ /** Two-stage retention for private plan payloads and their compact audit receipts. */
281
+ plan_retention: MaintenancePlanRetentionDoc.optional(),
282
+ /** Maximum model-authored corrections an automatic item may receive before a second revise is rejected. */
283
+ max_revision_attempts: z.number().int().min(0).max(3).optional(),
284
+ /**
285
+ * The model the cycle uses, when it should not be the one indexing uses.
286
+ *
287
+ * Not a role of its own — it is the same capability as `derive`, pointed somewhere else
288
+ * for the one caller that runs unattended. Measured on a real base: the observe tier's output
289
+ * is almost entirely a function of the model behind it, and a knowledge base wanting a strong
290
+ * model once a night should not thereby send every recall expansion to a paid API.
291
+ */
292
+ // Nullable so the committed default can name the key while leaving it unset.
293
+ model: TextRoleDoc.nullable().optional(),
294
+ /**
295
+ * Local, content-safe scheduled-run notifications. `actionable` stays quiet unless the
296
+ * owner can do something; `all` also confirms successful no-op runs.
297
+ */
298
+ notifications: z.enum(MAINTENANCE_NOTIFICATION_MODES).optional(),
299
+ /**
300
+ * Write every run down: what was applied, what a guard refused, what was skipped and why.
301
+ *
302
+ * Off by default and deliberately so — a log of inferences drawn from private notes is a
303
+ * second copy of the sensitive part, sitting outside the notes. It is genuinely useful while
304
+ * you are deciding whether to trust the cycle, which is why it exists; it is the owner's
305
+ * decision to make, which is why it is not the default.
306
+ */
307
+ log_changes: z.boolean().optional(),
308
+ retain: TierDoc.extend({
309
+ /** Explicit catch-all page for durable claims with no ordinary writable destination. */
310
+ fallback_page: ManagedFallbackSlug.nullable().optional(),
311
+ }).optional(),
312
+ observe: TierDoc.extend({
313
+ /** Distinct source pages an observation needs. The floor is two. */
314
+ min_evidence: z.number().int().min(2).optional(),
315
+ /** Subjects looked at per run, most recently touched first. */
316
+ max_subjects: z.number().int().positive().optional(),
317
+ }).optional(),
318
+ reflect: TierDoc.optional(),
319
+ curate: z
320
+ .object({
321
+ verify: z.boolean().optional(),
322
+ max_pages: z.number().int().positive().optional(),
323
+ max_splits: z.number().int().nonnegative().optional(),
324
+ max_extracts: z.number().int().nonnegative().optional(),
325
+ max_merges: z.number().int().nonnegative().optional(),
326
+ /** Exact scalar type repairs and explicitly routed max-depth relocations per cycle. */
327
+ max_rule_drifts: z.number().int().nonnegative().optional(),
328
+ /** Exact folder prefixes eligible for identity-backed merge discovery; empty keeps merge disabled. */
329
+ merge_folders: z.array(z.string().min(1)).optional(),
330
+ /** Semantic adds the qualified embedding-plus-classifier candidate source; exact is model-free. */
331
+ merge_discovery: z.enum(['exact', 'semantic']).optional(),
332
+ max_children_per_page: z.number().int().positive().optional(),
333
+ split_after_bytes: z.number().int().positive().optional(),
334
+ split_section_bytes: z.number().int().positive().optional(),
335
+ extract_after_bytes: z.number().int().positive().optional(),
336
+ extract_section_bytes: z.number().int().positive().optional(),
337
+ })
338
+ .optional(),
339
+ adopt: z
340
+ .object({
341
+ /** Pages created per run. A folder of media should not become 500 pages overnight. */
342
+ max_pages: z.number().int().positive().optional(),
343
+ })
344
+ .optional(),
345
+ /** Broken-link proposal settings. Durable writes go through curate plans. */
346
+ repair: z
347
+ .object({
348
+ /** Retains the legacy report-only `repair` phase; it never writes knowledge-base bytes. */
349
+ enabled: z.boolean().optional(),
350
+ /** Include exact, identity-backed broken-link items in plan-backed curate runs. */
351
+ links: z.boolean().optional(),
352
+ /** @deprecated Migration alias for maintenance.conflicts.resolve. */
353
+ conflicts: z.boolean().optional(),
354
+ /** Ceiling on broken-link rewrites proposed in one plan. */
355
+ max_changes: z.number().int().positive().optional(),
356
+ })
357
+ .optional(),
358
+ conflicts: z
359
+ .object({
360
+ enabled: z.boolean().optional(),
361
+ /** Ask a model whether a candidate pair really conflicts. */
362
+ verify: z.boolean().optional(),
363
+ /** Include guarded contradiction items in plan-backed curate runs. */
364
+ resolve: z.boolean().optional(),
365
+ max_pairs: z.number().int().positive().optional(),
366
+ })
367
+ .optional(),
368
+ });
369
+ export const ConfigDoc = z.object({
370
+ akno_path: z.string().nullable().optional(),
371
+ state_dir: z.string().optional(),
372
+ paths: PathsDoc.optional(),
373
+ create_reserved_paths: z.boolean().optional(),
374
+ write_ids: z.boolean().optional(),
375
+ ignore: z.array(z.string()).optional(),
376
+ page_extensions: z.array(z.string()).optional(),
377
+ max_page_bytes: z.number().int().positive().optional(),
378
+ gate: z.enum(['top-level', 'all', 'none']).optional(),
379
+ route_threshold: z.number().min(0).max(1).optional(),
380
+ loose_events: z.enum(['ledger', 'daily']).optional(),
381
+ derived_in_frontmatter: z.enum(['none', 'summary', 'all']).optional(),
382
+ providers: z.record(z.string(), ProviderDoc).optional(),
383
+ models: ModelsDoc.optional(),
384
+ index: IndexDoc.optional(),
385
+ recall: RecallDoc.optional(),
386
+ graph: GraphDoc.optional(),
387
+ watch: WatchDoc.optional(),
388
+ server: ServerDoc.optional(),
389
+ ingest: IngestDoc.optional(),
390
+ maintenance: MaintenanceDoc.optional(),
391
+ trash_retention_days: z.number().int().nonnegative().optional(),
392
+ folders: z.record(z.string(), FolderRuleDoc).optional(),
393
+ });
394
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { FolderRuleDoc } from './schema.ts';
2
+ /**
3
+ * **Adding a folder rule to `<akno_path>/akno.jsonc` without rewriting the file.**
4
+ *
5
+ * This is the one config file Akno writes, and it is also the one config file that lives
6
+ * inside the user's own folder — a git repo under active hand editing, full of comments
7
+ * explaining why each rule is what it is. Parsing it and stringifying it back would produce
8
+ * valid JSON and destroy all of that: the explanation of why `conversations/**` has a source role
9
+ * material is worth more than the rule it annotates, because the rule can be re-derived and
10
+ * the reasoning cannot.
11
+ *
12
+ * So this is a **textual insert**. It finds the `folders` block, works out where the block
13
+ * ends, and puts new lines there. Every other byte in the file is carried through untouched,
14
+ * which also means a `git diff` after an agent declares a folder is one hunk that a person
15
+ * can read.
16
+ *
17
+ * The parsing here is deliberately narrow: enough to locate one top-level key's object and
18
+ * its matching brace while respecting strings and comments, and nothing more. A general
19
+ * JSONC editor is a much larger thing to get right, and every part of it beyond this would
20
+ * be unused.
21
+ */
22
+ export interface FolderEntry {
23
+ /** The glob as it will appear as a key, e.g. `research/**`. */
24
+ glob: string;
25
+ rule: FolderRuleDoc;
26
+ }
27
+ /**
28
+ * Returns the file's new text with `entry` added to its `folders` block.
29
+ *
30
+ * `source` is null when the file does not exist yet, in which case a commented skeleton is
31
+ * created around the entry — the same explanation a person would otherwise have to go and
32
+ * find in the docs.
33
+ *
34
+ * Throws when the file exists but has no `folders` block to add to, rather than inventing
35
+ * one at a guess: a file shaped differently than expected is a file somebody meant something
36
+ * by.
37
+ */
38
+ export declare function addFolderRule(source: string | null, entry: FolderEntry): string;
39
+ /** True when `folders` already has a rule under exactly this glob. */
40
+ export declare function hasFolderRule(folders: Record<string, unknown> | undefined, glob: string): boolean;
41
+ //# sourceMappingURL=write-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-rules.d.ts","sourceRoot":"","sources":["../../src/config/write-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;CACrB;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CA+B/E;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjG"}