@tenphi/akno-core 0.12.0 → 0.13.1

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 (302) hide show
  1. package/config/default.jsonc +12 -2
  2. package/dist/bench/graph.d.ts +2 -0
  3. package/dist/bench/graph.d.ts.map +1 -1
  4. package/dist/bench/graph.js +4 -0
  5. package/dist/bench/graph.js.map +1 -1
  6. package/dist/bench/language-corpus-v10.d.ts +4 -0
  7. package/dist/bench/language-corpus-v10.d.ts.map +1 -0
  8. package/dist/bench/language-corpus-v10.js +569 -0
  9. package/dist/bench/language-corpus-v10.js.map +1 -0
  10. package/dist/bench/language-corpus-v11.d.ts +4 -0
  11. package/dist/bench/language-corpus-v11.d.ts.map +1 -0
  12. package/dist/bench/language-corpus-v11.js +594 -0
  13. package/dist/bench/language-corpus-v11.js.map +1 -0
  14. package/dist/bench/language-corpus-v12.d.ts +4 -0
  15. package/dist/bench/language-corpus-v12.d.ts.map +1 -0
  16. package/dist/bench/language-corpus-v12.js +584 -0
  17. package/dist/bench/language-corpus-v12.js.map +1 -0
  18. package/dist/bench/language-corpus-v13.d.ts +4 -0
  19. package/dist/bench/language-corpus-v13.d.ts.map +1 -0
  20. package/dist/bench/language-corpus-v13.js +584 -0
  21. package/dist/bench/language-corpus-v13.js.map +1 -0
  22. package/dist/bench/language-corpus-v14.d.ts +4 -0
  23. package/dist/bench/language-corpus-v14.d.ts.map +1 -0
  24. package/dist/bench/language-corpus-v14.js +584 -0
  25. package/dist/bench/language-corpus-v14.js.map +1 -0
  26. package/dist/bench/language-corpus-v15.d.ts +4 -0
  27. package/dist/bench/language-corpus-v15.d.ts.map +1 -0
  28. package/dist/bench/language-corpus-v15.js +305 -0
  29. package/dist/bench/language-corpus-v15.js.map +1 -0
  30. package/dist/bench/language-corpus-v16.d.ts +4 -0
  31. package/dist/bench/language-corpus-v16.d.ts.map +1 -0
  32. package/dist/bench/language-corpus-v16.js +305 -0
  33. package/dist/bench/language-corpus-v16.js.map +1 -0
  34. package/dist/bench/language-corpus-v17.d.ts +4 -0
  35. package/dist/bench/language-corpus-v17.d.ts.map +1 -0
  36. package/dist/bench/language-corpus-v17.js +305 -0
  37. package/dist/bench/language-corpus-v17.js.map +1 -0
  38. package/dist/bench/language-corpus-v18.d.ts +4 -0
  39. package/dist/bench/language-corpus-v18.d.ts.map +1 -0
  40. package/dist/bench/language-corpus-v18.js +305 -0
  41. package/dist/bench/language-corpus-v18.js.map +1 -0
  42. package/dist/bench/language-corpus-v19.d.ts +4 -0
  43. package/dist/bench/language-corpus-v19.d.ts.map +1 -0
  44. package/dist/bench/language-corpus-v19.js +310 -0
  45. package/dist/bench/language-corpus-v19.js.map +1 -0
  46. package/dist/bench/language-corpus-v2.d.ts +12 -0
  47. package/dist/bench/language-corpus-v2.d.ts.map +1 -0
  48. package/dist/bench/language-corpus-v2.js +146 -0
  49. package/dist/bench/language-corpus-v2.js.map +1 -0
  50. package/dist/bench/language-corpus-v20.d.ts +4 -0
  51. package/dist/bench/language-corpus-v20.d.ts.map +1 -0
  52. package/dist/bench/language-corpus-v20.js +310 -0
  53. package/dist/bench/language-corpus-v20.js.map +1 -0
  54. package/dist/bench/language-corpus-v21.d.ts +4 -0
  55. package/dist/bench/language-corpus-v21.d.ts.map +1 -0
  56. package/dist/bench/language-corpus-v21.js +310 -0
  57. package/dist/bench/language-corpus-v21.js.map +1 -0
  58. package/dist/bench/language-corpus-v22.d.ts +4 -0
  59. package/dist/bench/language-corpus-v22.d.ts.map +1 -0
  60. package/dist/bench/language-corpus-v22.js +330 -0
  61. package/dist/bench/language-corpus-v22.js.map +1 -0
  62. package/dist/bench/language-corpus-v23.d.ts +4 -0
  63. package/dist/bench/language-corpus-v23.d.ts.map +1 -0
  64. package/dist/bench/language-corpus-v23.js +203 -0
  65. package/dist/bench/language-corpus-v23.js.map +1 -0
  66. package/dist/bench/language-corpus-v3.d.ts +4 -0
  67. package/dist/bench/language-corpus-v3.d.ts.map +1 -0
  68. package/dist/bench/language-corpus-v3.js +184 -0
  69. package/dist/bench/language-corpus-v3.js.map +1 -0
  70. package/dist/bench/language-corpus-v4.d.ts +4 -0
  71. package/dist/bench/language-corpus-v4.d.ts.map +1 -0
  72. package/dist/bench/language-corpus-v4.js +111 -0
  73. package/dist/bench/language-corpus-v4.js.map +1 -0
  74. package/dist/bench/language-corpus-v5.d.ts +4 -0
  75. package/dist/bench/language-corpus-v5.d.ts.map +1 -0
  76. package/dist/bench/language-corpus-v5.js +111 -0
  77. package/dist/bench/language-corpus-v5.js.map +1 -0
  78. package/dist/bench/language-corpus-v6.d.ts +4 -0
  79. package/dist/bench/language-corpus-v6.d.ts.map +1 -0
  80. package/dist/bench/language-corpus-v6.js +111 -0
  81. package/dist/bench/language-corpus-v6.js.map +1 -0
  82. package/dist/bench/language-corpus-v7.d.ts +4 -0
  83. package/dist/bench/language-corpus-v7.d.ts.map +1 -0
  84. package/dist/bench/language-corpus-v7.js +150 -0
  85. package/dist/bench/language-corpus-v7.js.map +1 -0
  86. package/dist/bench/language-corpus-v8.d.ts +4 -0
  87. package/dist/bench/language-corpus-v8.d.ts.map +1 -0
  88. package/dist/bench/language-corpus-v8.js +150 -0
  89. package/dist/bench/language-corpus-v8.js.map +1 -0
  90. package/dist/bench/language-corpus-v9.d.ts +4 -0
  91. package/dist/bench/language-corpus-v9.d.ts.map +1 -0
  92. package/dist/bench/language-corpus-v9.js +150 -0
  93. package/dist/bench/language-corpus-v9.js.map +1 -0
  94. package/dist/bench/language-corpus.d.ts +20 -0
  95. package/dist/bench/language-corpus.d.ts.map +1 -0
  96. package/dist/bench/language-corpus.js +205 -0
  97. package/dist/bench/language-corpus.js.map +1 -0
  98. package/dist/bench/language-review.d.ts +286 -0
  99. package/dist/bench/language-review.d.ts.map +1 -0
  100. package/dist/bench/language-review.js +605 -0
  101. package/dist/bench/language-review.js.map +1 -0
  102. package/dist/bench/language.d.ts +1221 -0
  103. package/dist/bench/language.d.ts.map +1 -0
  104. package/dist/bench/language.js +571 -0
  105. package/dist/bench/language.js.map +1 -0
  106. package/dist/config/load.js +5 -0
  107. package/dist/config/load.js.map +1 -1
  108. package/dist/config/schema.d.ts +3 -0
  109. package/dist/config/schema.d.ts.map +1 -1
  110. package/dist/config/schema.js +1 -0
  111. package/dist/config/schema.js.map +1 -1
  112. package/dist/index/derive.d.ts.map +1 -1
  113. package/dist/index/derive.js +14 -5
  114. package/dist/index/derive.js.map +1 -1
  115. package/dist/index/graph.d.ts.map +1 -1
  116. package/dist/index/graph.js +3 -0
  117. package/dist/index/graph.js.map +1 -1
  118. package/dist/index/indexer.d.ts.map +1 -1
  119. package/dist/index/indexer.js +6 -1
  120. package/dist/index/indexer.js.map +1 -1
  121. package/dist/ingest/extract.d.ts.map +1 -1
  122. package/dist/ingest/extract.js +3 -1
  123. package/dist/ingest/extract.js.map +1 -1
  124. package/dist/kb/line-facts.d.ts.map +1 -1
  125. package/dist/kb/line-facts.js +2 -0
  126. package/dist/kb/line-facts.js.map +1 -1
  127. package/dist/kb/managed-lines.d.ts.map +1 -1
  128. package/dist/kb/managed-lines.js +3 -2
  129. package/dist/kb/managed-lines.js.map +1 -1
  130. package/dist/kb/prose.d.ts +12 -0
  131. package/dist/kb/prose.d.ts.map +1 -0
  132. package/dist/kb/prose.js +323 -0
  133. package/dist/kb/prose.js.map +1 -0
  134. package/dist/maintenance/conflicts.d.ts +1 -1
  135. package/dist/maintenance/curate.d.ts +1 -0
  136. package/dist/maintenance/curate.d.ts.map +1 -1
  137. package/dist/maintenance/curate.js +28 -1
  138. package/dist/maintenance/curate.js.map +1 -1
  139. package/dist/maintenance/dream.d.ts.map +1 -1
  140. package/dist/maintenance/dream.js +6 -1
  141. package/dist/maintenance/dream.js.map +1 -1
  142. package/dist/maintenance/plans.d.ts.map +1 -1
  143. package/dist/maintenance/plans.js +2 -0
  144. package/dist/maintenance/plans.js.map +1 -1
  145. package/dist/maintenance/revision-language.d.ts +4 -0
  146. package/dist/maintenance/revision-language.d.ts.map +1 -0
  147. package/dist/maintenance/revision-language.js +50 -0
  148. package/dist/maintenance/revision-language.js.map +1 -0
  149. package/dist/memory/action-agency.d.ts +5 -0
  150. package/dist/memory/action-agency.d.ts.map +1 -0
  151. package/dist/memory/action-agency.js +76 -0
  152. package/dist/memory/action-agency.js.map +1 -0
  153. package/dist/memory/clause-ending.d.ts +4 -0
  154. package/dist/memory/clause-ending.d.ts.map +1 -0
  155. package/dist/memory/clause-ending.js +6 -0
  156. package/dist/memory/clause-ending.js.map +1 -0
  157. package/dist/memory/counterfactual-wording.d.ts +4 -0
  158. package/dist/memory/counterfactual-wording.d.ts.map +1 -0
  159. package/dist/memory/counterfactual-wording.js +101 -0
  160. package/dist/memory/counterfactual-wording.js.map +1 -0
  161. package/dist/memory/coverage-roles.d.ts +3 -0
  162. package/dist/memory/coverage-roles.d.ts.map +1 -0
  163. package/dist/memory/coverage-roles.js +28 -0
  164. package/dist/memory/coverage-roles.js.map +1 -0
  165. package/dist/memory/intent.d.ts +1 -0
  166. package/dist/memory/intent.d.ts.map +1 -1
  167. package/dist/memory/intent.js +88 -5
  168. package/dist/memory/intent.js.map +1 -1
  169. package/dist/memory/named-actor.d.ts +2 -0
  170. package/dist/memory/named-actor.d.ts.map +1 -0
  171. package/dist/memory/named-actor.js +9 -0
  172. package/dist/memory/named-actor.js.map +1 -0
  173. package/dist/memory/personal-negative-actions.d.ts +3 -0
  174. package/dist/memory/personal-negative-actions.d.ts.map +1 -0
  175. package/dist/memory/personal-negative-actions.js +67 -0
  176. package/dist/memory/personal-negative-actions.js.map +1 -0
  177. package/dist/memory/projection.d.ts.map +1 -1
  178. package/dist/memory/projection.js +10 -2
  179. package/dist/memory/projection.js.map +1 -1
  180. package/dist/memory/prose-projection.d.ts +6 -0
  181. package/dist/memory/prose-projection.d.ts.map +1 -0
  182. package/dist/memory/prose-projection.js +34 -0
  183. package/dist/memory/prose-projection.js.map +1 -0
  184. package/dist/memory/report-uncertainty.d.ts +3 -0
  185. package/dist/memory/report-uncertainty.d.ts.map +1 -0
  186. package/dist/memory/report-uncertainty.js +67 -0
  187. package/dist/memory/report-uncertainty.js.map +1 -0
  188. package/dist/memory/reporting-roles.d.ts +3 -0
  189. package/dist/memory/reporting-roles.d.ts.map +1 -0
  190. package/dist/memory/reporting-roles.js +39 -0
  191. package/dist/memory/reporting-roles.js.map +1 -0
  192. package/dist/memory/retention-source-frame.d.ts +8 -0
  193. package/dist/memory/retention-source-frame.d.ts.map +1 -0
  194. package/dist/memory/retention-source-frame.js +72 -0
  195. package/dist/memory/retention-source-frame.js.map +1 -0
  196. package/dist/models/client.d.ts +12 -3
  197. package/dist/models/client.d.ts.map +1 -1
  198. package/dist/models/client.js +142 -6
  199. package/dist/models/client.js.map +1 -1
  200. package/dist/models/language-audit.d.ts +78 -0
  201. package/dist/models/language-audit.d.ts.map +1 -0
  202. package/dist/models/language-audit.js +139 -0
  203. package/dist/models/language-audit.js.map +1 -0
  204. package/dist/models/language.d.ts +12 -0
  205. package/dist/models/language.d.ts.map +1 -0
  206. package/dist/models/language.js +106 -0
  207. package/dist/models/language.js.map +1 -0
  208. package/dist/models/semantic-verdict.d.ts +53 -0
  209. package/dist/models/semantic-verdict.d.ts.map +1 -0
  210. package/dist/models/semantic-verdict.js +190 -0
  211. package/dist/models/semantic-verdict.js.map +1 -0
  212. package/dist/ops/answer-record-rendering.d.ts +73 -0
  213. package/dist/ops/answer-record-rendering.d.ts.map +1 -0
  214. package/dist/ops/answer-record-rendering.js +149 -0
  215. package/dist/ops/answer-record-rendering.js.map +1 -0
  216. package/dist/ops/answer-source-audit.d.ts +354 -0
  217. package/dist/ops/answer-source-audit.d.ts.map +1 -0
  218. package/dist/ops/answer-source-audit.js +328 -0
  219. package/dist/ops/answer-source-audit.js.map +1 -0
  220. package/dist/ops/answer.d.ts +2 -2
  221. package/dist/ops/answer.d.ts.map +1 -1
  222. package/dist/ops/answer.js +1032 -114
  223. package/dist/ops/answer.js.map +1 -1
  224. package/dist/ops/context.d.ts.map +1 -1
  225. package/dist/ops/context.js +7 -0
  226. package/dist/ops/context.js.map +1 -1
  227. package/dist/ops/graph.d.ts.map +1 -1
  228. package/dist/ops/graph.js +35 -4
  229. package/dist/ops/graph.js.map +1 -1
  230. package/dist/ops/read.d.ts.map +1 -1
  231. package/dist/ops/read.js +5 -2
  232. package/dist/ops/read.js.map +1 -1
  233. package/dist/ops/recall.d.ts.map +1 -1
  234. package/dist/ops/recall.js +10 -0
  235. package/dist/ops/recall.js.map +1 -1
  236. package/dist/ops/remember.d.ts +2 -1
  237. package/dist/ops/remember.d.ts.map +1 -1
  238. package/dist/ops/remember.js +48 -33
  239. package/dist/ops/remember.js.map +1 -1
  240. package/dist/ops/retain.d.ts +3 -1
  241. package/dist/ops/retain.d.ts.map +1 -1
  242. package/dist/ops/retain.js +56 -44
  243. package/dist/ops/retain.js.map +1 -1
  244. package/dist/recall/assemble.d.ts +1 -0
  245. package/dist/recall/assemble.d.ts.map +1 -1
  246. package/dist/recall/assemble.js +19 -2
  247. package/dist/recall/assemble.js.map +1 -1
  248. package/dist/store/db.d.ts.map +1 -1
  249. package/dist/store/db.js +3 -1
  250. package/dist/store/db.js.map +1 -1
  251. package/dist/store/migrations.d.ts +2 -1
  252. package/dist/store/migrations.d.ts.map +1 -1
  253. package/dist/store/migrations.js +11 -1
  254. package/dist/store/migrations.js.map +1 -1
  255. package/dist/timeline/clock.d.ts.map +1 -1
  256. package/dist/timeline/clock.js +2 -0
  257. package/dist/timeline/clock.js.map +1 -1
  258. package/dist/timeline/eligibility.js +4 -4
  259. package/dist/timeline/eligibility.js.map +1 -1
  260. package/dist/timeline/source-clock.d.ts +5 -0
  261. package/dist/timeline/source-clock.d.ts.map +1 -0
  262. package/dist/timeline/source-clock.js +179 -0
  263. package/dist/timeline/source-clock.js.map +1 -0
  264. package/dist/write/fictional-case-identity.d.ts +10 -0
  265. package/dist/write/fictional-case-identity.d.ts.map +1 -0
  266. package/dist/write/fictional-case-identity.js +84 -0
  267. package/dist/write/fictional-case-identity.js.map +1 -0
  268. package/dist/write/managed-memory.js +1 -1
  269. package/dist/write/managed-memory.js.map +1 -1
  270. package/dist/write/retain-clock-repair.d.ts +48 -0
  271. package/dist/write/retain-clock-repair.d.ts.map +1 -0
  272. package/dist/write/retain-clock-repair.js +175 -0
  273. package/dist/write/retain-clock-repair.js.map +1 -0
  274. package/dist/write/retain.d.ts +21 -10
  275. package/dist/write/retain.d.ts.map +1 -1
  276. package/dist/write/retain.js +1220 -70
  277. package/dist/write/retain.js.map +1 -1
  278. package/dist/write/retained-relations.d.ts +7 -0
  279. package/dist/write/retained-relations.d.ts.map +1 -0
  280. package/dist/write/retained-relations.js +38 -0
  281. package/dist/write/retained-relations.js.map +1 -0
  282. package/dist/write/retained-spans.d.ts +5 -0
  283. package/dist/write/retained-spans.d.ts.map +1 -0
  284. package/dist/write/retained-spans.js +30 -0
  285. package/dist/write/retained-spans.js.map +1 -0
  286. package/dist/write/retained-time.d.ts +4 -0
  287. package/dist/write/retained-time.d.ts.map +1 -0
  288. package/dist/write/retained-time.js +10 -0
  289. package/dist/write/retained-time.js.map +1 -0
  290. package/dist/write/retention-frame-audit.d.ts +25 -0
  291. package/dist/write/retention-frame-audit.d.ts.map +1 -0
  292. package/dist/write/retention-frame-audit.js +43 -0
  293. package/dist/write/retention-frame-audit.js.map +1 -0
  294. package/dist/write/retention-negative-evidence.d.ts +222 -0
  295. package/dist/write/retention-negative-evidence.d.ts.map +1 -0
  296. package/dist/write/retention-negative-evidence.js +122 -0
  297. package/dist/write/retention-negative-evidence.js.map +1 -0
  298. package/dist/write/retention-report-limits.d.ts +65 -0
  299. package/dist/write/retention-report-limits.d.ts.map +1 -0
  300. package/dist/write/retention-report-limits.js +71 -0
  301. package/dist/write/retention-report-limits.js.map +1 -0
  302. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../src/bench/language.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,571 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import Database from 'better-sqlite3';
5
+ import { RETAIN_PROMPT_VERSION, RETAIN_VERIFIER_VERSION } from "../write/retain.js";
6
+ import { open } from "../open.js";
7
+ import { sha256 } from "../store/ids.js";
8
+ import { PROSE_PROJECTION_VERSION } from "../kb/prose.js";
9
+ import { ANSWER_PROMPT_VERSION, ANSWER_VERIFIER_PROMPT_VERSION } from "../ops/answer.js";
10
+ import { LANGUAGE_CORPUS_V2 } from "./language-corpus-v2.js";
11
+ import { LANGUAGE_CORPUS_V3 } from "./language-corpus-v3.js";
12
+ import { LANGUAGE_CORPUS_V7 } from "./language-corpus-v7.js";
13
+ import { LANGUAGE_CORPUS_V8 } from "./language-corpus-v8.js";
14
+ import { LANGUAGE_CORPUS_V9 } from "./language-corpus-v9.js";
15
+ import { LANGUAGE_CORPUS_V10 } from "./language-corpus-v10.js";
16
+ import { LANGUAGE_CORPUS_V11 } from "./language-corpus-v11.js";
17
+ import { LANGUAGE_CORPUS_V12 } from "./language-corpus-v12.js";
18
+ import { LANGUAGE_CORPUS_V13 } from "./language-corpus-v13.js";
19
+ import { LANGUAGE_CORPUS_V14 } from "./language-corpus-v14.js";
20
+ import { LANGUAGE_CORPUS_V15 } from "./language-corpus-v15.js";
21
+ import { LANGUAGE_CORPUS_V16 } from "./language-corpus-v16.js";
22
+ import { LANGUAGE_CORPUS_V17 } from "./language-corpus-v17.js";
23
+ import { LANGUAGE_CORPUS_V18 } from "./language-corpus-v18.js";
24
+ import { LANGUAGE_CORPUS_V19 } from "./language-corpus-v19.js";
25
+ import { LANGUAGE_CORPUS_V20 } from "./language-corpus-v20.js";
26
+ import { LANGUAGE_CORPUS_V21 } from "./language-corpus-v21.js";
27
+ import { LANGUAGE_CORPUS_V22 } from "./language-corpus-v22.js";
28
+ import { LANGUAGE_CORPUS_V23 } from "./language-corpus-v23.js";
29
+ import { LANGUAGE_CORPUS_V6 } from "./language-corpus-v6.js";
30
+ import { LANGUAGE_CORPUS_V5 } from "./language-corpus-v5.js";
31
+ import { LANGUAGE_CORPUS_V4 } from "./language-corpus-v4.js";
32
+ import { languageGateThresholds } from "./language-review.js";
33
+ import { MEMORY_VIEW_VERSION } from "../memory/intent.js";
34
+ import { LANGUAGE_CORPUS, LANGUAGE_CORPUS_VERSION } from "./language-corpus.js";
35
+ /** Runs only invented inputs. Provider permissions/settings come from the caller's configured roles. */
36
+ export async function runLanguageBench(config, options) {
37
+ const corpus = options.corpus ?? 'v2';
38
+ const runs = options.runs ?? 1;
39
+ if (!Number.isInteger(runs) || runs < 1 || runs > 5)
40
+ throw new Error('runs must be between 1 and 5');
41
+ const entries = corpus === 'v1'
42
+ ? LANGUAGE_CORPUS
43
+ : corpus === 'v2'
44
+ ? LANGUAGE_CORPUS_V2
45
+ : corpus === 'v3'
46
+ ? LANGUAGE_CORPUS_V3
47
+ : corpus === 'v4'
48
+ ? LANGUAGE_CORPUS_V4
49
+ : corpus === 'v5'
50
+ ? LANGUAGE_CORPUS_V5
51
+ : corpus === 'v6'
52
+ ? LANGUAGE_CORPUS_V6
53
+ : corpus === 'v7'
54
+ ? LANGUAGE_CORPUS_V7
55
+ : corpus === 'v8'
56
+ ? LANGUAGE_CORPUS_V8
57
+ : corpus === 'v9'
58
+ ? LANGUAGE_CORPUS_V9
59
+ : corpus === 'v10'
60
+ ? LANGUAGE_CORPUS_V10
61
+ : corpus === 'v11'
62
+ ? LANGUAGE_CORPUS_V11
63
+ : corpus === 'v12'
64
+ ? LANGUAGE_CORPUS_V12
65
+ : corpus === 'v13'
66
+ ? LANGUAGE_CORPUS_V13
67
+ : corpus === 'v14'
68
+ ? LANGUAGE_CORPUS_V14
69
+ : corpus === 'v15'
70
+ ? LANGUAGE_CORPUS_V15
71
+ : corpus === 'v16'
72
+ ? LANGUAGE_CORPUS_V16
73
+ : corpus === 'v17'
74
+ ? LANGUAGE_CORPUS_V17
75
+ : corpus === 'v18'
76
+ ? LANGUAGE_CORPUS_V18
77
+ : corpus === 'v19'
78
+ ? LANGUAGE_CORPUS_V19
79
+ : corpus === 'v20'
80
+ ? LANGUAGE_CORPUS_V20
81
+ : corpus === 'v21'
82
+ ? LANGUAGE_CORPUS_V21
83
+ : corpus === 'v22'
84
+ ? LANGUAGE_CORPUS_V22
85
+ : LANGUAGE_CORPUS_V23;
86
+ const split = entries.filter((entry) => entry.split === options.split);
87
+ if (options.caseIds?.some((id) => !split.some((entry) => entry.id === id)))
88
+ throw new Error('unknown case id in selected split');
89
+ const cases = split.filter((entry) => !options.caseIds || options.caseIds.includes(entry.id));
90
+ if (!cases.length)
91
+ throw new Error('no cases selected');
92
+ const results = [];
93
+ for (let run = 1; run <= runs; run++)
94
+ for (const entry of cases) {
95
+ const result = await runCase(config, entry, corpus, run, options.fullRetrieval ?? false);
96
+ results.push(result);
97
+ options.onCaseResult?.(result);
98
+ options.onProgress?.(`${entry.id} run ${run}`, results.length, cases.length * runs);
99
+ }
100
+ const available = results.filter((result) => !result.retentionAvailabilityFailure);
101
+ const useful = available.filter((result) => !result.expectedHold);
102
+ const written = useful.filter((result) => result.retainedItems > 0);
103
+ const rate = (numerator, denominator) => ({
104
+ numerator,
105
+ denominator,
106
+ rate: denominator ? numerator / denominator : null,
107
+ });
108
+ return {
109
+ schemaVersion: 'language-benchmark-v2',
110
+ createdAt: new Date().toISOString(),
111
+ corpusVersion: corpus === 'v1' ? LANGUAGE_CORPUS_VERSION : `language-discourse-${corpus}`,
112
+ corpusFingerprint: sha256(JSON.stringify(entries)),
113
+ selectedCaseIds: cases.map((entry) => entry.id),
114
+ runs,
115
+ setup: corpus === 'v1'
116
+ ? 'legacy-read-only-source-before-retain'
117
+ : 'separate-writable-fidelity-and-read-only-admission',
118
+ queryMatrix: ['query_language', 'answer_language', 'explicit_view'],
119
+ split: options.split,
120
+ knowledgeLanguage: 'en',
121
+ proseProjectionVersion: PROSE_PROJECTION_VERSION,
122
+ memoryViewVersion: MEMORY_VIEW_VERSION,
123
+ answerPromptVersion: ANSWER_PROMPT_VERSION,
124
+ answerVerifierVersion: ANSWER_VERIFIER_PROMPT_VERSION,
125
+ retentionPromptVersion: RETAIN_PROMPT_VERSION,
126
+ retentionVerifierVersion: RETAIN_VERIFIER_VERSION,
127
+ models: {
128
+ retention: config.models.derive.id,
129
+ answer: config.models.answer.id,
130
+ embedding: config.models.embedding.id,
131
+ expansion: config.models.expansion.id,
132
+ ...(options.fullRetrieval ? { reranker: config.models.reranker.id } : {}),
133
+ },
134
+ modelConfiguration: Object.fromEntries(['derive', 'answer', 'embedding', 'expansion'].map((role) => {
135
+ const model = config.models[role];
136
+ return [
137
+ role,
138
+ {
139
+ enabled: model.enabled,
140
+ api: model.provider?.api ?? null,
141
+ timeoutMs: model.timeoutMs,
142
+ maxOutputTokens: model.maxOutputTokens ?? null,
143
+ reasoningEffort: model.reasoningEffort ?? null,
144
+ providerRetries: model.provider?.maxRetries ?? null,
145
+ },
146
+ ];
147
+ })),
148
+ retrievalProfile: options.fullRetrieval ? 'configured' : 'legacy-reranker-disabled',
149
+ ...(options.fullRetrieval
150
+ ? {
151
+ retrievalConfiguration: {
152
+ embeddingDimensions: config.models.embedding.dimensions,
153
+ rerankerEnabled: config.models.reranker.enabled,
154
+ mode: config.models.reranker.rerankerMode,
155
+ topK: config.models.reranker.topK,
156
+ maxChars: config.models.reranker.maxChars,
157
+ excludeIrrelevant: config.models.reranker.excludeIrrelevant,
158
+ scoreOffset: config.models.reranker.scoreOffset,
159
+ api: config.models.reranker.provider?.api ?? null,
160
+ timeoutMs: config.models.reranker.timeoutMs,
161
+ providerRetries: config.models.reranker.provider?.maxRetries ?? null,
162
+ maxOutputTokens: config.models.reranker.maxOutputTokens,
163
+ reasoningEffort: config.models.reranker.reasoningEffort,
164
+ },
165
+ }
166
+ : {}),
167
+ modelOutputTokenLimits: {
168
+ answer: config.models.answer.maxOutputTokens ?? null,
169
+ retention: config.models.derive.maxOutputTokens ?? null,
170
+ },
171
+ indexModelDerivation: false,
172
+ independentlyReviewed: false,
173
+ releaseEligible: false,
174
+ adjudication: 'pending: inspect review material; verifier agreement and typed expectations are not independent truth labels',
175
+ thresholds: languageGateThresholds(`language-discourse-${corpus}`),
176
+ metrics: {
177
+ availabilityFailures: rate(results.filter((result) => result.availabilityFailure).length, results.length),
178
+ answerOperationFailures: rate(results
179
+ .flatMap((result) => result.queries)
180
+ .filter((query) => [
181
+ 'generation_unavailable',
182
+ 'generation_failed',
183
+ 'invalid_draft',
184
+ 'verification_unavailable',
185
+ ].includes(query.answerReason ?? '')).length, results.flatMap((result) => result.queries).length),
186
+ producedAnswers: rate(results.flatMap((result) => result.queries).filter((query) => query.reviewAnswer !== null).length, results.flatMap((result) => result.queries).length),
187
+ producedAnswersOverRetained: rate(written.flatMap((result) => result.queries).filter((query) => query.reviewAnswer !== null).length, written.flatMap((result) => result.queries).length),
188
+ answerReasons: counts(results.flatMap((result) => result.queries).map((query) => query.answerReason)),
189
+ routingReasons: counts(results.flatMap((result) => result.retention?.candidates?.map((candidate) => candidate.routingReason) ?? [])),
190
+ holdStages: counts(results.flatMap((result) => result.retention?.candidates?.map((candidate) => candidate.holdStage) ?? [])),
191
+ independentlyJudgedQualifiedAnswers: { numerator: null, denominator: 0, rate: null },
192
+ independentlyJustifiedAbstentions: { numerator: null, denominator: 0, rate: null },
193
+ languagePolicyRejections: rate(results.filter((result) => result.languageRejected).length, results.length),
194
+ acceptedLanguageViolations: { numerator: null, denominator: 0, rate: null },
195
+ translationQualificationErrors: { numerator: null, denominator: 0, rate: null },
196
+ unsafeFactualPromotion: { numerator: null, denominator: 0, rate: null },
197
+ noncanonicalEligibilityFlags: rate(available.filter((result) => result.noncanonicalEligibilityFlag).length, available.filter((result) => result.nonfactualExpected).length),
198
+ usefulRetentionCoverage: rate(written.length, useful.length),
199
+ expectedRetentionMisses: rate(useful.filter((result) => result.retainedItems === 0).length, useful.length),
200
+ falseHolds: corpus === 'v1'
201
+ ? rate(useful.filter((result) => result.retainedItems === 0).length, useful.length)
202
+ : { numerator: null, denominator: 0, rate: null },
203
+ expectedSafeHolds: rate(available.filter((result) => result.expectedHold && result.retainedItems === 0).length, available.filter((result) => result.expectedHold).length),
204
+ typedSemanticsMatch: rate(written.filter((result) => result.semanticsMatch).length, written.length),
205
+ qualifiedRetrievalCoverage: rate(written.filter((result) => result.queries.some((query) => query.retainedEvidence > 0)).length, written.length),
206
+ ordinaryProseQualification: rate(results.filter((result) => result.ordinaryCorrect).length, results.length),
207
+ sourceByteChanges: rate(results.filter((result) => result.bytesStable === false).length, results.filter((result) => result.bytesStable !== null).length),
208
+ },
209
+ byLanguage: Object.fromEntries(['en', 'ru', 'mixed'].map((language) => [
210
+ language,
211
+ results.filter((result) => result.language === language).length,
212
+ ])),
213
+ byScenario: counts(results.map((result) => result.scenario)),
214
+ cases: results,
215
+ };
216
+ }
217
+ async function runCase(config, entry, corpus, run, fullRetrieval) {
218
+ const v2 = corpus !== 'v1' ? entry : null;
219
+ const root = fs.mkdtempSync(path.join(os.tmpdir(), 'akno-language-eval-kb-'));
220
+ const state = fs.mkdtempSync(path.join(os.tmpdir(), 'akno-language-eval-state-'));
221
+ let memory = null;
222
+ const ordinary = `# Zephyr QX-100\n\n${entry.ordinary}\n`;
223
+ fs.mkdirSync(path.join(root, 'memory'));
224
+ fs.mkdirSync(path.join(root, 'authored'));
225
+ fs.writeFileSync(path.join(root, 'memory/equipment.md'), '# Zephyr QX-100\n');
226
+ if (!v2)
227
+ fs.writeFileSync(path.join(root, 'authored/passage.md'), ordinary);
228
+ const nonfactualExpected = entry.view !== 'factual';
229
+ const base = {
230
+ id: entry.id,
231
+ run,
232
+ admission: v2?.admission ?? 'legacy-mixed',
233
+ reviewExpectation: v2?.reviewExpectation ?? null,
234
+ language: entry.language,
235
+ scenario: entry.scenario,
236
+ expectedHold: entry.hold ?? false,
237
+ nonfactualExpected,
238
+ };
239
+ try {
240
+ const { env, overrides } = benchConfig(config, fullRetrieval);
241
+ if (v2?.admission === 'read-only')
242
+ overrides.folders = { '**': { role: 'knowledge', remember: 'deny' } };
243
+ memory = await open({ aknoPath: root, stateDir: state, isolated: true, actor: 'user', env, overrides });
244
+ await memory.index({});
245
+ const input = {
246
+ sources: [
247
+ {
248
+ source_id: `invented:${entry.id}`,
249
+ revision: 'rev-1111',
250
+ input: { items: entry.items },
251
+ retention: {
252
+ mode: 'extract',
253
+ mission: 'Retain durable knowledge about Zephyr QX-100 in the existing memory folder, preserving all original qualifications.',
254
+ },
255
+ },
256
+ ],
257
+ };
258
+ const beforeRetention = snapshot(root);
259
+ const retained = await memory.retain(input);
260
+ const admissionBytesStable = v2?.admission !== 'read-only' || beforeRetention === snapshot(root);
261
+ const slugs = [
262
+ ...new Set(retained.sources.flatMap((source) => source.candidates.flatMap((candidate) => (candidate.slug ? [candidate.slug] : [])))),
263
+ ];
264
+ // Ordinary authored text must not compete for placement in the writable-fidelity experiment.
265
+ if (v2)
266
+ fs.writeFileSync(path.join(root, 'authored/passage.md'), ordinary);
267
+ const beforeRebuild = snapshot(root);
268
+ const archiveBeforeRebuild = sourceArchive(state);
269
+ await memory.close();
270
+ memory = await open({ aknoPath: root, stateDir: state, isolated: true, actor: 'user', env, overrides });
271
+ await memory.index({ rebuild: true });
272
+ const replay = await memory.retain(input);
273
+ const lines = [];
274
+ for (const slug of slugs)
275
+ lines.push(...((await memory.read({ slug })).page?.lines ?? []));
276
+ const memories = lines.flatMap((line) => line.memory?.status === 'qualified' ? [{ text: line.text, qualification: line.memory }] : []);
277
+ const queries = [];
278
+ for (const queryLanguage of ['en', 'ru']) {
279
+ const query = v2?.queries[queryLanguage] ?? queryFor(entry.view, queryLanguage);
280
+ for (const explicit of [false, true]) {
281
+ const view = explicit ? { memory_view: entry.view } : {};
282
+ const recalled = await memory.recall({
283
+ query,
284
+ filter: { folder: 'memory' },
285
+ expand: true,
286
+ rerank: fullRetrieval,
287
+ graph: false,
288
+ ...view,
289
+ });
290
+ const context = await memory.context({
291
+ profile: 'auto_recall',
292
+ query,
293
+ filter: { folder: 'memory' },
294
+ ...view,
295
+ });
296
+ for (const answerLanguage of ['en', 'ru']) {
297
+ const answer = await memory.answer({
298
+ question: query,
299
+ answer_language: answerLanguage,
300
+ filter: { folder: 'memory' },
301
+ expand: true,
302
+ graph: false,
303
+ include_context: true,
304
+ ...view,
305
+ });
306
+ queries.push({
307
+ queryLanguage,
308
+ explicitView: explicit,
309
+ requestedAnswerLanguage: answerLanguage,
310
+ inferredView: recalled.memory_view,
311
+ recallStatus: recalled.status,
312
+ recallDegraded: recalled.degraded ?? [],
313
+ retainedEvidence: recalled.results.flatMap((result) => result.type === 'page'
314
+ ? result.lines.filter((line) => line.memory?.status === 'qualified')
315
+ : []).length,
316
+ reviewRetrieval: recalled.results.flatMap((result) => result.type === 'page'
317
+ ? result.lines.flatMap((line) => line.memory?.status === 'qualified'
318
+ ? [{ text: line.text, qualification: line.memory }]
319
+ : [])
320
+ : []),
321
+ contextStatus: context.status,
322
+ contextDegraded: context.degraded ?? [],
323
+ contextActivated: context.activation?.activated ?? false,
324
+ contextActivation: context.activation ?? null,
325
+ reviewContext: context.results,
326
+ contextKnowledgeLanguage: context.knowledge_language,
327
+ answerOutcome: answer.outcome,
328
+ answerReason: answer.reason_code ?? null,
329
+ answerValidation: answer.validation ?? null,
330
+ answerDegraded: answer.degraded ?? [],
331
+ answerModelUsage: answer.model_usage,
332
+ reviewAnswer: answer.answer,
333
+ });
334
+ }
335
+ }
336
+ }
337
+ const ordinaryRead = await memory.read({ slug: 'authored/passage' });
338
+ const q = (ordinaryRead.page?.lines ?? []).flatMap((line) => line.prose &&
339
+ !['heading', 'comment'].includes(line.prose.reason) &&
340
+ !/^\s*(?:`{3,}|~{3,})/.test(line.text)
341
+ ? [line.prose]
342
+ : []);
343
+ const ordinaryInspection = await memory.recall({
344
+ query: 'Zephyr QX-100',
345
+ filter: { folder: 'authored' },
346
+ memory_view: 'all',
347
+ expand: false,
348
+ rerank: false,
349
+ graph: false,
350
+ });
351
+ const source = retained.sources[0];
352
+ const reasons = [
353
+ ...(retained.degraded ?? []),
354
+ ...queries.flatMap((query) => [
355
+ ...query.recallDegraded,
356
+ ...query.contextDegraded,
357
+ ...query.answerDegraded,
358
+ ]),
359
+ ];
360
+ return {
361
+ ...base,
362
+ retentionAvailabilityFailure: retained.status === 'unavailable' ||
363
+ (retained.degraded ?? []).some((reason) => [
364
+ 'no_derive_model',
365
+ 'derive_failed',
366
+ 'retain_verification_failed',
367
+ 'language_check_failed',
368
+ ].includes(reason)),
369
+ availabilityFailure: retained.status === 'unavailable' ||
370
+ reasons.some((reason) => [
371
+ 'no_derive_model',
372
+ 'derive_failed',
373
+ 'retain_verification_failed',
374
+ 'language_check_failed',
375
+ 'no_answer_model',
376
+ 'answer_failed',
377
+ 'answer_verification_failed',
378
+ 'expansion_failed',
379
+ 'embedding_failed',
380
+ 'no_embedding_model',
381
+ ].includes(reason)),
382
+ languageRejected: reasons.includes('language_mismatch'),
383
+ retention: {
384
+ status: retained.status,
385
+ outcome: source?.outcome,
386
+ reason: source?.reason_code ?? null,
387
+ candidates: source?.candidates.map((candidate) => ({
388
+ outcome: candidate.outcome,
389
+ reason: candidate.reason_code ?? null,
390
+ holdStage: candidate.hold_stage ?? null,
391
+ routingReason: candidate.routing_reason ?? null,
392
+ })),
393
+ usage: source?.model_usage ?? null,
394
+ degraded: retained.degraded ?? [],
395
+ },
396
+ retainedItems: memories.length,
397
+ noncanonicalEligibilityFlag: nonfactualExpected && memories.some((item) => item.qualification.answer_eligible),
398
+ semanticsMatch: memories.length > 0 && memories.some((item) => matchesExpectation(item.qualification, entry)),
399
+ ordinaryCorrect: q.length > 0 && q.every((qualification) => qualification.answer_eligible === entry.ordinaryFactual),
400
+ ordinaryInspection: { status: ordinaryInspection.status, results: ordinaryInspection.results.length },
401
+ bytesStable: admissionBytesStable &&
402
+ beforeRebuild === snapshot(root) &&
403
+ fs.readFileSync(path.join(root, 'authored/passage.md'), 'utf8') === ordinary,
404
+ replayOutcome: replay.sources[0]?.outcome,
405
+ sourceArchive: auditSourceArchive(archiveBeforeRebuild, sourceArchive(state), entry),
406
+ queries,
407
+ reviewKnowledge: memories,
408
+ error: null,
409
+ };
410
+ }
411
+ catch {
412
+ return {
413
+ ...base,
414
+ retentionAvailabilityFailure: true,
415
+ availabilityFailure: true,
416
+ languageRejected: false,
417
+ retention: null,
418
+ retainedItems: 0,
419
+ noncanonicalEligibilityFlag: false,
420
+ semanticsMatch: false,
421
+ ordinaryCorrect: false,
422
+ bytesStable: null,
423
+ replayOutcome: null,
424
+ queries: [],
425
+ reviewKnowledge: [],
426
+ error: 'evaluation_operation_failed',
427
+ };
428
+ }
429
+ finally {
430
+ await memory?.close();
431
+ fs.rmSync(root, { recursive: true, force: true });
432
+ fs.rmSync(state, { recursive: true, force: true });
433
+ }
434
+ }
435
+ function counts(values) {
436
+ const result = {};
437
+ for (const value of values)
438
+ if (value)
439
+ result[value] = (result[value] ?? 0) + 1;
440
+ return result;
441
+ }
442
+ function matchesExpectation(memory, entry) {
443
+ return ((!entry.commitment || memory.commitment === entry.commitment) &&
444
+ (!entry.disposition || memory.disposition === entry.disposition) &&
445
+ (!entry.basis || memory.basis === entry.basis) &&
446
+ (!entry.polarity || memory.polarity === entry.polarity));
447
+ }
448
+ function queryFor(view, language) {
449
+ const english = {
450
+ factual: 'What is recorded about Zephyr QX-100?',
451
+ reports: 'What was reported about Zephyr QX-100?',
452
+ discussion: 'What hypothetical scenarios were discussed for Zephyr QX-100?',
453
+ planning: 'What is planned for Zephyr QX-100?',
454
+ history: 'What was rejected or changed for Zephyr QX-100?',
455
+ questions: 'What open questions remain about Zephyr QX-100?',
456
+ all: 'Zephyr QX-100',
457
+ };
458
+ const russian = {
459
+ factual: 'Что известно о Zephyr QX-100?',
460
+ reports: 'Что сообщили по словам Ada Marlow о Zephyr QX-100?',
461
+ discussion: 'Какие гипотезы обсуждались о Zephyr QX-100?',
462
+ planning: 'Какие планы связаны с Zephyr QX-100?',
463
+ history: 'Какие решения отклонены о Zephyr QX-100?',
464
+ questions: 'Какие открытые вопросы остались о Zephyr QX-100?',
465
+ all: 'Zephyr QX-100',
466
+ };
467
+ return (language === 'en' ? english : russian)[view];
468
+ }
469
+ function snapshot(root) {
470
+ return sha256(fs.readdirSync(root, { recursive: true })
471
+ .filter((file) => file.endsWith('.md'))
472
+ .sort()
473
+ .map((file) => file + '\0' + fs.readFileSync(path.join(root, file), 'utf8'))
474
+ .join('\0'));
475
+ }
476
+ function benchConfig(config, fullRetrieval) {
477
+ const env = { ...process.env };
478
+ const providers = Object.fromEntries(Object.entries(config.providers).map(([name, provider], index) => {
479
+ const secret = `AKNO_LANGUAGE_BENCH_${index}_KEY`;
480
+ if (provider.apiKey)
481
+ env[secret] = provider.apiKey;
482
+ return [
483
+ name,
484
+ {
485
+ base_url: provider.baseUrl,
486
+ api: provider.api,
487
+ api_key: provider.apiKey ? { env: secret } : null,
488
+ headers: provider.headers,
489
+ max_retries: provider.maxRetries,
490
+ },
491
+ ];
492
+ }));
493
+ const role = (name) => {
494
+ const model = config.models[name];
495
+ return {
496
+ provider: model.provider?.name,
497
+ id: model.id,
498
+ enabled: model.enabled,
499
+ timeout_ms: model.timeoutMs,
500
+ max_output_tokens: model.maxOutputTokens,
501
+ reasoning_effort: model.reasoningEffort,
502
+ dimensions: model.dimensions,
503
+ };
504
+ };
505
+ return {
506
+ env,
507
+ overrides: {
508
+ providers,
509
+ knowledge_language: 'en',
510
+ write_ids: false,
511
+ create_reserved_paths: false,
512
+ index: { summaries: false, facts: false },
513
+ folders: {
514
+ 'memory/**': { role: 'knowledge', remember: 'integrate' },
515
+ 'authored/**': { role: 'knowledge', remember: 'deny' },
516
+ },
517
+ models: {
518
+ derive: role('derive'),
519
+ answer: role('answer'),
520
+ embedding: role('embedding'),
521
+ expansion: role('expansion'),
522
+ reranker: fullRetrieval
523
+ ? {
524
+ provider: config.models.reranker.provider?.name,
525
+ id: config.models.reranker.id,
526
+ enabled: config.models.reranker.enabled,
527
+ mode: config.models.reranker.rerankerMode,
528
+ top_k: config.models.reranker.topK,
529
+ max_chars: config.models.reranker.maxChars,
530
+ exclude_irrelevant: config.models.reranker.excludeIrrelevant,
531
+ score_offset: config.models.reranker.scoreOffset,
532
+ timeout_ms: config.models.reranker.timeoutMs,
533
+ max_output_tokens: config.models.reranker.maxOutputTokens,
534
+ reasoning_effort: config.models.reranker.reasoningEffort,
535
+ }
536
+ : { id: null, enabled: false },
537
+ vision: { id: null, enabled: false },
538
+ },
539
+ },
540
+ };
541
+ }
542
+ function sourceArchive(state) {
543
+ const db = new Database(path.join(state, 'akno.db'), { readonly: true, fileMustExist: true });
544
+ try {
545
+ return db
546
+ .prepare(`SELECT memory_id, source_ref, input_hash, evidence, evidence_hash
547
+ FROM retain_supports WHERE retracted_by IS NULL AND forgotten_by IS NULL
548
+ ORDER BY receipt_fingerprint, candidate_id`)
549
+ .all();
550
+ }
551
+ finally {
552
+ db.close();
553
+ }
554
+ }
555
+ function auditSourceArchive(before, after, entry) {
556
+ // Inspect persisted quotes before deleting the isolated state; runtime acceptance is not an audit.
557
+ return {
558
+ stableAcrossRebuildReplay: JSON.stringify(before) === JSON.stringify(after),
559
+ supports: after.map((support) => ({
560
+ ...support,
561
+ hashValid: sha256(support.evidence) === support.evidence_hash,
562
+ spans: support.evidence.split('\n…\n').map((quote) => ({
563
+ quote,
564
+ matchingSourceItems: entry.items
565
+ .filter((item) => item.text.includes(quote))
566
+ .map((item) => item.item_id),
567
+ })),
568
+ })),
569
+ };
570
+ }
571
+ //# sourceMappingURL=language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.js","sourceRoot":"","sources":["../../src/bench/language.ts"],"names":[],"mappings":"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"}
@@ -452,6 +452,7 @@ function resolve(doc, sources, ruleLayers, env, platformPaths) {
452
452
  if (kbRules)
453
453
  sources.push(kbRulesPath);
454
454
  const config = {
455
+ knowledgeLanguage: doc.knowledge_language ?? null,
455
456
  aknoPath,
456
457
  stateDir,
457
458
  dbPath: path.join(stateDir, 'akno.db'),
@@ -636,6 +637,10 @@ function resolve(doc, sources, ruleLayers, env, platformPaths) {
636
637
  sources,
637
638
  };
638
639
  applyCachedProviderApiResolutions(config);
640
+ for (const role of [...Object.values(config.models), config.maintenance.model]) {
641
+ if (role)
642
+ role.knowledgeLanguage = config.knowledgeLanguage;
643
+ }
639
644
  return config;
640
645
  }
641
646
  //# sourceMappingURL=load.js.map