@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,67 @@
1
+ const name = String.raw `(?!(?:The|This|That|A|An)\b)\p{Lu}[\p{L}’'-]*(?:\s+\p{Lu}[\p{L}’'-]*){1,3}`;
2
+ const actor = String.raw `(?:${name}|I|[Hh]e|[Ss]he|[Яя]|[Оо]на?)`;
3
+ const agent = String.raw `(?:${name}|her|him|me|[Ее]ю|[Ии]м|[Мм]ной)`;
4
+ const adoption = String.raw `(?:adopted|accepted|approved)`;
5
+ const arrangement = String.raw `(?:arranged|booked|scheduled)`;
6
+ const personalStart = String.raw `(?<![\p{L}])${actor}(?:,\s*${name},)?\s+`;
7
+ const negative = String.raw `(?:(?:has|have|had)\s+not|(?:hasn|haven|hadn)['’]t)\s+(?:yet\s+)?`;
8
+ const planObject = String.raw `(?:\s+(?:the|this|that|a|her|his))?\s+(?:proposal|plan)|\s+[^.!?;,]{0,60}\bas\s+(?:a\s+)?plan`;
9
+ const meetingObject = String.raw `\s+(?:a|the|any|her|his)?\s*meeting`;
10
+ const ruAdoption = String.raw `не\s+(?:принял[аи]?|принимал[аи]?|утвердил[аи]?|утверждал[аи]?)\s+[^.!?;,]{0,60}(?:как|в качестве)\s+план\p{L}*`;
11
+ const ruArrangement = String.raw `не\s+(?:назначал[аи]?|назначил[аи]?|организовал[аи]?|организовывал[аи]?)\s+встреч\p{L}*`;
12
+ const actions = [
13
+ {
14
+ personal: String.raw `${personalStart}(?:${negative}${adoption}(?:${planObject})|${ruAdoption})`,
15
+ passive: String.raw `(?:\b(?:not|never)\s+(?:(?:yet|been)\s+){0,2}${adoption}(?:\s+by\s+${agent})?\s+(?:as|in the capacity of)\s+(?:a\s+)?plan\b|(?<![\p{L}])[Нн]е\s+(?:был[ао]?\s+)?(?:принят|утвержд[её]н)\p{L}*(?:\s+${agent})?\s+(?:(?:как|в качестве)\s+)?план\p{L}*|(?<![\p{L}])[Пп]лан\s+не\s+(?:был\s+)?(?:принят|утвержд[её]н)\p{L}*)`,
16
+ },
17
+ {
18
+ personal: String.raw `${personalStart}(?:${negative}${arrangement}${meetingObject}|${ruArrangement}|${negative}${adoption}(?:${planObject})\s+(?:or|and)\s+(?:${negative})?${arrangement}${meetingObject}|${ruAdoption}\s+и\s+${ruArrangement})`,
19
+ passive: String.raw `(?:\b[Nn]o\s+meeting\s+(?:has|had)\s+(?:yet\s+)?been\s+${arrangement}\b|\b(?:[Nn]o|[Ww]ithout (?:an? )?)\s*(?:${arrangement}\s+)?meeting\b|\bmeeting\s+(?:(?:has|had)\s+not\s+(?:yet\s+)?been|(?:is|was)\s+not)\s+${arrangement}\b|(?<=\bnot\s+[^.!?;,]{0,90}\s+or\s+)used\s+to\s+arrange\s+a\s+meeting\b|(?<![\p{L}])[Вв]стреч\p{L}*\s+не\s+(?:был[ао]?\s+)?(?:назначен|организован)\p{L}*|(?<![\p{L}])без\s+(?:(?:назначенн|организованн)\p{L}*\s+встреч\p{L}*|организации\s+встреч\p{L}*)|(?<![\p{L}])[Нн]е\s+сопровождаем\p{L}*\s+организацией\s+встреч\p{L}*)`,
20
+ },
21
+ ];
22
+ function readable(value) {
23
+ return value.replace(/```[\s\S]*?```|«[^»]*»|“[^”]*”|"[^"\n]*"|`[^`\n]*`/gu, ' ');
24
+ }
25
+ function hasAgent(text, match, support) {
26
+ // Bind only this predicate's explicit agent. An actor in a preceding proposal/adoption clause
27
+ // cannot supply the actor of a following anonymous meeting clause.
28
+ const body = match[0];
29
+ const after = text.slice(match.index + body.length).match(/^[^.!?;,]*/u)?.[0] ?? '';
30
+ const sourceAgent = (identity) => /^(?:her|him|me|ею|им|мной)$/iu.test(identity) || support.includes(identity);
31
+ // Russian also permits an instrumental agent immediately after the complete complement
32
+ // ("не принято как план ею"). Do not search past intervening words or a clause boundary.
33
+ if (/[а-яё]/iu.test(body)) {
34
+ const suffix = after.match(new RegExp(String.raw `^\s+(${agent})(?![\p{L}])`, 'u'))?.[1];
35
+ if (suffix && sourceAgent(suffix))
36
+ return true;
37
+ // An instrumental pronoun may precede this action's subject too. Limit this to explicit
38
+ // pronoun + optional plan/proposal: an earlier reporting verb must not supply the agent.
39
+ const before = text.slice(0, match.index);
40
+ if (/(?<![\p{L}])(?:[Ее]ю|[Ии]м|[Мм]ной)\s+(?:(?:предложени\p{L}*|план\p{L}*)\s+)?$/u.test(before))
41
+ return true;
42
+ }
43
+ const bound = (body + after).match(new RegExp(String.raw `(?:\bby\s+(${agent})(?![\p{L}])|(?<![\p{L}])(?:принят|утвержд[её]н|назначен|организован)\p{L}*\s+(${agent})(?![\p{L}]))`, 'u'));
44
+ if (!bound)
45
+ return false;
46
+ // Only an agent inside this match or immediately following it belongs to this action.
47
+ if (bound.index >= body.length && !/^\s*(?:by\s+)?$/u.test(after.slice(0, bound.index - body.length)))
48
+ return false;
49
+ const identity = bound[1] ?? bound[2];
50
+ return sourceAgent(identity);
51
+ }
52
+ /** A generated-only floor for personal plan adoption and meeting arrangement, not semantic approval. */
53
+ export function personalNegativeActionsSupported(text, support) {
54
+ const source = readable(support);
55
+ const candidate = readable(text);
56
+ return actions.every(({ personal, passive }) => {
57
+ const sourcePassives = [...source.matchAll(new RegExp(passive, 'gu'))];
58
+ if (!new RegExp(personal, 'u').test(source) && !sourcePassives.some((m) => hasAgent(source, m, source)))
59
+ return true;
60
+ // An independently anonymous source state defers only this action to full semantic pairing.
61
+ // The floor neither requires unrelated omitted actions nor verifies actor identity or object scope.
62
+ if (sourcePassives.some((m) => !hasAgent(source, m, source)))
63
+ return true;
64
+ return [...candidate.matchAll(new RegExp(passive, 'gu'))].every((m) => hasAgent(candidate, m, source));
65
+ });
66
+ }
67
+ //# sourceMappingURL=personal-negative-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personal-negative-actions.js","sourceRoot":"","sources":["../../src/memory/personal-negative-actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/memory/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAS5C,eAAO,MAAM,iCAAiC,sBAAsB,CAAC;AAErE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAkBD,mGAAmG;AACnG,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,GACb,6BAA6B,CAiG/B;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,4BAA4B,CA4F3G"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/memory/projection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAS5C,eAAO,MAAM,iCAAiC,sBAAsB,CAAC;AAErE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAkBD,mGAAmG;AACnG,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,GACb,6BAA6B,CAiG/B;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,4BAA4B,CAgG3G"}
@@ -1,3 +1,5 @@
1
+ import { PROSE_PROJECTION_VERSION } from "../kb/prose.js";
2
+ import { proseChunkViews } from "./prose-projection.js";
1
3
  import { AKNO_ITEM, aknoItemId } from "../kb/page.js";
2
4
  import { sha256 } from "../store/ids.js";
3
5
  import { managedMemoryAnswerEligible, managedMemoryPayloadIssue, parseManagedMemoryMarker, } from "../write/managed-memory.js";
@@ -112,6 +114,7 @@ export function managedMemoryProjectionForView(store, view) {
112
114
  else
113
115
  memoryChunks.set(row.chunk_id, [row]);
114
116
  }
117
+ const proseViews = proseChunkViews(store, view);
115
118
  const eligibleChunkIds = new Set();
116
119
  const contextualChunkIds = new Set();
117
120
  for (const chunkId of allChunks) {
@@ -121,7 +124,10 @@ export function managedMemoryProjectionForView(store, view) {
121
124
  }
122
125
  const memories = memoryChunks.get(chunkId);
123
126
  if (!memories) {
124
- eligibleChunkIds.add(chunkId);
127
+ if (proseViews.get(chunkId) === false)
128
+ contextualChunkIds.add(chunkId);
129
+ else
130
+ eligibleChunkIds.add(chunkId);
125
131
  continue;
126
132
  }
127
133
  const eligible = memories.some((memory) => !duplicateIds.has(memory.memory_id) &&
@@ -134,7 +140,8 @@ export function managedMemoryProjectionForView(store, view) {
134
140
  temporalStatus: memory.temporal_status,
135
141
  temporalRelation: memory.temporal_relation,
136
142
  }, view));
137
- if (eligible)
143
+ // A mixed chunk may also contain useful authored facts; live assembly filters each line.
144
+ if (eligible || proseViews.get(chunkId) === true)
138
145
  eligibleChunkIds.add(chunkId);
139
146
  else
140
147
  contextualChunkIds.add(chunkId);
@@ -143,6 +150,7 @@ export function managedMemoryProjectionForView(store, view) {
143
150
  eligibleChunkIds,
144
151
  contextualChunkIds,
145
152
  degraded: store.meta('managed_memory_projection_version') !== MANAGED_MEMORY_PROJECTION_VERSION ||
153
+ store.meta('prose_projection_version') !== PROSE_PROJECTION_VERSION ||
146
154
  issueCount > 0 ||
147
155
  duplicateIds.size > 0 ||
148
156
  rows.some((row) => row.chunk_id === null),
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/memory/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/memory/projection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { MemoryView } from '@tenphi/akno-protocol';
2
+ import type { ParsedPage } from '../kb/page.ts';
3
+ import type { Store } from '../store/db.ts';
4
+ export declare function replaceProseEntries(store: Store, pageId: string, page: ParsedPage): void;
5
+ export declare function proseChunkViews(store: Store, view: MemoryView): Map<number, boolean>;
6
+ //# sourceMappingURL=prose-projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose-projection.d.ts","sourceRoot":"","sources":["../../src/memory/prose-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA6BxF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CASpF"}
@@ -0,0 +1,34 @@
1
+ import { hasNonfactualProse, proseQualifications } from "../kb/prose.js";
2
+ export function replaceProseEntries(store, pageId, page) {
3
+ store.db.prepare('DELETE FROM prose_entries WHERE source_page = ?').run(pageId);
4
+ const insert = store.db.prepare('INSERT INTO prose_entries(source_page, line, view, eligible, source_hash) VALUES (?, ?, ?, ?, ?)');
5
+ const lines = page.content.split('\n');
6
+ for (const [n, q] of proseQualifications(lines)) {
7
+ if (q.reason === 'heading' || q.reason === 'comment' || /^\s*(?:`{3,}|~{3,})/.test(lines[n - 1]))
8
+ continue;
9
+ insert.run(pageId, n, q.view, q.status === 'qualified' ? 1 : 0, q.source_hash);
10
+ }
11
+ if (hasNonfactualProse(page.content))
12
+ store.db.prepare('UPDATE pages SET summary = NULL WHERE id = ?').run(pageId);
13
+ store.db
14
+ .prepare(`DELETE FROM events WHERE source_page = ? AND EXISTS (
15
+ SELECT 1 FROM prose_entries p WHERE p.source_page = events.source_page
16
+ AND p.line = events.line AND (p.view != 'factual' OR p.eligible = 0))`)
17
+ .run(pageId);
18
+ // Existing facts can survive a structural pass while model derivation is deferred.
19
+ // Drop only disqualified derived facts now so they cannot feed inference in that interval.
20
+ store.db
21
+ .prepare(`DELETE FROM facts WHERE page_id = ? AND EXISTS (
22
+ SELECT 1 FROM prose_entries p WHERE p.source_page = facts.page_id
23
+ AND p.line = facts.line_start AND (p.view != 'factual' OR p.eligible = 0))`)
24
+ .run(pageId);
25
+ }
26
+ export function proseChunkViews(store, view) {
27
+ const rows = store.db
28
+ .prepare(`SELECT c.id, max(CASE WHEN p.eligible = 1 AND (p.view = 'factual' OR p.view = ? OR ? = 'all') THEN 1 ELSE 0 END) AS eligible
29
+ FROM chunks c JOIN prose_entries p ON p.source_page = c.page_id AND p.line BETWEEN c.line_start AND c.line_end
30
+ WHERE c.document_id IS NULL GROUP BY c.id`)
31
+ .all(view, view);
32
+ return new Map(rows.map((row) => [row.id, row.eligible === 1]));
33
+ }
34
+ //# sourceMappingURL=prose-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose-projection.js","sourceRoot":"","sources":["../../src/memory/prose-projection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGzE,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,MAAc,EAAE,IAAgB;IAChF,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAC7B,kGAAkG,CACnG,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC/F,SAAS;QACX,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/E,KAAK,CAAC,EAAE;SACL,OAAO,CACN;;4EAEsE,CACvE;SACA,GAAG,CAAC,MAAM,CAAC,CAAC;IACf,mFAAmF;IACnF,2FAA2F;IAC3F,KAAK,CAAC,EAAE;SACL,OAAO,CACN;;iFAE2E,CAC5E;SACA,GAAG,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,IAAgB;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE;SAClB,OAAO,CACN;;8CAEwC,CACzC;SACA,GAAG,CAAC,IAAI,EAAE,IAAI,CAAuC,CAAC;IACzD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Presence of a personal epistemic limit; predicate equivalence still needs source verification. */
2
+ export declare function hasReportUncertainty(text: string, attributionNames?: readonly string[]): boolean;
3
+ //# sourceMappingURL=report-uncertainty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-uncertainty.d.ts","sourceRoot":"","sources":["../../src/memory/report-uncertainty.ts"],"names":[],"mappings":"AAGA,qGAAqG;AACrG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,GAAE,SAAS,MAAM,EAAO,GAAG,OAAO,CAoEpG"}
@@ -0,0 +1,67 @@
1
+ const REPORT_UNCERTAINTY = /\b(?:unverified|unconfirmed|not (?:yet )?(?:been )?(?:independently )?(?:verified|confirmed)|(?:no|without|lacks?) (?:independent )?confirmation)\b|неподтвержд|непроверенн|не провер|не подтверд|не (?:был[аои]? )?подтвержд[её]н|подтверждения[^.!?;\n]{0,40}нет|без подтверждени/iu;
2
+ /** Presence of a personal epistemic limit; predicate equivalence still needs source verification. */
3
+ export function hasReportUncertainty(text, attributionNames = []) {
4
+ if (REPORT_UNCERTAINTY.test(text))
5
+ return true;
6
+ const unquoted = text.replace(/«[^»]*»|“[^”]*”|"[^"\n]*"|\x60[^\x60]*\x60|‘[^’]*’|(?<![\p{L}\p{N}])'(?:[^'\n]|(?<=[\p{L}\p{N}])'(?=[\p{L}\p{N}]))+'(?![\p{L}\p{N}])/gu, '⟦quotation⟧');
7
+ const fullName = String.raw `(?!(?:The|This|That|A|An|If|Unless|When|Suppose|Example|Allegedly|Not|I|He|She|We|They|You|It)\b)\p{Lu}[\p{L}’'-]*(?:[ \t]+\p{Lu}[\p{L}’'-]*){1,3}`;
8
+ // Short references come only from distinct validated attribution names. A capitalized
9
+ // sentence subject alone cannot establish a person, and shared first names are ambiguous.
10
+ const names = [...new Set(attributionNames.map((value) => value.trim().replace(/[ \t]+/gu, ' ')))];
11
+ const firstNames = names
12
+ .filter((value) => new RegExp(`^${fullName}$`, 'u').test(value))
13
+ .map((value) => value.split(' ')[0]);
14
+ const aliases = firstNames
15
+ .filter((value) => firstNames.filter((other) => other === value).length === 1)
16
+ .map((value) => value.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&'));
17
+ const name = aliases.length
18
+ ? String.raw `(?:${fullName}|(?:${aliases.join('|')})(?![\p{L}\p{N}_]))`
19
+ : fullName;
20
+ const namedActor = String.raw `(?:${name}|(?:[Tt]he[ \t]+)?(?:AI[ \t]+)?assistant)`;
21
+ const actor = String.raw `(?:${namedActor}|I|[Hh]e|[Ss]he|[Ww]e|[Tt]hey)`;
22
+ const negativeAuxiliary = String.raw `(?:has|have|had)[ \t]+not[ \t]+(?:yet[ \t]+)?`;
23
+ const examination = String.raw `(?:read|examined|seen|reviewed)[ \t]+(?:(?:the|these|those|any)[ \t]+)?(?:service[ \t]+)?(?:terms|contract|agreement)`;
24
+ const determiner = String.raw `(?:(?:the|this|that|any)[ \t]+)?`;
25
+ // Checking is admitted only with a report object; this does not equate a performed check
26
+ // with receiving confirmation, or allow a nearby device check to qualify the report.
27
+ const reportObject = String.raw `(?:${determiner}(?:report|message|claim|account|assumption)|${name}['’]s[ \t]+(?:report|account|claim))`;
28
+ const checkedObject = String.raw `(?:${determiner}(?:report|account|claim)|${name}['’]s[ \t]+(?:report|account|claim))`;
29
+ const reportCheck = String.raw `(?:independently[ \t]+)?(?:(?:confirmed|verified)[ \t]+${reportObject}|checked[ \t]+${checkedObject})`;
30
+ const finalPredicate = String.raw `(?:independently[ \t]+)?(?:confirmed|verified)[ \t]+(?:it|this|that)(?:[ \t]+as[ \t]+(?:a|the|this|that)[ \t]+(?:condition|term|requirement))?`;
31
+ const personalPredicate = String.raw `(?:checked|confirmed|verified)[ \t]+(?:it|${determiner}(?:reported[ \t]+)?(?:meaning|contractual[ \t]+(?:condition|term|requirement)))`;
32
+ const personalCheck = String.raw `(?:independently[ \t]+)?${personalPredicate}`;
33
+ // This adverb needs no gender inference, but inherits agency and negation only
34
+ // inside the same closed three-predicate list as the reflexive form.
35
+ const personallyCheck = String.raw `personally[ \t]+${personalPredicate}`;
36
+ const negativeExplanation = String.raw `,[ \t]+(?:so|therefore)[ \t]+it[ \t]+(?:is|was)[ \t]+not[ \t]+(?:a|the)[ \t]+(?:condition|term|requirement)[ \t]+${actor}[ \t]+(?:has|have|had)[ \t]+(?:independently[ \t]+)?(?:verified|confirmed)`;
37
+ const possibleContinuation = String.raw `,[ \t]+(?:and|so)[ \t]+(?:this|it)[ \t]+(?:is|remains)[ \t]+(?:(?:still|only)[ \t]+)?a[ \t]+possible[ \t]+(?:(?:contract|contractual)[ \t]+)?(?:condition|term|requirement|interpretation|assumption)(?:[ \t]+rather[ \t]+than[ \t]+an?[ \t]+established[ \t]+(?:condition|term|requirement|interpretation|assumption))?`;
38
+ const clarification = String.raw `,[ \t]+and[ \t]+(?:she|he|they|the assistant)[ \t]+clarif(?:y|ies)[ \t]+that[ \t]+these[ \t]+are[ \t]+${name}['’]s[ \t]+words(?:[ \t]+in[ \t]+(?:her|his|their)[ \t]+retelling)?[ \t]+rather[ \t]+than[ \t]+a[ \t]+(?:condition|term|requirement)[ \t]+(?:she|he|they|the assistant)[ \t]+(?:verified|confirmed)`;
39
+ const relay = String.raw `(?:[ \t]+only[ \t]+(?:conveys|relays)[ \t]+(?:this|the)[ \t]+(?:account|report)[ \t]+and|[ \t]+is[ \t]+only[ \t]+passing[ \t]+on[ \t]+this[ \t]+meaning,)?`;
40
+ // One grammar owns both two- and three-predicate lists. Repeating an auxiliary requires
41
+ // repeating its negation; a new actor or arbitrary continuation cannot inherit it.
42
+ // Proper names establish no gender. Pronouns only constrain their own reflexive spelling.
43
+ const actors = [
44
+ [namedActor, '(?:herself|himself|itself|themself)'],
45
+ ['[Ss]he', 'herself'],
46
+ ['[Hh]e', 'himself'],
47
+ ['I', 'myself'],
48
+ ['(?:[Ww]e|[Tt]hey)', null],
49
+ ];
50
+ return actors.some(([subject, reflexive]) => {
51
+ const finalCheck = reflexive
52
+ ? String.raw `(?:${finalPredicate}|${reflexive}[ \t]+${personalCheck}|${personallyCheck})`
53
+ : String.raw `(?:${finalPredicate}|${personallyCheck})`;
54
+ const coordination = String.raw `(?:[ \t]+or[ \t]+${reportCheck}|,[ \t]+and[ \t]+${negativeAuxiliary}${reportCheck}|,[ \t]+${reportCheck},[ \t]+or[ \t]+${finalCheck})`;
55
+ // A relay does not establish uncertainty by itself. It can only continue the already
56
+ // complete same-subject negative reading/checking pair without changing that report object.
57
+ const selfCheck = reflexive
58
+ ? String.raw `(?:[ \t]+without[ \t]+(?:independently[ \t]+)?(?:checking|verifying|confirming)[ \t]+it[ \t]+${reflexive})?`
59
+ : '';
60
+ const relayContinuation = String.raw `,?[ \t]+and[ \t]+(?:only[ \t]+)?(?:passes[ \t]+on|conveys|relays)[ \t]+(?:this|that|the)[ \t]+(?:meaning|account|report)${selfCheck}`;
61
+ const closedContinuation = String.raw `(?:${negativeExplanation}|${possibleContinuation}|${clarification}|${relayContinuation})?`;
62
+ const end = String.raw `(?=[ \t]*(?:$|[.!?\n]|;(?![ \t]*(?:[Bb]ut|[Hh]owever|[Yy]et|[Aa]ctually|(?:[Aa]nd[ \t]+)?[Tt]his[ \t]+is[ \t]+false)(?![\p{L}]))))`;
63
+ const pattern = new RegExp(String.raw `(?:^|[.;!])[ \t]*(?:[Tt]he[ \t]+report[ \t]+(?:says|states)[ \t]+(?:that[ \t]+)?)?${subject}(?:,[ \t]*${name},)?${relay}[ \t]+${negativeAuxiliary}${examination}${coordination}${closedContinuation}${end}`, 'u');
64
+ return pattern.test(unquoted);
65
+ });
66
+ }
67
+ //# sourceMappingURL=report-uncertainty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-uncertainty.js","sourceRoot":"","sources":["../../src/memory/report-uncertainty.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Hold an explicit outer/inner reversal when the cited prose itself binds that reporting chain. */
2
+ export declare function reportingRolesSupported(text: string, support: string, outer: string): boolean;
3
+ //# sourceMappingURL=reporting-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-roles.d.ts","sourceRoot":"","sources":["../../src/memory/reporting-roles.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAiD7F"}
@@ -0,0 +1,39 @@
1
+ /** Hold an explicit outer/inner reversal when the cited prose itself binds that reporting chain. */
2
+ export function reportingRolesSupported(text, support, outer) {
3
+ const prose = (value) => value
4
+ .normalize('NFKC')
5
+ .replace(/«[^»]*»|“[^”]*”|"[^"\n]*"|`[^`\n]*`|‘[^’]*’|(?<![\p{L}\p{N}])'[^'\n]*'(?![\p{L}\p{N}])/gu, ' ')
6
+ .replace(/\*\*/gu, '');
7
+ const escape = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
8
+ const named = (value) => `(?<![\\p{L}\\p{N}])${escape(value)}(?![\\p{L}\\p{N}’'])`;
9
+ const source = prose(support);
10
+ const answer = prose(text);
11
+ const reporter = named(outer.normalize('NFKC'));
12
+ // Case-fold reporting grammar, then validate the captured name separately. A generic noun phrase
13
+ // or another person's name after a short-name prefix cannot establish an inner speaker.
14
+ const name = "((?:[\\p{L}’'.-]+ ){0,3}?[\\p{L}’'.-]+)";
15
+ const properName = /^(?:\p{Lu}[\p{L}’'.-]* ){0,3}\p{Lu}[\p{L}’'.-]*$/u;
16
+ const modifier = '(?:(?:reportedly|only|merely|только|лишь|предположительно)\\s+){0,2}';
17
+ const verb = '(?:said|says|reported|reports|relayed|relays|stated|states|сообщил[аи]?|сообщает|сказал[аи]?|передал[аи]?|переда[её]т)(?![\\p{L}])';
18
+ const intros = '(?:according to|по словам|со слов)';
19
+ const chains = [
20
+ `reported by ${reporter}:\\s+${name}\\s+${modifier}${verb}`,
21
+ `${intros}\\s+${name},\\s+as relayed by\\s+${reporter}\\s*[,;]`,
22
+ `${reporter}\\s+(?:relayed|relays)\\s+${name}[’']s\\s+(?:(?:unverified|unconfirmed|tentative)\\s+){0,2}(?:report|account|statement|assertion)(?![\\p{L}])`,
23
+ `${intros}\\s+${reporter},\\s+${name}\\s+${modifier}${verb}`,
24
+ ];
25
+ const inners = new Set(chains.flatMap((pattern) => [...source.matchAll(new RegExp(pattern, 'giu'))]
26
+ .map((match) => match[1])
27
+ .filter((inner) => properName.test(inner) && inner.toLocaleLowerCase('en-US') !== outer.toLocaleLowerCase('en-US'))));
28
+ if (inners.size !== 1)
29
+ return true;
30
+ for (const inner of inners) {
31
+ const reversed = new RegExp(`${intros}\\s+${named(inner)}\\s*,\\s+${reporter}\\s+${modifier}${verb}`, 'iu');
32
+ // A source may explicitly report its own earlier relay. Preserve that possibility for full
33
+ // semantic pairing; this guard catches only a novel reversed construction in generated text.
34
+ if (reversed.test(answer) && !reversed.test(source))
35
+ return false;
36
+ }
37
+ return true;
38
+ }
39
+ //# sourceMappingURL=reporting-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-roles.js","sourceRoot":"","sources":["../../src/memory/reporting-roles.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,OAAe,EAAE,KAAa;IAClF,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAC9B,KAAK;SACF,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CACN,0FAA0F,EAC1F,GAAG,CACJ;SACA,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,iGAAiG;IACjG,wFAAwF;IACxF,MAAM,IAAI,GAAG,yCAAyC,CAAC;IACvD,MAAM,UAAU,GAAG,mDAAmD,CAAC;IACvE,MAAM,QAAQ,GAAG,sEAAsE,CAAC;IACxF,MAAM,IAAI,GACR,oIAAoI,CAAC;IACvI,MAAM,MAAM,GAAG,oCAAoC,CAAC;IACpD,MAAM,MAAM,GAAG;QACb,eAAe,QAAQ,QAAQ,IAAI,OAAO,QAAQ,GAAG,IAAI,EAAE;QAC3D,GAAG,MAAM,OAAO,IAAI,yBAAyB,QAAQ,UAAU;QAC/D,GAAG,QAAQ,6BAA6B,IAAI,8GAA8G;QAC1J,GAAG,MAAM,OAAO,QAAQ,QAAQ,IAAI,OAAO,QAAQ,GAAG,IAAI,EAAE;KAC7D,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;SACzB,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAClG,CACJ,CACF,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,MAAM,CACzB,GAAG,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,QAAQ,OAAO,QAAQ,GAAG,IAAI,EAAE,EACxE,IAAI,CACL,CAAC;QACF,2FAA2F;QAC3F,6FAA6F;QAC7F,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AnswerContextItem } from '@tenphi/akno-protocol';
2
+ import type { Store } from '../store/db.ts';
3
+ /**
4
+ * An archived frame constrains the meaning of an extracted record; it cannot supply additional
5
+ * answerable facts. Keep this optional context outside public evidence and its citation identity.
6
+ */
7
+ export declare function retentionSourceFrames(db: Store['db'], aknoPath: string, evidence: readonly AnswerContextItem[]): ReadonlyMap<string, string>;
8
+ //# sourceMappingURL=retention-source-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-source-frame.d.ts","sourceRoot":"","sources":["../../src/memory/retention-source-frame.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACrC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CA8D7B"}
@@ -0,0 +1,72 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { sha256 } from "../store/ids.js";
4
+ import { parseManagedMemoryMarker } from "../write/managed-memory.js";
5
+ /**
6
+ * An archived frame constrains the meaning of an extracted record; it cannot supply additional
7
+ * answerable facts. Keep this optional context outside public evidence and its citation identity.
8
+ */
9
+ export function retentionSourceFrames(db, aknoPath, evidence) {
10
+ const frames = new Map();
11
+ // Preserve complete frames in retrieval order; truncation can remove a governing qualification.
12
+ let remainingCharacters = 4_800;
13
+ const projection = db.prepare(`
14
+ SELECT p.rel_path, m.marker_hash, m.payload_hash
15
+ FROM managed_memory_entries m JOIN pages p ON p.id = m.source_page
16
+ WHERE m.memory_id = ? AND m.source_slug = ? AND m.payload_line = ?
17
+ AND (SELECT count(*) FROM managed_memory_entries WHERE memory_id = m.memory_id) = 1`);
18
+ const support = db.prepare(`
19
+ SELECT s.evidence, s.evidence_hash
20
+ FROM retain_supports s JOIN retain_receipts r ON r.receipt_fingerprint = s.receipt_fingerprint
21
+ WHERE s.memory_id = ? AND s.receipt_fingerprint = ? AND s.candidate_fingerprint = ?
22
+ AND s.proof_group = ? AND s.selection = 'extracted' AND r.mode = 'extract_automatic'
23
+ AND s.input_hash = r.source_hash
24
+ AND s.retracted_by IS NULL AND s.forgotten_by IS NULL AND s.evidence_pruned_at IS NULL`);
25
+ for (const item of evidence) {
26
+ if (item.type !== 'page' || item.lines.length !== 1)
27
+ continue;
28
+ const line = item.lines[0];
29
+ if (line.memory?.status !== 'qualified')
30
+ continue;
31
+ const row = projection.get(line.memory.id, item.slug, line.n);
32
+ if (!row)
33
+ continue;
34
+ try {
35
+ const root = fs.realpathSync(aknoPath);
36
+ const target = fs.realpathSync(path.resolve(root, row.rel_path));
37
+ if (!target.startsWith(`${root}${path.sep}`))
38
+ continue;
39
+ const lines = fs.readFileSync(target, 'utf8').split('\n');
40
+ const markerText = lines[line.n - 2]?.trim();
41
+ const payload = lines[line.n - 1];
42
+ if (!markerText ||
43
+ payload !== line.text ||
44
+ sha256(markerText) !== row.marker_hash ||
45
+ sha256(payload.trim()) !== row.payload_hash)
46
+ continue;
47
+ const marker = parseManagedMemoryMarker(markerText);
48
+ // Multiple sources may carry different context. Do not choose one as a silent tie-breaker.
49
+ if (marker?.id !== line.memory.id || marker.supports.length !== 1)
50
+ continue;
51
+ const binding = marker.supports[0];
52
+ if (binding.selection !== 'extracted')
53
+ continue;
54
+ // The support slug records its original placement and legitimately survives a page move.
55
+ const matches = support.all(marker.id, binding.receipt, binding.candidate, binding.proofGroup);
56
+ const frame = matches.length === 1 ? matches[0] : undefined;
57
+ if (frame &&
58
+ frame.evidence.trim().length > 0 &&
59
+ frame.evidence.length <= 1_200 &&
60
+ frame.evidence.length <= remainingCharacters &&
61
+ sha256(frame.evidence) === frame.evidence_hash) {
62
+ frames.set(item.evidence_id, frame.evidence);
63
+ remainingCharacters -= frame.evidence.length;
64
+ }
65
+ }
66
+ catch {
67
+ // Source archives are optional. A missing/moved file keeps the existing payload-only path.
68
+ }
69
+ }
70
+ return frames;
71
+ }
72
+ //# sourceMappingURL=retention-source-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-source-frame.js","sourceRoot":"","sources":["../../src/memory/retention-source-frame.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type LanguageReference, type OutputLanguage } from './language.ts';
1
2
  import { z } from 'zod';
2
3
  import type { DegradedReason } from '@tenphi/akno-protocol';
3
4
  import type { ReasoningEffort, ResolvedModelRole } from '../config/schema.ts';
@@ -16,7 +17,7 @@ import type { ReasoningEffort, ResolvedModelRole } from '../config/schema.ts';
16
17
  * layer that silently stops working the moment a message is reworded, on exactly
17
18
  * the path whose job is to report degradation honestly.
18
19
  */
19
- export type ModelFailure = 'unavailable' | 'timeout' | 'request_failed' | 'bad_response';
20
+ export type ModelFailure = 'unavailable' | 'timeout' | 'request_failed' | 'bad_response' | 'language_mismatch' | 'language_check_failed';
20
21
  export interface ModelOutcome<T> {
21
22
  ok: boolean;
22
23
  value: T | null;
@@ -57,7 +58,7 @@ interface ModelSemanticFailureObservation {
57
58
  event: 'semantic_failure';
58
59
  role: ResolvedModelRole['role'];
59
60
  modelId: string | null;
60
- failure: 'bad_response';
61
+ failure: 'bad_response' | 'language_mismatch' | 'language_check_failed';
61
62
  degradedReason: DegradedReason;
62
63
  }
63
64
  export type ModelCallObservation = ModelCallReceipt | ModelSemanticFailureObservation;
@@ -67,6 +68,12 @@ export interface ChatMessage {
67
68
  content: string;
68
69
  }
69
70
  export interface ChatOptions {
71
+ /** Null explicitly preserves source language for exact extraction/transcription. */
72
+ outputLanguage?: OutputLanguage | null;
73
+ /** Add schema-specific generated prose; never suppress the shared prose-field check. */
74
+ additionalLanguageProse?: (value: unknown) => string[];
75
+ /** Source-backed exact references for the language check; never generated exemption claims. */
76
+ languageReferences?: LanguageReference[];
70
77
  json?: boolean;
71
78
  /**
72
79
  * The shape the prompt asks for, as a zod schema, sent so the endpoint can constrain
@@ -107,10 +114,11 @@ export declare class ModelClient {
107
114
  * Reclassify the preceding successful call when its content cannot satisfy the caller's
108
115
  * contract. No response text or validation detail crosses this telemetry boundary.
109
116
  */
110
- reportInvalidResponse(): void;
117
+ reportInvalidResponse(failure?: 'bad_response' | 'language_mismatch' | 'language_check_failed'): void;
111
118
  get available(): boolean;
112
119
  get unavailableReason(): string | null;
113
120
  get modelId(): string | null;
121
+ get knowledgeLanguage(): 'en' | null;
114
122
  get role(): ResolvedModelRole['role'];
115
123
  /** Native cross-encoder endpoint unless the role explicitly opts into prompted ranking. */
116
124
  get rerankerMode(): 'endpoint' | 'llm';
@@ -137,6 +145,7 @@ export declare class ModelClient {
137
145
  score: number;
138
146
  }[]>>;
139
147
  chat(messages: ChatMessage[], options?: ChatOptions): Promise<ModelOutcome<string>>;
148
+ private chatTransport;
140
149
  /**
141
150
  * OpenAI's Responses API uses different request keys and nests structured output under
142
151
  * `text.format`. This is an explicit provider choice: a failed call never falls through to
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/models/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/models/client.ts"],"names":[],"mappings":"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"}