@oscharko-dev/keiko 0.2.0-beta.4 → 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 (682) hide show
  1. package/README.md +39 -14
  2. package/dist/ui/csp-hashes.json +16 -21
  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 +3 -1
  109. package/node_modules/@oscharko-dev/keiko-cli/dist/run.d.ts.map +1 -1
  110. package/node_modules/@oscharko-dev/keiko-cli/dist/run.js +123 -43
  111. package/node_modules/@oscharko-dev/keiko-cli/dist/runner.d.ts.map +1 -1
  112. package/node_modules/@oscharko-dev/keiko-cli/dist/runner.js +20 -4
  113. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts +1 -1
  114. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
  115. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +17 -14
  116. package/node_modules/@oscharko-dev/keiko-cli/package.json +1 -1
  117. package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
  118. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +7 -0
  119. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts.map +1 -1
  120. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts.map +1 -1
  121. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +1 -2
  122. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +1 -0
  123. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
  124. package/node_modules/@oscharko-dev/keiko-contracts/dist/gateway.d.ts +12 -0
  125. package/node_modules/@oscharko-dev/keiko-contracts/dist/gateway.d.ts.map +1 -1
  126. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +4 -2
  127. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
  128. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -1
  129. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
  130. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.d.ts +13 -1
  131. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.d.ts.map +1 -1
  132. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.js +7 -6
  133. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-internal.d.ts.map +1 -1
  134. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-internal.js +1 -1
  135. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-operations.d.ts.map +1 -1
  136. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-workflow-port.d.ts.map +1 -1
  137. package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-workflow-port.js +1 -1
  138. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +23 -4
  139. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
  140. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts +1 -0
  141. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
  142. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.js +1 -0
  143. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +1 -0
  144. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -1
  145. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.js +26 -0
  146. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.d.ts +5 -3
  147. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.d.ts.map +1 -1
  148. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.js +29 -3
  149. package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.d.ts +7 -0
  150. package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.d.ts.map +1 -0
  151. package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.js +58 -0
  152. package/node_modules/@oscharko-dev/keiko-contracts/package.json +5 -1
  153. package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
  154. package/node_modules/@oscharko-dev/keiko-evaluations/dist/surface-parity.d.ts.map +1 -1
  155. package/node_modules/@oscharko-dev/keiko-evaluations/package.json +1 -1
  156. package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
  157. package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts +1 -1
  158. package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts.map +1 -1
  159. package/node_modules/@oscharko-dev/keiko-evidence/dist/index.js +1 -1
  160. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts +7 -0
  161. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts.map +1 -1
  162. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js +62 -13
  163. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +3 -3
  164. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map +1 -1
  165. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js +31 -11
  166. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +35 -3
  167. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
  168. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.js +107 -3
  169. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +15 -1
  170. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
  171. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +248 -36
  172. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts +4 -4
  173. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts.map +1 -1
  174. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.js +1 -1
  175. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts +33 -2
  176. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts.map +1 -1
  177. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts +34 -1
  178. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts.map +1 -1
  179. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +95 -22
  180. package/node_modules/@oscharko-dev/keiko-evidence/dist/side-file.d.ts.map +1 -1
  181. package/node_modules/@oscharko-dev/keiko-evidence/dist/side-file.js +17 -5
  182. package/node_modules/@oscharko-dev/keiko-evidence/dist/store.d.ts.map +1 -1
  183. package/node_modules/@oscharko-dev/keiko-evidence/dist/store.js +128 -12
  184. package/node_modules/@oscharko-dev/keiko-evidence/dist/workflow-evidence.d.ts.map +1 -1
  185. package/node_modules/@oscharko-dev/keiko-evidence/dist/workflow-evidence.js +1 -3
  186. package/node_modules/@oscharko-dev/keiko-evidence/package.json +1 -1
  187. package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
  188. package/node_modules/@oscharko-dev/keiko-harness/package.json +1 -1
  189. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
  190. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts.map +1 -1
  191. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.js +1 -2
  192. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts.map +1 -1
  193. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.js +1 -1
  194. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/index.d.ts +0 -1
  195. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/index.d.ts.map +1 -1
  196. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/index.js +0 -1
  197. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts.map +1 -1
  198. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.js +7 -1
  199. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/types.d.ts.map +1 -1
  200. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/types.js +2 -3
  201. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts.map +1 -1
  202. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.js +45 -21
  203. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/media-type.d.ts.map +1 -1
  204. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/media-type.js +1 -0
  205. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.d.ts.map +1 -1
  206. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.js +11 -3
  207. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.d.ts +2 -0
  208. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.d.ts.map +1 -1
  209. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.js +42 -0
  210. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts.map +1 -1
  211. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.js +34 -0
  212. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts +1 -1
  213. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts.map +1 -1
  214. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.js +1 -1
  215. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/report.d.ts.map +1 -1
  216. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/report.js +7 -6
  217. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner.d.ts.map +1 -1
  218. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner.js +7 -1
  219. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.d.ts +4 -0
  220. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.d.ts.map +1 -1
  221. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.js +2 -0
  222. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +1 -1
  223. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts.map +1 -1
  224. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.js +1 -1
  225. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.d.ts.map +1 -1
  226. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.js +121 -3
  227. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
  228. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +34 -4
  229. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +1 -0
  230. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts.map +1 -1
  231. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.js +63 -0
  232. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.d.ts.map +1 -1
  233. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.js +4 -7
  234. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/html-parser.d.ts.map +1 -1
  235. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/html-parser.js +67 -11
  236. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -0
  237. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts.map +1 -1
  238. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.js +3 -0
  239. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.d.ts.map +1 -1
  240. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.js +39 -3
  241. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/null-ocr-adapter.d.ts.map +1 -1
  242. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/ocr-pipeline-parser.d.ts.map +1 -1
  243. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/ocr-pipeline-parser.js +46 -11
  244. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.d.ts +2 -0
  245. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.d.ts.map +1 -1
  246. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.js +2 -0
  247. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
  248. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +114 -0
  249. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.d.ts +3 -0
  250. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.d.ts.map +1 -0
  251. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.js +425 -0
  252. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.d.ts.map +1 -1
  253. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.d.ts +9 -4
  254. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.d.ts.map +1 -1
  255. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.js +11 -6
  256. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +15 -2
  257. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts +1 -0
  258. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts.map +1 -1
  259. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.js +220 -7
  260. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/types.d.ts +2 -1
  261. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/types.d.ts.map +1 -1
  262. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts.map +1 -1
  263. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.js +3 -1
  264. package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +4 -2
  265. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
  266. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.d.ts +4 -0
  267. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.d.ts.map +1 -0
  268. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.js +17 -0
  269. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/errors.d.ts +1 -1
  270. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/errors.d.ts.map +1 -1
  271. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.d.ts +1 -0
  272. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.d.ts.map +1 -1
  273. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.js +1 -0
  274. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/salience.js +1 -1
  275. package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +1 -1
  276. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
  277. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.d.ts +3 -0
  278. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.d.ts.map +1 -1
  279. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.js +5 -0
  280. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/consolidate.d.ts.map +1 -1
  281. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/consolidate.js +93 -30
  282. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/stale.d.ts.map +1 -1
  283. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/stale.js +3 -1
  284. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.d.ts +5 -0
  285. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.d.ts.map +1 -1
  286. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.js +1 -1
  287. package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +2 -2
  288. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
  289. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/forget.js +1 -1
  290. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/types.js +1 -1
  291. package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +2 -2
  292. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
  293. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/context.d.ts.map +1 -1
  294. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/context.js +61 -18
  295. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.d.ts.map +1 -1
  296. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.js +3 -1
  297. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.d.ts.map +1 -1
  298. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.js +26 -4
  299. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts +9 -1
  300. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts.map +1 -1
  301. package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +1 -1
  302. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
  303. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.d.ts +1 -0
  304. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.d.ts.map +1 -1
  305. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.js +21 -0
  306. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/index.d.ts +1 -1
  307. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/index.d.ts.map +1 -1
  308. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/migrate-encrypt.d.ts.map +1 -1
  309. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/migrate-encrypt.js +24 -4
  310. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts +1 -1
  311. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts.map +1 -1
  312. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.js +27 -4
  313. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.d.ts +1 -0
  314. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.d.ts.map +1 -1
  315. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.js +21 -4
  316. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts +22 -1
  317. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts.map +1 -1
  318. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/validate.d.ts.map +1 -1
  319. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/validate.js +3 -0
  320. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.d.ts.map +1 -1
  321. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.js +105 -28
  322. package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +1 -1
  323. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
  324. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts +2 -0
  325. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts.map +1 -1
  326. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.js +83 -69
  327. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.d.ts +3 -2
  328. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.d.ts.map +1 -1
  329. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.js +20 -16
  330. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/gateway.d.ts.map +1 -1
  331. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/gateway.js +9 -3
  332. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts.map +1 -1
  333. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.js +29 -3
  334. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.d.ts +4 -4
  335. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.d.ts.map +1 -1
  336. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.js +3 -3
  337. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/normalize.d.ts +1 -0
  338. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/normalize.d.ts.map +1 -1
  339. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/normalize.js +22 -1
  340. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-adapter.d.ts.map +1 -1
  341. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-adapter.js +69 -10
  342. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.d.ts +20 -1
  343. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.d.ts.map +1 -1
  344. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.js +122 -7
  345. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.d.ts +10 -1
  346. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.d.ts.map +1 -1
  347. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.js +33 -11
  348. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.d.ts +4 -0
  349. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.d.ts.map +1 -0
  350. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.js +21 -0
  351. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.d.ts +1 -1
  352. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.d.ts.map +1 -1
  353. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.js +1 -1
  354. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/routing.d.ts.map +1 -1
  355. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/routing.js +2 -13
  356. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.d.ts +1 -0
  357. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.d.ts.map +1 -1
  358. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.js +18 -2
  359. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/types.d.ts +5 -1
  360. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/types.d.ts.map +1 -1
  361. package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +1 -1
  362. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
  363. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.d.ts +35 -0
  364. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.d.ts.map +1 -1
  365. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.js +74 -0
  366. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/deduplication.d.ts.map +1 -1
  367. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/deduplication.js +6 -2
  368. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.d.ts.map +1 -1
  369. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.js +64 -19
  370. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.d.ts.map +1 -1
  371. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +3 -0
  372. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.d.ts +6 -1
  373. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.d.ts.map +1 -1
  374. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.js +22 -9
  375. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +4 -1
  376. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts.map +1 -1
  377. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.js +28 -12
  378. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts.map +1 -1
  379. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js +123 -33
  380. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/index.d.ts +2 -2
  381. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/index.d.ts.map +1 -1
  382. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +7 -4
  383. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map +1 -1
  384. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map +1 -1
  385. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.js +13 -17
  386. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map +1 -1
  387. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.js +35 -12
  388. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map +1 -1
  389. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js +54 -6
  390. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts +4 -0
  391. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
  392. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +29 -10
  393. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map +1 -1
  394. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.js +10 -4
  395. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.d.ts.map +1 -1
  396. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.js +15 -6
  397. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts +4 -0
  398. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts.map +1 -1
  399. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.js +162 -6
  400. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts +14 -2
  401. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts.map +1 -1
  402. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.js +50 -12
  403. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
  404. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +4 -2
  405. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/alm.d.ts.map +1 -1
  406. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/alm.js +29 -30
  407. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/markdown.d.ts.map +1 -1
  408. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/markdown.js +34 -5
  409. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/qtest.d.ts.map +1 -1
  410. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/qtest.js +29 -29
  411. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/spreadsheetSafeCsv.d.ts +2 -1
  412. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/spreadsheetSafeCsv.d.ts.map +1 -1
  413. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/spreadsheetSafeCsv.js +40 -2
  414. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/traceability.d.ts.map +1 -1
  415. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/traceability.js +12 -9
  416. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/xray.d.ts.map +1 -1
  417. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/xray.js +6 -2
  418. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.d.ts +7 -0
  419. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.d.ts.map +1 -1
  420. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.js +7 -0
  421. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.d.ts +10 -0
  422. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.d.ts.map +1 -0
  423. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.js +14 -0
  424. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/index.d.ts.map +1 -1
  425. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/index.js +3 -2
  426. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.d.ts.map +1 -1
  427. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.js +97 -50
  428. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.d.ts.map +1 -1
  429. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.js +35 -7
  430. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts +2 -2
  431. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts.map +1 -1
  432. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.js +2 -2
  433. package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +1 -1
  434. package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
  435. package/node_modules/@oscharko-dev/keiko-sdk/package.json +1 -1
  436. package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
  437. package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.d.ts +11 -0
  438. package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.d.ts.map +1 -1
  439. package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.js +13 -0
  440. package/node_modules/@oscharko-dev/keiko-security/package.json +1 -1
  441. package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
  442. package/node_modules/@oscharko-dev/keiko-server/dist/assistant-response.d.ts +6 -0
  443. package/node_modules/@oscharko-dev/keiko-server/dist/assistant-response.d.ts.map +1 -0
  444. package/node_modules/@oscharko-dev/keiko-server/dist/assistant-response.js +12 -0
  445. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts +1 -1
  446. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
  447. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +61 -16
  448. package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.d.ts.map +1 -1
  449. package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.js +11 -9
  450. package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts +1 -0
  451. package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts.map +1 -1
  452. package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.js +3 -0
  453. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +4 -2
  454. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
  455. package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +44 -69
  456. package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.d.ts.map +1 -1
  457. package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.js +120 -28
  458. package/node_modules/@oscharko-dev/keiko-server/dist/governed-workflow.d.ts.map +1 -1
  459. package/node_modules/@oscharko-dev/keiko-server/dist/governed-workflow.js +4 -1
  460. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.d.ts.map +1 -1
  461. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.js +2 -0
  462. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts +0 -1
  463. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts.map +1 -1
  464. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.js +222 -18
  465. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
  466. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +118 -23
  467. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts.map +1 -1
  468. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +57 -22
  469. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
  470. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +14 -5
  471. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -0
  472. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts.map +1 -1
  473. package/node_modules/@oscharko-dev/keiko-server/dist/index.js +1 -0
  474. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
  475. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +11 -4
  476. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
  477. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +26 -14
  478. package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.d.ts +1 -0
  479. package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.d.ts.map +1 -1
  480. package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.js +52 -27
  481. package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.d.ts +10 -0
  482. package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.d.ts.map +1 -0
  483. package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.js +44 -0
  484. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-handlers.d.ts.map +1 -1
  485. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-handlers.js +79 -57
  486. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-registry.d.ts +1 -0
  487. package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-registry.d.ts.map +1 -1
  488. package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.d.ts.map +1 -1
  489. package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.js +6 -4
  490. package/node_modules/@oscharko-dev/keiko-server/dist/memory-conversation-context.d.ts.map +1 -1
  491. package/node_modules/@oscharko-dev/keiko-server/dist/memory-diagnostics.d.ts.map +1 -1
  492. package/node_modules/@oscharko-dev/keiko-server/dist/memory-diagnostics.js +16 -9
  493. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts +3 -1
  494. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts.map +1 -1
  495. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.js +538 -87
  496. package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts +6 -1
  497. package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts.map +1 -1
  498. package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.js +17 -38
  499. package/node_modules/@oscharko-dev/keiko-server/dist/memory-retention.d.ts.map +1 -1
  500. package/node_modules/@oscharko-dev/keiko-server/dist/memory-retention.js +7 -15
  501. package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.d.ts.map +1 -1
  502. package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.js +17 -2
  503. package/node_modules/@oscharko-dev/keiko-server/dist/memory-scope-sanitizer.d.ts.map +1 -1
  504. package/node_modules/@oscharko-dev/keiko-server/dist/memory-scope-sanitizer.js +19 -0
  505. package/node_modules/@oscharko-dev/keiko-server/dist/memory-target-resolver.d.ts.map +1 -1
  506. package/node_modules/@oscharko-dev/keiko-server/dist/memory-target-resolver.js +4 -1
  507. package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.d.ts +1 -0
  508. package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.d.ts.map +1 -1
  509. package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.js +108 -27
  510. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.d.ts +4 -0
  511. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.d.ts.map +1 -1
  512. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.js +3 -0
  513. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/connectorErrors.d.ts.map +1 -1
  514. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/connectorErrors.js +11 -8
  515. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/editRoutes.d.ts.map +1 -1
  516. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/editRoutes.js +62 -7
  517. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/exportRoutes.d.ts.map +1 -1
  518. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/exportRoutes.js +98 -33
  519. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConcurrency.d.ts.map +1 -1
  520. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConcurrency.js +2 -1
  521. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts +6 -0
  522. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts.map +1 -1
  523. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.js +16 -3
  524. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts +7 -0
  525. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts.map +1 -1
  526. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +1 -1
  527. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -1
  528. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.js +3 -1
  529. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.d.ts +2 -2
  530. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.d.ts.map +1 -1
  531. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.js +3 -3
  532. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.d.ts +5 -0
  533. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.d.ts.map +1 -1
  534. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.js +10 -8
  535. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaReadiness.d.ts.map +1 -1
  536. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaReadiness.js +11 -5
  537. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -1
  538. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.js +1 -0
  539. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts +3 -0
  540. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts.map +1 -1
  541. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.js +71 -10
  542. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts +2 -0
  543. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
  544. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +86 -23
  545. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +1 -1
  546. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
  547. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaTokenSource.d.ts.map +1 -1
  548. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaTokenSource.js +4 -3
  549. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaUrl.d.ts.map +1 -1
  550. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaUrl.js +2 -0
  551. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.d.ts +1 -1
  552. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.d.ts.map +1 -1
  553. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.js +1 -1
  554. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaCodegenRoutes.d.ts.map +1 -1
  555. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaCodegenRoutes.js +60 -20
  556. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +11 -6
  557. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -1
  558. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.js +144 -6
  559. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +9 -0
  560. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -1
  561. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.js +84 -15
  562. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -7
  563. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
  564. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +206 -42
  565. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.d.ts.map +1 -1
  566. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.js +12 -1
  567. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffErrors.d.ts +1 -1
  568. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffErrors.d.ts.map +1 -1
  569. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffErrors.js +1 -0
  570. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffRoutes.d.ts.map +1 -1
  571. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffRoutes.js +41 -9
  572. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/index.d.ts +1 -0
  573. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/index.d.ts.map +1 -1
  574. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/index.js +2 -0
  575. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts +3 -1
  576. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
  577. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +86 -68
  578. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts +15 -1
  579. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts.map +1 -1
  580. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.js +56 -39
  581. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts +1 -1
  582. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
  583. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +382 -75
  584. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/retentionRoutes.d.ts +5 -0
  585. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/retentionRoutes.d.ts.map +1 -0
  586. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/retentionRoutes.js +70 -0
  587. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewRoutes.d.ts.map +1 -1
  588. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewRoutes.js +20 -8
  589. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewStore.d.ts +25 -4
  590. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewStore.d.ts.map +1 -1
  591. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewStore.js +72 -9
  592. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts +3 -2
  593. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts.map +1 -1
  594. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.js +44 -16
  595. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts +7 -0
  596. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
  597. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +370 -38
  598. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRegistry.d.ts.map +1 -1
  599. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRegistry.js +2 -0
  600. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
  601. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +15 -5
  602. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/traceabilityRoutes.d.ts.map +1 -1
  603. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/traceabilityRoutes.js +36 -4
  604. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
  605. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +73 -8
  606. package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
  607. package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +20 -6
  608. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts +1 -0
  609. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts.map +1 -1
  610. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.js +3 -0
  611. package/node_modules/@oscharko-dev/keiko-server/dist/run-handlers.d.ts.map +1 -1
  612. package/node_modules/@oscharko-dev/keiko-server/dist/run-handlers.js +2 -0
  613. package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.d.ts +9 -0
  614. package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.d.ts.map +1 -0
  615. package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.js +26 -0
  616. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts.map +1 -1
  617. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.js +16 -8
  618. package/node_modules/@oscharko-dev/keiko-server/dist/store/messages.d.ts.map +1 -1
  619. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.d.ts.map +1 -1
  620. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.js +4 -1
  621. package/node_modules/@oscharko-dev/keiko-server/dist/terminal.d.ts.map +1 -1
  622. package/node_modules/@oscharko-dev/keiko-server/package.json +1 -1
  623. package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
  624. package/node_modules/@oscharko-dev/keiko-tools/dist/patch-normalize.d.ts.map +1 -1
  625. package/node_modules/@oscharko-dev/keiko-tools/dist/patch-normalize.js +13 -7
  626. package/node_modules/@oscharko-dev/keiko-tools/package.json +1 -1
  627. package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
  628. package/node_modules/@oscharko-dev/keiko-verification/package.json +1 -1
  629. package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
  630. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.d.ts +2 -2
  631. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.d.ts.map +1 -1
  632. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.js +16 -18
  633. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/prompt.d.ts.map +1 -1
  634. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/prompt.js +6 -1
  635. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/workflow.d.ts.map +1 -1
  636. package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/workflow.js +3 -3
  637. package/node_modules/@oscharko-dev/keiko-workflows/dist/governed-handoff.d.ts.map +1 -1
  638. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/anchors.d.ts.map +1 -1
  639. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/anchors.js +68 -0
  640. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/descriptors.d.ts +2 -2
  641. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts +18 -2
  642. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
  643. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +209 -54
  644. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts +4 -4
  645. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts.map +1 -1
  646. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.js +4 -1
  647. package/node_modules/@oscharko-dev/keiko-workflows/dist/unit-tests/target-guard.d.ts.map +1 -1
  648. package/node_modules/@oscharko-dev/keiko-workflows/package.json +1 -1
  649. package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
  650. package/node_modules/@oscharko-dev/keiko-workspace/dist/discovery.d.ts.map +1 -1
  651. package/node_modules/@oscharko-dev/keiko-workspace/dist/discovery.js +34 -2
  652. package/node_modules/@oscharko-dev/keiko-workspace/dist/realpath.d.ts +1 -0
  653. package/node_modules/@oscharko-dev/keiko-workspace/dist/realpath.d.ts.map +1 -1
  654. package/node_modules/@oscharko-dev/keiko-workspace/dist/realpath.js +2 -2
  655. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -1
  656. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +1 -2
  657. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -1
  658. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +2 -1
  659. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
  660. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +74 -2
  661. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -1
  662. package/node_modules/@oscharko-dev/keiko-workspace/package.json +1 -1
  663. package/package.json +23 -6
  664. package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +0 -2
  665. package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +0 -1
  666. package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +0 -1
  667. package/dist/ui/static/_next/static/chunks/1t04tfgin0v_g.js +0 -106
  668. package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +0 -1
  669. package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +0 -4
  670. package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +0 -1
  671. package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +0 -1
  672. package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +0 -1
  673. package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +0 -1
  674. package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +0 -1
  675. package/dist/ui/static/_next/static/chunks/3wr_35f2vg6sd.css +0 -1
  676. package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +0 -1
  677. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/scripted-answer-generator.d.ts +0 -6
  678. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/scripted-answer-generator.d.ts.map +0 -1
  679. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/scripted-answer-generator.js +0 -49
  680. /package/dist/ui/static/_next/static/{Hb6brrvZY2nZtizQlYhVt → fQMXe8UmV01bh25WOoIt3}/_buildManifest.js +0 -0
  681. /package/dist/ui/static/_next/static/{Hb6brrvZY2nZtizQlYhVt → fQMXe8UmV01bh25WOoIt3}/_clientMiddlewareManifest.js +0 -0
  682. /package/dist/ui/static/_next/static/{Hb6brrvZY2nZtizQlYhVt → fQMXe8UmV01bh25WOoIt3}/_ssgManifest.js +0 -0
@@ -3,7 +3,8 @@
3
3
  // Converts an `IntentSummary` plus the evidence atoms it was derived from
4
4
  // into a deterministic list of draft `QualityIntelligenceTestCaseCandidate`
5
5
  // records. NO model calls; NO randomness; ID derivation is content-hash +
6
- // position based, so the same input always produces the same candidate IDs.
6
+ // position based, so the same evidence always produces the same candidate IDs
7
+ // regardless of the enclosing run id.
7
8
  //
8
9
  // Structurally inspired by
9
10
  // Test Intelligence reference (TI) packages/core-engine/src/intent-derivation.ts
@@ -12,7 +13,7 @@
12
13
  // envelope/atom-shaped and policy-driven.
13
14
  import { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
14
15
  import { sha256Hex } from "@oscharko-dev/keiko-security";
15
- import { isKnownPriority, normaliseText } from "./assertions.js";
16
+ import { isKnownPriority, normaliseCandidateText } from "./assertions.js";
16
17
  import { regressionDefault } from "./policyProfile.js";
17
18
  const compareString = (left, right) => left < right ? -1 : left > right ? 1 : 0;
18
19
  const stableSortAtoms = (atoms) => {
@@ -69,6 +70,18 @@ const buildExpectedResults = (atom, intent) => {
69
70
  results.push(`Evidence atom ${atom.canonicalHashSha256Hex.slice(0, 12)} remains canonical.`);
70
71
  return Object.freeze(results);
71
72
  };
73
+ /**
74
+ * Stable provenance discriminator carried by every deterministic-baseline candidate.
75
+ *
76
+ * The model-delta builder (`parseGeneratedCandidates`) never emits this tag, so it is a reliable
77
+ * "this is a generic determinism-floor stub, not a judged model candidate" marker — unlike a null
78
+ * `qualityVerdict`, which is also null whenever the judge stage is skipped entirely. Render-layer
79
+ * consumers sort baseline-tagged candidates to the end so judged candidates lead the deliverable;
80
+ * the persisted manifest order stays `[...baseline, ...delta]` (Issue #763 contract). The tag is
81
+ * additive and feeds no candidate id (`sha256(v2<atomHash><index>)`), dedup signature, or manifest
82
+ * hash, so it is determinism-safe.
83
+ */
84
+ export const DETERMINISTIC_BASELINE_PROVENANCE_TAG = "source:deterministic-baseline";
72
85
  const buildTags = (intent, riskClass) => {
73
86
  const tags = new Set();
74
87
  for (const theme of intent.themes) {
@@ -78,21 +91,46 @@ const buildTags = (intent, riskClass) => {
78
91
  tags.add(`risk-hint:${risk}`);
79
92
  }
80
93
  tags.add(`risk-class:${riskClass}`);
94
+ tags.add(DETERMINISTIC_BASELINE_PROVENANCE_TAG);
81
95
  return Object.freeze(Array.from(tags).sort(compareString));
82
96
  };
83
- const deriveCandidateIdString = (runId, atom, index) => {
84
- const payload = ["v1", String(runId), atom.canonicalHashSha256Hex, String(index)].join("");
97
+ const deriveCandidateIdString = (atom, index) => {
98
+ const payload = ["v2", atom.canonicalHashSha256Hex, String(index)].join("");
85
99
  const digest = sha256Hex(payload).slice(0, 32);
86
100
  return `qi-candidate-${digest}`;
87
101
  };
102
+ // Sanitise an ordered fragment list for a persisted candidate field: NFKC-normalise,
103
+ // strip unsafe bidi / zero-width / C0/C1/DEL code points (via normaliseCandidateText),
104
+ // and drop fragments that become empty. Order-preserving, no dedup. The deterministic
105
+ // builder receives untrusted text only through `intent` (derived from source display
106
+ // labels, which sanitiseLabel does NOT strip bidi/zero-width from), so without this the
107
+ // deterministic candidates persist and export those spoofing code points — the
108
+ // deterministic-path twin of the model-path chokepoint in parseGeneratedCandidates
109
+ // (Epic #711 / Issue #724 residual). Clean fragments are byte-identical (strip is a
110
+ // no-op and the fragments are already trimmed), so candidate IDs — derived from
111
+ // atomHash/index, never from text — stay stable.
112
+ const sanitiseFragmentList = (values) => Object.freeze(values.map((value) => normaliseCandidateText(value)).filter((value) => value.length > 0));
113
+ // Sanitise + canonicalise a tag list: strip unsafe code points, drop empties, dedup,
114
+ // and sort — preserving the Set+sort semantics of buildTags on the post-strip values so
115
+ // a zero-width-spoofed theme cannot smuggle a visually-duplicate tag into the export.
116
+ const canonicaliseCandidateTags = (values) => {
117
+ const seen = new Set();
118
+ for (const value of values) {
119
+ const cleaned = normaliseCandidateText(value);
120
+ if (cleaned.length > 0) {
121
+ seen.add(cleaned);
122
+ }
123
+ }
124
+ return Object.freeze(Array.from(seen).sort(compareString));
125
+ };
88
126
  /**
89
127
  * Produce deterministic draft candidates from the intent summary + atoms.
90
128
  * Returns the empty array when the atom list is empty. Atoms are first
91
129
  * sorted by canonical hash so input ordering does not affect IDs.
92
130
  *
93
131
  * Candidate IDs are derived as
94
- * `qi-candidate-<32-hex-of-sha256(v1<runId><atomHash><index>)>`
95
- * — collision-resistant and round-trip-stable.
132
+ * `qi-candidate-<32-hex-of-sha256(v2<atomHash><index>)>` — collision-resistant,
133
+ * run-independent, and round-trip-stable for the same evidence.
96
134
  */
97
135
  export const designTestCaseCandidates = (input) => {
98
136
  const { runId, intent, atoms } = input;
@@ -108,21 +146,21 @@ export const designTestCaseCandidates = (input) => {
108
146
  if (atom === undefined) {
109
147
  continue;
110
148
  }
111
- const idString = deriveCandidateIdString(runId, atom, index);
149
+ const idString = deriveCandidateIdString(atom, index);
112
150
  const id = QualityIntelligence.asQualityIntelligenceTestCaseId(idString);
113
151
  const riskClass = deriveRiskClass(atom, profile);
114
- const title = normaliseText(buildTitle(atom, intent, index));
152
+ const title = normaliseCandidateText(buildTitle(atom, intent, index));
115
153
  const candidate = {
116
154
  id,
117
155
  runId,
118
156
  derivedFromAtomIds: Object.freeze([atom.id]),
119
157
  title,
120
- preconditions: buildPreconditions(intent),
121
- steps: buildSteps(atom, intent),
122
- expectedResults: buildExpectedResults(atom, intent),
158
+ preconditions: sanitiseFragmentList(buildPreconditions(intent)),
159
+ steps: sanitiseFragmentList(buildSteps(atom, intent)),
160
+ expectedResults: sanitiseFragmentList(buildExpectedResults(atom, intent)),
123
161
  priority,
124
162
  riskClass,
125
- tags: buildTags(intent, riskClass),
163
+ tags: canonicaliseCandidateTags(buildTags(intent, riskClass)),
126
164
  status: "proposed",
127
165
  };
128
166
  candidates.push(Object.freeze(candidate));
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/domain/validation.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA6JpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,mBAAmB,CAAC,wBAAwB,EACnD,YAAY,SAAS,mBAAmB,CAAC,oCAAoC,EAAE,KAC9E,SAAS,mBAAmB,CAAC,oCAAoC,EAoBnE,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/domain/validation.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA+JpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,mBAAmB,CAAC,wBAAwB,EACnD,YAAY,SAAS,mBAAmB,CAAC,oCAAoC,EAAE,KAC9E,SAAS,mBAAmB,CAAC,oCAAoC,EAoBnE,CAAC"}
@@ -20,10 +20,12 @@
20
20
  // the model-judge tier excluded and a Keiko-shaped finding output.
21
21
  import { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
22
22
  import { sha256Hex } from "@oscharko-dev/keiko-security";
23
- import { normaliseText } from "./assertions.js";
23
+ import { normaliseCandidateText, normaliseText } from "./assertions.js";
24
24
  const NEGATION_PATTERN = /\b(not|never|no longer|cannot|isn't|aren't|won't|doesn't|do not)\b/iu;
25
25
  const collapseWhitespace = (value) => value.replace(/\s+/gu, " ").trim();
26
- const canonicaliseLine = (value) => collapseWhitespace(normaliseText(value).toLowerCase());
26
+ // Use normaliseCandidateText (NFKC + bidi/zero-width strip + trim) so that two candidates
27
+ // differing only by injected bidi or zero-width spoofing chars produce the same equivalence key.
28
+ const canonicaliseLine = (value) => collapseWhitespace(normaliseCandidateText(value).toLowerCase());
27
29
  const stripNegation = (value) => value.replace(NEGATION_PATTERN, " ").replace(/\s+/gu, " ").trim();
28
30
  const deriveFindingIdString = (runId, candidateId, kind, ordinal) => {
29
31
  const payload = ["v1", String(runId), candidateId, kind, String(ordinal)].join("");
@@ -1 +1 @@
1
- {"version":3,"file":"alm.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/alm.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAIvC,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAS3C,CAAC;AAeH,wBAAgB,UAAU,CACxB,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CA8CR"}
1
+ {"version":3,"file":"alm.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/alm.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAIvC,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAS3C,CAAC;AA2CH,wBAAgB,UAAU,CACxB,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CAkBR"}
@@ -27,6 +27,33 @@ const buildDescription = (candidate) => {
27
27
  const buildSubject = (candidate) => {
28
28
  return `Subject/${candidate.riskClass}`;
29
29
  };
30
+ // Build the ALM rows for a single candidate. One row per (step, expected) pair — the row count is
31
+ // the longer of `steps`/`expectedResults` so a trailing expected result is never dropped (Issue
32
+ // #283); a candidate with neither yields one empty-step row.
33
+ function almRowsFor(candidate) {
34
+ const head = [
35
+ candidate.title,
36
+ buildDescription(candidate),
37
+ "MANUAL",
38
+ ALM_DESIGNER,
39
+ buildSubject(candidate),
40
+ ];
41
+ const rowCount = Math.max(candidate.steps.length, candidate.expectedResults.length);
42
+ if (rowCount === 0) {
43
+ return encodeSpreadsheetSafeRow([...head, "", "", ""]);
44
+ }
45
+ let rows = "";
46
+ for (let i = 0; i < rowCount; i += 1) {
47
+ const stepName = i < candidate.steps.length ? `Step ${String(i + 1)}` : "";
48
+ rows += encodeSpreadsheetSafeRow([
49
+ ...head,
50
+ stepName,
51
+ candidate.steps[i] ?? "",
52
+ candidate.expectedResults[i] ?? "",
53
+ ]);
54
+ }
55
+ return rows;
56
+ }
30
57
  export function adaptToAlm(bundle, candidates) {
31
58
  assertExportBundleInvariant(bundle);
32
59
  const byId = new Map();
@@ -40,36 +67,8 @@ export function adaptToAlm(bundle, candidates) {
40
67
  let body = encodeSpreadsheetSafeRow(ALM_CSV_HEADERS);
41
68
  for (const id of sortedIds) {
42
69
  const candidate = byId.get(id);
43
- if (candidate === undefined) {
44
- continue;
45
- }
46
- if (candidate.steps.length === 0) {
47
- body += encodeSpreadsheetSafeRow([
48
- candidate.title,
49
- buildDescription(candidate),
50
- "MANUAL",
51
- ALM_DESIGNER,
52
- buildSubject(candidate),
53
- "",
54
- "",
55
- "",
56
- ]);
57
- continue;
58
- }
59
- for (let i = 0; i < candidate.steps.length; i += 1) {
60
- const stepName = `Step ${String(i + 1)}`;
61
- const stepDescription = candidate.steps[i] ?? "";
62
- const expected = candidate.expectedResults[i] ?? "";
63
- body += encodeSpreadsheetSafeRow([
64
- candidate.title,
65
- buildDescription(candidate),
66
- "MANUAL",
67
- ALM_DESIGNER,
68
- buildSubject(candidate),
69
- stepName,
70
- stepDescription,
71
- expected,
72
- ]);
70
+ if (candidate !== undefined) {
71
+ body += almRowsFor(candidate);
73
72
  }
74
73
  }
75
74
  return body;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/markdown.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAyCvC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CAqBR"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/markdown.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAyEvC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CAqBR"}
@@ -6,29 +6,58 @@
6
6
  //
7
7
  // Pure-domain leaf. NO IO. NO node:* imports. NO new runtime dependency.
8
8
  import { assertExportBundleInvariant } from "@oscharko-dev/keiko-contracts";
9
- import { inlineField, inlineFields } from "../textSafety.js";
9
+ import { inlineField } from "../textSafety.js";
10
+ import { startsWithFormulaLead } from "./spreadsheetSafeCsv.js";
10
11
  const byCandidateIdAsc = (a, b) => a.candidateId < b.candidateId ? -1 : a.candidateId > b.candidateId ? 1 : 0;
12
+ // Untrusted candidate free-text rendered into the EXPORTED Markdown artifact must not inject active
13
+ // Markdown structure into an external viewer, nor evaluate as a formula if the .md is pasted into a
14
+ // spreadsheet (Issue #284 AC2 — "Generated artifacts are sanitized before preview or export").
15
+ // `mdText` composes content-preserving (escape-not-strip) steps on top of inlineField:
16
+ // 1. inlineField — fold line breaks so the value stays one logical unit (Epic #711);
17
+ // 2. neutralise a leading spreadsheet formula lead (=,+,-,@, incl. a trimmed leading-whitespace
18
+ // run) with a single-quote prefix — parity with the CSV adapters / traceability.mdCell;
19
+ // 3. escape the Markdown-active vectors a single-line value can still smuggle — a link or image
20
+ // (incl. javascript:/data: hrefs) and a fenced-code run — the link/image/fenced subset of the
21
+ // accepted #278 untrusted-markdown escape set (ingestion/untrustedContentNormalisation). The
22
+ // literal text is preserved so an auditor still reads the original content.
23
+ // The #278 set's fourth vector — a line-leading `#` heading — is intentionally NOT escaped here: it
24
+ // is already mitigated structurally, not by escaping. Step 1 folds every internal line break to a
25
+ // space, and every field value is rendered behind a fixed prefix (`## ` for the title, `- `/`N. `
26
+ // for list items, `**Tags:** ` etc.), so a leading `#` in untrusted text can never reach a true
27
+ // line-start and open a heading.
28
+ const FENCED_CODE = /```/gu;
29
+ const IMAGE_OPEN = /!\[/gu;
30
+ const LINK_OPEN = /(?<!!)\[([^\]]*)\]\(/gu;
31
+ function mdText(value) {
32
+ const oneLine = inlineField(value);
33
+ const formulaSafe = startsWithFormulaLead(oneLine) ? `'${oneLine}` : oneLine;
34
+ return formulaSafe
35
+ .replace(FENCED_CODE, "\\`\\`\\`")
36
+ .replace(IMAGE_OPEN, "\\!\\[")
37
+ .replace(LINK_OPEN, (_match, inner) => `\\[${inner}\\](`);
38
+ }
39
+ const mdTextList = (items) => items.map(mdText);
11
40
  const mdList = (items) => items.length === 0
12
41
  ? "_none_\n"
13
- : inlineFields(items)
42
+ : mdTextList(items)
14
43
  .map((item) => `- ${item}`)
15
44
  .join("\n") + "\n";
16
45
  function renderCandidate(candidate, runId) {
17
46
  const lines = [];
18
- lines.push(`## ${inlineField(candidate.title)}\n`);
47
+ lines.push(`## ${mdText(candidate.title)}\n`);
19
48
  lines.push(`**ID:** ${candidate.id} `);
20
49
  lines.push(`**Run:** ${runId} `);
21
50
  lines.push(`**Priority:** ${candidate.priority} `);
22
51
  lines.push(`**Risk class:** ${candidate.riskClass} `);
23
52
  lines.push(`**Status:** ${candidate.status} `);
24
- lines.push(`**Tags:** ${candidate.tags.length > 0 ? inlineFields(candidate.tags).join(", ") : "_none_"} `);
53
+ lines.push(`**Tags:** ${candidate.tags.length > 0 ? mdTextList(candidate.tags).join(", ") : "_none_"} `);
25
54
  lines.push("");
26
55
  lines.push("### Preconditions\n");
27
56
  lines.push(mdList(candidate.preconditions));
28
57
  lines.push("### Steps\n");
29
58
  lines.push(candidate.steps.length === 0
30
59
  ? "_none_\n"
31
- : inlineFields(candidate.steps)
60
+ : mdTextList(candidate.steps)
32
61
  .map((s, i) => `${String(i + 1)}. ${s}`)
33
62
  .join("\n") + "\n");
34
63
  lines.push("### Expected results\n");
@@ -1 +1 @@
1
- {"version":3,"file":"qtest.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/qtest.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAIvC,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAS7C,CAAC;AAcH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CA6CR"}
1
+ {"version":3,"file":"qtest.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/qtest.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAIvC,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAS7C,CAAC;AA0CH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CAkBR"}
@@ -30,6 +30,33 @@ const mapPriority = (priority) => {
30
30
  // qTest default priorities are P-prefixed; pass through verbatim.
31
31
  return priority;
32
32
  };
33
+ // Build the qTest rows for a single candidate. One row per (step, expected) pair — the row count is
34
+ // the longer of `steps`/`expectedResults` so a trailing expected result is never dropped (Issue
35
+ // #283); a candidate with neither yields one empty-step row.
36
+ function qtestRowsFor(candidate) {
37
+ const head = [
38
+ candidate.title,
39
+ buildDescription(candidate),
40
+ "Manual",
41
+ mapPriority(candidate.priority),
42
+ candidate.status,
43
+ ];
44
+ const rowCount = Math.max(candidate.steps.length, candidate.expectedResults.length);
45
+ if (rowCount === 0) {
46
+ return encodeSpreadsheetSafeRow([...head, "", "", ""]);
47
+ }
48
+ let rows = "";
49
+ for (let i = 0; i < rowCount; i += 1) {
50
+ const stepNumber = i < candidate.steps.length ? String(i + 1) : "";
51
+ rows += encodeSpreadsheetSafeRow([
52
+ ...head,
53
+ stepNumber,
54
+ candidate.steps[i] ?? "",
55
+ candidate.expectedResults[i] ?? "",
56
+ ]);
57
+ }
58
+ return rows;
59
+ }
33
60
  export function adaptToQtest(bundle, candidates) {
34
61
  assertExportBundleInvariant(bundle);
35
62
  const byId = new Map();
@@ -43,35 +70,8 @@ export function adaptToQtest(bundle, candidates) {
43
70
  let body = encodeSpreadsheetSafeRow(QTEST_CSV_HEADERS);
44
71
  for (const id of sortedIds) {
45
72
  const candidate = byId.get(id);
46
- if (candidate === undefined) {
47
- continue;
48
- }
49
- if (candidate.steps.length === 0) {
50
- body += encodeSpreadsheetSafeRow([
51
- candidate.title,
52
- buildDescription(candidate),
53
- "Manual",
54
- mapPriority(candidate.priority),
55
- candidate.status,
56
- "",
57
- "",
58
- "",
59
- ]);
60
- continue;
61
- }
62
- for (let i = 0; i < candidate.steps.length; i += 1) {
63
- const action = candidate.steps[i] ?? "";
64
- const expected = candidate.expectedResults[i] ?? "";
65
- body += encodeSpreadsheetSafeRow([
66
- candidate.title,
67
- buildDescription(candidate),
68
- "Manual",
69
- mapPriority(candidate.priority),
70
- candidate.status,
71
- String(i + 1),
72
- action,
73
- expected,
74
- ]);
73
+ if (candidate !== undefined) {
74
+ body += qtestRowsFor(candidate);
75
75
  }
76
76
  }
77
77
  return body;
@@ -7,7 +7,8 @@ import type { QualityIntelligenceTestCaseCandidate } from "@oscharko-dev/keiko-c
7
7
  export declare const SPREADSHEET_FORMULA_LEAD_CHARS: ReadonlySet<string>;
8
8
  /**
9
9
  * Returns `true` if `value` would be interpreted as a formula or DDE invocation
10
- * by a typical spreadsheet because of its leading character.
10
+ * by a typical spreadsheet because of its leading character — including the case where a leading
11
+ * whitespace run precedes a formula lead, which importers may trim before evaluating.
11
12
  */
12
13
  export declare function startsWithFormulaLead(value: string): boolean;
13
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheetSafeCsv.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/spreadsheetSafeCsv.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAErF,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,CAQ7D,CAAC;AAEH;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa/D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMzE;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAUxD,CAAC;AAIH;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CA2BR"}
1
+ {"version":3,"file":"spreadsheetSafeCsv.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/spreadsheetSafeCsv.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAErF,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,CAQ7D,CAAC;AAuCH;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa/D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMzE;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAUxD,CAAC;AAIH;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CA2BR"}
@@ -29,15 +29,53 @@ export const SPREADSHEET_FORMULA_LEAD_CHARS = new Set([
29
29
  "\r",
30
30
  "\n",
31
31
  ]);
32
+ // Whitespace code points a spreadsheet import may strip BEFORE formula detection. Several importers
33
+ // (Excel/LibreOffice/Sheets) trim a leading whitespace run, so a cell like " =1+1" or a NBSP/tab-
34
+ // prefixed formula can still evaluate even though its literal first char is not a lead char.
35
+ const LEADING_WHITESPACE_CODE_POINTS = new Set([
36
+ 0x09, // tab
37
+ 0x0a, // line feed
38
+ 0x0b, // vertical tab
39
+ 0x0c, // form feed
40
+ 0x0d, // carriage return
41
+ 0x20, // space
42
+ 0xa0, // no-break space
43
+ 0x2007, // figure space
44
+ 0x2028, // line separator
45
+ 0x2029, // paragraph separator
46
+ 0x202f, // narrow no-break space
47
+ 0xfeff, // zero-width no-break space / BOM
48
+ ]);
49
+ // The formula/DDE lead characters that remain dangerous once a leading whitespace run is stripped.
50
+ // The whitespace leads themselves (TAB/CR/LF) stay covered by the literal first-char check.
51
+ const FORMULA_LEAD_AFTER_WHITESPACE = new Set(["=", "+", "-", "@"]);
52
+ // Scan past a leading whitespace run; return true when the first non-whitespace character is a
53
+ // formula lead. Pure, no regex — scans UTF-16 code units (every listed whitespace point is BMP).
54
+ function firstNonWhitespaceIsFormulaLead(value) {
55
+ let index = 0;
56
+ while (index < value.length && LEADING_WHITESPACE_CODE_POINTS.has(value.charCodeAt(index))) {
57
+ index += 1;
58
+ }
59
+ // index === 0 → no leading whitespace (the literal first-char check already handled it);
60
+ // index >= length → the cell is all whitespace.
61
+ if (index === 0 || index >= value.length) {
62
+ return false;
63
+ }
64
+ return FORMULA_LEAD_AFTER_WHITESPACE.has(value.charAt(index));
65
+ }
32
66
  /**
33
67
  * Returns `true` if `value` would be interpreted as a formula or DDE invocation
34
- * by a typical spreadsheet because of its leading character.
68
+ * by a typical spreadsheet because of its leading character — including the case where a leading
69
+ * whitespace run precedes a formula lead, which importers may trim before evaluating.
35
70
  */
36
71
  export function startsWithFormulaLead(value) {
37
72
  if (value.length === 0) {
38
73
  return false;
39
74
  }
40
- return SPREADSHEET_FORMULA_LEAD_CHARS.has(value.charAt(0));
75
+ if (SPREADSHEET_FORMULA_LEAD_CHARS.has(value.charAt(0))) {
76
+ return true;
77
+ }
78
+ return firstNonWhitespaceIsFormulaLead(value);
41
79
  }
42
80
  /**
43
81
  * Encodes a single cell value as RFC-4180 CSV with formula-injection
@@ -1 +1 @@
1
- {"version":3,"file":"traceability.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/traceability.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGxE;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CAC9C;AAED,4FAA4F;AAC5F,MAAM,WAAW,6CAA6C;IAC5D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3D;AAED,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAOhD,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAKxD,CAAC;AAyDH;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,kCAAkC,EAAE,EACnD,OAAO,GAAE,6CAAkD,GAC1D,MAAM,CA0BR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,kCAAkC,EAAE,EACnD,OAAO,GAAE,6CAAkD,GAC1D,MAAM,CA0CR"}
1
+ {"version":3,"file":"traceability.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/traceability.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAIxE;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CAC9C;AAED,4FAA4F;AAC5F,MAAM,WAAW,6CAA6C;IAC5D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3D;AAED,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAOhD,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAKxD,CAAC;AA2DH;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,kCAAkC,EAAE,EACnD,OAAO,GAAE,6CAAkD,GAC1D,MAAM,CA0BR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,kCAAkC,EAAE,EACnD,OAAO,GAAE,6CAAkD,GAC1D,MAAM,CA0CR"}
@@ -9,6 +9,7 @@
9
9
  // atom text, so the adapter depends on nothing outside keiko-contracts/keiko-quality-intelligence
10
10
  // (ADR-0019 direction rule). Deterministic: rows are sorted by id, confidence is fixed-precision,
11
11
  // and there are no timestamps — so the export is byte-stable for identical inputs.
12
+ import { inlineField } from "../textSafety.js";
12
13
  import { encodeSpreadsheetSafeRow, startsWithFormulaLead } from "./spreadsheetSafeCsv.js";
13
14
  /** CSV header row for the requirement -> tests direction. */
14
15
  export const TRACEABILITY_HEADERS = Object.freeze([
@@ -55,10 +56,12 @@ function invertToReverseRows(rows) {
55
56
  }
56
57
  // Escape Markdown table delimiters so an id containing a pipe cannot break the row structure, and
57
58
  // neutralise a spreadsheet formula lead (=,+,-,@) so a cell stays inert if the table is pasted into
58
- // a spreadsheet. Backslashes are escaped FIRST so a literal backslash cannot consume the following
59
- // escape and a pre-existing `\|` cannot smuggle an unescaped pipe through (CWE-20).
59
+ // a spreadsheet. inlineField runs FIRST so embedded newlines/tabs cannot split one logical row across
60
+ // two physical Markdown lines (CWE-1284). Backslashes are escaped BEFORE pipes so a literal backslash
61
+ // cannot consume the following escape and a pre-existing `\|` cannot smuggle an unescaped pipe (CWE-20).
60
62
  const mdCell = (value) => {
61
- const safe = startsWithFormulaLead(value) ? `'${value}` : value;
63
+ const oneLine = inlineField(value);
64
+ const safe = startsWithFormulaLead(oneLine) ? `'${oneLine}` : oneLine;
62
65
  return safe.replace(/\\/gu, "\\\\").replace(/\|/gu, "\\|");
63
66
  };
64
67
  const mdRow = (cells) => `| ${cells.map(mdCell).join(" | ")} |`;
@@ -73,11 +76,11 @@ export function adaptToTraceabilityCsv(rows, display = {}) {
73
76
  body += encodeSpreadsheetSafeRow(TRACEABILITY_HEADERS);
74
77
  for (const row of sorted) {
75
78
  body += encodeSpreadsheetSafeRow([
76
- row.atomId,
77
- row.requirementExcerptRedacted ?? ABSENT,
79
+ inlineField(row.atomId),
80
+ inlineField(row.requirementExcerptRedacted ?? ABSENT),
78
81
  row.status,
79
82
  fixed2(row.confidence),
80
- joinSemicolon(row.coveringCandidateIds),
83
+ inlineField(joinSemicolon(row.coveringCandidateIds)),
81
84
  String(row.coveringCandidateIds.length),
82
85
  ]);
83
86
  }
@@ -86,9 +89,9 @@ export function adaptToTraceabilityCsv(rows, display = {}) {
86
89
  body += encodeSpreadsheetSafeRow(TRACEABILITY_REVERSE_HEADERS);
87
90
  for (const reverse of invertToReverseRows(sorted)) {
88
91
  body += encodeSpreadsheetSafeRow([
89
- reverse.candidateId,
90
- display.candidateTitleById?.get(reverse.candidateId) ?? ABSENT,
91
- joinSemicolon(reverse.requirementIds),
92
+ inlineField(reverse.candidateId),
93
+ inlineField(display.candidateTitleById?.get(reverse.candidateId) ?? ABSENT),
94
+ inlineField(joinSemicolon(reverse.requirementIds)),
92
95
  String(reverse.requirementIds.length),
93
96
  ]);
94
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xray.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/xray.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAIvC,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAQ5C,CAAC;AASH,wBAAgB,WAAW,CACzB,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CA2CR"}
1
+ {"version":3,"file":"xray.d.ts","sourceRoot":"","sources":["../../../src/export/adapters/xray.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AAIvC,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAQ5C,CAAC;AASH,wBAAgB,WAAW,CACzB,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,SAAS,oCAAoC,EAAE,GAC1D,MAAM,CA+CR"}
@@ -38,7 +38,11 @@ export function adaptToXray(bundle, candidates) {
38
38
  if (candidate === undefined) {
39
39
  continue;
40
40
  }
41
- if (candidate.steps.length === 0) {
41
+ // `steps` and `expectedResults` are independent arrays with no co-length contract invariant, so
42
+ // the row count is the longer of the two — bounding the loop by `steps.length` alone would
43
+ // silently drop trailing expected results (and ALL of them when there are zero steps).
44
+ const rowCount = Math.max(candidate.steps.length, candidate.expectedResults.length);
45
+ if (rowCount === 0) {
42
46
  body += encodeSpreadsheetSafeRow([
43
47
  candidate.id,
44
48
  candidate.title,
@@ -50,7 +54,7 @@ export function adaptToXray(bundle, candidates) {
50
54
  ]);
51
55
  continue;
52
56
  }
53
- for (let i = 0; i < candidate.steps.length; i += 1) {
57
+ for (let i = 0; i < rowCount; i += 1) {
54
58
  const action = candidate.steps[i] ?? "";
55
59
  const result = candidate.expectedResults[i] ?? "";
56
60
  body += encodeSpreadsheetSafeRow([
@@ -1,6 +1,13 @@
1
1
  /**
2
2
  * Collapse embedded line-breaking / tab whitespace in a single field value to one space. Leaves all
3
3
  * other characters (including ordinary spaces and non-ASCII text) untouched.
4
+ *
5
+ * Scope note: this folds ONLY the line-breaking / tab run above — its sole job is to keep a field on
6
+ * one logical line so it cannot break the structure of a line-oriented serializer. It does NOT strip
7
+ * other C0/C1/DEL control characters (NUL, BEL, backspace, …) or bidi/zero-width code points; the
8
+ * line-oriented Markdown / plain-text serializers assume candidate text is already control-clean and
9
+ * redacted by the upstream persist-time redactor (#278/#284), which is the single content-safety
10
+ * chokepoint. This helper is a structural folder, not a content scrubber.
4
11
  */
5
12
  export declare function inlineField(value: string): string;
6
13
  /** Apply {@link inlineField} across a list of field values. */
@@ -1 +1 @@
1
- {"version":3,"file":"textSafety.d.ts","sourceRoot":"","sources":["../../src/export/textSafety.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEhE"}
1
+ {"version":3,"file":"textSafety.d.ts","sourceRoot":"","sources":["../../src/export/textSafety.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEhE"}
@@ -13,6 +13,13 @@ const LINE_BREAKING_RUN = /[\r\n\t\u000b\f\u0085\u2028\u2029]+/gu;
13
13
  /**
14
14
  * Collapse embedded line-breaking / tab whitespace in a single field value to one space. Leaves all
15
15
  * other characters (including ordinary spaces and non-ASCII text) untouched.
16
+ *
17
+ * Scope note: this folds ONLY the line-breaking / tab run above — its sole job is to keep a field on
18
+ * one logical line so it cannot break the structure of a line-oriented serializer. It does NOT strip
19
+ * other C0/C1/DEL control characters (NUL, BEL, backspace, …) or bidi/zero-width code points; the
20
+ * line-oriented Markdown / plain-text serializers assume candidate text is already control-clean and
21
+ * redacted by the upstream persist-time redactor (#278/#284), which is the single content-safety
22
+ * chokepoint. This helper is a structural folder, not a content scrubber.
16
23
  */
17
24
  export function inlineField(value) {
18
25
  return value.replace(LINE_BREAKING_RUN, " ");
@@ -0,0 +1,10 @@
1
+ export declare const GENERATED_CANDIDATE_RESPONSE_MAX_ITEMS = 1024;
2
+ export declare const GENERATED_CANDIDATE_TITLE_MAX_CHARS = 256;
3
+ export declare const GENERATED_CANDIDATE_TEXT_ITEM_MAX_CHARS = 1000;
4
+ export declare const GENERATED_CANDIDATE_TAG_MAX_CHARS = 120;
5
+ export declare const GENERATED_CANDIDATE_PRECONDITION_MAX_ITEMS = 20;
6
+ export declare const GENERATED_CANDIDATE_STEP_MAX_ITEMS = 50;
7
+ export declare const GENERATED_CANDIDATE_EXPECTED_RESULT_MAX_ITEMS = 50;
8
+ export declare const GENERATED_CANDIDATE_TAG_MAX_ITEMS = 30;
9
+ export declare const GENERATED_CANDIDATE_EVIDENCE_INDEX_MAX_ITEMS = 120;
10
+ //# sourceMappingURL=candidateBounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidateBounds.d.ts","sourceRoot":"","sources":["../../src/generation/candidateBounds.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAC3D,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAC5D,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,eAAO,MAAM,0CAA0C,KAAK,CAAC;AAC7D,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,6CAA6C,KAAK,CAAC;AAChE,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,4CAA4C,MAAM,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Shared bounds for model-generated Quality Intelligence candidates.
2
+ //
3
+ // These limits keep generated test cases concise enough for persistence, judge prompts, exports, and
4
+ // UI review while still allowing rich manual test steps. They intentionally mirror the stricter UI
5
+ // projection/edit-route envelope instead of the wider raw-provider payload size.
6
+ export const GENERATED_CANDIDATE_RESPONSE_MAX_ITEMS = 1024;
7
+ export const GENERATED_CANDIDATE_TITLE_MAX_CHARS = 256;
8
+ export const GENERATED_CANDIDATE_TEXT_ITEM_MAX_CHARS = 1000;
9
+ export const GENERATED_CANDIDATE_TAG_MAX_CHARS = 120;
10
+ export const GENERATED_CANDIDATE_PRECONDITION_MAX_ITEMS = 20;
11
+ export const GENERATED_CANDIDATE_STEP_MAX_ITEMS = 50;
12
+ export const GENERATED_CANDIDATE_EXPECTED_RESULT_MAX_ITEMS = 50;
13
+ export const GENERATED_CANDIDATE_TAG_MAX_ITEMS = 30;
14
+ export const GENERATED_CANDIDATE_EVIDENCE_INDEX_MAX_ITEMS = 120;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,+BAA+B,GACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,GACpC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,+BAA+B,GACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,GACpC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC"}
@@ -5,8 +5,9 @@
5
5
  // DETERMINISM-FIRST INVARIANT (Epic #761, Issue #763):
6
6
  // - The structural stages — coverage mapping, deduplication, validation, and candidate-ID
7
7
  // derivation — are 100% deterministic and replayable: `parseGeneratedCandidates` derives every
8
- // candidate id from a content hash (sha256 of run id + ordinal + title), so identical model
9
- // text yields identical ids regardless of model, seed, or sampling temperature.
8
+ // candidate id from a content hash (sha256 of ordinal + title + cited atoms), so identical model
9
+ // text over identical evidence yields identical ids regardless of run id, model, seed, or sampling
10
+ // temperature.
10
11
  // - The model is invoked ONLY to draft candidate text; its output is an attributed delta. The
11
12
  // evidence manifest records which model produced it (`modelId`), the request parameters used
12
13
  // (`modelParameters`, e.g. responseFormat), and the seed (`seedUsed`, null when unsupported).
@@ -1 +1 @@
1
- {"version":3,"file":"parseGeneratedCandidates.d.ts","sourceRoot":"","sources":["../../src/generation/parseGeneratedCandidates.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,KAAK,SAAS,GAAG,mBAAmB,CAAC,oCAAoC,CAAC;AAC1E,KAAK,KAAK,GAAG,mBAAmB,CAAC,wBAAwB,CAAC;AAC1D,KAAK,MAAM,GAAG,mBAAmB,CAAC,iCAAiC,CAAC;AAWpE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA8JD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,OAAO,6BAA6B,KACnC,8BAqBF,CAAC"}
1
+ {"version":3,"file":"parseGeneratedCandidates.d.ts","sourceRoot":"","sources":["../../src/generation/parseGeneratedCandidates.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAYhE,KAAK,SAAS,GAAG,mBAAmB,CAAC,oCAAoC,CAAC;AAC1E,KAAK,KAAK,GAAG,mBAAmB,CAAC,wBAAwB,CAAC;AAC1D,KAAK,MAAM,GAAG,mBAAmB,CAAC,iCAAiC,CAAC;AAWpE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAuPD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,OAAO,6BAA6B,KACnC,8BAqBF,CAAC"}