@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
@@ -12,16 +12,31 @@
12
12
  //
13
13
  // Determinism + model-independence (#755 DoD): emission is pure and model-free, so the same stored
14
14
  // snapshot yields a byte-identical artifact; semantic naming (the only model-augmentation point) is
15
- // additive and absent here, so the structural defaults are used. Evidence-backed: the artifact is
16
- // persisted to the local evidence dir through the reused contained-store seam. Gated: CSRF + a valid
17
- // stored runId. No hidden external effects: nothing leaves the box, the snapshot is never mutated.
15
+ // additive and absent here, so the structural defaults are used. Evidence-backed: the artifact must be
16
+ // persisted to the local evidence dir through the reused contained-store seam before the route returns
17
+ // success. Gated: CSRF + host-check + a valid stored runId (the dispatch layer enforces the
18
+ // state-changing-request guard for this POST). No hidden external effects: nothing leaves the box, the
19
+ // snapshot is never mutated.
20
+ //
21
+ // Cancellable (#755 AC2): for the first slice this is moot by construction — the handler is a
22
+ // synchronous, pure, microsecond computation with no run-registry entry, no model call, no streaming,
23
+ // and no long-running external work to abort; a client disconnect simply drops the response. When a
24
+ // future slice wires the SemanticNamingProvider to a gateway model call, that injected port is where
25
+ // an AbortSignal threads through — no structural change to this route is required.
18
26
  import { createNodeContainedJsonArtifactStore, createNodeFigmaSnapshotStore, } from "@oscharko-dev/keiko-evidence";
19
27
  import { QualityIntelligenceFigma } from "@oscharko-dev/keiko-quality-intelligence";
20
28
  const FIGMA_CODEGEN_SUFFIX = ".figma-codegen.json";
21
29
  const FIGMA_CODEGEN_SCHEMA_VERSION = 1;
30
+ const MAX_CODEGEN_SCREENS = 80;
31
+ const MAX_CODEGEN_FILES = MAX_CODEGEN_SCREENS + 2;
32
+ const MAX_CODEGEN_FILE_BYTES = 1024 * 1024;
33
+ const MAX_CODEGEN_TOTAL_BYTES = 5 * 1024 * 1024;
22
34
  const errorBody = (code, message) => ({
23
35
  error: { code, message },
24
36
  });
37
+ function codegenTooLarge(message) {
38
+ return { status: 413, body: errorBody("FIGMA_CODEGEN_TOO_LARGE", message) };
39
+ }
25
40
  // Re-hydrate the deterministic emission input from the stored snapshot. Unparseable screens are
26
41
  // dropped (never crash). Links → nav graph → routing hints feed the adapter's screen-to-screen wiring.
27
42
  function emissionInputFromRecord(record) {
@@ -43,22 +58,34 @@ function emissionInputFromRecord(record) {
43
58
  return { screens, tokens, hints: QualityIntelligenceFigma.deriveRoutingHints(graph) };
44
59
  }
45
60
  function persistArtifact(evidenceDir, artifact) {
46
- // Evidence-backed (#755): the reviewable artifact is written through the reused contained-store
47
- // seam. Best-effort a failed evidence write must not fail the (already-computed) reviewable
48
- // response, so the caller still returns the code; the persist is the durability layer.
49
- try {
50
- createNodeContainedJsonArtifactStore(evidenceDir, FIGMA_CODEGEN_SUFFIX, {
51
- parse: (value) => typeof value === "object" &&
52
- value !== null &&
53
- value.figmaCodegenSchemaVersion ===
54
- FIGMA_CODEGEN_SCHEMA_VERSION
55
- ? value
56
- : undefined,
57
- }).record(artifact.runId, artifact);
61
+ // Evidence-backed (#755): the reviewable artifact is written through the reused contained-store seam.
62
+ // Fail closed when the companion cannot be written; otherwise the route could return generated code
63
+ // with no durable evidence record.
64
+ createNodeContainedJsonArtifactStore(evidenceDir, FIGMA_CODEGEN_SUFFIX, {
65
+ parse: (value) => typeof value === "object" &&
66
+ value !== null &&
67
+ value.figmaCodegenSchemaVersion ===
68
+ FIGMA_CODEGEN_SCHEMA_VERSION
69
+ ? value
70
+ : undefined,
71
+ }).record(artifact.runId, artifact);
72
+ }
73
+ function summarizeArtifact(artifact) {
74
+ if (artifact.files.length > MAX_CODEGEN_FILES) {
75
+ return codegenTooLarge("The generated code artifact contains too many files to review safely.");
58
76
  }
59
- catch {
60
- // swallow: the response below is the source of truth for the operator's review.
77
+ let totalBytes = 0;
78
+ for (const file of artifact.files) {
79
+ const fileBytes = Buffer.byteLength(file.contents, "utf8");
80
+ if (fileBytes > MAX_CODEGEN_FILE_BYTES) {
81
+ return codegenTooLarge("A generated code file is too large to review safely.");
82
+ }
83
+ totalBytes += fileBytes;
84
+ if (totalBytes > MAX_CODEGEN_TOTAL_BYTES) {
85
+ return codegenTooLarge("The generated code artifact is too large to review safely.");
86
+ }
61
87
  }
88
+ return { totalBytes };
62
89
  }
63
90
  // ─── POST /api/figma/snapshots/:runId/code ─────────────────────────────────────
64
91
  // Resolve evidenceDir + runId, load + 404 the stored snapshot, or return a coded RouteResult.
@@ -104,20 +131,33 @@ export function handleFigmaGenerateCode(ctx, deps) {
104
131
  body: errorBody("FIGMA_CODEGEN_NO_SCREENS", "The snapshot has no usable screen to generate code from."),
105
132
  };
106
133
  }
134
+ if (input.screens.length > MAX_CODEGEN_SCREENS) {
135
+ return codegenTooLarge("The snapshot contains too many screens to generate code safely.");
136
+ }
107
137
  const artifact = QualityIntelligenceFigma.emitCode(input, QualityIntelligenceFigma.htmlCssAdapter);
138
+ const artifactSummary = summarizeArtifact(artifact);
139
+ if ("status" in artifactSummary)
140
+ return artifactSummary;
108
141
  const persisted = {
109
142
  figmaCodegenSchemaVersion: FIGMA_CODEGEN_SCHEMA_VERSION,
110
143
  runId,
111
144
  adapterName: artifact.adapterName,
112
145
  files: artifact.files,
113
146
  };
114
- persistArtifact(evidenceDir, persisted);
115
- const totalBytes = artifact.files.reduce((sum, f) => sum + Buffer.byteLength(f.contents), 0);
147
+ try {
148
+ persistArtifact(evidenceDir, persisted);
149
+ }
150
+ catch {
151
+ return {
152
+ status: 500,
153
+ body: errorBody("FIGMA_INTERNAL", "The code artifact could not be persisted as evidence."),
154
+ };
155
+ }
116
156
  const response = {
117
157
  runId,
118
158
  adapterName: artifact.adapterName,
119
159
  fileCount: artifact.files.length,
120
- totalBytes,
160
+ totalBytes: artifactSummary.totalBytes,
121
161
  screenCount: input.screens.length,
122
162
  files: artifact.files,
123
163
  };
@@ -1,4 +1,4 @@
1
- import { type FigmaSnapshotRecord } from "@oscharko-dev/keiko-evidence";
1
+ import { type FigmaSnapshotImageRef, type FigmaSnapshotRecord } from "@oscharko-dev/keiko-evidence";
2
2
  import type { UiHandlerDeps } from "../deps.js";
3
3
  /** Loads an immutable Figma Snapshot evidence record by runId. Returns `undefined` when not found. */
4
4
  export type FigmaSnapshotLoader = (snapshotRunId: string) => FigmaSnapshotRecord | undefined;
@@ -21,8 +21,10 @@ export interface FigmaSnapshotLoaderOptions {
21
21
  export declare function makeFigmaSnapshotLoader(deps: UiHandlerDeps, options?: FigmaSnapshotLoaderOptions): FigmaSnapshotLoader | undefined;
22
22
  /** The image-derived semantics a multimodal model recovered for one screen, as additive hints. */
23
23
  export interface FigmaVisionScreenRequest {
24
+ readonly snapshotRunId: string;
24
25
  readonly screenId: string;
25
26
  /** The image side-file reference recorded in the snapshot (relative path + sha256). */
27
+ readonly image: FigmaSnapshotImageRef;
26
28
  readonly imageRelativePath: string;
27
29
  /** The deterministic baseline text, supplied so the model cross-checks rather than re-derives. */
28
30
  readonly baselineText: string;
@@ -32,13 +34,16 @@ export interface FigmaVisionScreenRequest {
32
34
  * The contract is total: it NEVER throws and NEVER returns a value that could override the IR — the
33
35
  * caller appends the hints below the baseline.
34
36
  */
35
- export type FigmaVisionHintProvider = (request: FigmaVisionScreenRequest) => readonly string[];
37
+ export type FigmaVisionHintProvider = (request: FigmaVisionScreenRequest) => readonly string[] | Promise<readonly string[]>;
36
38
  /**
37
39
  * A raw vision call: given a screen request and the selected model id, return image-derived hint
38
- * strings. Injected so this module imports no provider SDK and stays testable. Absent in production
39
- * until the multimodal port lands (#810 follow-up) its absence is exactly the IR-only path.
40
+ * strings. Injectable so tests can keep the provider deterministic; production defaults to the
41
+ * server-owned evidence-store + Model Gateway port below. Absence is exactly the IR-only path.
40
42
  */
41
- export type FigmaVisionCall = (request: FigmaVisionScreenRequest, modelId: string) => readonly string[];
43
+ export type FigmaVisionCall = (request: FigmaVisionScreenRequest, modelId: string) => readonly string[] | Promise<readonly string[]>;
44
+ export interface FigmaVisionHintProviderOptions {
45
+ readonly onGatewayCallAttempt?: (() => void) | undefined;
46
+ }
42
47
  /**
43
48
  * Build a capability-routed vision hint provider. When no multimodal capability is configured (or no
44
49
  * `visionCall` is injected), every request returns `[]` — the deterministic IR-only baseline path.
@@ -46,5 +51,5 @@ export type FigmaVisionCall = (request: FigmaVisionScreenRequest, modelId: strin
46
51
  * garbage result is swallowed to `[]` so a misbehaving model can never break the run or override the
47
52
  * structural baseline. No model id is hard-coded — selection is via `resolveQiMultimodalSelection`.
48
53
  */
49
- export declare function makeFigmaVisionHintProvider(deps: UiHandlerDeps, visionCall?: FigmaVisionCall): FigmaVisionHintProvider;
54
+ export declare function makeFigmaVisionHintProvider(deps: UiHandlerDeps, visionCall?: FigmaVisionCall, options?: FigmaVisionHintProviderOptions): FigmaVisionHintProvider;
50
55
  //# sourceMappingURL=figmaSnapshotAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"figmaSnapshotAdapter.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/figmaSnapshotAdapter.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,sGAAsG;AACtG,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAE7F,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,0BAA0B,GACnC,mBAAmB,GAAG,SAAS,CA0BjC;AAED,kGAAkG;AAClG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,kGAAkG;IAClG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,SAAS,MAAM,EAAE,CAAC;AAE/F;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,MAAM,KACZ,SAAS,MAAM,EAAE,CAAC;AAOvB;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,aAAa,EACnB,UAAU,CAAC,EAAE,eAAe,GAC3B,uBAAuB,CAazB"}
1
+ {"version":3,"file":"figmaSnapshotAdapter.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/figmaSnapshotAdapter.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,sGAAsG;AACtG,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAE7F,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,0BAA0B,GACnC,mBAAmB,GAAG,SAAS,CA0BjC;AAED,kGAAkG;AAClG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,kGAAkG;IAClG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,wBAAwB,KAC9B,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,MAAM,KACZ,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAEpD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1D;AAsKD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,aAAa,EACnB,UAAU,CAAC,EAAE,eAAe,EAC5B,OAAO,GAAE,8BAAmC,GAC3C,uBAAuB,CAiBzB"}
@@ -9,11 +9,13 @@
9
9
  //
10
10
  // 2. The capability-routed VISION hint provider — consults `resolveQiMultimodalSelection` (#810)
11
11
  // to decide whether a multimodal model is available; when one is, it MAY call an injected
12
- // `visionCall` to recover image-derived semantics, returning them as additive hints. There is
12
+ // server-owned vision call to recover image-derived semantics from the STORED render side-file,
13
+ // returning them as additive hints. There is
13
14
  // NO hard-coded model id. On "unavailable", a thrown call, or a non-array/garbage result the
14
15
  // provider returns `[]`, so the source degrades silently to the deterministic IR-only baseline.
15
- // No model port is wired here yet, so the default provider is IR-only by construction — the
16
- // seam is ready for the multimodal port without any further refactor of the ingestion path.
16
+ // The call goes through deps.modelPortFactory / Model Gateway only no provider SDK and no
17
+ // Figma egress after snapshot build.
18
+ import { Buffer } from "node:buffer";
17
19
  import { createNodeFigmaSnapshotStore, } from "@oscharko-dev/keiko-evidence";
18
20
  import { resolveQiMultimodalSelection } from "./modelSelection.js";
19
21
  /**
@@ -48,11 +50,143 @@ export function makeFigmaSnapshotLoader(deps, options) {
48
50
  }
49
51
  };
50
52
  }
53
+ const MAX_VISION_IMAGE_BYTES = 4 * 1024 * 1024;
54
+ const MAX_VISION_BASELINE_BYTES = 12_000;
55
+ const MAX_VISION_HINTS = 24;
56
+ const FIGMA_VISION_TIMEOUT_MS = 30_000;
57
+ const encoder = new TextEncoder();
58
+ function utf8ByteLength(value) {
59
+ return encoder.encode(value).length;
60
+ }
61
+ function truncateUtf8(value, maxBytes) {
62
+ if (utf8ByteLength(value) <= maxBytes)
63
+ return value;
64
+ let out = "";
65
+ let bytes = 0;
66
+ for (const cp of value) {
67
+ const cpBytes = utf8ByteLength(cp);
68
+ if (bytes + cpBytes > maxBytes)
69
+ break;
70
+ out += cp;
71
+ bytes += cpBytes;
72
+ }
73
+ return out;
74
+ }
75
+ function redactedString(deps, value) {
76
+ const redacted = deps.redactor(value);
77
+ return typeof redacted === "string" ? redacted : "";
78
+ }
51
79
  function sanitiseCallResult(value) {
52
80
  if (!Array.isArray(value))
53
81
  return [];
54
82
  return value.filter((entry) => typeof entry === "string");
55
83
  }
84
+ function parseHintResponse(raw) {
85
+ const trimmed = raw.trim();
86
+ if (trimmed.length === 0)
87
+ return [];
88
+ try {
89
+ const parsed = JSON.parse(trimmed);
90
+ if (Array.isArray(parsed))
91
+ return sanitiseCallResult(parsed).slice(0, MAX_VISION_HINTS);
92
+ if (typeof parsed === "object" &&
93
+ parsed !== null &&
94
+ Array.isArray(parsed.hints)) {
95
+ return sanitiseCallResult(parsed.hints).slice(0, MAX_VISION_HINTS);
96
+ }
97
+ }
98
+ catch {
99
+ return [];
100
+ }
101
+ return [];
102
+ }
103
+ function visionUserText(request, baselineText) {
104
+ return (`Screen id: ${request.screenId}\n` +
105
+ "Structural baseline, already authoritative:\n" +
106
+ `${baselineText}\n\n` +
107
+ "Return only visual/semantic hints that are absent from the baseline.");
108
+ }
109
+ function buildVisionRequest(request, modelId, dataUrl, baselineText, structuredOutput) {
110
+ const userText = visionUserText(request, baselineText);
111
+ return {
112
+ modelId,
113
+ messages: [
114
+ {
115
+ role: "system",
116
+ content: "You are an additive UI test-generation vision pass. Use the image only to recover " +
117
+ "semantics missing from the structural baseline. Do not contradict, replace, or restate " +
118
+ "the baseline. Return concise JSON: an array of strings.",
119
+ },
120
+ {
121
+ role: "user",
122
+ content: userText,
123
+ contentParts: [
124
+ { type: "text", text: userText },
125
+ { type: "image_url", image_url: { url: dataUrl } },
126
+ ],
127
+ },
128
+ ],
129
+ ...(structuredOutput
130
+ ? {
131
+ responseFormat: {
132
+ type: "json_schema",
133
+ schema: {
134
+ type: "array",
135
+ items: { type: "string" },
136
+ maxItems: MAX_VISION_HINTS,
137
+ },
138
+ },
139
+ }
140
+ : {}),
141
+ };
142
+ }
143
+ function createVisionAbortSignal() {
144
+ const controller = new AbortController();
145
+ const timeout = setTimeout(() => {
146
+ controller.abort();
147
+ }, FIGMA_VISION_TIMEOUT_MS);
148
+ return {
149
+ signal: controller.signal,
150
+ cleanup: () => {
151
+ clearTimeout(timeout);
152
+ },
153
+ };
154
+ }
155
+ function makeGatewayFigmaVisionCall(deps, options) {
156
+ const evidenceDir = deps.evidenceDir;
157
+ if (evidenceDir === undefined || evidenceDir.length === 0)
158
+ return undefined;
159
+ const store = createNodeFigmaSnapshotStore(evidenceDir);
160
+ // Capture the structured-output flag once at closure-creation, not per screen. The multimodal
161
+ // selection is stable for the lifetime of the provider (deps is immutable after server init),
162
+ // so re-calling resolveQiMultimodalSelection on every vision call is redundant work.
163
+ const closureSelection = resolveQiMultimodalSelection(deps);
164
+ const closureModelSelection = closureSelection.kind === "model" ? closureSelection : undefined;
165
+ return async (request, modelId) => {
166
+ if (request.image.byteLength > MAX_VISION_IMAGE_BYTES)
167
+ return [];
168
+ const model = deps.modelPortFactory(modelId);
169
+ if (model === undefined)
170
+ return [];
171
+ const image = store.loadImage(request.snapshotRunId, request.image);
172
+ if (image.byteLength > MAX_VISION_IMAGE_BYTES)
173
+ return [];
174
+ const dataUrl = `data:${image.mimeType};base64,${Buffer.from(image.bytes).toString("base64")}`;
175
+ const baselineText = truncateUtf8(redactedString(deps, request.baselineText), MAX_VISION_BASELINE_BYTES);
176
+ const structuredOutput = closureModelSelection?.modelId === modelId &&
177
+ closureModelSelection.capability.supportsResponseFormat === true;
178
+ const gatewayRequest = buildVisionRequest(request, modelId, dataUrl, baselineText, structuredOutput);
179
+ const abort = createVisionAbortSignal();
180
+ try {
181
+ options.onGatewayCallAttempt?.();
182
+ const response = await model.call(gatewayRequest, abort.signal);
183
+ return parseHintResponse(redactedString(deps, response.content));
184
+ }
185
+ finally {
186
+ abort.cleanup();
187
+ }
188
+ };
189
+ }
56
190
  /**
57
191
  * Build a capability-routed vision hint provider. When no multimodal capability is configured (or no
58
192
  * `visionCall` is injected), every request returns `[]` — the deterministic IR-only baseline path.
@@ -60,15 +194,19 @@ function sanitiseCallResult(value) {
60
194
  * garbage result is swallowed to `[]` so a misbehaving model can never break the run or override the
61
195
  * structural baseline. No model id is hard-coded — selection is via `resolveQiMultimodalSelection`.
62
196
  */
63
- export function makeFigmaVisionHintProvider(deps, visionCall) {
197
+ export function makeFigmaVisionHintProvider(deps, visionCall, options = {}) {
198
+ const resolvedVisionCall = visionCall ?? makeGatewayFigmaVisionCall(deps, options);
64
199
  const selection = resolveQiMultimodalSelection(deps);
65
- if (selection.kind === "unavailable" || visionCall === undefined) {
200
+ if (selection.kind === "unavailable" || resolvedVisionCall === undefined) {
66
201
  return () => [];
67
202
  }
68
203
  const { modelId } = selection;
69
204
  return (request) => {
70
205
  try {
71
- return sanitiseCallResult(visionCall(request, modelId));
206
+ const result = resolvedVisionCall(request, modelId);
207
+ return typeof result.then === "function"
208
+ ? Promise.resolve(result).then(sanitiseCallResult, () => [])
209
+ : sanitiseCallResult(result);
72
210
  }
73
211
  catch {
74
212
  return [];
@@ -10,8 +10,17 @@ export interface GovernedSnapshotDeps {
10
10
  readonly now: string;
11
11
  /** When true, record the read-only-scope acknowledgement before the fetch (operator consent). */
12
12
  readonly acknowledgeReadOnly?: boolean;
13
+ /**
14
+ * Route orchestration sets this true so `snapshot`/`resnapshot` success is audited only after the
15
+ * evidence record has been durably persisted and reloaded.
16
+ */
17
+ readonly deferSuccessAudit?: boolean;
13
18
  /** Deep scoped-pagination overrides (#837). */
14
19
  readonly pagination?: Partial<ScopedPaginationLimits>;
20
+ /** Optional pinned Figma file version. When present it is sent to the scoped REST fetch. */
21
+ readonly version?: string | undefined;
22
+ /** Optional Keiko config PAT alternate (#751). Vault remains higher precedence. */
23
+ readonly configToken?: string | undefined;
15
24
  /** Shared enterprise egress settings for Figma API + render downloads (#802). */
16
25
  readonly egress?: OutboundHttpEgressConfig | undefined;
17
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"figmaSnapshotOrchestration.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/figmaSnapshotOrchestration.ts"],"names":[],"mappings":"AAeA,OAAO,EAOL,qBAAqB,EAQrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAKhG,KAAK,cAAc,GAAG,wBAAwB,CAAC,cAAc,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtD,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;CAC/C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAMD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,oBAAoB,KAAG,MAAM,GAAG,SAWzE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,GAC7B,MAAM,IAAI,CAAC,oBAAoB,EAAE,KAAK,GAAG,aAAa,GAAG,gBAAgB,CAAC,KACzE,UAAU,CAAC,OAAO,qBAAqB,CAOzC,CAAC;AAqDF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,MAAM,EACjB,MAAM,oBAAoB,EAC1B,sBAAoB,KACnB,OAAO,CAAC,sBAAsB,CAmDhC,CAAC"}
1
+ {"version":3,"file":"figmaSnapshotOrchestration.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/figmaSnapshotOrchestration.ts"],"names":[],"mappings":"AAeA,OAAO,EAOL,qBAAqB,EAUrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAKhG,KAAK,cAAc,GAAG,wBAAwB,CAAC,cAAc,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtD,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;CAC/C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAMD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,oBAAoB,KAAG,MAAM,GAAG,SAWzE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,GAC7B,MAAM,IAAI,CAAC,oBAAoB,EAAE,KAAK,GAAG,aAAa,GAAG,gBAAgB,CAAC,KACzE,UAAU,CAAC,OAAO,qBAAqB,CAOzC,CAAC;AAsJF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,MAAM,EACjB,MAAM,oBAAoB,EAC1B,sBAAoB,KACnB,OAAO,CAAC,sBAAsB,CA+ChC,CAAC"}
@@ -12,7 +12,7 @@
12
12
  // The vault degrades gracefully — an unconfigured vault yields `undefined` and the build falls back to
13
13
  // the config/env token, so the existing env-auth path keeps working unchanged.
14
14
  import { join } from "node:path";
15
- import { appendFigmaConnectorAudit, assertReadOnlyConsent, buildFigmaSnapshot, createDefaultFigmaHttpPort, createDefaultFigmaRenderPort, createFigmaConnector, createFigmaTokenStore, deriveFigmaScopeRef, FigmaConnectorError, observeFigmaSnapshot, parseFigmaTarget, recordReadOnlyConsent, resolveFigmaToken, resolveFigmaVaultKey, } from "./figma/index.js";
15
+ import { appendFigmaConnectorAudit, assertReadOnlyConsent, buildFigmaSnapshot, createDefaultFigmaHttpPort, createDefaultFigmaRenderPort, createFigmaConnector, createFigmaTokenStore, deriveFigmaScopeRef, FigmaConnectorError, loadFigmaConnectorAudit, observeFigmaSnapshot, parseFigmaTarget, recordReadOnlyConsent, resolveFigmaToken, resolveScopedPaginationLimits, resolveFigmaVaultKey, } from "./figma/index.js";
16
16
  import { QualityIntelligenceFigma } from "@oscharko-dev/keiko-quality-intelligence";
17
17
  const FIGMA_VAULT_SUBDIR = "figma";
18
18
  const FIGMA_TOKEN_VAULT_FILE = "figma-token.vault";
@@ -38,34 +38,92 @@ export const figmaTokenStoreFor = (deps) => {
38
38
  return createFigmaTokenStore({ key, storePath: tokenVaultPath(deps.evidenceDir) });
39
39
  };
40
40
  // Count deterministic a11y findings (#812) on the cleaned IR — the metric the #760 audit surfaces.
41
- // Coverage-notice items are excluded: they record what could NOT be checked, not a finding.
41
+ // Passing checks, generic expectations, and coverage notices are excluded: they record test cases or
42
+ // unverified coverage, not confirmed a11y findings.
42
43
  const a11yFindingsCount = (ir) => {
43
44
  let count = 0;
44
45
  for (const items of QualityIntelligenceFigma.deriveA11yTestItemsByScreen(ir.screens).values()) {
45
46
  for (const item of items)
46
- if (item.category === "a11y")
47
+ if (item.category === "a11y" && item.outcome === "fail")
47
48
  count += 1;
48
49
  }
49
50
  return count;
50
51
  };
52
+ const hasSuccessfulConnectAudit = (scopeRef, evidenceDir) => loadFigmaConnectorAudit(scopeRef, evidenceDir)?.auditLog.some((entry) => entry.action === "connect" && entry.outcome === "ok") === true;
51
53
  // Record (when acknowledged) and assert read-only-scope consent BEFORE any token materialisation or
52
54
  // egress — an unconsented scope never reaches Figma (#760). Throws FIGMA_CONSENT_REQUIRED if missing.
53
55
  const gateConsent = (deps, scopeRef) => {
54
56
  if (deps.acknowledgeReadOnly === true) {
57
+ // The first acknowledgement IS the operator's "connect" gesture. Guard on the audit ledger, not
58
+ // only on consent existence: if consent was written but the audit append failed, an acknowledged
59
+ // retry must repair the missing connect marker rather than suppressing it forever.
60
+ const needsConnectAudit = !hasSuccessfulConnectAudit(scopeRef, deps.evidenceDir);
55
61
  recordReadOnlyConsent({
56
62
  scopeRef,
57
63
  evidenceDir: deps.evidenceDir,
58
64
  acknowledgedBy: "operator",
59
65
  now: deps.now,
60
66
  });
67
+ if (needsConnectAudit) {
68
+ appendFigmaConnectorAudit({
69
+ scopeRef,
70
+ evidenceDir: deps.evidenceDir,
71
+ action: "connect",
72
+ outcome: "ok",
73
+ now: deps.now,
74
+ });
75
+ }
61
76
  }
62
77
  assertReadOnlyConsent(scopeRef, deps.evidenceDir);
63
78
  };
79
+ function snapshotPorts(deps) {
80
+ return {
81
+ httpPort: deps.httpPort ?? createDefaultFigmaHttpPort(deps.egress, undefined, deps.portOptions),
82
+ renderPort: deps.renderPort ?? createDefaultFigmaRenderPort(deps.egress, undefined, deps.portOptions),
83
+ };
84
+ }
85
+ function resolveBuildToken(deps, vaultToken) {
86
+ return resolveFigmaToken({
87
+ vaultToken,
88
+ configToken: deps.configToken,
89
+ envToken: deps.env.FIGMA_ACCESS_TOKEN,
90
+ });
91
+ }
92
+ function createGovernedConnector(deps, httpPort, vaultToken) {
93
+ return createFigmaConnector({
94
+ http: httpPort,
95
+ env: deps.env,
96
+ ...(vaultToken !== undefined ? { vaultToken } : {}),
97
+ config: {
98
+ ...(deps.configToken !== undefined ? { accessToken: deps.configToken } : {}),
99
+ pagination: deps.pagination ?? {},
100
+ },
101
+ });
102
+ }
103
+ function auditedResolveBuildToken(deps, vaultToken, scopeRef, action) {
104
+ try {
105
+ return resolveBuildToken(deps, vaultToken);
106
+ }
107
+ catch (error) {
108
+ appendFigmaConnectorAudit({
109
+ scopeRef,
110
+ evidenceDir: deps.evidenceDir,
111
+ action,
112
+ outcome: "error",
113
+ errorCode: error instanceof FigmaConnectorError ? error.code : "FIGMA_INTERNAL",
114
+ now: deps.now,
115
+ });
116
+ throw error;
117
+ }
118
+ }
64
119
  // Deep scoped fetch with audit-on-failure: a fetch failure is recorded as a coded audit entry before
65
120
  // it propagates, so the audit ledger captures the action even when the egress never produced a build.
66
121
  const auditedDeepFetch = async (connector, boardLink, deps, scopeRef, action) => {
67
122
  try {
68
- return await connector.fetchScopedNodesDeep(boardLink, { fetchedAt: deps.now });
123
+ return await connector.fetchScopedNodesDeep(boardLink, {
124
+ fetchedAt: deps.now,
125
+ ...(deps.version !== undefined ? { version: deps.version } : {}),
126
+ });
69
127
  }
70
128
  catch (error) {
71
129
  appendFigmaConnectorAudit({
@@ -79,6 +137,19 @@ const auditedDeepFetch = async (connector, boardLink, deps, scopeRef, action) =>
79
137
  throw error;
80
138
  }
81
139
  };
140
+ const assertReadyForSnapshot = (scoped, deps, scopeRef, action) => {
141
+ if (scoped.readiness.ready)
142
+ return;
143
+ appendFigmaConnectorAudit({
144
+ scopeRef,
145
+ evidenceDir: deps.evidenceDir,
146
+ action,
147
+ outcome: "error",
148
+ errorCode: "FIGMA_NOT_READY",
149
+ now: deps.now,
150
+ });
151
+ throw new FigmaConnectorError("FIGMA_NOT_READY");
152
+ };
82
153
  /**
83
154
  * Run the governed snapshot-build for `boardLink`: resolve the vault>config>env PAT, gate on recorded
84
155
  * read-only consent BEFORE any Figma egress, perform the deep scoped-pagination fetch + render, and
@@ -91,21 +162,17 @@ export const governedSnapshotBuild = async (boardLink, deps, isResnapshot = fals
91
162
  if (target === null)
92
163
  throw new FigmaConnectorError("FIGMA_MALFORMED_URL");
93
164
  const scopeRef = deriveFigmaScopeRef(target.fileKey, target.nodeId);
94
- const httpPort = deps.httpPort ?? createDefaultFigmaHttpPort(deps.egress, undefined, deps.portOptions);
95
- const renderPort = deps.renderPort ?? createDefaultFigmaRenderPort(deps.egress, undefined, deps.portOptions);
96
- const vaultToken = readFigmaVaultToken(deps);
165
+ const { httpPort, renderPort } = snapshotPorts(deps);
166
+ const action = isResnapshot ? "resnapshot" : "snapshot";
97
167
  gateConsent(deps, scopeRef);
168
+ const vaultToken = readFigmaVaultToken(deps);
98
169
  // Render-token (vault > config > env). Throws FIGMA_TOKEN_MISSING when nothing is configured.
99
- const token = resolveFigmaToken({ vaultToken, envToken: deps.env.FIGMA_ACCESS_TOKEN });
100
- const connector = createFigmaConnector({
101
- http: httpPort,
102
- env: deps.env,
103
- ...(vaultToken !== undefined ? { vaultToken } : {}),
104
- config: { pagination: deps.pagination ?? {} },
105
- });
106
- const action = isResnapshot ? "resnapshot" : "snapshot";
170
+ const token = auditedResolveBuildToken(deps, vaultToken, scopeRef, action);
171
+ const connector = createGovernedConnector(deps, httpPort, vaultToken);
107
172
  const scoped = await auditedDeepFetch(connector, boardLink, deps, scopeRef, action);
173
+ assertReadyForSnapshot(scoped, deps, scopeRef, action);
108
174
  const ir = QualityIntelligenceFigma.cleanScopedNodesToScreenIr(scoped.nodes);
175
+ const renderLimits = resolveScopedPaginationLimits(deps.pagination);
109
176
  const observed = await observeFigmaSnapshot({
110
177
  ctx: { evidenceDir: deps.evidenceDir, now: deps.now },
111
178
  provenance: scoped.provenance,
@@ -115,12 +182,14 @@ export const governedSnapshotBuild = async (boardLink, deps, isResnapshot = fals
115
182
  augmentation: { deterministic: 0, modelAugmented: 0 },
116
183
  extras: { a11yFindings: a11yFindingsCount(ir) },
117
184
  isResnapshot,
185
+ auditSuccess: deps.deferSuccessAudit !== true,
118
186
  run: () => buildFigmaSnapshot({
119
187
  ir,
120
188
  provenance: scoped.provenance,
121
189
  token,
122
190
  imagesPort: httpPort,
123
191
  renderPort,
192
+ maxScreensRendered: renderLimits.maxScreensDeep,
124
193
  }),
125
194
  });
126
195
  return {
@@ -1,6 +1,7 @@
1
- import type { RouteContext, RouteResult } from "../routes.js";
1
+ import { type HandlerOutcome, type RouteContext, type RouteResult } from "../routes.js";
2
2
  import { type UiHandlerDeps } from "../deps.js";
3
- import { type FigmaConnectorMetrics, type FigmaScopeCoverage } from "./figma/index.js";
3
+ import type { EnvSource } from "@oscharko-dev/keiko-security";
4
+ import { type FigmaConnectorMetrics, type FigmaScopeCoverage, type ScopedPaginationLimits } from "./figma/index.js";
4
5
  export interface FigmaSnapshotSummary {
5
6
  readonly runId: string;
6
7
  readonly fileKey: string;
@@ -25,16 +26,15 @@ export interface FigmaSnapshotSummary {
25
26
  */
26
27
  readonly coverage?: FigmaScopeCoverage;
27
28
  /**
28
- * Operational metrics (#760) — present on a freshly-built snapshot (POST response): reduction
29
+ * Operational metrics (#760) — present on POST and reloaded GET summaries: reduction
29
30
  * ratio, screen/render counts, design-token count, navigation-graph size (screens + transitions),
30
31
  * a11y-finding count, and the deterministic-vs-model augmentation share. All NUMBERS — never any
31
- * board content, screen name, token, or board id. Build-time only; not persisted in the snapshot.
32
+ * board content, screen name, token, or board id.
32
33
  */
33
34
  readonly metrics?: FigmaConnectorMetrics;
34
35
  /**
35
- * Per-screen summary for the UI gallery. IR display names + image metadata only.
36
- * PNG bytes are NOT returned — the client shows a placeholder pending a future
37
- * screen-image route (/{runId}/screens/:index).
36
+ * Per-screen summary for the UI gallery. IR display names + image metadata only. The client loads
37
+ * the token-free PNG side-file through /api/figma/snapshots/:runId/screens/:screenIndex/image.
38
38
  */
39
39
  readonly screens: readonly FigmaScreenSummary[];
40
40
  }
@@ -51,6 +51,7 @@ export interface FigmaScreenSummary {
51
51
  /** Byte size of the rendered PNG. */
52
52
  readonly imageByteLength: number;
53
53
  }
54
+ export declare function figmaPaginationFromEnv(env: EnvSource): ScopedPaginationLimits;
54
55
  interface CoalescedBuildEntry {
55
56
  readonly promise: Promise<RouteResult>;
56
57
  }
@@ -61,5 +62,6 @@ export declare function resetInFlightMap(): void;
61
62
  export declare function handleFigmaTriggerSnapshot(ctx: RouteContext, deps: UiHandlerDeps, inFlight?: Map<string, CoalescedBuildEntry>): Promise<RouteResult>;
62
63
  export declare function handleFigmaRevokeToken(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
63
64
  export declare function handleFigmaLoadSnapshot(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
65
+ export declare function handleFigmaLoadSnapshotImage(ctx: RouteContext, deps: UiHandlerDeps): HandlerOutcome;
64
66
  export {};
65
67
  //# sourceMappingURL=figmaSnapshotRoutes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"figmaSnapshotRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/figmaSnapshotRoutes.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAOL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAoI1B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2FAA2F;IAC3F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAgOD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACxC;AAMD,sEAAsE;AACtE,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAElE;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAmED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAsB,GAC9D,OAAO,CAAC,WAAW,CAAC,CAqCtB;AAID,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA4B1F;AAID,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAwB3F"}
1
+ {"version":3,"file":"figmaSnapshotRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/figmaSnapshotRoutes.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACnG,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EASL,KAAK,qBAAqB,EAE1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AA2I1B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2FAA2F;IAC3F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AA+MD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,sBAAsB,CAiB7E;AA8GD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACxC;AAMD,sEAAsE;AACtE,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAElE;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AA6FD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAsB,GAC9D,OAAO,CAAC,WAAW,CAAC,CAiDtB;AAID,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA4B1F;AAID,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAwB3F;AAiCD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,cAAc,CAgChB"}