@oscharko-dev/keiko 0.2.0-beta.5 → 0.2.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (622) hide show
  1. package/README.md +39 -14
  2. package/dist/ui/csp-hashes.json +17 -22
  3. package/dist/ui/static/404.html +1 -1
  4. package/dist/ui/static/__next.__PAGE__.txt +2 -2
  5. package/dist/ui/static/__next._full.txt +3 -3
  6. package/dist/ui/static/__next._head.txt +1 -1
  7. package/dist/ui/static/__next._index.txt +2 -2
  8. package/dist/ui/static/__next._tree.txt +2 -2
  9. package/dist/ui/static/_next/static/chunks/0-qhhdvxg2j_y.js +1 -0
  10. package/dist/ui/static/_next/static/chunks/0ke4ratkgvcxo.css +1 -0
  11. package/dist/ui/static/_next/static/chunks/0xhu-pfsyvbmx.js +5 -0
  12. package/dist/ui/static/_next/static/chunks/3vf3oh2-sl2nc.js +1 -0
  13. package/dist/ui/static/_next/static/chunks/3wmd4-2vznp2g.js +106 -0
  14. package/dist/ui/static/_next/static/chunks/turbopack-18q50fp2-1qbt.js +1 -0
  15. package/dist/ui/static/_not-found/__next._full.txt +2 -2
  16. package/dist/ui/static/_not-found/__next._head.txt +1 -1
  17. package/dist/ui/static/_not-found/__next._index.txt +2 -2
  18. package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +1 -1
  19. package/dist/ui/static/_not-found/__next._not-found.txt +1 -1
  20. package/dist/ui/static/_not-found/__next._tree.txt +2 -2
  21. package/dist/ui/static/_not-found.html +1 -1
  22. package/dist/ui/static/_not-found.txt +2 -2
  23. package/dist/ui/static/index.html +1 -1
  24. package/dist/ui/static/index.txt +3 -3
  25. package/dist/ui/static/launch/__next._full.txt +3 -3
  26. package/dist/ui/static/launch/__next._head.txt +1 -1
  27. package/dist/ui/static/launch/__next._index.txt +2 -2
  28. package/dist/ui/static/launch/__next._tree.txt +2 -2
  29. package/dist/ui/static/launch/__next.launch.__PAGE__.txt +2 -2
  30. package/dist/ui/static/launch/__next.launch.txt +1 -1
  31. package/dist/ui/static/launch.html +1 -1
  32. package/dist/ui/static/launch.txt +3 -3
  33. package/dist/ui/static/local-knowledge/__next._full.txt +3 -3
  34. package/dist/ui/static/local-knowledge/__next._head.txt +1 -1
  35. package/dist/ui/static/local-knowledge/__next._index.txt +2 -2
  36. package/dist/ui/static/local-knowledge/__next._tree.txt +2 -2
  37. package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +2 -2
  38. package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +1 -1
  39. package/dist/ui/static/local-knowledge/capsule/__next._full.txt +3 -3
  40. package/dist/ui/static/local-knowledge/capsule/__next._head.txt +1 -1
  41. package/dist/ui/static/local-knowledge/capsule/__next._index.txt +2 -2
  42. package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -2
  43. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +2 -2
  44. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +1 -1
  45. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +1 -1
  46. package/dist/ui/static/local-knowledge/capsule.html +1 -1
  47. package/dist/ui/static/local-knowledge/capsule.txt +3 -3
  48. package/dist/ui/static/local-knowledge.html +1 -1
  49. package/dist/ui/static/local-knowledge.txt +3 -3
  50. package/dist/ui/static/memoriaviva/__next._full.txt +6 -6
  51. package/dist/ui/static/memoriaviva/__next._head.txt +1 -1
  52. package/dist/ui/static/memoriaviva/__next._index.txt +2 -2
  53. package/dist/ui/static/memoriaviva/__next._tree.txt +2 -2
  54. package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +4 -4
  55. package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +1 -1
  56. package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +4 -4
  57. package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +1 -1
  58. package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +2 -2
  59. package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -2
  60. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +2 -2
  61. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +1 -1
  62. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +1 -1
  63. package/dist/ui/static/memoriaviva/consolidation.html +1 -1
  64. package/dist/ui/static/memoriaviva/consolidation.txt +4 -4
  65. package/dist/ui/static/memoriaviva/detail/__next._full.txt +6 -6
  66. package/dist/ui/static/memoriaviva/detail/__next._head.txt +1 -1
  67. package/dist/ui/static/memoriaviva/detail/__next._index.txt +2 -2
  68. package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -2
  69. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +4 -4
  70. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +1 -1
  71. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +1 -1
  72. package/dist/ui/static/memoriaviva/detail.html +1 -1
  73. package/dist/ui/static/memoriaviva/detail.txt +6 -6
  74. package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +4 -4
  75. package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +1 -1
  76. package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +2 -2
  77. package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -2
  78. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +2 -2
  79. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +1 -1
  80. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +1 -1
  81. package/dist/ui/static/memoriaviva/review-queue.html +1 -1
  82. package/dist/ui/static/memoriaviva/review-queue.txt +4 -4
  83. package/dist/ui/static/memoriaviva.html +1 -1
  84. package/dist/ui/static/memoriaviva.txt +6 -6
  85. package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
  86. package/node_modules/@oscharko-dev/keiko-cli/dist/doctor.d.ts +24 -0
  87. package/node_modules/@oscharko-dev/keiko-cli/dist/doctor.d.ts.map +1 -0
  88. package/node_modules/@oscharko-dev/keiko-cli/dist/doctor.js +108 -0
  89. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.d.ts.map +1 -1
  90. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.js +7 -4
  91. package/node_modules/@oscharko-dev/keiko-cli/dist/index.d.ts +1 -0
  92. package/node_modules/@oscharko-dev/keiko-cli/dist/index.d.ts.map +1 -1
  93. package/node_modules/@oscharko-dev/keiko-cli/dist/index.js +1 -0
  94. package/node_modules/@oscharko-dev/keiko-cli/dist/init.d.ts +2 -2
  95. package/node_modules/@oscharko-dev/keiko-cli/dist/init.d.ts.map +1 -1
  96. package/node_modules/@oscharko-dev/keiko-cli/dist/init.js +4 -4
  97. package/node_modules/@oscharko-dev/keiko-cli/dist/install-layout.d.ts +6 -0
  98. package/node_modules/@oscharko-dev/keiko-cli/dist/install-layout.d.ts.map +1 -0
  99. package/node_modules/@oscharko-dev/keiko-cli/dist/install-layout.js +24 -0
  100. package/node_modules/@oscharko-dev/keiko-cli/dist/launcher.d.ts.map +1 -1
  101. package/node_modules/@oscharko-dev/keiko-cli/dist/launcher.js +5 -7
  102. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts +1 -0
  103. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts.map +1 -1
  104. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.js +75 -30
  105. package/node_modules/@oscharko-dev/keiko-cli/dist/memory.d.ts +3 -0
  106. package/node_modules/@oscharko-dev/keiko-cli/dist/memory.d.ts.map +1 -1
  107. package/node_modules/@oscharko-dev/keiko-cli/dist/memory.js +76 -7
  108. package/node_modules/@oscharko-dev/keiko-cli/dist/run.d.ts.map +1 -1
  109. package/node_modules/@oscharko-dev/keiko-cli/dist/run.js +50 -2
  110. package/node_modules/@oscharko-dev/keiko-cli/dist/runner.d.ts.map +1 -1
  111. package/node_modules/@oscharko-dev/keiko-cli/dist/runner.js +20 -4
  112. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts +1 -1
  113. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
  114. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +17 -14
  115. package/node_modules/@oscharko-dev/keiko-cli/package.json +1 -1
  116. package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
  117. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +7 -0
  118. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts.map +1 -1
  119. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts.map +1 -1
  120. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +1 -2
  121. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +1 -0
  122. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
  123. package/node_modules/@oscharko-dev/keiko-contracts/dist/gateway.d.ts +12 -0
  124. package/node_modules/@oscharko-dev/keiko-contracts/dist/gateway.d.ts.map +1 -1
  125. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +4 -2
  126. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
  127. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -1
  128. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
  129. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.d.ts +13 -1
  130. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.d.ts.map +1 -1
  131. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.js +7 -6
  132. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-internal.d.ts.map +1 -1
  133. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-internal.js +1 -1
  134. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-operations.d.ts.map +1 -1
  135. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-workflow-port.d.ts.map +1 -1
  136. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-workflow-port.js +1 -1
  137. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +21 -4
  138. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
  139. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts +1 -0
  140. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
  141. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.js +1 -0
  142. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +1 -0
  143. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -1
  144. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.js +26 -0
  145. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.d.ts +5 -3
  146. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.d.ts.map +1 -1
  147. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.js +29 -3
  148. package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.d.ts +7 -0
  149. package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.d.ts.map +1 -0
  150. package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.js +58 -0
  151. package/node_modules/@oscharko-dev/keiko-contracts/package.json +5 -1
  152. package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
  153. package/node_modules/@oscharko-dev/keiko-evaluations/dist/surface-parity.d.ts.map +1 -1
  154. package/node_modules/@oscharko-dev/keiko-evaluations/package.json +1 -1
  155. package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
  156. package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts +1 -1
  157. package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts.map +1 -1
  158. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts +7 -0
  159. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts.map +1 -1
  160. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js +62 -13
  161. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +3 -3
  162. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map +1 -1
  163. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js +31 -11
  164. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +35 -3
  165. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
  166. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.js +107 -3
  167. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +15 -1
  168. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
  169. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +248 -36
  170. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts +2 -2
  171. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts.map +1 -1
  172. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts +17 -3
  173. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts.map +1 -1
  174. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts +1 -1
  175. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts.map +1 -1
  176. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +26 -22
  177. package/node_modules/@oscharko-dev/keiko-evidence/dist/side-file.d.ts.map +1 -1
  178. package/node_modules/@oscharko-dev/keiko-evidence/dist/side-file.js +17 -5
  179. package/node_modules/@oscharko-dev/keiko-evidence/dist/store.d.ts.map +1 -1
  180. package/node_modules/@oscharko-dev/keiko-evidence/dist/store.js +128 -12
  181. package/node_modules/@oscharko-dev/keiko-evidence/dist/workflow-evidence.d.ts.map +1 -1
  182. package/node_modules/@oscharko-dev/keiko-evidence/dist/workflow-evidence.js +1 -3
  183. package/node_modules/@oscharko-dev/keiko-evidence/package.json +1 -1
  184. package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
  185. package/node_modules/@oscharko-dev/keiko-harness/package.json +1 -1
  186. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
  187. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts.map +1 -1
  188. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.js +1 -2
  189. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts.map +1 -1
  190. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.js +1 -1
  191. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts.map +1 -1
  192. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.js +45 -21
  193. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/media-type.d.ts.map +1 -1
  194. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/media-type.js +1 -0
  195. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.d.ts.map +1 -1
  196. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.js +11 -3
  197. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.d.ts +2 -0
  198. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.d.ts.map +1 -1
  199. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.js +42 -0
  200. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts.map +1 -1
  201. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.js +34 -0
  202. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts +1 -1
  203. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts.map +1 -1
  204. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.js +1 -1
  205. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/report.d.ts.map +1 -1
  206. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/report.js +7 -6
  207. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner.d.ts.map +1 -1
  208. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner.js +7 -1
  209. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.d.ts +4 -0
  210. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.d.ts.map +1 -1
  211. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.js +2 -0
  212. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +1 -1
  213. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts.map +1 -1
  214. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.js +1 -1
  215. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.d.ts.map +1 -1
  216. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.js +121 -3
  217. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
  218. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +34 -4
  219. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +1 -0
  220. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts.map +1 -1
  221. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.js +63 -0
  222. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.d.ts.map +1 -1
  223. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.js +4 -7
  224. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/html-parser.d.ts.map +1 -1
  225. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/html-parser.js +67 -11
  226. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -0
  227. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts.map +1 -1
  228. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.js +3 -0
  229. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.d.ts.map +1 -1
  230. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.js +39 -3
  231. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/null-ocr-adapter.d.ts.map +1 -1
  232. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/ocr-pipeline-parser.d.ts.map +1 -1
  233. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/ocr-pipeline-parser.js +46 -11
  234. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.d.ts +2 -0
  235. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.d.ts.map +1 -1
  236. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.js +2 -0
  237. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
  238. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +114 -0
  239. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.d.ts +3 -0
  240. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.d.ts.map +1 -0
  241. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.js +425 -0
  242. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.d.ts.map +1 -1
  243. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.d.ts +9 -4
  244. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.d.ts.map +1 -1
  245. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.js +11 -6
  246. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +15 -2
  247. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts +1 -0
  248. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts.map +1 -1
  249. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.js +220 -7
  250. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/types.d.ts +2 -1
  251. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/types.d.ts.map +1 -1
  252. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts.map +1 -1
  253. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.js +3 -1
  254. package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +4 -2
  255. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
  256. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.d.ts +4 -0
  257. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.d.ts.map +1 -0
  258. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.js +17 -0
  259. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/errors.d.ts +1 -1
  260. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/errors.d.ts.map +1 -1
  261. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.d.ts +1 -0
  262. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.d.ts.map +1 -1
  263. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.js +1 -0
  264. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/salience.js +1 -1
  265. package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +1 -1
  266. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
  267. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.d.ts +3 -0
  268. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.d.ts.map +1 -1
  269. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.js +5 -0
  270. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/consolidate.d.ts.map +1 -1
  271. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/consolidate.js +93 -30
  272. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/stale.d.ts.map +1 -1
  273. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/stale.js +3 -1
  274. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.d.ts +5 -0
  275. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.d.ts.map +1 -1
  276. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.js +1 -1
  277. package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +2 -2
  278. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
  279. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/forget.js +1 -1
  280. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/types.js +1 -1
  281. package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +2 -2
  282. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
  283. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/context.d.ts.map +1 -1
  284. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/context.js +61 -18
  285. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.d.ts.map +1 -1
  286. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.js +3 -1
  287. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.d.ts.map +1 -1
  288. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.js +26 -4
  289. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts +9 -1
  290. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts.map +1 -1
  291. package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +1 -1
  292. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
  293. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.d.ts +1 -0
  294. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.d.ts.map +1 -1
  295. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.js +21 -0
  296. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/index.d.ts +1 -1
  297. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/index.d.ts.map +1 -1
  298. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/migrate-encrypt.d.ts.map +1 -1
  299. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/migrate-encrypt.js +24 -4
  300. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts +1 -1
  301. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts.map +1 -1
  302. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.js +27 -4
  303. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.d.ts +1 -0
  304. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.d.ts.map +1 -1
  305. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.js +21 -4
  306. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts +22 -1
  307. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts.map +1 -1
  308. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/validate.d.ts.map +1 -1
  309. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/validate.js +3 -0
  310. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.d.ts.map +1 -1
  311. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.js +105 -28
  312. package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +1 -1
  313. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
  314. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts +2 -0
  315. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts.map +1 -1
  316. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.js +83 -69
  317. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.d.ts +3 -2
  318. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.d.ts.map +1 -1
  319. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.js +20 -16
  320. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/gateway.d.ts.map +1 -1
  321. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/gateway.js +9 -3
  322. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts.map +1 -1
  323. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.js +29 -3
  324. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.d.ts +4 -4
  325. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.d.ts.map +1 -1
  326. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.js +3 -3
  327. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-adapter.d.ts.map +1 -1
  328. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-adapter.js +51 -6
  329. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.d.ts +20 -1
  330. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.d.ts.map +1 -1
  331. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.js +122 -7
  332. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.d.ts +10 -1
  333. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.d.ts.map +1 -1
  334. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.js +33 -11
  335. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.d.ts +4 -0
  336. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.d.ts.map +1 -0
  337. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.js +21 -0
  338. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.d.ts +1 -1
  339. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.d.ts.map +1 -1
  340. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.js +1 -1
  341. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/routing.d.ts.map +1 -1
  342. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/routing.js +2 -13
  343. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.d.ts +1 -0
  344. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.d.ts.map +1 -1
  345. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.js +18 -2
  346. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/types.d.ts +5 -1
  347. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/types.d.ts.map +1 -1
  348. package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +1 -1
  349. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
  350. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.d.ts +35 -0
  351. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.d.ts.map +1 -1
  352. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.js +74 -0
  353. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/deduplication.d.ts.map +1 -1
  354. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/deduplication.js +6 -2
  355. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.d.ts.map +1 -1
  356. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.js +64 -19
  357. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.d.ts.map +1 -1
  358. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +3 -0
  359. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.d.ts +6 -1
  360. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.d.ts.map +1 -1
  361. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.js +22 -9
  362. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +4 -1
  363. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts.map +1 -1
  364. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.js +28 -12
  365. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts.map +1 -1
  366. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js +123 -33
  367. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/index.d.ts +2 -2
  368. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/index.d.ts.map +1 -1
  369. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +7 -4
  370. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map +1 -1
  371. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map +1 -1
  372. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.js +13 -17
  373. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map +1 -1
  374. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.js +35 -12
  375. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map +1 -1
  376. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js +54 -6
  377. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts +4 -0
  378. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
  379. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +29 -10
  380. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map +1 -1
  381. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.js +10 -4
  382. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.d.ts.map +1 -1
  383. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.js +15 -6
  384. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts +4 -0
  385. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts.map +1 -1
  386. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.js +162 -6
  387. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts +14 -2
  388. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts.map +1 -1
  389. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.js +50 -12
  390. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
  391. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +4 -2
  392. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/markdown.d.ts.map +1 -1
  393. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/markdown.js +8 -3
  394. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/traceability.d.ts.map +1 -1
  395. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/traceability.js +12 -9
  396. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.d.ts +7 -0
  397. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.d.ts.map +1 -1
  398. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.js +7 -0
  399. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.d.ts +10 -0
  400. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.d.ts.map +1 -0
  401. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.js +14 -0
  402. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/index.d.ts.map +1 -1
  403. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/index.js +3 -2
  404. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.d.ts.map +1 -1
  405. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.js +97 -50
  406. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.d.ts.map +1 -1
  407. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.js +35 -7
  408. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts +2 -2
  409. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts.map +1 -1
  410. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.js +2 -2
  411. package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +1 -1
  412. package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
  413. package/node_modules/@oscharko-dev/keiko-sdk/package.json +1 -1
  414. package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
  415. package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.d.ts +11 -0
  416. package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.d.ts.map +1 -1
  417. package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.js +13 -0
  418. package/node_modules/@oscharko-dev/keiko-security/package.json +1 -1
  419. package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
  420. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
  421. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +50 -12
  422. package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.d.ts.map +1 -1
  423. package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.js +10 -8
  424. package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts +1 -0
  425. package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts.map +1 -1
  426. package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.js +3 -0
  427. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +4 -2
  428. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
  429. package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +44 -69
  430. package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.d.ts.map +1 -1
  431. package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.js +120 -28
  432. package/node_modules/@oscharko-dev/keiko-server/dist/governed-workflow.d.ts.map +1 -1
  433. package/node_modules/@oscharko-dev/keiko-server/dist/governed-workflow.js +4 -1
  434. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.d.ts.map +1 -1
  435. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.js +2 -0
  436. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
  437. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +115 -22
  438. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts.map +1 -1
  439. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +54 -21
  440. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
  441. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +11 -4
  442. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -0
  443. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts.map +1 -1
  444. package/node_modules/@oscharko-dev/keiko-server/dist/index.js +1 -0
  445. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
  446. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +7 -3
  447. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
  448. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +26 -14
  449. package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.d.ts +1 -0
  450. package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.d.ts.map +1 -1
  451. package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.js +52 -27
  452. package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.d.ts +10 -0
  453. package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.d.ts.map +1 -0
  454. package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.js +44 -0
  455. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-handlers.d.ts.map +1 -1
  456. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-handlers.js +79 -57
  457. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-registry.d.ts +1 -0
  458. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-registry.d.ts.map +1 -1
  459. package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.d.ts.map +1 -1
  460. package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.js +6 -4
  461. package/node_modules/@oscharko-dev/keiko-server/dist/memory-conversation-context.d.ts.map +1 -1
  462. package/node_modules/@oscharko-dev/keiko-server/dist/memory-diagnostics.d.ts.map +1 -1
  463. package/node_modules/@oscharko-dev/keiko-server/dist/memory-diagnostics.js +16 -9
  464. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts +3 -1
  465. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts.map +1 -1
  466. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.js +538 -87
  467. package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts +6 -1
  468. package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts.map +1 -1
  469. package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.js +17 -38
  470. package/node_modules/@oscharko-dev/keiko-server/dist/memory-retention.d.ts.map +1 -1
  471. package/node_modules/@oscharko-dev/keiko-server/dist/memory-retention.js +7 -15
  472. package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.d.ts.map +1 -1
  473. package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.js +17 -2
  474. package/node_modules/@oscharko-dev/keiko-server/dist/memory-scope-sanitizer.d.ts.map +1 -1
  475. package/node_modules/@oscharko-dev/keiko-server/dist/memory-scope-sanitizer.js +19 -0
  476. package/node_modules/@oscharko-dev/keiko-server/dist/memory-target-resolver.d.ts.map +1 -1
  477. package/node_modules/@oscharko-dev/keiko-server/dist/memory-target-resolver.js +4 -1
  478. package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.d.ts +1 -0
  479. package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.d.ts.map +1 -1
  480. package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.js +108 -27
  481. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.d.ts +4 -0
  482. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.d.ts.map +1 -1
  483. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.js +3 -0
  484. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/editRoutes.d.ts.map +1 -1
  485. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/editRoutes.js +61 -7
  486. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/exportRoutes.d.ts.map +1 -1
  487. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/exportRoutes.js +9 -3
  488. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConcurrency.d.ts.map +1 -1
  489. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConcurrency.js +2 -1
  490. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts +6 -0
  491. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts.map +1 -1
  492. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.js +16 -3
  493. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts +7 -0
  494. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts.map +1 -1
  495. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +1 -1
  496. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -1
  497. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.js +3 -1
  498. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.d.ts +2 -2
  499. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.d.ts.map +1 -1
  500. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.js +3 -3
  501. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.d.ts +5 -0
  502. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.d.ts.map +1 -1
  503. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.js +10 -8
  504. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaReadiness.d.ts.map +1 -1
  505. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaReadiness.js +11 -5
  506. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -1
  507. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.js +1 -0
  508. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts +3 -0
  509. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts.map +1 -1
  510. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.js +71 -10
  511. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts +2 -0
  512. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
  513. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +86 -23
  514. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +1 -1
  515. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
  516. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaTokenSource.d.ts.map +1 -1
  517. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaTokenSource.js +4 -3
  518. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaUrl.d.ts.map +1 -1
  519. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaUrl.js +2 -0
  520. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.d.ts +1 -1
  521. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.d.ts.map +1 -1
  522. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.js +1 -1
  523. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaCodegenRoutes.d.ts.map +1 -1
  524. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaCodegenRoutes.js +60 -20
  525. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +11 -6
  526. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -1
  527. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.js +144 -6
  528. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +9 -0
  529. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -1
  530. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.js +84 -15
  531. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -7
  532. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
  533. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +206 -42
  534. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts +3 -1
  535. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
  536. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +69 -65
  537. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts +15 -1
  538. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts.map +1 -1
  539. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.js +56 -39
  540. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts +1 -1
  541. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
  542. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +382 -75
  543. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewRoutes.d.ts.map +1 -1
  544. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewRoutes.js +14 -6
  545. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts +3 -2
  546. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts.map +1 -1
  547. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.js +44 -16
  548. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts +7 -0
  549. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
  550. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +336 -47
  551. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
  552. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +15 -5
  553. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/traceabilityRoutes.d.ts.map +1 -1
  554. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/traceabilityRoutes.js +36 -4
  555. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
  556. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +61 -6
  557. package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
  558. package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +16 -5
  559. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts +1 -0
  560. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts.map +1 -1
  561. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.js +3 -0
  562. package/node_modules/@oscharko-dev/keiko-server/dist/run-handlers.d.ts.map +1 -1
  563. package/node_modules/@oscharko-dev/keiko-server/dist/run-handlers.js +2 -0
  564. package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.d.ts +9 -0
  565. package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.d.ts.map +1 -0
  566. package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.js +26 -0
  567. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts.map +1 -1
  568. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.js +16 -8
  569. package/node_modules/@oscharko-dev/keiko-server/dist/store/messages.d.ts.map +1 -1
  570. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.d.ts.map +1 -1
  571. package/node_modules/@oscharko-dev/keiko-server/dist/terminal.d.ts.map +1 -1
  572. package/node_modules/@oscharko-dev/keiko-server/package.json +1 -1
  573. package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
  574. package/node_modules/@oscharko-dev/keiko-tools/dist/patch-normalize.d.ts.map +1 -1
  575. package/node_modules/@oscharko-dev/keiko-tools/dist/patch-normalize.js +13 -7
  576. package/node_modules/@oscharko-dev/keiko-tools/package.json +1 -1
  577. package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
  578. package/node_modules/@oscharko-dev/keiko-verification/package.json +1 -1
  579. package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
  580. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.d.ts +2 -2
  581. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.d.ts.map +1 -1
  582. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.js +16 -18
  583. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/prompt.d.ts.map +1 -1
  584. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/prompt.js +6 -1
  585. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/workflow.d.ts.map +1 -1
  586. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/workflow.js +3 -3
  587. package/node_modules/@oscharko-dev/keiko-workflows/dist/governed-handoff.d.ts.map +1 -1
  588. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/descriptors.d.ts +2 -2
  589. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts +18 -2
  590. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
  591. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +209 -54
  592. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts +4 -4
  593. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts.map +1 -1
  594. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.js +4 -1
  595. package/node_modules/@oscharko-dev/keiko-workflows/dist/unit-tests/target-guard.d.ts.map +1 -1
  596. package/node_modules/@oscharko-dev/keiko-workflows/package.json +1 -1
  597. package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
  598. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -1
  599. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +1 -2
  600. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -1
  601. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +2 -1
  602. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
  603. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +6 -2
  604. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -1
  605. package/node_modules/@oscharko-dev/keiko-workspace/package.json +1 -1
  606. package/package.json +23 -6
  607. package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +0 -2
  608. package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +0 -1
  609. package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +0 -1
  610. package/dist/ui/static/_next/static/chunks/1m-kvwm6_90_3.css +0 -1
  611. package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +0 -1
  612. package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +0 -4
  613. package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +0 -1
  614. package/dist/ui/static/_next/static/chunks/2ngm8iwdb1cbv.js +0 -106
  615. package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +0 -1
  616. package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +0 -1
  617. package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +0 -1
  618. package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +0 -1
  619. package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +0 -1
  620. /package/dist/ui/static/_next/static/{hR2gBQqCDKdPdSxBqZhqv → fQMXe8UmV01bh25WOoIt3}/_buildManifest.js +0 -0
  621. /package/dist/ui/static/_next/static/{hR2gBQqCDKdPdSxBqZhqv → fQMXe8UmV01bh25WOoIt3}/_clientMiddlewareManifest.js +0 -0
  622. /package/dist/ui/static/_next/static/{hR2gBQqCDKdPdSxBqZhqv → fQMXe8UmV01bh25WOoIt3}/_ssgManifest.js +0 -0
@@ -1,3 +1,4 @@
1
+ import { type ReviewItem } from "@oscharko-dev/keiko-memory-consolidation";
1
2
  import type { MemoryVaultStore } from "@oscharko-dev/keiko-memory-vault";
2
3
  import type { EvidenceStore } from "@oscharko-dev/keiko-evidence";
3
4
  import type { UiHandlerDeps } from "./deps.js";
@@ -11,7 +12,11 @@ export interface MaintenanceCounts {
11
12
  superseded: number;
12
13
  edgesCreated: number;
13
14
  clustersInspected: number;
15
+ reviewItemsCreated: number;
14
16
  }
15
- export declare function runMemoryMaintenance(vault: MemoryVaultStore, evidenceStore?: EvidenceStore): MaintenanceCounts;
17
+ export interface MaintenanceResult extends MaintenanceCounts {
18
+ readonly reviewItems: readonly ReviewItem[];
19
+ }
20
+ export declare function runMemoryMaintenance(vault: MemoryVaultStore, evidenceStore?: EvidenceStore): MaintenanceResult;
16
21
  export declare function handleRunMaintenance(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
17
22
  //# sourceMappingURL=memory-maintenance-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-maintenance-handlers.d.ts","sourceRoot":"","sources":["../src/memory-maintenance-handlers.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAwPD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,iBAAiB,CAuBnB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAWxF"}
1
+ {"version":3,"file":"memory-maintenance-handlers.d.ts","sourceRoot":"","sources":["../src/memory-maintenance-handlers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAc7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C;AAkND,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,iBAAiB,CAuBnB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAWxF"}
@@ -3,10 +3,9 @@
3
3
  //
4
4
  // POST /api/memory/maintenance runs a bounded, synchronous pass:
5
5
  // 1. Load every memory (all scopes) + the access stats.
6
- // 2. Run consolidation on the accepted subset; persist proposed edges; AUTO-APPLY pairwise
7
- // supersede review items (a correction superseding one older conflicting memory) by demoting
8
- // the loser to `superseded`. Multi-way merges are NOT auto-resolved — they stay as review
9
- // items for the Memory Center.
6
+ // 2. Run consolidation on the accepted subset; persist auto-applicable relationship edges and
7
+ // return unresolved review items for MemoriaViva or CLI operators. Conflict and merge review
8
+ // items are NEVER auto-applied here.
10
9
  // 3. Compute the maintenance plan and apply it: promote (-> accepted), reinforce / decay
11
10
  // (confidence patch), archive (-> archived), forget (vault delete + tombstone + reason).
12
11
  // 4. Emit one audit event per applied effect and return the counts.
@@ -15,7 +14,7 @@
15
14
  // any per-handler check. External faults (a vault write that throws) are wrapped into a typed 500
16
15
  // rather than crashing the loopback server.
17
16
  import { randomUUID } from "node:crypto";
18
- import { runConsolidation, } from "@oscharko-dev/keiko-memory-consolidation";
17
+ import { runConsolidation } from "@oscharko-dev/keiko-memory-consolidation";
19
18
  import { planMemoryMaintenance, } from "@oscharko-dev/keiko-memory-governance";
20
19
  import { errorBody } from "./routes.js";
21
20
  import { recordMemoryAudit } from "./memory-audit-handler.js";
@@ -29,6 +28,8 @@ function emptyCounts() {
29
28
  superseded: 0,
30
29
  edgesCreated: 0,
31
30
  clustersInspected: 0,
31
+ reviewItemsCreated: 0,
32
+ reviewItems: [],
32
33
  };
33
34
  }
34
35
  function isRouteResult(value) {
@@ -68,43 +69,20 @@ function recordsById(records) {
68
69
  return map;
69
70
  }
70
71
  // ─── Consolidation effects ───────────────────────────────────────────────────
72
+ function isAutoApplicableConsolidationEdge(edge) {
73
+ return (edge.kind === "derived-from" || edge.kind === "related" || edge.kind === "temporal-precedes");
74
+ }
71
75
  function applyEdges(vault, edges) {
72
76
  let created = 0;
73
77
  for (const edge of edges) {
78
+ if (!isAutoApplicableConsolidationEdge(edge))
79
+ continue;
74
80
  vault.insertEdge(edge);
75
81
  created += 1;
76
82
  }
77
83
  return created;
78
84
  }
79
- // A pairwise supersede picks the OLDER memory as the loser: the newer correction wins, the older
80
- // conflicting fact is demoted to `superseded` so retrieval suppresses it. Multi-way merges carry a
81
- // `merge` action and are intentionally left untouched for human review.
82
- function pairwiseSupersede(action) {
83
- return action?.kind === "supersede" ? action : null;
84
- }
85
- function applySupersessions(vault, evidenceStore, reviewItems, byId) {
86
- let superseded = 0;
87
- for (const item of reviewItems) {
88
- const action = pairwiseSupersede(item.proposedAction);
89
- if (action === null)
90
- continue;
91
- const loser = byId.get(action.older);
92
- if (loser?.status !== "accepted")
93
- continue;
94
- vault.updateMemory(action.older, { status: "superseded" }, Date.now());
95
- superseded += 1;
96
- emitSupersedeAudit(evidenceStore, action, loser.scope);
97
- }
98
- return superseded;
99
- }
100
- function emitSupersedeAudit(evidenceStore, action, scope) {
101
- emitAudit(evidenceStore, "memory:superseded", "consolidation", "Auto-superseded an older conflicting memory.", {
102
- oldMemoryId: action.older,
103
- newMemoryId: action.newer,
104
- scope,
105
- });
106
- }
107
- function runConsolidationPass(vault, evidenceStore, records, counts) {
85
+ function runConsolidationPass(vault, records, counts) {
108
86
  const result = runConsolidation(records, {
109
87
  nowMs: Date.now(),
110
88
  newEdgeId: () => randomUUID(),
@@ -112,7 +90,8 @@ function runConsolidationPass(vault, evidenceStore, records, counts) {
112
90
  });
113
91
  counts.edgesCreated += applyEdges(vault, result.edgesProposed);
114
92
  counts.clustersInspected += result.clustersInspected;
115
- counts.superseded += applySupersessions(vault, evidenceStore, result.reviewItems, recordsById(records));
93
+ counts.reviewItemsCreated += result.reviewItems.length;
94
+ counts.reviewItems.push(...result.reviewItems);
116
95
  }
117
96
  // ─── Plan application ──────────────────────────────────────────────────────────
118
97
  // Applies the reinforce / decay / archive / forget effects on the post-consolidation snapshot.
@@ -188,12 +167,12 @@ export function runMemoryMaintenance(vault, evidenceStore) {
188
167
  const promoteStats = vault.getAccessStats();
189
168
  const promotePlan = planMemoryMaintenance(beforePromote, promoteStats, { nowMs: Date.now() });
190
169
  applyPromotions(vault, evidenceStore, promotePlan.promote, recordsById(beforePromote), counts);
191
- // Phase 2 — consolidate the now-accepted set: link near-duplicates and auto-supersede pairwise
192
- // correction conflicts (the older conflicting fact -> `superseded`).
170
+ // Phase 2 — consolidate the now-accepted set: link safe near-duplicate metadata and surface
171
+ // conflicts / merges as explicit review items. Status mutations require a later governed review.
193
172
  const accepted = vault
194
173
  .listMemories({ includeExpired: true })
195
174
  .filter((record) => record.status === "accepted");
196
- runConsolidationPass(vault, evidenceStore, accepted, counts);
175
+ runConsolidationPass(vault, accepted, counts);
197
176
  // Phase 3 — reinforce / decay / archive / forget on the post-consolidation snapshot. The access
198
177
  // stats feed the strength model.
199
178
  const all = vault.listMemories({ includeExpired: true });
@@ -1 +1 @@
1
- {"version":3,"file":"memory-retention.d.ts","sourceRoot":"","sources":["../src/memory-retention.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,EACX,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAKzE,MAAM,WAAW,qBAAqB;IAGpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAI3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAIrC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAIzC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAGnE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAwGD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,qBAAqB,CA8BhG"}
1
+ {"version":3,"file":"memory-retention.d.ts","sourceRoot":"","sources":["../src/memory-retention.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,EACX,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAKzE,MAAM,WAAW,qBAAqB;IAGpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAI3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAIrC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAGzC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAGnE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AA2GD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,qBAAqB,CA8BhG"}
@@ -14,11 +14,9 @@
14
14
  // - Retention iterates the scopes the caller passes. The public MemoryVaultStore has no
15
15
  // `listAllScopes()` capability, so a global enumeration would require an internal
16
16
  // port extension. Out of scope here.
17
- // - Forgotten-purge (purgeForgottenAfterMs) is a no-op in this PR: the public port
18
- // exposes `listTombstonesByScope` for read but no API to delete tombstones, so we
19
- // cannot purge them through the public seam. The field is accepted for forward
20
- // compatibility and the result reports the count of tombstones THAT WOULD be purged,
21
- // but no destructive call is issued. A future PR can extend the port.
17
+ // - Forgotten-purge (purgeForgottenAfterMs) uses the public vault port to delete only
18
+ // tombstones in the caller-supplied scopes whose forgottenAt is older than the
19
+ // deterministic cutoff.
22
20
  //
23
21
  // Why the operations are issued in a sequence of one-by-one deletes: the vault's delete
24
22
  // is already wrapped in a SQLite transaction (#206), and emitting a batch API here would
@@ -50,8 +48,9 @@ function selectOverflowEvictions(records, policy) {
50
48
  if (nonPinned.length <= policy.maxRecordsPerScope) {
51
49
  return [];
52
50
  }
53
- // Oldest-first by updatedAt; truncate to (count - cap) entries.
54
- const sorted = [...nonPinned].sort((a, b) => a.updatedAt - b.updatedAt);
51
+ // Oldest-first by updatedAt, then by id so same-timestamp retention is deterministic
52
+ // across vault implementations and insertion orders.
53
+ const sorted = [...nonPinned].sort((a, b) => a.updatedAt - b.updatedAt || String(a.id).localeCompare(String(b.id)));
55
54
  const overflowCount = nonPinned.length - policy.maxRecordsPerScope;
56
55
  return sorted.slice(0, overflowCount);
57
56
  }
@@ -148,12 +147,5 @@ function countPurgeBacklog(vault, scope, policy, nowMs) {
148
147
  if (policy.purgeForgottenAfterMs === undefined) {
149
148
  return 0;
150
149
  }
151
- const tombstones = vault.listTombstonesByScope(scope);
152
- let count = 0;
153
- for (const t of tombstones) {
154
- if (nowMs - t.forgottenAt > policy.purgeForgottenAfterMs) {
155
- count += 1;
156
- }
157
- }
158
- return count;
150
+ return vault.purgeTombstonesByScopeBefore(scope, nowMs - policy.purgeForgottenAfterMs);
159
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-salience.d.ts","sourceRoot":"","sources":["../src/memory-salience.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAQ3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,kCAAkC,CAAC;AAwG1C,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CAC5D;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,gCAAgC,EACzC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,4BAA4B,EAAE,CAAC,CAsClD"}
1
+ {"version":3,"file":"memory-salience.d.ts","sourceRoot":"","sources":["../src/memory-salience.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAU3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,kCAAkC,CAAC;AAqH1C,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CAC5D;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,gCAAgC,EACzC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,4BAA4B,EAAE,CAAC,CA2ClD"}
@@ -8,10 +8,13 @@
8
8
  // This is the model/IO boundary: the WHOLE body runs inside one try/catch so a model error, a
9
9
  // vault hiccup, or any other failure can NEVER throw into the chat path — it logs and returns [].
10
10
  import { randomUUID } from "node:crypto";
11
- import { extractSalientMemories, } from "@oscharko-dev/keiko-memory-capture";
11
+ import { redact } from "@oscharko-dev/keiko-security";
12
+ import { extractSalientMemories, memoryTextEgressRejectionReason, } from "@oscharko-dev/keiko-memory-capture";
13
+ import { currentRedactionSecrets } from "./deps.js";
12
14
  import { conversationMemoryScopes, } from "./memory-conversation-context.js";
13
15
  import { buildMemoryRecordFromProposal } from "./memory-record-builders.js";
14
16
  import { embedAndStoreMemory } from "./memory-embedding.js";
17
+ import { isPersistableMemoryCandidate, memoryCapturePolicyForDeps, SENSITIVE_MEMORY_REJECTION_REASON, } from "./memory-capture-policy.js";
15
18
  // Mirror of chat-handlers' private scopeLabel (decision 3 — mirrored rather than exported to keep
16
19
  // the modules decoupled). Pure and trivial.
17
20
  function scopeLabel(scope) {
@@ -70,6 +73,10 @@ function buildCallModel(deps, modelId) {
70
73
  return response.content;
71
74
  };
72
75
  }
76
+ function redactedErrorMessage(error, deps) {
77
+ const message = error instanceof Error ? error.message : String(error);
78
+ return redact(message, currentRedactionSecrets(deps));
79
+ }
73
80
  // Persists one salience candidate and returns its wire action, or null when the outcome is not a
74
81
  // candidate or no record could be built. Best-effort embed-on-capture (#204): the inserted memory
75
82
  // is embedded and the vector stored when an embedding model is configured; failure is swallowed by
@@ -78,6 +85,9 @@ async function persistCandidate(deps, outcome, vault) {
78
85
  if (outcome.kind !== "candidate") {
79
86
  return null;
80
87
  }
88
+ if (!isPersistableMemoryCandidate(outcome)) {
89
+ return { kind: "rejected", reason: SENSITIVE_MEMORY_REJECTION_REASON };
90
+ }
81
91
  const proposalId = outcome.proposal.proposalId;
82
92
  const record = buildMemoryRecordFromProposal(proposalId, outcome);
83
93
  if (record === null) {
@@ -105,11 +115,16 @@ export async function captureSalientFromTurn(deps, request, context, modelId, as
105
115
  if (callModel === null) {
106
116
  return [];
107
117
  }
118
+ const policy = memoryCapturePolicyForDeps(deps);
119
+ if (memoryTextEgressRejectionReason(request.content, policy) !== null) {
120
+ return [];
121
+ }
108
122
  const outcomes = await extractSalientMemories({
109
123
  userText: request.content,
110
124
  assistantText,
111
125
  existingBodies: gatherExistingBodies(vault, context),
112
126
  context: buildSalienceContext(context),
127
+ policy,
113
128
  }, {
114
129
  callModel,
115
130
  now: () => Date.now(),
@@ -128,7 +143,7 @@ export async function captureSalientFromTurn(deps, request, context, modelId, as
128
143
  catch (error) {
129
144
  // Boundary: salience must never break the chat path. Log and continue.
130
145
  // eslint-disable-next-line no-console
131
- console.error("salience capture failed", error);
146
+ console.error("salience capture failed", redactedErrorMessage(error, deps));
132
147
  return [];
133
148
  }
134
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-scope-sanitizer.d.ts","sourceRoot":"","sources":["../src/memory-scope-sanitizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAYnF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACtC,WAAW,CAgCb;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAiBzD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACtC,gBAAgB,CAkBlB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,OAAO,CAST"}
1
+ {"version":3,"file":"memory-scope-sanitizer.d.ts","sourceRoot":"","sources":["../src/memory-scope-sanitizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAenF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACtC,WAAW,CAgCb;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAiBzD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACtC,gBAAgB,CA+BlB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,OAAO,CAYT"}
@@ -1,6 +1,9 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { safeSummary } from "./memory-audit-event-builders.js";
3
3
  function maskedCoordinate(value, redactString) {
4
+ if (value.startsWith("[redacted:") && value.endsWith("]")) {
5
+ return value;
6
+ }
4
7
  const redacted = redactString(value);
5
8
  if (redacted !== value) {
6
9
  return redacted;
@@ -67,6 +70,19 @@ export function sanitizeAuditEvent(event, redactString) {
67
70
  };
68
71
  case "memory:workflow-used":
69
72
  return { ...event, summary: redactedSummary };
73
+ case "memory:workflow-omitted":
74
+ return {
75
+ ...event,
76
+ summary: redactedSummary,
77
+ reason: safeSummary(event.reason, redactString),
78
+ scopes: event.scopes.map((scope) => sanitizeMemoryScope(scope, redactString)),
79
+ };
80
+ case "memory:workflow-write-candidate":
81
+ return {
82
+ ...event,
83
+ summary: redactedSummary,
84
+ scope: sanitizeMemoryScope(event.scope, redactString),
85
+ };
70
86
  default:
71
87
  return {
72
88
  ...event,
@@ -78,9 +94,12 @@ export function sanitizeAuditEvent(event, redactString) {
78
94
  export function auditEventTouchesScope(event, allowedScopeKeys) {
79
95
  switch (event.kind) {
80
96
  case "memory:retrieved":
97
+ case "memory:workflow-omitted":
81
98
  return event.scopes.some((scope) => allowedScopeKeys.has(memoryScopeKey(scope)));
82
99
  case "memory:workflow-used":
83
100
  return false;
101
+ case "memory:workflow-write-candidate":
102
+ return allowedScopeKeys.has(memoryScopeKey(event.scope));
84
103
  default:
85
104
  return allowedScopeKeys.has(memoryScopeKey(event.scope));
86
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-target-resolver.d.ts","sourceRoot":"","sources":["../src/memory-target-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA0EzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,GAAG,qBAAqB,CASzF"}
1
+ {"version":3,"file":"memory-target-resolver.d.ts","sourceRoot":"","sources":["../src/memory-target-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA+EzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,GAAG,qBAAqB,CASzF"}
@@ -25,7 +25,10 @@ const STOP_WORDS = new Set([
25
25
  "we",
26
26
  ]);
27
27
  function normalizePhrase(value) {
28
- return value.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
28
+ return value
29
+ .toLowerCase()
30
+ .replace(/[^a-z0-9]+/g, " ")
31
+ .trim();
29
32
  }
30
33
  function stemToken(token) {
31
34
  const strippedPossessive = token.endsWith("'s") ? token.slice(0, -2) : token;
@@ -6,6 +6,7 @@ interface WorkflowMemoryPortOptions {
6
6
  readonly evidenceStore: EvidenceStore;
7
7
  readonly runId: string;
8
8
  readonly redactString: (input: string) => string;
9
+ readonly customerIdentifierMatchers?: readonly RegExp[] | undefined;
9
10
  readonly now?: (() => number) | undefined;
10
11
  }
11
12
  export declare function createWorkflowMemoryPort(options: WorkflowMemoryPortOptions): MemoryWorkflowPort;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-workflow-port.d.ts","sourceRoot":"","sources":["../src/memory-workflow-port.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAKV,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAMlE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C;AAwGD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CAqCpB"}
1
+ {"version":3,"file":"memory-workflow-port.d.ts","sourceRoot":"","sources":["../src/memory-workflow-port.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAMV,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAOlE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C;AAoPD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAsB/F"}
@@ -1,30 +1,68 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { extractCandidatesFromWorkflowOutcome, } from "@oscharko-dev/keiko-memory-capture";
3
3
  import { retrieveMemoryContext } from "@oscharko-dev/keiko-memory-retrieval";
4
- import { recordMemoryAudit } from "./memory-audit-handler.js";
4
+ import { recordMemoryAudit, recordMemoryAudits } from "./memory-audit-handler.js";
5
5
  import { vaultAsQueryPort } from "./memory-conv-handlers.js";
6
6
  import { LOCAL_CONVERSATION_MEMORY_USER_ID } from "./memory-conversation-context.js";
7
7
  import { buildMemoryRecordFromProposal } from "./memory-record-builders.js";
8
- function recordRetrievedAudit(options, now, scopes, matchedMemoryIds) {
8
+ import { isPersistableMemoryCandidate } from "./memory-capture-policy.js";
9
+ function buildRetrievedAudit(occurredAt, scopes, matchedMemoryIds) {
9
10
  if (matchedMemoryIds.length === 0) {
10
- return;
11
+ return undefined;
11
12
  }
12
- recordMemoryAudit({
13
- evidenceStore: options.evidenceStore,
14
- redactString: options.redactString,
15
- now,
16
- }, {
13
+ return {
17
14
  schemaVersion: "1",
18
15
  kind: "memory:retrieved",
19
16
  eventId: randomUUID(),
20
- occurredAt: now(),
17
+ occurredAt,
21
18
  initiatorSurface: "workflow",
22
19
  summary: matchedMemoryIds.length === 1
23
20
  ? "Retrieved 1 memory for workflow context."
24
21
  : `Retrieved ${String(matchedMemoryIds.length)} memories for workflow context.`,
25
22
  scopes,
26
23
  matchedMemoryIds,
27
- });
24
+ };
25
+ }
26
+ function buildWorkflowOmittedAudit(options, occurredAt, event) {
27
+ return {
28
+ schemaVersion: "1",
29
+ kind: "memory:workflow-omitted",
30
+ eventId: randomUUID(),
31
+ occurredAt,
32
+ initiatorSurface: "workflow",
33
+ summary: `Workflow omitted memory (${event.reason}).`,
34
+ workflowRunId: options.runId,
35
+ scopes: event.scopes,
36
+ omittedMemoryId: event.memoryId,
37
+ reason: event.reason,
38
+ };
39
+ }
40
+ function recordWorkflowOmittedAudit(options, now, event) {
41
+ recordMemoryAudit({
42
+ evidenceStore: options.evidenceStore,
43
+ redactString: options.redactString,
44
+ now,
45
+ }, buildWorkflowOmittedAudit(options, now(), event));
46
+ }
47
+ function recordWorkflowRetrievalAudits(options, now, scopes, matchedMemoryIds, omittedMemories) {
48
+ const occurredAt = now();
49
+ const events = [];
50
+ const retrievedEvent = buildRetrievedAudit(occurredAt, scopes, matchedMemoryIds);
51
+ if (retrievedEvent !== undefined) {
52
+ events.push(retrievedEvent);
53
+ }
54
+ for (const omitted of omittedMemories) {
55
+ events.push(buildWorkflowOmittedAudit(options, occurredAt, {
56
+ memoryId: omitted.memoryId,
57
+ reason: omitted.reason,
58
+ scopes,
59
+ }));
60
+ }
61
+ recordMemoryAudits({
62
+ evidenceStore: options.evidenceStore,
63
+ redactString: options.redactString,
64
+ now,
65
+ }, events);
28
66
  }
29
67
  function recordWorkflowUsedAudit(options, now, event) {
30
68
  recordMemoryAudit({
@@ -44,33 +82,64 @@ function recordWorkflowUsedAudit(options, now, event) {
44
82
  usedMemoryIds: event.memoryIds,
45
83
  });
46
84
  }
85
+ function recordWorkflowWriteCandidateAudit(options, now, event, proposedMemoryIds) {
86
+ const auditEvent = {
87
+ schemaVersion: "1",
88
+ kind: "memory:workflow-write-candidate",
89
+ eventId: randomUUID(),
90
+ occurredAt: now(),
91
+ initiatorSurface: "workflow",
92
+ summary: proposedMemoryIds.length === 0
93
+ ? `Workflow produced a memory write candidate that was not eligible for review (${event.source}).`
94
+ : proposedMemoryIds.length === 1
95
+ ? `Workflow produced 1 governed memory write candidate (${event.source}).`
96
+ : `Workflow produced ${String(proposedMemoryIds.length)} governed memory write candidates (${event.source}).`,
97
+ workflowRunId: options.runId,
98
+ source: event.source,
99
+ scope: event.scope,
100
+ proposedMemoryIds,
101
+ };
102
+ recordMemoryAudit({
103
+ evidenceStore: options.evidenceStore,
104
+ redactString: options.redactString,
105
+ now,
106
+ }, auditEvent);
107
+ }
47
108
  function persistWorkflowCandidates(options, event, capturedAt) {
48
109
  const outcomes = extractCandidatesFromWorkflowOutcome({
49
110
  runId: options.runId,
50
111
  outcomeKind: event.source === "workflow-correction" ? "corrected" : "success",
51
112
  structuredReport: event.proposalSummary,
52
113
  capturedAt,
53
- }, captureContextFor(event.scope, capturedAt, options.runId), { scopeKind: event.scope.kind });
114
+ }, captureContextFor(event.scope, capturedAt, options.runId), {
115
+ scopeKind: event.scope.kind,
116
+ ...(options.customerIdentifierMatchers === undefined
117
+ ? {}
118
+ : { customerIdentifierMatchers: options.customerIdentifierMatchers }),
119
+ });
120
+ const proposedMemoryIds = [];
54
121
  for (const outcome of outcomes) {
55
- if (outcome.kind !== "candidate") {
122
+ if (!isPersistableMemoryCandidate(outcome)) {
56
123
  continue;
57
124
  }
58
125
  const proposalId = outcome.proposal.proposalId;
59
126
  const record = buildMemoryRecordFromProposal(proposalId, outcome);
60
127
  if (record !== null) {
61
128
  options.vault.insertMemory(record);
129
+ proposedMemoryIds.push(record.id);
62
130
  }
63
131
  }
132
+ return proposedMemoryIds;
64
133
  }
65
134
  function captureContextFor(scope, nowMs, runId) {
66
135
  return {
67
136
  userId: LOCAL_CONVERSATION_MEMORY_USER_ID,
68
137
  ...(scope.kind === "workspace" ? { workspaceId: scope.workspaceId } : {}),
69
138
  ...(scope.kind === "project" ? { projectId: scope.projectId } : {}),
139
+ sourceWorkflowRunId: runId,
70
140
  ...(scope.kind === "workflow"
71
141
  ? {
72
142
  workflowDefinitionId: scope.workflowDefinitionId,
73
- sourceWorkflowRunId: runId,
74
143
  }
75
144
  : {}),
76
145
  nowMs,
@@ -78,28 +147,40 @@ function captureContextFor(scope, nowMs, runId) {
78
147
  newProposalId: () => randomUUID(),
79
148
  };
80
149
  }
150
+ function createWorkflowContextGetter(options, now, queryPort) {
151
+ return (scopes, queryText, budgetTokens) => {
152
+ const result = retrieveMemoryContext({
153
+ scopes,
154
+ nowMs: now(),
155
+ ...(queryText === undefined ? {} : { queryText }),
156
+ ...(budgetTokens === undefined ? {} : { budgetTokens }),
157
+ }, queryPort);
158
+ recordWorkflowRetrievalAudits(options, now, scopes, result.included.map((item) => item.memoryId), result.omitted);
159
+ return Promise.resolve({
160
+ text: result.contextBlock.text,
161
+ includedMemoryIds: result.contextBlock.memories.map((item) => item.memoryId),
162
+ });
163
+ };
164
+ }
81
165
  export function createWorkflowMemoryPort(options) {
82
166
  const now = options.now ?? Date.now;
83
167
  const queryPort = vaultAsQueryPort(options.vault);
84
168
  return {
85
- getContextForWorkflow(scopes, queryText, budgetTokens) {
86
- const result = retrieveMemoryContext({
87
- scopes,
88
- nowMs: now(),
89
- ...(queryText === undefined ? {} : { queryText }),
90
- ...(budgetTokens === undefined ? {} : { budgetTokens }),
91
- }, queryPort);
92
- recordRetrievedAudit(options, now, scopes, result.included.map((item) => item.memoryId));
93
- return Promise.resolve({
94
- text: result.contextBlock.text,
95
- includedMemoryIds: result.contextBlock.memories.map((item) => item.memoryId),
96
- });
97
- },
169
+ getContextForWorkflow: createWorkflowContextGetter(options, now, queryPort),
98
170
  onMemoryUsed(event) {
99
171
  recordWorkflowUsedAudit(options, now, event);
100
172
  },
173
+ onMemoryOmitted(event) {
174
+ recordWorkflowOmittedAudit(options, now, {
175
+ memoryId: event.memoryId,
176
+ reason: event.reason,
177
+ scopes: [],
178
+ });
179
+ },
101
180
  onMemoryWriteCandidate(event) {
102
- persistWorkflowCandidates(options, event, now());
181
+ const capturedAt = now();
182
+ const proposedMemoryIds = persistWorkflowCandidates(options, event, capturedAt);
183
+ recordWorkflowWriteCandidateAudit(options, () => capturedAt, event, proposedMemoryIds);
103
184
  },
104
185
  };
105
186
  }
@@ -9,10 +9,14 @@ export interface CapsuleDocumentText {
9
9
  * capsule; `capsuleSet` fans out over a capsule-set's members. Both share one lazily-opened store
10
10
  * handle and return `[]` on any failure (unknown id, store-open error) so the ingestion layer maps
11
11
  * the empty result to a coded, user-actionable QI_CAPSULE_UNAVAILABLE error.
12
+ *
13
+ * `close` releases the underlying SQLite handle; must be called once per resolver lifetime (e.g. in
14
+ * the finally block of executeQiRun) to prevent a handle leak per QI run.
12
15
  */
13
16
  export interface CapsuleResolver {
14
17
  readonly capsule: (capsuleId: string) => readonly CapsuleDocumentText[];
15
18
  readonly capsuleSet: (capsuleSetId: string) => readonly CapsuleDocumentText[];
19
+ readonly close: () => void;
16
20
  }
17
21
  /**
18
22
  * Builds a CapsuleResolver that opens the LK store ONCE (per resolver) and returns the full corpus
@@ -1 +1 @@
1
- {"version":3,"file":"capsuleAdapter.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/capsuleAdapter.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,mBAAmB,EAAE,CAAC;IACxE,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,mBAAmB,EAAE,CAAC;CAC/E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,CAyCpF"}
1
+ {"version":3,"file":"capsuleAdapter.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/capsuleAdapter.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,mBAAmB,EAAE,CAAC;IACxE,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,mBAAmB,EAAE,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,CA4CpF"}
@@ -48,5 +48,8 @@ export function makeCapsuleResolver(deps) {
48
48
  return {
49
49
  capsule: (capsuleId) => read(capsuleId, QualityIntelligenceHandoff.listCapsuleDocumentTexts),
50
50
  capsuleSet: (capsuleSetId) => read(capsuleSetId, QualityIntelligenceHandoff.listCapsuleSetDocumentTexts),
51
+ close: () => {
52
+ store?.close();
53
+ },
51
54
  };
52
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/editRoutes.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgQhD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAMzD,CAAC"}
1
+ {"version":3,"file":"editRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/editRoutes.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAwThD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAMzD,CAAC"}