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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/README.md +139 -1
  2. package/dist/ui/csp-hashes.json +33 -39
  3. package/dist/ui/static/404.html +1 -1
  4. package/dist/ui/static/__next.__PAGE__.txt +9 -0
  5. package/dist/ui/static/__next._full.txt +18 -0
  6. package/dist/ui/static/__next._head.txt +6 -0
  7. package/dist/ui/static/__next._index.txt +5 -0
  8. package/dist/ui/static/__next._tree.txt +2 -0
  9. package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_buildManifest.js +11 -0
  10. package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_clientMiddlewareManifest.js +1 -0
  11. package/dist/ui/static/_next/static/chunks/05-c3ty_6dwfk.js +1 -0
  12. package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +2 -0
  13. package/dist/ui/static/_next/static/chunks/0iq1i69206cyl.js +31 -0
  14. package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +1 -0
  15. package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +1 -0
  16. package/dist/ui/static/_next/static/chunks/14mrh2-p_w84d.js +1 -0
  17. package/dist/ui/static/_next/static/chunks/1t04tfgin0v_g.js +106 -0
  18. package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +1 -0
  19. package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +4 -0
  20. package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +1 -0
  21. package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +1 -0
  22. package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +1 -0
  23. package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +1 -0
  24. package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +1 -0
  25. package/dist/ui/static/_next/static/chunks/3peubv2924kx4.js +1 -0
  26. package/dist/ui/static/_next/static/chunks/3wr_35f2vg6sd.css +1 -0
  27. package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +1 -0
  28. package/dist/ui/static/_not-found/__next._full.txt +16 -0
  29. package/dist/ui/static/_not-found/__next._head.txt +6 -0
  30. package/dist/ui/static/_not-found/__next._index.txt +5 -0
  31. package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +5 -0
  32. package/dist/ui/static/_not-found/__next._not-found.txt +5 -0
  33. package/dist/ui/static/_not-found/__next._tree.txt +2 -0
  34. package/dist/ui/static/_not-found.html +1 -0
  35. package/dist/ui/static/_not-found.txt +16 -0
  36. package/dist/ui/static/index.html +1 -1
  37. package/dist/ui/static/index.txt +16 -18
  38. package/dist/ui/static/launch/__next._full.txt +20 -0
  39. package/dist/ui/static/launch/__next._head.txt +6 -0
  40. package/dist/ui/static/launch/__next._index.txt +5 -0
  41. package/dist/ui/static/launch/__next._tree.txt +2 -0
  42. package/dist/ui/static/launch/__next.launch.__PAGE__.txt +9 -0
  43. package/dist/ui/static/launch/__next.launch.txt +5 -0
  44. package/dist/ui/static/launch.html +1 -1
  45. package/dist/ui/static/launch.txt +17 -17
  46. package/dist/ui/static/local-knowledge/__next._full.txt +20 -0
  47. package/dist/ui/static/local-knowledge/__next._head.txt +6 -0
  48. package/dist/ui/static/local-knowledge/__next._index.txt +5 -0
  49. package/dist/ui/static/local-knowledge/__next._tree.txt +2 -0
  50. package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +9 -0
  51. package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +5 -0
  52. package/dist/ui/static/local-knowledge/capsule/__next._full.txt +17 -0
  53. package/dist/ui/static/local-knowledge/capsule/__next._head.txt +6 -0
  54. package/dist/ui/static/local-knowledge/capsule/__next._index.txt +5 -0
  55. package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -0
  56. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +6 -0
  57. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +5 -0
  58. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +5 -0
  59. package/dist/ui/static/local-knowledge/capsule.html +1 -1
  60. package/dist/ui/static/local-knowledge/capsule.txt +14 -14
  61. package/dist/ui/static/local-knowledge.html +1 -1
  62. package/dist/ui/static/local-knowledge.txt +19 -16
  63. package/dist/ui/static/memoriaviva/__next._full.txt +17 -0
  64. package/dist/ui/static/memoriaviva/__next._head.txt +6 -0
  65. package/dist/ui/static/memoriaviva/__next._index.txt +5 -0
  66. package/dist/ui/static/memoriaviva/__next._tree.txt +2 -0
  67. package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +6 -0
  68. package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +5 -0
  69. package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +17 -0
  70. package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +6 -0
  71. package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +5 -0
  72. package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -0
  73. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +6 -0
  74. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +5 -0
  75. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +5 -0
  76. package/dist/ui/static/memoriaviva/consolidation.html +1 -1
  77. package/dist/ui/static/memoriaviva/consolidation.txt +15 -15
  78. package/dist/ui/static/memoriaviva/detail/__next._full.txt +17 -0
  79. package/dist/ui/static/memoriaviva/detail/__next._head.txt +6 -0
  80. package/dist/ui/static/memoriaviva/detail/__next._index.txt +5 -0
  81. package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -0
  82. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +6 -0
  83. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +5 -0
  84. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +5 -0
  85. package/dist/ui/static/memoriaviva/detail.html +1 -1
  86. package/dist/ui/static/memoriaviva/detail.txt +14 -14
  87. package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +17 -0
  88. package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +6 -0
  89. package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +5 -0
  90. package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -0
  91. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +6 -0
  92. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +5 -0
  93. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +5 -0
  94. package/dist/ui/static/memoriaviva/review-queue.html +1 -1
  95. package/dist/ui/static/memoriaviva/review-queue.txt +15 -15
  96. package/dist/ui/static/memoriaviva.html +1 -1
  97. package/dist/ui/static/memoriaviva.txt +14 -14
  98. package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
  99. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.d.ts.map +1 -1
  100. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.js +61 -2
  101. package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.d.ts.map +1 -1
  102. package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.js +65 -21
  103. package/node_modules/@oscharko-dev/keiko-cli/dist/launcher-platforms.js +3 -3
  104. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
  105. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +36 -11
  106. package/node_modules/@oscharko-dev/keiko-cli/package.json +2 -2
  107. package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
  108. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +20 -1
  109. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts.map +1 -1
  110. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts +1 -1
  111. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts.map +1 -1
  112. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +256 -75
  113. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +11 -0
  114. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
  115. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +6 -6
  116. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
  117. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -4
  118. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts +11 -0
  119. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts.map +1 -1
  120. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.js +4 -0
  121. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts +1 -1
  122. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts.map +1 -1
  123. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.js +109 -4
  124. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts +2 -0
  125. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
  126. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.js +94 -7
  127. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts +5 -0
  128. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts.map +1 -1
  129. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.d.ts.map +1 -1
  130. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.js +3 -0
  131. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +14 -0
  132. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -1
  133. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.js +53 -5
  134. package/node_modules/@oscharko-dev/keiko-contracts/package.json +2 -2
  135. package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
  136. package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.d.ts.map +1 -1
  137. package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.js +11 -3
  138. package/node_modules/@oscharko-dev/keiko-evaluations/package.json +2 -2
  139. package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
  140. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts +20 -1
  141. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts.map +1 -1
  142. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.js +34 -2
  143. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts +1 -0
  144. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts.map +1 -1
  145. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js +3 -1
  146. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +17 -0
  147. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map +1 -1
  148. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js +19 -0
  149. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +5 -1
  150. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
  151. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +32 -2
  152. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
  153. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +259 -40
  154. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts +3 -0
  155. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts.map +1 -1
  156. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.js +48 -5
  157. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts.map +1 -1
  158. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +30 -13
  159. package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts +1 -1
  160. package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts.map +1 -1
  161. package/node_modules/@oscharko-dev/keiko-evidence/package.json +2 -2
  162. package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
  163. package/node_modules/@oscharko-dev/keiko-harness/package.json +2 -2
  164. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
  165. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.d.ts.map +1 -1
  166. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.js +25 -1
  167. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts +1 -1
  168. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts.map +1 -1
  169. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.js +16 -0
  170. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts +3 -1
  171. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts.map +1 -1
  172. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.js +9 -5
  173. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.d.ts.map +1 -1
  174. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.js +22 -7
  175. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts +4 -1
  176. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts.map +1 -1
  177. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.js +61 -9
  178. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.d.ts.map +1 -1
  179. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.js +64 -36
  180. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts +2 -2
  181. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts.map +1 -1
  182. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.js +2 -2
  183. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts +7 -1
  184. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts.map +1 -1
  185. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.js +5 -1
  186. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts +1 -1
  187. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts.map +1 -1
  188. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.js +27 -4
  189. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts +5 -1
  190. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts.map +1 -1
  191. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.js +18 -5
  192. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.d.ts.map +1 -1
  193. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.js +10 -1
  194. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts +4 -1
  195. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts.map +1 -1
  196. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.js +370 -45
  197. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts +2 -0
  198. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts.map +1 -1
  199. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.js +8 -4
  200. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts +1 -1
  201. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts.map +1 -1
  202. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.js +10 -5
  203. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.d.ts.map +1 -1
  204. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.js +65 -20
  205. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts +1 -0
  206. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts.map +1 -1
  207. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.js +79 -0
  208. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts +1 -1
  209. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts.map +1 -1
  210. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.js +1 -1
  211. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.d.ts.map +1 -1
  212. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.js +4 -0
  213. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +6 -5
  214. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts.map +1 -1
  215. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.js +4 -4
  216. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.d.ts.map +1 -1
  217. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.js +71 -29
  218. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
  219. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +253 -131
  220. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts +12 -0
  221. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts.map +1 -1
  222. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.d.ts.map +1 -1
  223. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.js +9 -0
  224. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +3 -1
  225. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts.map +1 -1
  226. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.js +13 -1
  227. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.d.ts.map +1 -1
  228. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.js +86 -46
  229. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -1
  230. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts.map +1 -1
  231. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.js +1 -1
  232. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.d.ts.map +1 -1
  233. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.js +50 -22
  234. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts +21 -1
  235. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
  236. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +90 -13
  237. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.d.ts.map +1 -1
  238. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.js +3 -1
  239. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts +7 -2
  240. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts.map +1 -1
  241. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.js +7 -3
  242. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/audit-emitter.js +8 -0
  243. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.d.ts.map +1 -1
  244. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.js +17 -10
  245. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.d.ts.map +1 -1
  246. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.js +7 -0
  247. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts +4 -0
  248. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts.map +1 -1
  249. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +1 -1
  250. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts +1 -0
  251. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts.map +1 -1
  252. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.js +318 -32
  253. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts +1 -1
  254. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts.map +1 -1
  255. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.js +46 -16
  256. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts +14 -0
  257. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts.map +1 -1
  258. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.js +26 -1
  259. package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +10 -5
  260. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
  261. package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +2 -2
  262. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
  263. package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +2 -2
  264. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
  265. package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +2 -2
  266. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
  267. package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +2 -2
  268. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
  269. package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +2 -2
  270. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
  271. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts +2 -1
  272. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts.map +1 -1
  273. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.js +50 -0
  274. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts +3 -0
  275. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts.map +1 -1
  276. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.js +114 -44
  277. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts +14 -0
  278. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts.map +1 -1
  279. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.js +14 -0
  280. package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +2 -2
  281. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
  282. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.d.ts.map +1 -1
  283. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.js +9 -2
  284. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +1 -1
  285. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +9 -1
  286. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts.map +1 -1
  287. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.js +9 -1
  288. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts +5 -0
  289. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts.map +1 -1
  290. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js +229 -33
  291. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +62 -0
  292. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map +1 -1
  293. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map +1 -1
  294. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.js +24 -4
  295. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts +4 -2
  296. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map +1 -1
  297. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.js +0 -0
  298. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map +1 -1
  299. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js +119 -5
  300. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts +2 -1
  301. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts.map +1 -1
  302. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.js +26 -11
  303. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
  304. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +86 -9
  305. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map +1 -1
  306. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.js +10 -3
  307. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
  308. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +14 -12
  309. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/sourceMixPlanning.js +0 -0
  310. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts +1 -1
  311. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts.map +1 -1
  312. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.js +9 -1
  313. package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +2 -2
  314. package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
  315. package/node_modules/@oscharko-dev/keiko-sdk/package.json +2 -2
  316. package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
  317. package/node_modules/@oscharko-dev/keiko-security/dist/redaction.d.ts.map +1 -1
  318. package/node_modules/@oscharko-dev/keiko-security/dist/redaction.js +4 -2
  319. package/node_modules/@oscharko-dev/keiko-security/package.json +2 -2
  320. package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
  321. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
  322. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +6 -1
  323. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +2 -0
  324. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
  325. package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +59 -9
  326. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts +1 -1
  327. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts.map +1 -1
  328. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.js +4 -3
  329. package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts +18 -3
  330. package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts.map +1 -1
  331. package/node_modules/@oscharko-dev/keiko-server/dist/files.js +208 -72
  332. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.d.ts.map +1 -1
  333. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.js +7 -2
  334. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts +3 -0
  335. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts.map +1 -1
  336. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.js +27 -4
  337. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.d.ts.map +1 -1
  338. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.js +46 -14
  339. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts +1 -0
  340. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts.map +1 -1
  341. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.js +433 -31
  342. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.d.ts.map +1 -1
  343. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.js +5 -3
  344. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts +9 -0
  345. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
  346. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +194 -45
  347. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts +4 -0
  348. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts.map +1 -1
  349. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +100 -24
  350. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts +7 -0
  351. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
  352. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +196 -20
  353. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.d.ts.map +1 -1
  354. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.js +21 -1
  355. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -1
  356. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts.map +1 -1
  357. package/node_modules/@oscharko-dev/keiko-server/dist/index.js +1 -1
  358. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts +9 -6
  359. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
  360. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +189 -66
  361. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
  362. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +189 -72
  363. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +10 -2
  364. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -1
  365. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.js +110 -30
  366. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts +13 -4
  367. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts.map +1 -1
  368. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.js +29 -17
  369. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts +13 -3
  370. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -1
  371. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.js +54 -5
  372. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
  373. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +84 -12
  374. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -1
  375. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.js +16 -8
  376. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +6 -2
  377. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
  378. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +13 -1
  379. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -1
  380. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.js +15 -2
  381. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +9 -0
  382. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -1
  383. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.js +2 -2
  384. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -1
  385. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
  386. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +138 -19
  387. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.d.ts.map +1 -1
  388. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.js +26 -7
  389. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
  390. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +26 -7
  391. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
  392. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +3 -1
  393. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
  394. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +51 -15
  395. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts +4 -1
  396. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
  397. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +17 -3
  398. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
  399. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +6 -2
  400. package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
  401. package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +4 -2
  402. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts.map +1 -1
  403. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.js +6 -1
  404. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts +2 -2
  405. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts.map +1 -1
  406. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.js +84 -8
  407. package/node_modules/@oscharko-dev/keiko-server/dist/store/db.d.ts.map +1 -1
  408. package/node_modules/@oscharko-dev/keiko-server/dist/store/db.js +4 -2
  409. package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts +1 -1
  410. package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts.map +1 -1
  411. package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts +5 -1
  412. package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts.map +1 -1
  413. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.d.ts.map +1 -1
  414. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.js +67 -14
  415. package/node_modules/@oscharko-dev/keiko-server/package.json +2 -2
  416. package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
  417. package/node_modules/@oscharko-dev/keiko-tools/package.json +2 -2
  418. package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
  419. package/node_modules/@oscharko-dev/keiko-verification/package.json +2 -2
  420. package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
  421. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts +2 -0
  422. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts.map +1 -1
  423. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.js +45 -10
  424. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts +1 -1
  425. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts.map +1 -1
  426. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.js +1 -1
  427. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.d.ts.map +1 -1
  428. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.js +4 -6
  429. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts +30 -0
  430. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts.map +1 -0
  431. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.js +114 -0
  432. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
  433. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +20 -7
  434. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.d.ts.map +1 -1
  435. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.js +15 -7
  436. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts.map +1 -1
  437. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.js +28 -4
  438. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.d.ts.map +1 -1
  439. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.js +51 -1
  440. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.d.ts.map +1 -1
  441. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.js +8 -3
  442. package/node_modules/@oscharko-dev/keiko-workflows/package.json +2 -2
  443. package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
  444. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts +1 -0
  445. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts.map +1 -1
  446. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.js +1 -0
  447. package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.d.ts.map +1 -1
  448. package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.js +84 -27
  449. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.d.ts.map +1 -1
  450. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.js +19 -0
  451. package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.d.ts.map +1 -1
  452. package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.js +6 -3
  453. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.d.ts.map +1 -1
  454. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.js +72 -25
  455. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts +15 -0
  456. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -0
  457. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +107 -0
  458. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts +18 -0
  459. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -0
  460. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +42 -0
  461. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
  462. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +4 -11
  463. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts +2 -0
  464. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -0
  465. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.js +15 -0
  466. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts +2 -2
  467. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts.map +1 -1
  468. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.js +89 -75
  469. package/node_modules/@oscharko-dev/keiko-workspace/package.json +2 -2
  470. package/node_modules/@types/node/README.md +1 -1
  471. package/node_modules/@types/node/http2.d.ts +1 -0
  472. package/node_modules/@types/node/package.json +2 -2
  473. package/package.json +3 -1
  474. package/dist/ui/static/_next/static/RAzN8WLtYaktD-ZePowXl/_buildManifest.js +0 -1
  475. package/dist/ui/static/_next/static/chunks/18-ac3e3551b4e0ce8a.js +0 -1
  476. package/dist/ui/static/_next/static/chunks/258-e3b5ee46b0669967.js +0 -1
  477. package/dist/ui/static/_next/static/chunks/422-4c94c107b90d3ccc.js +0 -1
  478. package/dist/ui/static/_next/static/chunks/664-6d821dc1aacb6b48.js +0 -1
  479. package/dist/ui/static/_next/static/chunks/87c73c54-24122e7b92478d00.js +0 -1
  480. package/dist/ui/static/_next/static/chunks/982-abc19630e6305864.js +0 -1
  481. package/dist/ui/static/_next/static/chunks/app/_not-found/page-c4d800f366186be0.js +0 -1
  482. package/dist/ui/static/_next/static/chunks/app/launch/page-17ca39367f25f372.js +0 -1
  483. package/dist/ui/static/_next/static/chunks/app/layout-0f75a39edc90325d.js +0 -1
  484. package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-87a2ea239308ed34.js +0 -1
  485. package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-98bb7704fc7fd0ad.js +0 -1
  486. package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-f912263f1ee5d2dd.js +0 -1
  487. package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-fa590f135356e0af.js +0 -1
  488. package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-b8555600c1113f14.js +0 -1
  489. package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-85cfbeb3598c0a36.js +0 -1
  490. package/dist/ui/static/_next/static/chunks/app/page-2881856ad25d9935.js +0 -1
  491. package/dist/ui/static/_next/static/chunks/framework-d8f01f7e25201916.js +0 -1
  492. package/dist/ui/static/_next/static/chunks/main-app-5b043f6c611974ae.js +0 -1
  493. package/dist/ui/static/_next/static/chunks/main-bc552b04f2b6dbe2.js +0 -1
  494. package/dist/ui/static/_next/static/chunks/pages/_app-2e239ff05bfdf6d6.js +0 -1
  495. package/dist/ui/static/_next/static/chunks/pages/_error-bda15e7831eec981.js +0 -1
  496. package/dist/ui/static/_next/static/chunks/webpack-0cfe6f51555ca84e.js +0 -1
  497. package/dist/ui/static/_next/static/css/eac94895f3edc5a5.css +0 -1
  498. /package/dist/ui/static/_next/static/{RAzN8WLtYaktD-ZePowXl → Hb6brrvZY2nZtizQlYhVt}/_ssgManifest.js +0 -0
  499. /package/dist/ui/static/_next/static/chunks/{polyfills-42372ed130431b0a.js → 0cz1d0mv5g_q7.js} +0 -0
@@ -9,6 +9,7 @@ export interface AssembleInput {
9
9
  readonly ranked: readonly CandidateFile[];
10
10
  readonly omittedFromRanking: readonly OmittedContextEntry[];
11
11
  readonly excerpts: ReadonlyMap<string, ExcerptSource>;
12
+ readonly cacheIdentity?: readonly string[] | undefined;
12
13
  readonly initialUsage?: ExplorationUsage;
13
14
  readonly initialUncertainty?: readonly UncertaintyMarker[];
14
15
  }
@@ -29,5 +30,6 @@ export interface AssembleResult {
29
30
  readonly pack: ConnectedContextPack;
30
31
  readonly fromIndex: boolean;
31
32
  }
33
+ export declare function contextPackIndexKey(input: AssembleInput, options?: AssembleOptions): string;
32
34
  export declare function assembleContextPack(input: AssembleInput, options?: AssembleOptions): Promise<AssembleResult>;
33
35
  //# sourceMappingURL=assemble.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/contextpack/assemble.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAIzB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,iDAAiD,CAAC;AAIzD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAIpE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,aAAa,EAAE,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAydD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,CAyCzB"}
1
+ {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/contextpack/assemble.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAIzB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,iDAAiD,CAAC;AAIzD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAIpE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,aAAa,EAAE,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AA0fD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAQ3F;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,CAoCzB"}
@@ -230,18 +230,40 @@ function buildPlan(ordered, ctx, initialUsage, initialUncertainty) {
230
230
  }
231
231
  return plan;
232
232
  }
233
- function buildStableId(scope, query, atoms) {
233
+ function cacheConnectedExcerpt(excerpt) {
234
+ return {
235
+ atom: cacheAtom(excerpt.atom),
236
+ contentHash: sha256Hex(excerpt.content),
237
+ contentBytes: excerpt.contentBytes,
238
+ };
239
+ }
240
+ function cacheConnectedFile(file) {
241
+ return {
242
+ scopePath: file.scopePath,
243
+ role: file.role,
244
+ selectionReason: file.selectionReason,
245
+ excerpts: file.excerpts.map(cacheConnectedExcerpt),
246
+ };
247
+ }
248
+ function buildStableId(input, plan) {
249
+ const fingerprint = sha256Hex(JSON.stringify({
250
+ scope: cacheScope(input.scope),
251
+ query: cacheQuery(input.query),
252
+ files: plan.files.map(cacheConnectedFile),
253
+ omitted: [...input.omittedFromRanking, ...plan.extraOmitted].map(cacheOmitted),
254
+ uncertainty: plan.uncertainty.map(cacheUncertainty),
255
+ }));
234
256
  return connectedContextPackStableId({
235
- scopeId: scope.scopeId,
236
- queryKind: query.kind,
237
- queryText: query.text,
238
- atomStableIds: atoms.map((a) => a.stableId),
257
+ scopeId: input.scope.scopeId,
258
+ queryKind: input.query.kind,
259
+ queryText: input.query.text,
260
+ atomStableIds: [`pack-fp-${fingerprint}`],
239
261
  });
240
262
  }
241
263
  function buildPack(input, plan, nowMs) {
242
264
  return {
243
265
  schemaVersion: CONNECTED_CONTEXT_SCHEMA_VERSION,
244
- stableId: buildStableId(input.scope, input.query, input.atoms),
266
+ stableId: buildStableId(input, plan),
245
267
  scope: input.scope,
246
268
  query: input.query,
247
269
  budget: input.budget,
@@ -276,6 +298,7 @@ function cacheScope(scope) {
276
298
  relativePaths: scope.relativePaths,
277
299
  conversationId: scope.conversationId,
278
300
  connectedAtMs: scope.connectedAtMs,
301
+ explicitConnection: scope.explicitConnection,
279
302
  };
280
303
  }
281
304
  function cacheQuery(query) {
@@ -346,6 +369,12 @@ function cacheExcerpts(excerpts) {
346
369
  windows: normalizeExcerptWindows(source).map(cacheExcerptWindow),
347
370
  }));
348
371
  }
372
+ function cacheExcerptIdentity(input) {
373
+ if (input.cacheIdentity !== undefined) {
374
+ return [...input.cacheIdentity].sort();
375
+ }
376
+ return cacheExcerpts(input.excerpts);
377
+ }
349
378
  function buildCacheAtomIds(input, resolved) {
350
379
  const fingerprintSource = JSON.stringify({
351
380
  scope: cacheScope(input.scope),
@@ -353,24 +382,30 @@ function buildCacheAtomIds(input, resolved) {
353
382
  atoms: input.atoms.map(cacheAtom),
354
383
  budget: input.budget,
355
384
  initialUsage: cacheUsage(input.initialUsage),
356
- initialUncertainty: input.initialUncertainty?.map(cacheUncertainty),
385
+ initialUncertainty: input.cacheIdentity === undefined
386
+ ? input.initialUncertainty?.map(cacheUncertainty)
387
+ : undefined,
357
388
  ranked: input.ranked.map(cacheCandidate),
358
389
  omittedFromRanking: input.omittedFromRanking.map(cacheOmitted),
359
- excerpts: cacheExcerpts(input.excerpts),
390
+ excerpts: cacheExcerptIdentity(input),
360
391
  maxBytesPerExcerpt: resolved.maxBytesPerExcerpt,
361
392
  editablePaths: [...resolved.editablePaths].sort(),
362
393
  rerankerName: resolved.reranker.name,
363
394
  });
364
395
  return [`fp-${sha256Hex(fingerprintSource)}`];
365
396
  }
366
- export async function assembleContextPack(input, options) {
397
+ export function contextPackIndexKey(input, options) {
367
398
  const resolved = resolveOptions(options);
368
- const key = makeIndexKey({
399
+ return makeIndexKey({
369
400
  scopeId: input.scope.scopeId,
370
401
  queryKind: input.query.kind,
371
402
  queryText: input.query.text,
372
403
  atomStableIds: buildCacheAtomIds(input, resolved),
373
404
  });
405
+ }
406
+ export async function assembleContextPack(input, options) {
407
+ const resolved = resolveOptions(options);
408
+ const key = contextPackIndexKey(input, options);
374
409
  const cached = resolved.microIndex?.get(key);
375
410
  if (cached !== undefined) {
376
411
  return { pack: cached, fromIndex: true };
@@ -5,5 +5,5 @@ export { disabledReranker } from "./reranker.js";
5
5
  export type { IndexEntry, IndexKeyInput, MicroIndex, MicroIndexOptions } from "./microIndex.js";
6
6
  export { createMicroIndex, DEFAULT_MICRO_INDEX, makeIndexKey } from "./microIndex.js";
7
7
  export type { AssembleInput, AssembleOptions, AssembleResult, ExcerptSource, ExcerptWindow, } from "./assemble.js";
8
- export { assembleContextPack } from "./assemble.js";
8
+ export { assembleContextPack, contextPackIndexKey } from "./assemble.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contextpack/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtF,YAAY,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contextpack/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtF,YAAY,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -5,4 +5,4 @@
5
5
  export { compactExcerpt, nextAtomFitsBudget } from "./compaction.js";
6
6
  export { disabledReranker } from "./reranker.js";
7
7
  export { createMicroIndex, DEFAULT_MICRO_INDEX, makeIndexKey } from "./microIndex.js";
8
- export { assembleContextPack } from "./assemble.js";
8
+ export { assembleContextPack, contextPackIndexKey } from "./assemble.js";
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/planner/plan.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gCAAgC,EAGhC,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAkB,KAAK,YAAY,EAAyB,MAAM,cAAc,CAAC;AAQxF,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,WAAW,GACX,kBAAkB,GAClB,sBAAsB,GACtB,eAAe,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,gCAAgC,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AA0PD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE,cAAc,GACpB,eAAe,CAkCjB"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/planner/plan.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gCAAgC,EAGhC,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAkB,KAAK,YAAY,EAAyB,MAAM,cAAc,CAAC;AAQxF,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,WAAW,GACX,kBAAkB,GAClB,sBAAsB,GACtB,eAAe,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,gCAAgC,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAwPD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE,cAAc,GACpB,eAAe,CAkCjB"}
@@ -120,12 +120,10 @@ function decideClarification(anchors, scope) {
120
120
  };
121
121
  }
122
122
  // When the user EXPLICITLY connected a folder/files to the chat (a Files↔Chat edge or a scope
123
- // pill), they have already narrowed the search to a folder of their choosing. The "too-generic"
124
- // and "scope-empty" gates exist to stop vague questions burning budget over the broad implicit
125
- // workspace; they must NOT refuse a plain natural-language question over a folder the user
126
- // deliberately picked ("explain the architecture" of a connected folder is a legitimate request).
127
- // Retrieval stays bounded by the planner's scan/time limits regardless, so accepting it is safe.
128
- if (scope.explicitConnection === true) {
123
+ // pill), they have already narrowed the search to a bounded area. The "too-generic" and
124
+ // "scope-empty" gates exist to stop vague questions burning budget over the broad workspace;
125
+ // keep those gates for workspace-root connections even when they were explicitly selected.
126
+ if (scope.explicitConnection === true && scope.kind !== "workspace-root") {
129
127
  return { state: "ready", clarification: undefined };
130
128
  }
131
129
  // Threshold is <= literal weight so a prompt yielding only `literal` anchors (weight 0.5,
@@ -0,0 +1,30 @@
1
+ import { type QualityIntelligence as QI } from "@oscharko-dev/keiko-contracts";
2
+ import { createInMemoryQualityIntelligenceLocalStore, type QualityIntelligenceEvidenceManifest, type QualityIntelligenceLocalStore } from "@oscharko-dev/keiko-evidence";
3
+ import type { QualityIntelligenceClock, QualityIntelligenceRunEventSink } from "../../runtimeCommon.js";
4
+ import type { QualityIntelligenceModelRoutedTestDesignDeps } from "../../modelRoutedTestDesign.js";
5
+ export declare const CLOCK: QualityIntelligenceClock;
6
+ export declare const PROVENANCE: {
7
+ readonly envelopeIds: readonly ["env-1"];
8
+ readonly auditSummaryId: QualityIntelligenceEvidenceManifest["provenanceRefs"]["auditSummaryId"];
9
+ };
10
+ export declare const ENVELOPE: QI.QualityIntelligenceSourceEnvelope;
11
+ export declare function makePlan(id: string): QI.QualityIntelligenceRunPlan;
12
+ export declare function makeAtom(id: string): QI.QualityIntelligenceEvidenceAtom;
13
+ export declare function ingestedAtomsFixture(): readonly {
14
+ atom: QI.QualityIntelligenceEvidenceAtom;
15
+ canonicalText: string;
16
+ }[];
17
+ export declare function candidatesFor(runId: string, atoms: readonly QI.QualityIntelligenceEvidenceAtom[]): readonly QI.QualityIntelligenceTestCaseCandidate[];
18
+ export interface RecordingSink {
19
+ readonly sink: QualityIntelligenceRunEventSink;
20
+ readonly events: () => readonly QI.QualityIntelligenceRunEvent[];
21
+ readonly kinds: () => readonly string[];
22
+ readonly stageNames: () => readonly string[];
23
+ /** Ordered "kind" / "kind:stageName" tokens — the human-readable lifecycle trace. */
24
+ readonly trace: () => readonly string[];
25
+ }
26
+ export declare function recordingSink(): RecordingSink;
27
+ export declare const MODEL_OUTPUT_TWO: string;
28
+ export declare function modelRoutedDeps(store: QualityIntelligenceLocalStore, sink: QualityIntelligenceRunEventSink): QualityIntelligenceModelRoutedTestDesignDeps;
29
+ export { createInMemoryQualityIntelligenceLocalStore };
30
+ //# sourceMappingURL=runEntryFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runEntryFixtures.d.ts","sourceRoot":"","sources":["../../../../src/qualityIntelligence/__tests__/fixtures/runEntryFixtures.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,KAAK,mBAAmB,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,EACL,2CAA2C,EAC3C,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EACnC,MAAM,8BAA8B,CAAC;AAMtC,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,4CAA4C,EAAE,MAAM,gCAAgC,CAAC;AAGnG,eAAO,MAAM,KAAK,EAAE,wBAElB,CAAC;AAEH,eAAO,MAAM,UAAU;;6BAGC,mCAAmC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC;CACrF,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,iCAUxB,CAAC;AAEH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAOlE;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,+BAA+B,CASvE;AAED,wBAAgB,oBAAoB,IAAI,SAAS;IAC/C,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;CACvB,EAAE,CAQF;AAID,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAAE,CAAC,+BAA+B,EAAE,GACnD,SAAS,EAAE,CAAC,oCAAoC,EAAE,CAQpD;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,EAAE,CAAC,2BAA2B,EAAE,CAAC;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC7C,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,wBAAgB,aAAa,IAAI,aAAa,CAoB7C;AAID,eAAO,MAAM,gBAAgB,QAiB3B,CAAC;AAEH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,6BAA6B,EACpC,IAAI,EAAE,+BAA+B,GACpC,4CAA4C,CAW9C;AAED,OAAO,EAAE,2CAA2C,EAAE,CAAC"}
@@ -0,0 +1,114 @@
1
+ // Shared fixtures + harness for the QI run-entry regression suite (Epic #270, Issue #273).
2
+ //
3
+ // Mirrors the captureSink / PLAN / PROVENANCE shapes used by runLifecycleCancellation.test.ts and
4
+ // modelRoutedTestDesign.test.ts so the new lifecycle / contract / cancellation tests reuse one
5
+ // canonical set of fixtures instead of reinventing per file. NOTE: this file is a TEST helper, not
6
+ // package source — it is intentionally NOT exported from any package index.ts.
7
+ import { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
8
+ import { createInMemoryQualityIntelligenceLocalStore, } from "@oscharko-dev/keiko-evidence";
9
+ import { deriveIntent, designTestCaseCandidates, regressionDefault, } from "@oscharko-dev/keiko-quality-intelligence";
10
+ // Deterministic clock so persisted completedAt / event timestamps never depend on wall time.
11
+ export const CLOCK = Object.freeze({
12
+ nowIso: () => "2026-06-08T00:01:00.000Z",
13
+ });
14
+ export const PROVENANCE = {
15
+ envelopeIds: ["env-1"],
16
+ auditSummaryId: "audit-273-test",
17
+ };
18
+ export const ENVELOPE = Object.freeze({
19
+ id: QualityIntelligence.asQualityIntelligenceSourceEnvelopeId("env-1"),
20
+ kind: "human-context",
21
+ displayLabel: "Audit source",
22
+ localRef: "env-1",
23
+ provenance: {
24
+ origin: "requirements",
25
+ registeredAt: "2026-06-08T00:00:00.000Z",
26
+ integrityHashSha256Hex: "b".repeat(64),
27
+ },
28
+ });
29
+ export function makePlan(id) {
30
+ return {
31
+ id: QualityIntelligence.asQualityIntelligenceRunId(id),
32
+ requestedAt: "2026-06-08T00:00:00.000Z",
33
+ plannerKind: "model-routed",
34
+ stages: [],
35
+ };
36
+ }
37
+ export function makeAtom(id) {
38
+ return {
39
+ id: QualityIntelligence.asQualityIntelligenceEvidenceAtomId(id),
40
+ kind: "requirement",
41
+ sourceEnvelopeId: QualityIntelligence.asQualityIntelligenceSourceEnvelopeId("env-1"),
42
+ canonicalHashSha256Hex: "a".repeat(64),
43
+ redactionStatus: "not-required",
44
+ lifecycleStatus: "draft",
45
+ };
46
+ }
47
+ export function ingestedAtomsFixture() {
48
+ return [
49
+ {
50
+ atom: makeAtom("atom-1"),
51
+ canonicalText: "REQ-1: Lock the account after five failed logins.",
52
+ },
53
+ { atom: makeAtom("atom-2"), canonicalText: "REQ-2: Reset the counter after a success." },
54
+ ];
55
+ }
56
+ // Real domain candidates derived from atoms (status "proposed"), so coverage-review / validation /
57
+ // refinement entries receive schema-valid candidates without hand-rolling the shape.
58
+ export function candidatesFor(runId, atoms) {
59
+ const intent = deriveIntent([ENVELOPE], regressionDefault);
60
+ return designTestCaseCandidates({
61
+ runId: QualityIntelligence.asQualityIntelligenceRunId(runId),
62
+ intent,
63
+ atoms,
64
+ profile: regressionDefault,
65
+ });
66
+ }
67
+ export function recordingSink() {
68
+ const events = [];
69
+ return {
70
+ sink: { emit: (e) => void events.push(e) },
71
+ events: () => events,
72
+ kinds: () => events.map((e) => e.payload.kind),
73
+ stageNames: () => events
74
+ .map((e) => e.payload)
75
+ .filter((p) => "stageName" in p)
76
+ .map((p) => p.stageName),
77
+ trace: () => events.map((e) => {
78
+ const p = e.payload;
79
+ return "stageName" in p ? `${p.kind}:${p.stageName}` : p.kind;
80
+ }),
81
+ };
82
+ }
83
+ // Deterministic model output (two candidates) for the model-routed entry — copied shape from
84
+ // modelRoutedTestDesign.test.ts so the two suites agree on the fixture.
85
+ export const MODEL_OUTPUT_TWO = JSON.stringify([
86
+ {
87
+ title: "Test atom 1 behavior",
88
+ steps: ["Navigate to the feature", "Trigger the atom-1 action"],
89
+ expectedResults: ["The atom-1 behavior occurs"],
90
+ priority: "P2",
91
+ riskClass: "regression",
92
+ derivedFromEvidenceIndexes: [1],
93
+ },
94
+ {
95
+ title: "Test atom 2 behavior",
96
+ steps: ["Navigate to the feature", "Trigger the atom-2 action"],
97
+ expectedResults: ["The atom-2 behavior occurs"],
98
+ priority: "P2",
99
+ riskClass: "regression",
100
+ derivedFromEvidenceIndexes: [2],
101
+ },
102
+ ]);
103
+ export function modelRoutedDeps(store, sink) {
104
+ return {
105
+ sink,
106
+ evidenceStore: store,
107
+ candidatesSink: { record: () => undefined },
108
+ generate: {
109
+ generate: () => Promise.resolve({ rawText: MODEL_OUTPUT_TWO, modelCallCount: 1, modelId: "test-model" }),
110
+ },
111
+ clock: CLOCK,
112
+ };
113
+ }
114
+ export { createInMemoryQualityIntelligenceLocalStore };
@@ -1 +1 @@
1
- {"version":3,"file":"modelRoutedTestDesign.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/modelRoutedTestDesign.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAYL,KAAK,aAAa,EACnB,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAaL,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAEnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAG1E,KAAK,SAAS,GAAG,EAAE,CAAC,oCAAoC,CAAC;AACzD,KAAK,YAAY,GAAG,EAAE,CAAC,+BAA+B,CAAC;AAEvD,+FAA+F;AAC/F,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,EAAE,CAAC;IACJ,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,kGAAkG;IAClG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oGAAoG;IACpG,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,kGAAkG;AAClG,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE,qCAAqC,KACxC,OAAO,CAAC,uCAAuC,CAAC,CAAC;CACvD;AAED,wFAAwF;AACxF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,qCAAqC,EAAE,CAAC;CAC1E;AAED,0GAA0G;AAC1G,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,CACd,KAAK,EAAE,6BAA6B,EACpC,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,6CAA6C;IAC5D,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,iCAAiC,EAAE,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE,iCAAiC,CAAC;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,6BAA6B,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,iCAAiC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,CAAC;IACrD,kGAAkG;IAClG,QAAQ,CAAC,KAAK,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,iCAAiC,GAAG,SAAS,CAAC;CACjE;AAoDD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,SAAS,+BAA+B,EAAE,GACxD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAO7B;AAoVD;;;;GAIG;AAEH,wBAAsB,2CAA2C,CAC/D,KAAK,EAAE,6CAA6C,EACpD,IAAI,EAAE,4CAA4C,GACjD,OAAO,CAAC,6BAA6B,CAAC,CAmHxC"}
1
+ {"version":3,"file":"modelRoutedTestDesign.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/modelRoutedTestDesign.ts"],"names":[],"mappings":"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"}
@@ -124,13 +124,26 @@ async function generateCandidates(ctx, input, deps) {
124
124
  profile: ctx.profile,
125
125
  maxTestCases: maxCandidates,
126
126
  });
127
- const result = await deps.generate.generate({
128
- systemPrompt: QualityIntelligenceGeneration.QI_TEST_DESIGN_SYSTEM_PROMPT,
129
- instruction,
130
- evidence,
131
- maxCandidates,
132
- signal: ctx.signal,
133
- });
127
+ // Count the generation gateway dispatch as an ATTEMPT, mirroring the judge contract
128
+ // (judgeOneCandidate counts before its await). The generation port makes at most one gateway
129
+ // dispatch per call, so a rejection (Azure 5xx / timeout / network / abort) still means one call
130
+ // was attempted and billed. Counting only result.modelCallCount AFTER a successful await
131
+ // under-reported a failed run's audit trail as 0 gateway calls (#273 audit; #843 undercount class).
132
+ // The deterministic baseline port never rejects and reports modelCallCount 0, so it is unaffected.
133
+ let result;
134
+ try {
135
+ result = await deps.generate.generate({
136
+ systemPrompt: QualityIntelligenceGeneration.QI_TEST_DESIGN_SYSTEM_PROMPT,
137
+ instruction,
138
+ evidence,
139
+ maxCandidates,
140
+ signal: ctx.signal,
141
+ });
142
+ }
143
+ catch (error) {
144
+ ctx.modelGatewayCallCount += 1;
145
+ throw error;
146
+ }
134
147
  ctx.modelGatewayCallCount += result.modelCallCount;
135
148
  if (result.modelId === undefined && result.modelCallCount === 0) {
136
149
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"runEntries.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runEntries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runEntries.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runEntries.ts"],"names":[],"mappings":"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"}
@@ -34,13 +34,21 @@ export async function runQualityIntelligenceTestDesign(input, deps) {
34
34
  emitQueuedAndStarted(ctx);
35
35
  try {
36
36
  await withStage(ctx, "plan", async () => Promise.resolve());
37
- const intent = await withStage(ctx, "intent", async () => Promise.resolve(deriveIntent(input.envelopes, ctx.profile)));
38
- const rawCandidates = await withStage(ctx, "candidates", async () => Promise.resolve(designTestCaseCandidates({
39
- runId: input.plan.id,
40
- intent,
41
- atoms: input.atoms,
42
- profile: ctx.profile,
43
- })));
37
+ // Intent derivation is a deterministic sub-step of candidate design, not a separately surfaced
38
+ // stage. The shared qi:test-design descriptor declares the model-routed lifecycle
39
+ // (plan, candidates, judge, coverage, validate, finalize); emitting an undeclared "intent"
40
+ // stage here threw via assertStageRegistered and made this scripted entry impossible to
41
+ // succeed. Derive intent inside the declared "candidates" stage so the scripted entry stays a
42
+ // strict subset of the descriptor's stage set.
43
+ const rawCandidates = await withStage(ctx, "candidates", async () => {
44
+ const intent = deriveIntent(input.envelopes, ctx.profile);
45
+ return Promise.resolve(designTestCaseCandidates({
46
+ runId: input.plan.id,
47
+ intent,
48
+ atoms: input.atoms,
49
+ profile: ctx.profile,
50
+ }));
51
+ });
44
52
  const candidates = truncateCandidates(rawCandidates, ctx.limits.maxCandidatesPerRun);
45
53
  emitCandidateProposed(ctx, candidates);
46
54
  const coverageMatrix = await withStage(ctx, "coverage", async () => Promise.resolve(coverageMatrixFor(input.plan.id, input.atoms, candidates)));
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeCommon.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runtimeCommon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimeCommon.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runtimeCommon.ts"],"names":[],"mappings":"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"}
@@ -62,15 +62,39 @@ export function checkCancelled(ctx) {
62
62
  throw new StageCancelledError();
63
63
  }
64
64
  }
65
+ // Error names raised inside the QI server/workflow layers whose identity (and, for coded errors,
66
+ // whose `QI_*` code) is authored, static, and secret-free — safe to surface so a failed run stays
67
+ // actionable. Matched by name rather than `instanceof` because the coded server errors
68
+ // (QiGenerationError / QiIngestionError) live in a higher layer this package must not import.
69
+ const SAFE_QI_ERROR_NAMES = new Set([
70
+ "EmptyEvidenceError",
71
+ "UnparseableModelOutputError",
72
+ "QiGenerationError",
73
+ "QiIngestionError",
74
+ ]);
75
+ const QI_ERROR_CODE_PATTERN = /^QI_[A-Z0-9_]+$/;
76
+ // Derive a redaction-safe, statically-bounded failure summary for a run/stage event (#279 AC3).
77
+ //
78
+ // FAIL-CLOSED: the raw `.message` of an arbitrary error is NEVER echoed. A productive model call
79
+ // rejects through the Keiko Model Gateway with a `GatewayError` whose message can carry the
80
+ // provider base URL, a deployment endpoint, or a credential-shaped substring (see
81
+ // keiko-server `conversation-audit.test.ts`); that string must not reach the SSE `reasonSummary`
82
+ // or any persisted field. Only three shapes produce a non-generic summary:
83
+ // 1. a QI safe-error exception -> its `qi/*` code (already secret-free by construction);
84
+ // 2. an allow-listed in-repo QI error -> its `QI_*` code when present, else its error name;
85
+ // 3. everything else (gateway/provider/unexpected) -> a fixed generic code, no message.
65
86
  export function safeReasonSummary(error) {
66
87
  if (error instanceof QualityIntelligenceSafeErrorException) {
67
88
  return `qi-safe-error: ${error.safe.code}`;
68
89
  }
69
- if (error instanceof Error) {
70
- const firstLine = error.message.split("\n")[0] ?? error.name;
71
- return firstLine.slice(0, 200);
90
+ if (error instanceof Error && SAFE_QI_ERROR_NAMES.has(error.name)) {
91
+ const code = error.code;
92
+ if (typeof code === "string" && QI_ERROR_CODE_PATTERN.test(code)) {
93
+ return `qi-error: ${code}`;
94
+ }
95
+ return `qi-error: ${error.name}`;
72
96
  }
73
- return "unknown-error";
97
+ return "qi-run-error";
74
98
  }
75
99
  export async function withStage(ctx, stageName, body) {
76
100
  assertStageRegistered(ctx.descriptor, stageName);
@@ -1 +1 @@
1
- {"version":3,"file":"rank.d.ts","sourceRoot":"","sources":["../../src/ranking/rank.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,uBAAuB,EAG7B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;AA2FD,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAwB/F"}
1
+ {"version":3,"file":"rank.d.ts","sourceRoot":"","sources":["../../src/ranking/rank.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,uBAAuB,EAG7B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;AAsJD,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAyB/F"}
@@ -6,6 +6,7 @@ import { CANDIDATE_OMISSION_REASONS, isValidScopePath, } from "@oscharko-dev/kei
6
6
  import { DEFAULT_FILTER_OPTIONS, filterCandidates, } from "./filter.js";
7
7
  import { DEFAULT_SCORING_WEIGHTS, computeScore } from "./scoring.js";
8
8
  import { DEFAULT_GENERATED_PATTERNS, extractSignals, } from "./signals.js";
9
+ const AUTO_DUPLICATE_CLUSTER_MIN = 3;
9
10
  function resolveHints(hints) {
10
11
  return {
11
12
  generatedPathPatterns: hints?.generatedPathPatterns ?? DEFAULT_GENERATED_PATTERNS,
@@ -40,6 +41,54 @@ function groupAtomsByPath(atoms) {
40
41
  }
41
42
  return { valid, invalidPaths: [...invalidPaths] };
42
43
  }
44
+ function basename(scopePath) {
45
+ const index = scopePath.lastIndexOf("/");
46
+ return index >= 0 ? scopePath.slice(index + 1) : scopePath;
47
+ }
48
+ function bestAtomScore(atoms) {
49
+ return atoms.reduce((best, atom) => Math.max(best, atom.score), 0);
50
+ }
51
+ function compareCanonicalCandidate(a, b) {
52
+ const scoreDelta = bestAtomScore(b[1]) - bestAtomScore(a[1]);
53
+ if (scoreDelta !== 0) {
54
+ return scoreDelta;
55
+ }
56
+ if (a[0].length !== b[0].length) {
57
+ return a[0].length - b[0].length;
58
+ }
59
+ return a[0].localeCompare(b[0]);
60
+ }
61
+ function deriveDuplicateHints(group, explicit) {
62
+ const derived = new Map(explicit);
63
+ const clusters = new Map();
64
+ for (const entry of group.entries()) {
65
+ const [scopePath] = entry;
66
+ if (derived.has(scopePath)) {
67
+ continue;
68
+ }
69
+ const key = basename(scopePath).toLowerCase();
70
+ const existing = clusters.get(key);
71
+ if (existing === undefined) {
72
+ clusters.set(key, [entry]);
73
+ }
74
+ else {
75
+ existing.push(entry);
76
+ }
77
+ }
78
+ for (const entries of clusters.values()) {
79
+ if (entries.length < AUTO_DUPLICATE_CLUSTER_MIN) {
80
+ continue;
81
+ }
82
+ const [canonical, ...duplicates] = [...entries].sort(compareCanonicalCandidate);
83
+ if (canonical === undefined) {
84
+ continue;
85
+ }
86
+ for (const [scopePath] of duplicates) {
87
+ derived.set(scopePath, canonical[0]);
88
+ }
89
+ }
90
+ return derived;
91
+ }
43
92
  function buildAnnotated(group, input, hints, weights) {
44
93
  const annotated = [];
45
94
  for (const [scopePath, atomsForPath] of group) {
@@ -83,7 +132,8 @@ export function rankCandidates(input, options = {}) {
83
132
  const hints = resolveHints(input.hints);
84
133
  const weights = options.weights ?? DEFAULT_SCORING_WEIGHTS;
85
134
  const { valid, invalidPaths } = groupAtomsByPath(input.atoms);
86
- const annotated = buildAnnotated(valid, input, hints, weights);
135
+ const rankingHints = { ...hints, duplicateOf: deriveDuplicateHints(valid, hints.duplicateOf) };
136
+ const annotated = buildAnnotated(valid, input, rankingHints, weights);
87
137
  const filterOptions = resolveFilterOptions(options.filter, frozenStartMs);
88
138
  const filterResult = filterCandidates(annotated, filterOptions);
89
139
  // Invalid paths cannot be represented as OmittedContextEntry values without breaking
@@ -1 +1 @@
1
- {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/ranking/signals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAS9C,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAoHD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,YAAY,EAAE,EACrC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC5B,gBAAgB,CAuBlB"}
1
+ {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/ranking/signals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAS9C,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAyHD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,YAAY,EAAE,EACrC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC5B,gBAAgB,CAuBlB"}
@@ -13,8 +13,9 @@ export const DEFAULT_GENERATED_PATTERNS = [
13
13
  ".bundle.js",
14
14
  ".d.ts.map",
15
15
  ];
16
- // Fixed regex for stack-frame "at fn (path:line:col)" detection. No user input is interpolated.
17
- const STACK_FRAME_RE = /^\s*at\s+\S+\s+\(([^\s:]+):\d+(?::\d+)?\)/;
16
+ // Fixed regex for stack-frame "at fn (path:line:col)" and "at path:line:col" detection.
17
+ // No user input is interpolated.
18
+ const STACK_FRAME_RE = /^\s*at\s+(?:\S+\s+\(([^\s:]+):\d+(?::\d+)?\)|([^\s:]+):\d+(?::\d+)?)/;
18
19
  function clampUnit(value) {
19
20
  return Math.max(0, Math.min(1, value));
20
21
  }
@@ -101,7 +102,11 @@ function computeStacktracePositionBonus(scopePath, anchors) {
101
102
  continue;
102
103
  }
103
104
  const match = STACK_FRAME_RE.exec(anc.term);
104
- if (match !== null && match[1]?.toLowerCase() === lowerScopePath) {
105
+ if (match === null) {
106
+ continue;
107
+ }
108
+ const framePath = match[1] ?? match[2];
109
+ if (framePath?.toLowerCase() === lowerScopePath) {
105
110
  return 1;
106
111
  }
107
112
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oscharko-dev/keiko-workflows",
3
- "version": "0.2.0-beta.3",
3
+ "version": "0.2.0-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "scripts": {
17
17
  "build": "tsc -b tsconfig.json",
18
- "typecheck": "tsc -b tsconfig.json --noEmit",
18
+ "typecheck": "tsc -b tsconfig.json",
19
19
  "test": "vitest run"
20
20
  },
21
21
  "files": [