@oscharko-dev/keiko 0.2.0-beta.3 → 0.2.0-beta.4

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 (499) hide show
  1. package/README.md +139 -1
  2. package/dist/ui/csp-hashes.json +33 -39
  3. package/dist/ui/static/404.html +1 -1
  4. package/dist/ui/static/__next.__PAGE__.txt +9 -0
  5. package/dist/ui/static/__next._full.txt +18 -0
  6. package/dist/ui/static/__next._head.txt +6 -0
  7. package/dist/ui/static/__next._index.txt +5 -0
  8. package/dist/ui/static/__next._tree.txt +2 -0
  9. package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_buildManifest.js +11 -0
  10. package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_clientMiddlewareManifest.js +1 -0
  11. package/dist/ui/static/_next/static/chunks/05-c3ty_6dwfk.js +1 -0
  12. package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +2 -0
  13. package/dist/ui/static/_next/static/chunks/0iq1i69206cyl.js +31 -0
  14. package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +1 -0
  15. package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +1 -0
  16. package/dist/ui/static/_next/static/chunks/14mrh2-p_w84d.js +1 -0
  17. package/dist/ui/static/_next/static/chunks/1t04tfgin0v_g.js +106 -0
  18. package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +1 -0
  19. package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +4 -0
  20. package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +1 -0
  21. package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +1 -0
  22. package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +1 -0
  23. package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +1 -0
  24. package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +1 -0
  25. package/dist/ui/static/_next/static/chunks/3peubv2924kx4.js +1 -0
  26. package/dist/ui/static/_next/static/chunks/3wr_35f2vg6sd.css +1 -0
  27. package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +1 -0
  28. package/dist/ui/static/_not-found/__next._full.txt +16 -0
  29. package/dist/ui/static/_not-found/__next._head.txt +6 -0
  30. package/dist/ui/static/_not-found/__next._index.txt +5 -0
  31. package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +5 -0
  32. package/dist/ui/static/_not-found/__next._not-found.txt +5 -0
  33. package/dist/ui/static/_not-found/__next._tree.txt +2 -0
  34. package/dist/ui/static/_not-found.html +1 -0
  35. package/dist/ui/static/_not-found.txt +16 -0
  36. package/dist/ui/static/index.html +1 -1
  37. package/dist/ui/static/index.txt +16 -18
  38. package/dist/ui/static/launch/__next._full.txt +20 -0
  39. package/dist/ui/static/launch/__next._head.txt +6 -0
  40. package/dist/ui/static/launch/__next._index.txt +5 -0
  41. package/dist/ui/static/launch/__next._tree.txt +2 -0
  42. package/dist/ui/static/launch/__next.launch.__PAGE__.txt +9 -0
  43. package/dist/ui/static/launch/__next.launch.txt +5 -0
  44. package/dist/ui/static/launch.html +1 -1
  45. package/dist/ui/static/launch.txt +17 -17
  46. package/dist/ui/static/local-knowledge/__next._full.txt +20 -0
  47. package/dist/ui/static/local-knowledge/__next._head.txt +6 -0
  48. package/dist/ui/static/local-knowledge/__next._index.txt +5 -0
  49. package/dist/ui/static/local-knowledge/__next._tree.txt +2 -0
  50. package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +9 -0
  51. package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +5 -0
  52. package/dist/ui/static/local-knowledge/capsule/__next._full.txt +17 -0
  53. package/dist/ui/static/local-knowledge/capsule/__next._head.txt +6 -0
  54. package/dist/ui/static/local-knowledge/capsule/__next._index.txt +5 -0
  55. package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -0
  56. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +6 -0
  57. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +5 -0
  58. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +5 -0
  59. package/dist/ui/static/local-knowledge/capsule.html +1 -1
  60. package/dist/ui/static/local-knowledge/capsule.txt +14 -14
  61. package/dist/ui/static/local-knowledge.html +1 -1
  62. package/dist/ui/static/local-knowledge.txt +19 -16
  63. package/dist/ui/static/memoriaviva/__next._full.txt +17 -0
  64. package/dist/ui/static/memoriaviva/__next._head.txt +6 -0
  65. package/dist/ui/static/memoriaviva/__next._index.txt +5 -0
  66. package/dist/ui/static/memoriaviva/__next._tree.txt +2 -0
  67. package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +6 -0
  68. package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +5 -0
  69. package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +17 -0
  70. package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +6 -0
  71. package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +5 -0
  72. package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -0
  73. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +6 -0
  74. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +5 -0
  75. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +5 -0
  76. package/dist/ui/static/memoriaviva/consolidation.html +1 -1
  77. package/dist/ui/static/memoriaviva/consolidation.txt +15 -15
  78. package/dist/ui/static/memoriaviva/detail/__next._full.txt +17 -0
  79. package/dist/ui/static/memoriaviva/detail/__next._head.txt +6 -0
  80. package/dist/ui/static/memoriaviva/detail/__next._index.txt +5 -0
  81. package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -0
  82. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +6 -0
  83. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +5 -0
  84. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +5 -0
  85. package/dist/ui/static/memoriaviva/detail.html +1 -1
  86. package/dist/ui/static/memoriaviva/detail.txt +14 -14
  87. package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +17 -0
  88. package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +6 -0
  89. package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +5 -0
  90. package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -0
  91. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +6 -0
  92. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +5 -0
  93. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +5 -0
  94. package/dist/ui/static/memoriaviva/review-queue.html +1 -1
  95. package/dist/ui/static/memoriaviva/review-queue.txt +15 -15
  96. package/dist/ui/static/memoriaviva.html +1 -1
  97. package/dist/ui/static/memoriaviva.txt +14 -14
  98. package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
  99. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.d.ts.map +1 -1
  100. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.js +61 -2
  101. package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.d.ts.map +1 -1
  102. package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.js +65 -21
  103. package/node_modules/@oscharko-dev/keiko-cli/dist/launcher-platforms.js +3 -3
  104. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
  105. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +36 -11
  106. package/node_modules/@oscharko-dev/keiko-cli/package.json +2 -2
  107. package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
  108. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +20 -1
  109. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts.map +1 -1
  110. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts +1 -1
  111. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts.map +1 -1
  112. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +256 -75
  113. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +11 -0
  114. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
  115. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +6 -6
  116. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
  117. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -4
  118. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts +11 -0
  119. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts.map +1 -1
  120. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.js +4 -0
  121. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts +1 -1
  122. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts.map +1 -1
  123. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.js +109 -4
  124. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts +2 -0
  125. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
  126. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.js +94 -7
  127. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts +5 -0
  128. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts.map +1 -1
  129. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.d.ts.map +1 -1
  130. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.js +3 -0
  131. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +14 -0
  132. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -1
  133. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.js +53 -5
  134. package/node_modules/@oscharko-dev/keiko-contracts/package.json +2 -2
  135. package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
  136. package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.d.ts.map +1 -1
  137. package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.js +11 -3
  138. package/node_modules/@oscharko-dev/keiko-evaluations/package.json +2 -2
  139. package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
  140. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts +20 -1
  141. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts.map +1 -1
  142. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.js +34 -2
  143. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts +1 -0
  144. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts.map +1 -1
  145. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js +3 -1
  146. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +17 -0
  147. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map +1 -1
  148. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js +19 -0
  149. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +5 -1
  150. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
  151. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +32 -2
  152. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
  153. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +259 -40
  154. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts +3 -0
  155. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts.map +1 -1
  156. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.js +48 -5
  157. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts.map +1 -1
  158. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +30 -13
  159. package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts +1 -1
  160. package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts.map +1 -1
  161. package/node_modules/@oscharko-dev/keiko-evidence/package.json +2 -2
  162. package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
  163. package/node_modules/@oscharko-dev/keiko-harness/package.json +2 -2
  164. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
  165. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.d.ts.map +1 -1
  166. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.js +25 -1
  167. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts +1 -1
  168. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts.map +1 -1
  169. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.js +16 -0
  170. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts +3 -1
  171. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts.map +1 -1
  172. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.js +9 -5
  173. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.d.ts.map +1 -1
  174. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.js +22 -7
  175. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts +4 -1
  176. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts.map +1 -1
  177. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.js +61 -9
  178. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.d.ts.map +1 -1
  179. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.js +64 -36
  180. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts +2 -2
  181. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts.map +1 -1
  182. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.js +2 -2
  183. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts +7 -1
  184. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts.map +1 -1
  185. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.js +5 -1
  186. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts +1 -1
  187. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts.map +1 -1
  188. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.js +27 -4
  189. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts +5 -1
  190. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts.map +1 -1
  191. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.js +18 -5
  192. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.d.ts.map +1 -1
  193. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.js +10 -1
  194. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts +4 -1
  195. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts.map +1 -1
  196. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.js +370 -45
  197. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts +2 -0
  198. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts.map +1 -1
  199. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.js +8 -4
  200. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts +1 -1
  201. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts.map +1 -1
  202. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.js +10 -5
  203. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.d.ts.map +1 -1
  204. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.js +65 -20
  205. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts +1 -0
  206. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts.map +1 -1
  207. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.js +79 -0
  208. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts +1 -1
  209. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts.map +1 -1
  210. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.js +1 -1
  211. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.d.ts.map +1 -1
  212. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.js +4 -0
  213. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +6 -5
  214. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts.map +1 -1
  215. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.js +4 -4
  216. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.d.ts.map +1 -1
  217. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.js +71 -29
  218. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
  219. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +253 -131
  220. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts +12 -0
  221. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts.map +1 -1
  222. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.d.ts.map +1 -1
  223. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.js +9 -0
  224. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +3 -1
  225. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts.map +1 -1
  226. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.js +13 -1
  227. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.d.ts.map +1 -1
  228. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.js +86 -46
  229. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -1
  230. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts.map +1 -1
  231. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.js +1 -1
  232. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.d.ts.map +1 -1
  233. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.js +50 -22
  234. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts +21 -1
  235. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
  236. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +90 -13
  237. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.d.ts.map +1 -1
  238. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.js +3 -1
  239. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts +7 -2
  240. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts.map +1 -1
  241. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.js +7 -3
  242. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/audit-emitter.js +8 -0
  243. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.d.ts.map +1 -1
  244. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.js +17 -10
  245. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.d.ts.map +1 -1
  246. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.js +7 -0
  247. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts +4 -0
  248. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts.map +1 -1
  249. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +1 -1
  250. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts +1 -0
  251. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts.map +1 -1
  252. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.js +318 -32
  253. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts +1 -1
  254. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts.map +1 -1
  255. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.js +46 -16
  256. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts +14 -0
  257. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts.map +1 -1
  258. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.js +26 -1
  259. package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +10 -5
  260. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
  261. package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +2 -2
  262. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
  263. package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +2 -2
  264. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
  265. package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +2 -2
  266. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
  267. package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +2 -2
  268. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
  269. package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +2 -2
  270. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
  271. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts +2 -1
  272. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts.map +1 -1
  273. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.js +50 -0
  274. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts +3 -0
  275. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts.map +1 -1
  276. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.js +114 -44
  277. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts +14 -0
  278. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts.map +1 -1
  279. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.js +14 -0
  280. package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +2 -2
  281. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
  282. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.d.ts.map +1 -1
  283. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.js +9 -2
  284. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +1 -1
  285. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +9 -1
  286. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts.map +1 -1
  287. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.js +9 -1
  288. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts +5 -0
  289. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts.map +1 -1
  290. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js +229 -33
  291. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +62 -0
  292. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map +1 -1
  293. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map +1 -1
  294. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.js +24 -4
  295. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts +4 -2
  296. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map +1 -1
  297. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.js +0 -0
  298. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map +1 -1
  299. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js +119 -5
  300. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts +2 -1
  301. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts.map +1 -1
  302. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.js +26 -11
  303. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
  304. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +86 -9
  305. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map +1 -1
  306. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.js +10 -3
  307. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
  308. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +14 -12
  309. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/sourceMixPlanning.js +0 -0
  310. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts +1 -1
  311. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts.map +1 -1
  312. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.js +9 -1
  313. package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +2 -2
  314. package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
  315. package/node_modules/@oscharko-dev/keiko-sdk/package.json +2 -2
  316. package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
  317. package/node_modules/@oscharko-dev/keiko-security/dist/redaction.d.ts.map +1 -1
  318. package/node_modules/@oscharko-dev/keiko-security/dist/redaction.js +4 -2
  319. package/node_modules/@oscharko-dev/keiko-security/package.json +2 -2
  320. package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
  321. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
  322. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +6 -1
  323. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +2 -0
  324. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
  325. package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +59 -9
  326. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts +1 -1
  327. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts.map +1 -1
  328. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.js +4 -3
  329. package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts +18 -3
  330. package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts.map +1 -1
  331. package/node_modules/@oscharko-dev/keiko-server/dist/files.js +208 -72
  332. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.d.ts.map +1 -1
  333. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.js +7 -2
  334. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts +3 -0
  335. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts.map +1 -1
  336. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.js +27 -4
  337. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.d.ts.map +1 -1
  338. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.js +46 -14
  339. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts +1 -0
  340. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts.map +1 -1
  341. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.js +433 -31
  342. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.d.ts.map +1 -1
  343. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.js +5 -3
  344. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts +9 -0
  345. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
  346. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +194 -45
  347. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts +4 -0
  348. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts.map +1 -1
  349. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +100 -24
  350. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts +7 -0
  351. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
  352. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +196 -20
  353. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.d.ts.map +1 -1
  354. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.js +21 -1
  355. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -1
  356. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts.map +1 -1
  357. package/node_modules/@oscharko-dev/keiko-server/dist/index.js +1 -1
  358. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts +9 -6
  359. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
  360. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +189 -66
  361. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
  362. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +189 -72
  363. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +10 -2
  364. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -1
  365. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.js +110 -30
  366. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts +13 -4
  367. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts.map +1 -1
  368. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.js +29 -17
  369. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts +13 -3
  370. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -1
  371. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.js +54 -5
  372. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
  373. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +84 -12
  374. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -1
  375. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.js +16 -8
  376. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +6 -2
  377. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
  378. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +13 -1
  379. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -1
  380. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.js +15 -2
  381. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +9 -0
  382. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -1
  383. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.js +2 -2
  384. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -1
  385. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
  386. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +138 -19
  387. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.d.ts.map +1 -1
  388. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.js +26 -7
  389. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
  390. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +26 -7
  391. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
  392. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +3 -1
  393. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
  394. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +51 -15
  395. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts +4 -1
  396. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
  397. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +17 -3
  398. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
  399. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +6 -2
  400. package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
  401. package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +4 -2
  402. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts.map +1 -1
  403. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.js +6 -1
  404. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts +2 -2
  405. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts.map +1 -1
  406. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.js +84 -8
  407. package/node_modules/@oscharko-dev/keiko-server/dist/store/db.d.ts.map +1 -1
  408. package/node_modules/@oscharko-dev/keiko-server/dist/store/db.js +4 -2
  409. package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts +1 -1
  410. package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts.map +1 -1
  411. package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts +5 -1
  412. package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts.map +1 -1
  413. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.d.ts.map +1 -1
  414. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.js +67 -14
  415. package/node_modules/@oscharko-dev/keiko-server/package.json +2 -2
  416. package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
  417. package/node_modules/@oscharko-dev/keiko-tools/package.json +2 -2
  418. package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
  419. package/node_modules/@oscharko-dev/keiko-verification/package.json +2 -2
  420. package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
  421. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts +2 -0
  422. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts.map +1 -1
  423. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.js +45 -10
  424. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts +1 -1
  425. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts.map +1 -1
  426. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.js +1 -1
  427. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.d.ts.map +1 -1
  428. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.js +4 -6
  429. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts +30 -0
  430. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts.map +1 -0
  431. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.js +114 -0
  432. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
  433. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +20 -7
  434. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.d.ts.map +1 -1
  435. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.js +15 -7
  436. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts.map +1 -1
  437. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.js +28 -4
  438. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.d.ts.map +1 -1
  439. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.js +51 -1
  440. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.d.ts.map +1 -1
  441. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.js +8 -3
  442. package/node_modules/@oscharko-dev/keiko-workflows/package.json +2 -2
  443. package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
  444. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts +1 -0
  445. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts.map +1 -1
  446. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.js +1 -0
  447. package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.d.ts.map +1 -1
  448. package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.js +84 -27
  449. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.d.ts.map +1 -1
  450. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.js +19 -0
  451. package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.d.ts.map +1 -1
  452. package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.js +6 -3
  453. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.d.ts.map +1 -1
  454. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.js +72 -25
  455. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts +15 -0
  456. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -0
  457. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +107 -0
  458. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts +18 -0
  459. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -0
  460. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +42 -0
  461. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
  462. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +4 -11
  463. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts +2 -0
  464. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -0
  465. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.js +15 -0
  466. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts +2 -2
  467. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts.map +1 -1
  468. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.js +89 -75
  469. package/node_modules/@oscharko-dev/keiko-workspace/package.json +2 -2
  470. package/node_modules/@types/node/README.md +1 -1
  471. package/node_modules/@types/node/http2.d.ts +1 -0
  472. package/node_modules/@types/node/package.json +2 -2
  473. package/package.json +3 -1
  474. package/dist/ui/static/_next/static/RAzN8WLtYaktD-ZePowXl/_buildManifest.js +0 -1
  475. package/dist/ui/static/_next/static/chunks/18-ac3e3551b4e0ce8a.js +0 -1
  476. package/dist/ui/static/_next/static/chunks/258-e3b5ee46b0669967.js +0 -1
  477. package/dist/ui/static/_next/static/chunks/422-4c94c107b90d3ccc.js +0 -1
  478. package/dist/ui/static/_next/static/chunks/664-6d821dc1aacb6b48.js +0 -1
  479. package/dist/ui/static/_next/static/chunks/87c73c54-24122e7b92478d00.js +0 -1
  480. package/dist/ui/static/_next/static/chunks/982-abc19630e6305864.js +0 -1
  481. package/dist/ui/static/_next/static/chunks/app/_not-found/page-c4d800f366186be0.js +0 -1
  482. package/dist/ui/static/_next/static/chunks/app/launch/page-17ca39367f25f372.js +0 -1
  483. package/dist/ui/static/_next/static/chunks/app/layout-0f75a39edc90325d.js +0 -1
  484. package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-87a2ea239308ed34.js +0 -1
  485. package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-98bb7704fc7fd0ad.js +0 -1
  486. package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-f912263f1ee5d2dd.js +0 -1
  487. package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-fa590f135356e0af.js +0 -1
  488. package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-b8555600c1113f14.js +0 -1
  489. package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-85cfbeb3598c0a36.js +0 -1
  490. package/dist/ui/static/_next/static/chunks/app/page-2881856ad25d9935.js +0 -1
  491. package/dist/ui/static/_next/static/chunks/framework-d8f01f7e25201916.js +0 -1
  492. package/dist/ui/static/_next/static/chunks/main-app-5b043f6c611974ae.js +0 -1
  493. package/dist/ui/static/_next/static/chunks/main-bc552b04f2b6dbe2.js +0 -1
  494. package/dist/ui/static/_next/static/chunks/pages/_app-2e239ff05bfdf6d6.js +0 -1
  495. package/dist/ui/static/_next/static/chunks/pages/_error-bda15e7831eec981.js +0 -1
  496. package/dist/ui/static/_next/static/chunks/webpack-0cfe6f51555ca84e.js +0 -1
  497. package/dist/ui/static/_next/static/css/eac94895f3edc5a5.css +0 -1
  498. /package/dist/ui/static/_next/static/{RAzN8WLtYaktD-ZePowXl → Hb6brrvZY2nZtizQlYhVt}/_ssgManifest.js +0 -0
  499. /package/dist/ui/static/_next/static/chunks/{polyfills-42372ed130431b0a.js → 0cz1d0mv5g_q7.js} +0 -0
@@ -8,7 +8,7 @@
8
8
  // * deleteCapsule relies on the schema's ON DELETE CASCADE chain (#265). Removing the
9
9
  // CASCADE clause from any dependent table will either throw an FK violation (when
10
10
  // foreign_keys=ON catches a leftover) or leave orphan rows the cascade test catches.
11
- import { DELETE_CAPSULE_SQL, } from "@oscharko-dev/keiko-contracts";
11
+ import { DELETE_CAPSULE_SQL, isSafeStorageReference, isSafeDisplaySummary, } from "@oscharko-dev/keiko-contracts";
12
12
  import { KnowledgeNotFoundError, KnowledgeStoreError } from "./errors.js";
13
13
  const INSERT_CAPSULE_SQL = [
14
14
  "INSERT INTO capsules (",
@@ -52,6 +52,27 @@ function parseTags(json) {
52
52
  return [];
53
53
  return parsed.filter((entry) => typeof entry === "string");
54
54
  }
55
+ function assertSafeDisplayField(field, value) {
56
+ if (value.trim().length === 0 || !isSafeDisplaySummary(value)) {
57
+ throw new KnowledgeStoreError(`${field} must be a browser-safe non-empty string`);
58
+ }
59
+ }
60
+ function assertSafeOptionalDisplayField(field, value) {
61
+ if (value !== undefined && !isSafeDisplaySummary(value)) {
62
+ throw new KnowledgeStoreError(`${field} must be browser-safe when set`);
63
+ }
64
+ }
65
+ function assertSafeCreateCapsuleInput(input) {
66
+ assertSafeDisplayField("displayName", input.displayName);
67
+ assertSafeOptionalDisplayField("description", input.description);
68
+ assertSafeOptionalDisplayField("sourceRoutingInstructions", input.sourceRoutingInstructions);
69
+ for (const tag of input.tags) {
70
+ assertSafeDisplayField("tag", tag);
71
+ }
72
+ if (!isSafeStorageReference(input.storageReference)) {
73
+ throw new KnowledgeStoreError("storageReference must be a safe relative path");
74
+ }
75
+ }
55
76
  function listSourceIdsFor(store, capsuleId) {
56
77
  const rows = store._internal.db.prepare(SELECT_SOURCE_IDS_FOR_CAPSULE_SQL).all({ c: capsuleId });
57
78
  return rows.map((row) => row.id);
@@ -103,6 +124,7 @@ function withOptionalCapsuleFields(base, row) {
103
124
  return result;
104
125
  }
105
126
  export function createCapsule(store, input, auditSink) {
127
+ assertSafeCreateCapsuleInput(input);
106
128
  const now = store._internal.now();
107
129
  const params = {
108
130
  id: input.id,
@@ -195,10 +217,12 @@ export function updateCapsuleDetails(store, id, patch) {
195
217
  const assignments = [];
196
218
  const params = { id, now: store._internal.now() };
197
219
  if (patch.displayName !== undefined) {
220
+ assertSafeDisplayField("displayName", patch.displayName);
198
221
  assignments.push("display_name = :displayName");
199
222
  params.displayName = patch.displayName;
200
223
  }
201
224
  if (patch.description !== undefined) {
225
+ assertSafeOptionalDisplayField("description", patch.description);
202
226
  assignments.push("description = :description");
203
227
  params.description = patch.description;
204
228
  }
@@ -1,4 +1,4 @@
1
- import type { CapsuleSet, CapsuleSetId, KnowledgeCapsuleId } from "@oscharko-dev/keiko-contracts";
1
+ import { type CapsuleSet, type CapsuleSetId, type KnowledgeCapsuleId } from "@oscharko-dev/keiko-contracts";
2
2
  import type { KnowledgeStore } from "./store.js";
3
3
  export interface CreateCapsuleSetInput {
4
4
  readonly id: CapsuleSetId;
@@ -1 +1 @@
1
- {"version":3,"file":"capsule-set-lifecycle.d.ts","sourceRoot":"","sources":["../src/capsule-set-lifecycle.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGlG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AA4ED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,MAAM,GACV,IAAI,CAkBN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAsBhG;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAQ7F;AAOD,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CAe5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAiB9E"}
1
+ {"version":3,"file":"capsule-set-lifecycle.d.ts","sourceRoot":"","sources":["../src/capsule-set-lifecycle.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AAwFD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,MAAM,GACV,IAAI,CAuBN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAsBhG;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAQ7F;AAOD,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CAe5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAiB9E"}
@@ -9,11 +9,22 @@
9
9
  // payload `{displayName, description?, tags, composedAt}`. Members live in their declared
10
10
  // table. Deleting a capsule cascades to the membership row via the FK from #265; this
11
11
  // module does not need to chase it.
12
+ import { isSafeDisplaySummary, } from "@oscharko-dev/keiko-contracts";
12
13
  import { KnowledgeNotFoundError, KnowledgeStoreError } from "./errors.js";
13
14
  const META_PREFIX = "capsule_set:";
14
15
  function metaKey(id) {
15
16
  return `${META_PREFIX}${String(id)}`;
16
17
  }
18
+ function assertSafeDisplayField(field, value) {
19
+ if (value.trim().length === 0 || !isSafeDisplaySummary(value)) {
20
+ throw new KnowledgeStoreError(`${field} must be a browser-safe non-empty string`);
21
+ }
22
+ }
23
+ function assertSafeOptionalDisplayField(field, value) {
24
+ if (value !== undefined && !isSafeDisplaySummary(value)) {
25
+ throw new KnowledgeStoreError(`${field} must be browser-safe when set`);
26
+ }
27
+ }
17
28
  function parseMeta(value, id) {
18
29
  const parsed = JSON.parse(value);
19
30
  if (typeof parsed !== "object" || parsed === null) {
@@ -58,6 +69,11 @@ function metaToCapsuleSet(id, payload, capsuleIds) {
58
69
  // wraps it in its own transaction) and by runComposeTransaction (which needs to combine the
59
70
  // set creation and audit writes in one atomic outer transaction).
60
71
  export function createCapsuleSetWithinTxn(store, input, now) {
72
+ assertSafeDisplayField("displayName", input.displayName);
73
+ assertSafeOptionalDisplayField("description", input.description);
74
+ for (const tag of input.tags) {
75
+ assertSafeDisplayField("tag", tag);
76
+ }
61
77
  const db = store._internal.db;
62
78
  const payload = {
63
79
  displayName: input.displayName,
@@ -10,11 +10,13 @@ export interface ChunkInsertRow {
10
10
  readonly tokenCount: number;
11
11
  readonly safeExcerptHash: string;
12
12
  readonly chunkingStrategyVersion: string;
13
+ readonly characterStart: number;
14
+ readonly characterEnd: number;
13
15
  }
14
16
  export declare function insertChunkRow(db: DatabaseSync, row: ChunkInsertRow): void;
15
17
  export declare function deleteChunksForDocument(db: DatabaseSync, capsuleId: KnowledgeCapsuleId, documentId: DocumentId): void;
16
18
  export declare function countChunksForDocument(db: DatabaseSync, capsuleId: KnowledgeCapsuleId, documentId: DocumentId): number;
17
- export declare function hasStaleChunksForDocument(db: DatabaseSync, capsuleId: KnowledgeCapsuleId, documentId: DocumentId): boolean;
19
+ export declare function hasStaleChunksForDocument(db: DatabaseSync, capsuleId: KnowledgeCapsuleId, documentId: DocumentId, chunkingStrategyVersion?: string): boolean;
18
20
  export declare function selectDocumentSourceId(db: DatabaseSync, capsuleId: KnowledgeCapsuleId, documentId: DocumentId): KnowledgeSourceId | undefined;
19
21
  export interface ParsedUnitRow {
20
22
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chunker-persist.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker-persist.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmChD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAY1E;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,IAAI,CAEN;AAMD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,MAAM,CAKR;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,OAAO,CAOT;AAMD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,iBAAiB,GAAG,SAAS,CAK/B;AAKD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,SAAS,aAAa,EAAE,CAK1B"}
1
+ {"version":3,"file":"chunker-persist.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker-persist.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqChD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAIzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAc1E;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,IAAI,CAEN;AAMD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,MAAM,CAKR;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,EACtB,uBAAuB,GAAE,MAAsC,GAC9D,OAAO,CAOT;AAMD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,iBAAiB,GAAG,SAAS,CAK/B;AAKD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GACrB,SAAS,aAAa,EAAE,CAK1B"}
@@ -3,14 +3,16 @@
3
3
  // `chunker-runner.ts`. The runner is the only module that issues transactions for chunks —
4
4
  // mirrors the `discovery/persist.ts` boundary convention so a per-document failure rolls
5
5
  // back exactly the rows from that document.
6
- import { CHUNKING_STRATEGY_VERSION } from "./types.js";
6
+ import { DEFAULT_CHUNKING_STRATEGY_KEY } from "./types.js";
7
7
  const INSERT_CHUNK_SQL = [
8
8
  "INSERT INTO chunks (",
9
9
  " id, capsule_id, source_id, document_id, parsed_unit_id,",
10
- " order_index, token_count, safe_excerpt_hash, chunking_strategy_version",
10
+ " order_index, token_count, safe_excerpt_hash, chunking_strategy_version,",
11
+ " character_start, character_end",
11
12
  ") VALUES (",
12
13
  " :id, :capsule_id, :source_id, :document_id, :parsed_unit_id,",
13
- " :order_index, :token_count, :safe_excerpt_hash, :chunking_strategy_version",
14
+ " :order_index, :token_count, :safe_excerpt_hash, :chunking_strategy_version,",
15
+ " :character_start, :character_end",
14
16
  ")",
15
17
  ].join(" ");
16
18
  const DELETE_CHUNKS_FOR_DOCUMENT_SQL = "DELETE FROM chunks WHERE capsule_id = :c AND document_id = :d";
@@ -39,6 +41,8 @@ export function insertChunkRow(db, row) {
39
41
  token_count: row.tokenCount,
40
42
  safe_excerpt_hash: row.safeExcerptHash,
41
43
  chunking_strategy_version: row.chunkingStrategyVersion,
44
+ character_start: row.characterStart,
45
+ character_end: row.characterEnd,
42
46
  });
43
47
  }
44
48
  export function deleteChunksForDocument(db, capsuleId, documentId) {
@@ -48,11 +52,11 @@ export function countChunksForDocument(db, capsuleId, documentId) {
48
52
  const row = db.prepare(COUNT_CHUNKS_FOR_DOCUMENT_SQL).get({ c: capsuleId, d: documentId });
49
53
  return typeof row?.n === "number" ? row.n : 0;
50
54
  }
51
- export function hasStaleChunksForDocument(db, capsuleId, documentId) {
55
+ export function hasStaleChunksForDocument(db, capsuleId, documentId, chunkingStrategyVersion = DEFAULT_CHUNKING_STRATEGY_KEY) {
52
56
  const row = db.prepare(COUNT_STALE_CHUNKS_FOR_DOCUMENT_SQL).get({
53
57
  c: capsuleId,
54
58
  d: documentId,
55
- v: CHUNKING_STRATEGY_VERSION,
59
+ v: chunkingStrategyVersion,
56
60
  });
57
61
  return (row?.n ?? 0) > 0;
58
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chunker-runner.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker-runner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgO5F,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,eAAe,GACxB,mBAAmB,CAkCrB"}
1
+ {"version":3,"file":"chunker-runner.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker-runner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0P5F,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,eAAe,GACxB,mBAAmB,CAkCrB"}
@@ -7,9 +7,9 @@
7
7
  // Idempotency: with `force: false` (default) and existing chunks already in the table,
8
8
  // the runner is a no-op and returns `skippedExisting: true`. With `force: true`, prior
9
9
  // chunks are deleted at the start of the transaction.
10
- import { chunkParsedUnit } from "./chunker.js";
10
+ import { chunkParsedUnit, chunkingStrategyKey, resolveChunkingOptions } from "./chunker.js";
11
11
  import { countChunksForDocument, deleteChunksForDocument, hasStaleChunksForDocument, insertChunkRow, selectDocumentSourceId, selectParsedUnitsForDocument, } from "./chunker-persist.js";
12
- import { CHUNKING_STRATEGY_VERSION, ChunkingError } from "./types.js";
12
+ import { ChunkingError } from "./types.js";
13
13
  // ─── Row → ParsedUnit reconstitution ──────────────────────────────────────────
14
14
  // The parsed_units table is the canonical write surface for #194. We re-hydrate the
15
15
  // discriminant union here so the pure chunker stays unaware of SQLite. Defensive: any
@@ -123,14 +123,26 @@ function throwIfAborted(signal) {
123
123
  function composeChunkId(documentId, parsedUnitRowId, orderIndex) {
124
124
  return `${String(documentId)}#${parsedUnitRowId}#c${String(orderIndex)}`;
125
125
  }
126
+ function documentMaxChunks(options) {
127
+ return resolveChunkingOptions(options).maxChunks;
128
+ }
129
+ function optionsWithRemainingChunkBudget(options, remaining) {
130
+ return options === undefined ? { maxChunks: remaining } : { ...options, maxChunks: remaining };
131
+ }
126
132
  function persistAllChunks(store, ctx, rows, options, signal) {
127
133
  const db = store._internal.db;
128
134
  const chunkIds = [];
135
+ const maxChunks = documentMaxChunks(options);
136
+ const strategyKey = chunkingStrategyKey(options);
129
137
  let orderIndex = 0;
130
138
  for (const row of rows) {
131
139
  throwIfAborted(signal);
140
+ const remaining = maxChunks - chunkIds.length;
141
+ if (remaining <= 0) {
142
+ throw new ChunkingError(`chunkDocument exceeded maxChunks ${String(maxChunks)}`);
143
+ }
132
144
  const unit = rowToParsedUnit(row, ctx.documentId);
133
- const chunks = chunkParsedUnit(unit, ctx.sourceText, options);
145
+ const chunks = chunkParsedUnit(unit, ctx.sourceText, optionsWithRemainingChunkBudget(options, remaining));
134
146
  for (const chunk of chunks) {
135
147
  const id = composeChunkId(ctx.documentId, row.id, orderIndex);
136
148
  insertChunkRow(db, {
@@ -142,7 +154,9 @@ function persistAllChunks(store, ctx, rows, options, signal) {
142
154
  orderIndex,
143
155
  tokenCount: chunk.tokenCount,
144
156
  safeExcerptHash: chunk.safeExcerptHash,
145
- chunkingStrategyVersion: CHUNKING_STRATEGY_VERSION,
157
+ chunkingStrategyVersion: strategyKey,
158
+ characterStart: chunk.characterStart,
159
+ characterEnd: chunk.characterEnd,
146
160
  });
147
161
  chunkIds.push(id);
148
162
  orderIndex += 1;
@@ -150,12 +164,13 @@ function persistAllChunks(store, ctx, rows, options, signal) {
150
164
  }
151
165
  return chunkIds;
152
166
  }
153
- function loadChunkingPreflight(store, capsuleId, documentId) {
167
+ function loadChunkingPreflight(store, capsuleId, documentId, options) {
154
168
  const db = store._internal.db;
155
169
  const existingCount = countChunksForDocument(db, capsuleId, documentId);
156
170
  return {
157
171
  existingCount,
158
- staleChunks: existingCount > 0 && hasStaleChunksForDocument(db, capsuleId, documentId),
172
+ staleChunks: existingCount > 0 &&
173
+ hasStaleChunksForDocument(db, capsuleId, documentId, chunkingStrategyKey(options)),
159
174
  };
160
175
  }
161
176
  function assertDocumentSourceMatches(store, capsuleId, documentId, sourceId) {
@@ -174,7 +189,7 @@ export function chunkDocument(store, params, options) {
174
189
  const { capsuleId, sourceId, documentId, sourceText, force, signal } = params;
175
190
  throwIfAborted(signal);
176
191
  const db = store._internal.db;
177
- const preflight = loadChunkingPreflight(store, capsuleId, documentId);
192
+ const preflight = loadChunkingPreflight(store, capsuleId, documentId, options);
178
193
  assertDocumentSourceMatches(store, capsuleId, documentId, sourceId);
179
194
  if (shouldReuseExistingChunks(preflight, force)) {
180
195
  return { capsuleId, documentId, chunkIds: [], skippedExisting: true };
@@ -1,4 +1,7 @@
1
1
  import type { ParsedUnit } from "@oscharko-dev/keiko-contracts";
2
- import type { ChunkingOptions, ChunkingResult } from "./types.js";
2
+ import type { ChunkingOptions, ChunkingResult, ResolvedChunkingOptions } from "./types.js";
3
+ export declare function resolveChunkingOptions(options: ChunkingOptions | undefined): ResolvedChunkingOptions;
4
+ export declare function chunkingStrategyKey(options: ChunkingOptions | undefined): string;
5
+ export declare function chunkDedupeKey(text: string): string | undefined;
3
6
  export declare function chunkParsedUnit(unit: ParsedUnit, sourceText: string, options?: ChunkingOptions): readonly ChunkingResult[];
4
7
  //# sourceMappingURL=chunker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAGf,MAAM,YAAY,CAAC;AAqEpB,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,eAAe,GACxB,SAAS,cAAc,EAAE,CAoB3B"}
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAiCpB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,GAAG,SAAS,GACnC,uBAAuB,CAgBzB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAWhF;AAuBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK/D;AAuDD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,eAAe,GACxB,SAAS,cAAc,EAAE,CAyB3B"}
@@ -20,14 +20,44 @@
20
20
  // tradeoff is intentional and documented.
21
21
  import { createHash } from "node:crypto";
22
22
  import { charsForTokenBudget } from "./token-estimator.js";
23
- import { DEFAULT_MAX_TOKENS, DEFAULT_MIN_TOKENS, DEFAULT_OVERLAP_TOKENS } from "./types.js";
23
+ import { ChunkingError, DEFAULT_CHUNKING_STRATEGY_KEY, DEFAULT_MAX_CHUNKS, DEFAULT_MAX_TOKENS, DEFAULT_MIN_TOKENS, DEFAULT_OVERLAP_TOKENS, MAX_CHUNK_TOKENS, MAX_OVERLAP_TOKENS, CHUNKING_STRATEGY_VERSION, } from "./types.js";
24
24
  import { defaultTokenEstimator } from "./token-estimator.js";
25
- function resolveOptions(options) {
26
- const maxTokens = options?.maxTokens ?? DEFAULT_MAX_TOKENS;
27
- const minTokens = options?.minTokens ?? DEFAULT_MIN_TOKENS;
28
- const overlapTokens = options?.overlapTokens ?? DEFAULT_OVERLAP_TOKENS;
25
+ const WHITESPACE_PATTERN = /\s+/gu;
26
+ const INFORMATIVE_CHARACTER_PATTERN = /[\p{L}\p{N}]/u;
27
+ function positiveInteger(raw, fallback, field) {
28
+ const value = raw ?? fallback;
29
+ if (!Number.isFinite(value) || value < 1) {
30
+ throw new ChunkingError(`${field} must be a positive finite integer`);
31
+ }
32
+ return Math.floor(value);
33
+ }
34
+ function nonNegativeInteger(raw, fallback, field) {
35
+ const value = raw ?? fallback;
36
+ if (!Number.isFinite(value) || value < 0) {
37
+ throw new ChunkingError(`${field} must be a non-negative finite integer`);
38
+ }
39
+ return Math.floor(value);
40
+ }
41
+ export function resolveChunkingOptions(options) {
42
+ const maxTokens = Math.min(positiveInteger(options?.maxTokens, DEFAULT_MAX_TOKENS, "maxTokens"), MAX_CHUNK_TOKENS);
43
+ const minTokens = nonNegativeInteger(options?.minTokens, DEFAULT_MIN_TOKENS, "minTokens");
44
+ const overlapTokens = Math.min(nonNegativeInteger(options?.overlapTokens, DEFAULT_OVERLAP_TOKENS, "overlapTokens"), MAX_OVERLAP_TOKENS);
45
+ const maxChunks = Math.min(positiveInteger(options?.maxChunks, DEFAULT_MAX_CHUNKS, "maxChunks"), DEFAULT_MAX_CHUNKS);
29
46
  const tokenEstimator = options?.tokenEstimator ?? defaultTokenEstimator;
30
- return { maxTokens, minTokens, overlapTokens, tokenEstimator };
47
+ return { maxTokens, minTokens, overlapTokens, maxChunks, tokenEstimator };
48
+ }
49
+ export function chunkingStrategyKey(options) {
50
+ if (options === undefined)
51
+ return DEFAULT_CHUNKING_STRATEGY_KEY;
52
+ const resolved = resolveChunkingOptions(options);
53
+ return [
54
+ CHUNKING_STRATEGY_VERSION,
55
+ `max=${String(resolved.maxTokens)}`,
56
+ `min=${String(resolved.minTokens)}`,
57
+ `overlap=${String(resolved.overlapTokens)}`,
58
+ `limit=${String(resolved.maxChunks)}`,
59
+ options.tokenEstimator === undefined ? "estimator=default" : "estimator=custom",
60
+ ].join("|");
31
61
  }
32
62
  function spanForUnit(unit, sourceLength) {
33
63
  if (unit.kind === "unsupported-media")
@@ -41,8 +71,21 @@ function spanForUnit(unit, sourceLength) {
41
71
  function hashExcerpt(text) {
42
72
  return createHash("sha256").update(text, "utf8").digest("hex");
43
73
  }
74
+ function normaliseChunkText(text) {
75
+ return text.normalize("NFKC").replace(WHITESPACE_PATTERN, " ").trim();
76
+ }
77
+ export function chunkDedupeKey(text) {
78
+ const normalised = normaliseChunkText(text);
79
+ if (normalised.length === 0)
80
+ return undefined;
81
+ if (!INFORMATIVE_CHARACTER_PATTERN.test(normalised))
82
+ return undefined;
83
+ return hashExcerpt(normalised);
84
+ }
44
85
  function buildChunk(sourceText, start, end, estimator) {
45
86
  const excerpt = sourceText.slice(start, end);
87
+ if (chunkDedupeKey(excerpt) === undefined)
88
+ return undefined;
46
89
  return {
47
90
  characterStart: start,
48
91
  characterEnd: end,
@@ -64,21 +107,30 @@ function shouldEmitSingleChunk(excerpt, resolved) {
64
107
  // produces one chunk so we never drop content (spec edge case: "Single tiny unit").
65
108
  return resolved.tokenEstimator(excerpt) <= resolved.maxTokens;
66
109
  }
110
+ function pushChunk(chunks, chunk, maxChunks) {
111
+ if (chunk === undefined)
112
+ return;
113
+ if (chunks.length >= maxChunks) {
114
+ throw new ChunkingError(`chunkParsedUnit exceeded maxChunks ${String(maxChunks)}`);
115
+ }
116
+ chunks.push(chunk);
117
+ }
67
118
  export function chunkParsedUnit(unit, sourceText, options) {
68
- const resolved = resolveOptions(options);
119
+ const resolved = resolveChunkingOptions(options);
69
120
  const span = spanForUnit(unit, sourceText.length);
70
121
  if (span === undefined)
71
122
  return [];
72
123
  const excerpt = sourceText.slice(span.start, span.end);
73
124
  if (shouldEmitSingleChunk(excerpt, resolved)) {
74
- return [buildChunk(sourceText, span.start, span.end, resolved.tokenEstimator)];
125
+ const chunk = buildChunk(sourceText, span.start, span.end, resolved.tokenEstimator);
126
+ return chunk === undefined ? [] : [chunk];
75
127
  }
76
128
  const { maxChars, stride } = computeStepSizes(resolved);
77
129
  const chunks = [];
78
130
  let cursor = span.start;
79
131
  while (cursor < span.end) {
80
132
  const end = Math.min(cursor + maxChars, span.end);
81
- chunks.push(buildChunk(sourceText, cursor, end, resolved.tokenEstimator));
133
+ pushChunk(chunks, buildChunk(sourceText, cursor, end, resolved.tokenEstimator), resolved.maxChunks);
82
134
  if (end >= span.end)
83
135
  break;
84
136
  cursor += stride;
@@ -1 +1 @@
1
- {"version":3,"file":"citation-mapper.d.ts","sourceRoot":"","sources":["../../src/chunking/citation-mapper.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkMlD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,YAAY,GAC3B,iBAAiB,GAAG,IAAI,CAc1B"}
1
+ {"version":3,"file":"citation-mapper.d.ts","sourceRoot":"","sources":["../../src/chunking/citation-mapper.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyOlD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,YAAY,GAC3B,iBAAiB,GAAG,IAAI,CAc1B"}
@@ -13,15 +13,17 @@
13
13
  // - kind=page: copy pageNumber/pageLabel + characterStart/End directly.
14
14
  // - kind=section: copy sectionPath + characterStart/End directly.
15
15
  // - kind=html-block: copy headingPath + characterStart/End.
16
- // - other kinds (json-path, csv-row, unsupported-media): characterStart/End only.
16
+ // - kind=json-path: copy jsonPointer + characterStart/End.
17
+ // - kind=csv-row: copy tableName/rowIndex + characterStart/End.
18
+ // - other kinds (unsupported-media): characterStart/End only.
17
19
  // THEN: if the parsed_unit's span overlaps any persisted `pages` row, attach that
18
20
  // page's pageNumber/pageLabel — section units inside a paged document still
19
21
  // surface a citation page number.
20
22
  // 4. Document row provides safeDisplayName + sourceId.
21
- const SELECT_CHUNK_SQL = "SELECT id, capsule_id, source_id, document_id, parsed_unit_id FROM chunks WHERE capsule_id = :c AND id = :id";
23
+ const SELECT_CHUNK_SQL = "SELECT id, capsule_id, source_id, document_id, parsed_unit_id, character_start, character_end FROM chunks WHERE capsule_id = :c AND id = :id";
22
24
  const SELECT_PARSED_UNIT_SQL = [
23
25
  "SELECT kind, page_number, page_label, section_path_json,",
24
- " heading_path_json, character_start, character_end",
26
+ " heading_path_json, json_pointer, table_name, row_index, character_start, character_end",
25
27
  "FROM parsed_units",
26
28
  "WHERE capsule_id = :c AND id = :id",
27
29
  ].join(" ");
@@ -62,43 +64,66 @@ function parseStringArray(raw) {
62
64
  }
63
65
  return parsed;
64
66
  }
65
- function hopFieldsForUnit(unit) {
66
- const characterStart = unit.character_start ?? undefined;
67
- const characterEnd = unit.character_end ?? undefined;
68
- if (unit.kind === "page") {
69
- return {
67
+ function baseHopFields(unit) {
68
+ return {
69
+ pageNumber: undefined,
70
+ pageLabel: undefined,
71
+ sectionPath: undefined,
72
+ jsonPointer: undefined,
73
+ tableName: undefined,
74
+ rowIndex: undefined,
75
+ characterStart: unit.character_start ?? undefined,
76
+ characterEnd: unit.character_end ?? undefined,
77
+ };
78
+ }
79
+ const HOP_FIELDS_BY_KIND = new Map([
80
+ [
81
+ "page",
82
+ (unit, base) => ({
83
+ ...base,
70
84
  pageNumber: unit.page_number ?? undefined,
71
85
  pageLabel: unit.page_label ?? undefined,
72
- sectionPath: undefined,
73
- characterStart,
74
- characterEnd,
75
- };
76
- }
77
- if (unit.kind === "section") {
78
- return {
79
- pageNumber: undefined,
80
- pageLabel: undefined,
86
+ }),
87
+ ],
88
+ [
89
+ "section",
90
+ (unit, base) => ({
91
+ ...base,
81
92
  sectionPath: parseStringArray(unit.section_path_json),
82
- characterStart,
83
- characterEnd,
84
- };
85
- }
86
- if (unit.kind === "html-block") {
87
- return {
88
- pageNumber: undefined,
89
- pageLabel: undefined,
93
+ }),
94
+ ],
95
+ [
96
+ "html-block",
97
+ (unit, base) => ({
98
+ ...base,
90
99
  sectionPath: parseStringArray(unit.heading_path_json),
91
- characterStart,
92
- characterEnd,
93
- };
94
- }
95
- // json-path / csv-row / unsupported-media — character offsets only when present.
100
+ }),
101
+ ],
102
+ [
103
+ "json-path",
104
+ (unit, base) => ({
105
+ ...base,
106
+ jsonPointer: unit.json_pointer ?? undefined,
107
+ }),
108
+ ],
109
+ [
110
+ "csv-row",
111
+ (unit, base) => ({
112
+ ...base,
113
+ tableName: unit.table_name ?? undefined,
114
+ rowIndex: unit.row_index ?? undefined,
115
+ }),
116
+ ],
117
+ ]);
118
+ function hopFieldsForUnit(unit) {
119
+ const base = baseHopFields(unit);
120
+ return HOP_FIELDS_BY_KIND.get(unit.kind)?.(unit, base) ?? base;
121
+ }
122
+ function applyChunkSpan(hop, chunk) {
96
123
  return {
97
- pageNumber: undefined,
98
- pageLabel: undefined,
99
- sectionPath: undefined,
100
- characterStart,
101
- characterEnd,
124
+ ...hop,
125
+ characterStart: chunk.character_start ?? hop.characterStart,
126
+ characterEnd: chunk.character_end ?? hop.characterEnd,
102
127
  };
103
128
  }
104
129
  function attachPageHop(db, capsuleId, documentId, hop) {
@@ -128,6 +153,9 @@ function buildCitation(chunk, document, hop, chunkId, capsuleId) {
128
153
  ...(hop.pageNumber !== undefined ? { pageNumber: hop.pageNumber } : {}),
129
154
  ...(hop.pageLabel !== undefined ? { pageLabel: hop.pageLabel } : {}),
130
155
  ...(hop.sectionPath !== undefined ? { sectionPath: hop.sectionPath } : {}),
156
+ ...(hop.jsonPointer !== undefined ? { jsonPointer: hop.jsonPointer } : {}),
157
+ ...(hop.tableName !== undefined ? { tableName: hop.tableName } : {}),
158
+ ...(hop.rowIndex !== undefined ? { rowIndex: hop.rowIndex } : {}),
131
159
  ...(hop.characterStart !== undefined ? { characterStart: hop.characterStart } : {}),
132
160
  ...(hop.characterEnd !== undefined ? { characterEnd: hop.characterEnd } : {}),
133
161
  };
@@ -146,7 +174,7 @@ export function mapChunkToCitation(store, capsuleId, chunkId, _capsuleSetId) {
146
174
  const document = fetchDocumentRow(db, capsuleId, chunk.document_id);
147
175
  if (document === undefined)
148
176
  return null;
149
- const baseHop = hopFieldsForUnit(unit);
177
+ const baseHop = applyChunkSpan(hopFieldsForUnit(unit), chunk);
150
178
  const hop = attachPageHop(db, capsuleId, chunk.document_id, baseHop);
151
179
  return buildCitation(chunk, document, hop, chunkId, capsuleId);
152
180
  }
@@ -1,6 +1,6 @@
1
- export { chunkParsedUnit } from "./chunker.js";
1
+ export { chunkDedupeKey, chunkParsedUnit, chunkingStrategyKey, resolveChunkingOptions, } from "./chunker.js";
2
2
  export { chunkDocument } from "./chunker-runner.js";
3
3
  export { mapChunkToCitation } from "./citation-mapper.js";
4
4
  export { defaultTokenEstimator, charsForTokenBudget } from "./token-estimator.js";
5
- export { CHUNKING_STRATEGY_VERSION, ChunkingError, DEFAULT_MAX_TOKENS, DEFAULT_MIN_TOKENS, DEFAULT_OVERLAP_TOKENS, type ChunkDocumentParams, type ChunkDocumentResult, type ChunkingOptions, type ChunkingResult, type ResolvedChunkingOptions, type TokenEstimator, } from "./types.js";
5
+ export { CHUNKING_STRATEGY_VERSION, ChunkingError, DEFAULT_CHUNKING_STRATEGY_KEY, DEFAULT_MAX_CHUNKS, DEFAULT_MAX_TOKENS, DEFAULT_MIN_TOKENS, DEFAULT_OVERLAP_TOKENS, MAX_CHUNK_TOKENS, MAX_OVERLAP_TOKENS, type ChunkDocumentParams, type ChunkDocumentResult, type ChunkingOptions, type ChunkingResult, type ResolvedChunkingOptions, type TokenEstimator, } from "./types.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chunking/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chunking/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC"}
@@ -1,8 +1,8 @@
1
1
  // Barrel for the chunking layer (Epic #189, Issue #195). Composed by the package barrel
2
2
  // in ../index.ts; consumers outside the package never import from this subdirectory
3
3
  // directly (ADR-0019 direction rule 3e + the trust-8 test-support naming convention).
4
- export { chunkParsedUnit } from "./chunker.js";
4
+ export { chunkDedupeKey, chunkParsedUnit, chunkingStrategyKey, resolveChunkingOptions, } from "./chunker.js";
5
5
  export { chunkDocument } from "./chunker-runner.js";
6
6
  export { mapChunkToCitation } from "./citation-mapper.js";
7
7
  export { defaultTokenEstimator, charsForTokenBudget } from "./token-estimator.js";
8
- export { CHUNKING_STRATEGY_VERSION, ChunkingError, DEFAULT_MAX_TOKENS, DEFAULT_MIN_TOKENS, DEFAULT_OVERLAP_TOKENS, } from "./types.js";
8
+ export { CHUNKING_STRATEGY_VERSION, ChunkingError, DEFAULT_CHUNKING_STRATEGY_KEY, DEFAULT_MAX_CHUNKS, DEFAULT_MAX_TOKENS, DEFAULT_MIN_TOKENS, DEFAULT_OVERLAP_TOKENS, MAX_CHUNK_TOKENS, MAX_OVERLAP_TOKENS, } from "./types.js";
@@ -5,16 +5,22 @@ export interface ChunkingOptions {
5
5
  readonly maxTokens?: number;
6
6
  readonly minTokens?: number;
7
7
  readonly overlapTokens?: number;
8
+ readonly maxChunks?: number;
8
9
  readonly tokenEstimator?: TokenEstimator;
9
10
  }
10
11
  export declare const DEFAULT_MAX_TOKENS = 400;
11
12
  export declare const DEFAULT_MIN_TOKENS = 64;
12
13
  export declare const DEFAULT_OVERLAP_TOKENS = 32;
13
- export declare const CHUNKING_STRATEGY_VERSION: "issue-195-v1";
14
+ export declare const DEFAULT_MAX_CHUNKS = 50000;
15
+ export declare const MAX_CHUNK_TOKENS = 2048;
16
+ export declare const MAX_OVERLAP_TOKENS = 1024;
17
+ export declare const CHUNKING_STRATEGY_VERSION: "issue-195-v2";
18
+ export declare const DEFAULT_CHUNKING_STRATEGY_KEY: `issue-195-v2|max=${string}|min=${string}|overlap=${string}|limit=${string}|estimator=default`;
14
19
  export interface ResolvedChunkingOptions {
15
20
  readonly maxTokens: number;
16
21
  readonly minTokens: number;
17
22
  readonly overlapTokens: number;
23
+ readonly maxChunks: number;
18
24
  readonly tokenEstimator: TokenEstimator;
19
25
  }
20
26
  export interface ChunkDocumentParams {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chunking/types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAGD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,yBAAyB,EAAG,cAAuB,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CACzC;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAIhC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAEtC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAKD,qBAAa,aAAc,SAAQ,mBAAmB;IACpD,SAAyB,IAAI,EAAE,MAAM,CAAmB;CACzD;AAKD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chunking/types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAGD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AACxC,eAAO,MAAM,yBAAyB,EAAG,cAAuB,CAAC;AACjE,eAAO,MAAM,6BAA6B,gGACmK,CAAC;AAE9M,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CACzC;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAIhC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAEtC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAKD,qBAAa,aAAc,SAAQ,mBAAmB;IACpD,SAAyB,IAAI,EAAE,MAAM,CAAmB;CACzD;AAKD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC"}
@@ -13,7 +13,11 @@ import { KnowledgeStoreError } from "../errors.js";
13
13
  export const DEFAULT_MAX_TOKENS = 400;
14
14
  export const DEFAULT_MIN_TOKENS = 64;
15
15
  export const DEFAULT_OVERLAP_TOKENS = 32;
16
- export const CHUNKING_STRATEGY_VERSION = "issue-195-v1";
16
+ export const DEFAULT_MAX_CHUNKS = 50_000;
17
+ export const MAX_CHUNK_TOKENS = 2_048;
18
+ export const MAX_OVERLAP_TOKENS = 1_024;
19
+ export const CHUNKING_STRATEGY_VERSION = "issue-195-v2";
20
+ export const DEFAULT_CHUNKING_STRATEGY_KEY = `${CHUNKING_STRATEGY_VERSION}|max=${String(DEFAULT_MAX_TOKENS)}|min=${String(DEFAULT_MIN_TOKENS)}|overlap=${String(DEFAULT_OVERLAP_TOKENS)}|limit=${String(DEFAULT_MAX_CHUNKS)}|estimator=default`;
17
21
  // Distinct from KnowledgeStoreError so a test asserting "chunking guard fail-closed" cannot
18
22
  // accidentally accept any other error class. Extends KnowledgeStoreError so callers that
19
23
  // only catch the parent class still see the failure.
@@ -1,4 +1,4 @@
1
- import type { CapsuleSet, CapsuleSetId, KnowledgeCapsuleId, KnowledgeSourceId, KnowledgeSourceScopeKind } from "@oscharko-dev/keiko-contracts";
1
+ import { type CapsuleSet, type CapsuleSetId, type KnowledgeCapsuleId, type KnowledgeSourceId, type KnowledgeSourceScopeKind } from "@oscharko-dev/keiko-contracts";
2
2
  import { type AddCapsuleSourceInput } from "./source-lifecycle.js";
3
3
  import type { KnowledgeStore } from "./store.js";
4
4
  export type CompositionErrorCode = "empty-source-batch" | "duplicate-source-in-batch" | "source-already-linked" | "empty-capsule-list" | "duplicate-capsule-in-batch";
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"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"}