@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
@@ -8,6 +8,7 @@
8
8
  // (mirrors reviewRoutes); the body is capped at 16KB and every field is validated before persist.
9
9
  import { applyQualityIntelligenceCandidateEdit, loadQualityIntelligenceRun, } from "@oscharko-dev/keiko-evidence";
10
10
  import { QualityIntelligence, } from "@oscharko-dev/keiko-contracts";
11
+ import { normaliseCandidateText } from "@oscharko-dev/keiko-quality-intelligence";
11
12
  import { appendEditAudit, candidateReviewStateOf, loadRunReviewState } from "./reviewStore.js";
12
13
  const MAX_BODY_BYTES = 16 * 1024;
13
14
  const MAX_TITLE_LEN = 256;
@@ -18,17 +19,23 @@ const RISK_CLASSES = new Set(QualityIntelligence.QUALITY_INTELLIGENCE_RISK_CLASS
18
19
  const readBody = (req) => new Promise((resolve, reject) => {
19
20
  const chunks = [];
20
21
  let total = 0;
22
+ let capped = false;
21
23
  req.on("data", (chunk) => {
22
24
  total += chunk.length;
23
25
  if (total > MAX_BODY_BYTES) {
24
- reject(new Error("body too large"));
25
- req.resume();
26
+ if (!capped) {
27
+ capped = true;
28
+ chunks.length = 0;
29
+ reject(new Error("body too large"));
30
+ req.resume();
31
+ }
26
32
  return;
27
33
  }
28
34
  chunks.push(chunk);
29
35
  });
30
36
  req.on("end", () => {
31
- resolve(Buffer.concat(chunks).toString("utf8"));
37
+ if (!capped)
38
+ resolve(Buffer.concat(chunks).toString("utf8"));
32
39
  });
33
40
  req.on("error", reject);
34
41
  });
@@ -75,16 +82,49 @@ const EDITABLE_KEYS = [
75
82
  function parseEditorLabel(value) {
76
83
  if (typeof value !== "string")
77
84
  return undefined;
78
- const trimmed = value.trim();
79
- return trimmed.length > 0 ? trimmed.slice(0, MAX_LABEL_LEN) : undefined;
85
+ // Strip bidi/zero-width/control spoofing code points (+ NFKC + trim) before length-capping so the
86
+ // persisted provenance `editorLabel` and the `.review.json` `reviewerLabel` (both derived from this
87
+ // one value) get the same content-safety treatment as generated candidate text. A label of only
88
+ // format characters normalises to "" and is rejected as a missing reviewer label.
89
+ const cleaned = normaliseCandidateText(value);
90
+ return cleaned.length > 0 ? cleaned.slice(0, MAX_LABEL_LEN) : undefined;
91
+ }
92
+ // The editable fields whose value is an array of candidate body-text lines. `title` (single string)
93
+ // and the closed enums (priority / riskClass) are handled separately in normaliseEditedValue.
94
+ const TEXT_LIST_KEYS = new Set([
95
+ "preconditions",
96
+ "steps",
97
+ "expectedResults",
98
+ "tags",
99
+ ]);
100
+ // Strip bidi / zero-width / control spoofing code points (+ NFKC + trim) from every human-supplied
101
+ // text field BEFORE validation, so an inline edit persists through the SAME candidate-text
102
+ // normalisation as the generation path (parseGeneratedCandidates → normaliseCandidateText — the
103
+ // documented single chokepoint for persisted candidate text). Closed enums (priority / riskClass) and
104
+ // any non-string shape pass through untouched; their validators reject anything off-list. A title or
105
+ // list item whose only content was format characters normalises to "" and is then rejected by the
106
+ // non-blank validators (an actionable 400) rather than persisted as junk. Normalising first also means
107
+ // MAX_TITLE_LEN is measured on the cleaned text, so padding a title with zero-width marks cannot
108
+ // smuggle it past the length cap.
109
+ function normaliseEditedValue(key, value) {
110
+ if (key === "title") {
111
+ return typeof value === "string" ? normaliseCandidateText(value) : value;
112
+ }
113
+ if (TEXT_LIST_KEYS.has(key) && Array.isArray(value)) {
114
+ // `Array.isArray` narrows `unknown` to `any[]`; widen back to `unknown[]` so each item is typed
115
+ // (no unsafe `any`). Non-string items pass through for the list validator to reject.
116
+ return value.map((item) => typeof item === "string" ? normaliseCandidateText(item) : item);
117
+ }
118
+ return value;
80
119
  }
81
120
  function collectEditedFields(edited) {
82
121
  const collected = {};
83
122
  let fieldCount = 0;
84
123
  for (const key of EDITABLE_KEYS) {
85
- const value = edited[key];
86
- if (value === undefined)
124
+ const raw = edited[key];
125
+ if (raw === undefined)
87
126
  continue;
127
+ const value = normaliseEditedValue(key, raw);
88
128
  if (!isValidField(key, value))
89
129
  return { ok: false, invalidField: key };
90
130
  collected[key] = value;
@@ -151,6 +191,11 @@ async function readEdit(req) {
151
191
  }
152
192
  return { ok: true, edit: edit.edit };
153
193
  }
194
+ // Project the edited row for the immediate POST response. This intentionally omits `weakTestFlag`
195
+ // (the adversarial-judge badge): that flag is derived from the run MANIFEST findings, not the
196
+ // candidate row, and recomputing it here would duplicate the run-detail GET's manifest read
197
+ // (uiRoutes.ts) and risk drift. AC1 scopes "reflected" to the next run-detail fetch, where the GET
198
+ // projection re-attaches `weakTestFlag`; clients refresh the badge from that fetch.
154
199
  function projectCandidate(row, evidenceDir, runId) {
155
200
  const reviewArtifact = loadRunReviewState(runId, evidenceDir);
156
201
  return {
@@ -194,12 +239,22 @@ function recordEdit(runId, edit, evidenceDir, deps) {
194
239
  return errorResult(404, "QI_NOT_FOUND", "Candidate not found for this run.");
195
240
  }
196
241
  if (result.changed) {
242
+ // Append the consolidated `.review.json` audit entry. The atomic, per-edit record is the
243
+ // `editedRevisions[]` provenance just written WITH the candidate change (a single candidates.json
244
+ // write inside applyQualityIntelligenceCandidateEdit); this is a second, separate companion write.
245
+ // If it throws (e.g. disk failure) the outer handler returns 500, but the edit is still recorded
246
+ // in editedRevisions[] provenance — an edit is never fully unaudited. The trade-off: the
247
+ // consolidated audit log can lag the per-artifact provenance on a partial-write failure, and a
248
+ // retry with identical fields is a no-op (changed === false) that won't backfill it. Cross-artifact
249
+ // write atomicity is a tracked follow-up; it is not introduced here to avoid touching the shared
250
+ // companion store used by every QI route.
197
251
  appendEditAudit({
198
252
  runId,
199
253
  evidenceDir,
200
254
  candidateId: edit.candidateId,
201
255
  reviewerLabel: edit.editorLabel,
202
256
  now: new Date().toISOString(),
257
+ redact: deps.redactor,
203
258
  });
204
259
  }
205
260
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"exportRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/exportRoutes.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsKhD,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAuBjG;AAgHD,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EAE3D,CAAC"}
1
+ {"version":3,"file":"exportRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/exportRoutes.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8NhD,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA2BjG;AA+HD,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EAE3D,CAAC"}
@@ -12,8 +12,8 @@
12
12
  import { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
13
13
  import { sha256Hex } from "@oscharko-dev/keiko-security";
14
14
  import { QualityIntelligenceExport } from "@oscharko-dev/keiko-quality-intelligence";
15
- import { loadQualityIntelligenceRun, loadQualityIntelligenceCandidates, } from "@oscharko-dev/keiko-evidence";
16
- import { loadRunReviewState, candidateReviewStateOf } from "./reviewStore.js";
15
+ import { appendQualityIntelligenceExportRow, loadQualityIntelligenceRun, loadQualityIntelligenceCandidates, } from "@oscharko-dev/keiko-evidence";
16
+ import { loadRunReviewState, candidateReviewStateOf, runReviewStateOf } from "./reviewStore.js";
17
17
  import { assemblePdf, assembleZipBundle } from "./exportAssembly.js";
18
18
  const ADAPTERS = new Set([
19
19
  ...QualityIntelligence.QUALITY_INTELLIGENCE_EXPORT_ADAPTERS,
@@ -27,7 +27,10 @@ const LOCAL_META = {
27
27
  json: { contentType: "application/json", ext: "json" },
28
28
  markdown: { contentType: "text/markdown", ext: "md" },
29
29
  "plain-text": { contentType: "text/plain", ext: "txt" },
30
- "quality-center": { contentType: "text/plain", ext: "txt" },
30
+ // NOTE: no "quality-center" entry it is a TMS adapter, so a non-dry-run request is rejected with
31
+ // 403 before LOCAL_META is consulted, and the dry-run path returns a preview object that never
32
+ // reads LOCAL_META. The `?? { text/plain, txt }` fallback at the materialised-response site covers
33
+ // any future non-TMS text adapter.
31
34
  pdf: { contentType: "application/pdf", ext: "pdf" },
32
35
  "zip-bundle": { contentType: "application/zip", ext: "zip" },
33
36
  };
@@ -39,17 +42,23 @@ const isObject = (value) => typeof value === "object" && value !== null && !Arra
39
42
  const readBody = (req) => new Promise((resolve, reject) => {
40
43
  const chunks = [];
41
44
  let total = 0;
45
+ let capped = false;
42
46
  req.on("data", (chunk) => {
43
47
  total += chunk.length;
44
48
  if (total > MAX_BODY_BYTES) {
45
- reject(new Error("body too large"));
46
- req.resume();
49
+ if (!capped) {
50
+ capped = true;
51
+ chunks.length = 0;
52
+ reject(new Error("body too large"));
53
+ req.resume();
54
+ }
47
55
  return;
48
56
  }
49
57
  chunks.push(chunk);
50
58
  });
51
59
  req.on("end", () => {
52
- resolve(Buffer.concat(chunks).toString("utf8"));
60
+ if (!capped)
61
+ resolve(Buffer.concat(chunks).toString("utf8"));
53
62
  });
54
63
  req.on("error", reject);
55
64
  });
@@ -85,6 +94,38 @@ function buildBundle(runId, adapter, candidates, createdAt) {
85
94
  contents,
86
95
  };
87
96
  }
97
+ /**
98
+ * Build the export-evidence row for an export action (Issue #283, AC4). Records the target type, a
99
+ * deterministic artifact id, an integrity hash over the exported candidate ids, the redaction
100
+ * attestation (candidates were redacted at persist time), and whether the action was a dry-run.
101
+ */
102
+ function buildExportEvidenceRow(runId, target, rows, dryRun) {
103
+ return {
104
+ id: `qi-export-${sha256Hex(`${runId}|${target}`).slice(0, 24)}`,
105
+ targetAdapter: target,
106
+ integrityHash: sha256Hex(JSON.stringify(rows.map((r) => r.id))),
107
+ redactionAttested: true,
108
+ dryRun,
109
+ };
110
+ }
111
+ /**
112
+ * Best-effort append of an export-evidence row for a 200 export action (Issue #283, AC4). A failed
113
+ * audit write must NOT withhold an already-computed local export from the user: the artifact has no
114
+ * external side effect, the run already exists on disk, and the manifest write is atomic so this path
115
+ * is rare. Swallow on failure rather than turning a successful export into a 500. No-op for error
116
+ * responses and for the disabled external-TMS path (which produces no artifact).
117
+ */
118
+ function recordExportEvidence(runId, outcome, evidenceDir) {
119
+ if (outcome.evidence === undefined || outcome.result.status !== 200) {
120
+ return;
121
+ }
122
+ try {
123
+ appendQualityIntelligenceExportRow({ runId, export: outcome.evidence }, { evidenceDir });
124
+ }
125
+ catch {
126
+ // intentionally swallowed — see doc comment
127
+ }
128
+ }
88
129
  function parseExportBody(body) {
89
130
  const adapter = body.adapter;
90
131
  if (typeof adapter !== "string" || !ADAPTERS.has(adapter))
@@ -99,6 +140,11 @@ function selectRows(rows, approvedOnly, runId, evidenceDir) {
99
140
  if (!approvedOnly)
100
141
  return rows;
101
142
  const review = loadRunReviewState(runId, evidenceDir);
143
+ // FIX E (Issue #282) — a reviewer can approve the whole RUN instead of each candidate. A
144
+ // run-level approval is an explicit approval of every candidate, so it satisfies approvedOnly
145
+ // (incl. the TMS adapters that force it). Otherwise fall back to the per-candidate filter.
146
+ if (runReviewStateOf(review) === "approved")
147
+ return rows;
102
148
  return rows.filter((r) => candidateReviewStateOf(review, r.id) === "approved");
103
149
  }
104
150
  async function readExportRequest(req) {
@@ -157,7 +203,11 @@ export async function handleQiExport(ctx, deps) {
157
203
  if (artifact === undefined || artifact.candidates.length === 0) {
158
204
  return errorResult(409, "QI_NO_CANDIDATES", "This run has no candidates to export.");
159
205
  }
160
- return serialiseExport(id, parsed.request, artifact.candidates, evidenceDir);
206
+ const outcome = serialiseExport(id, parsed.request, artifact.candidates, evidenceDir);
207
+ // Emit audit evidence for every materialised export or dry-run preview (Issue #283, AC4). The
208
+ // append is best-effort and must not turn a successful export into a 500 — see recordExportEvidence.
209
+ recordExportEvidence(id, outcome, evidenceDir);
210
+ return outcome.result;
161
211
  }
162
212
  catch {
163
213
  return errorResult(500, "QI_EXPORT_FAILED", "Failed to build the export.");
@@ -190,16 +240,19 @@ function binaryResponse(runId, mode, rows) {
190
240
  bytes = assembleZipBundle(entries);
191
241
  }
192
242
  return {
193
- status: 200,
194
- body: {
195
- dryRun: false,
196
- adapter: mode,
197
- filename: `${runId}.${meta.ext}`,
198
- contentType: meta.contentType,
199
- byteLen: bytes.length,
200
- encoding: "base64",
201
- body: Buffer.from(bytes).toString("base64"),
243
+ result: {
244
+ status: 200,
245
+ body: {
246
+ dryRun: false,
247
+ adapter: mode,
248
+ filename: `${runId}.${meta.ext}`,
249
+ contentType: meta.contentType,
250
+ byteLen: bytes.length,
251
+ encoding: "base64",
252
+ body: Buffer.from(bytes).toString("base64"),
253
+ },
202
254
  },
255
+ evidence: buildExportEvidenceRow(runId, mode, rows, false),
203
256
  };
204
257
  }
205
258
  function serialisedResponse(runId, request, rows) {
@@ -213,27 +266,33 @@ function serialisedResponse(runId, request, rows) {
213
266
  const serialized = QualityIntelligenceExport.serializeExportBundle(bundle, candidates);
214
267
  if (request.dryRun) {
215
268
  return {
216
- status: 200,
217
- body: {
218
- dryRun: true,
219
- adapter,
220
- candidateCount: rows.length,
221
- byteLen: serialized.byteLen,
222
- preview: serialized.body.slice(0, 1200),
269
+ result: {
270
+ status: 200,
271
+ body: {
272
+ dryRun: true,
273
+ adapter,
274
+ candidateCount: rows.length,
275
+ byteLen: serialized.byteLen,
276
+ preview: serialized.body.slice(0, 1200),
277
+ },
223
278
  },
279
+ evidence: buildExportEvidenceRow(runId, adapter, rows, true),
224
280
  };
225
281
  }
226
282
  const meta = LOCAL_META[adapter] ?? { contentType: "text/plain", ext: "txt" };
227
283
  return {
228
- status: 200,
229
- body: {
230
- dryRun: false,
231
- adapter,
232
- filename: `${runId}.${meta.ext}`,
233
- contentType: meta.contentType,
234
- byteLen: serialized.byteLen,
235
- body: serialized.body,
284
+ result: {
285
+ status: 200,
286
+ body: {
287
+ dryRun: false,
288
+ adapter,
289
+ filename: `${runId}.${meta.ext}`,
290
+ contentType: meta.contentType,
291
+ byteLen: serialized.byteLen,
292
+ body: serialized.body,
293
+ },
236
294
  },
295
+ evidence: buildExportEvidenceRow(runId, adapter, rows, false),
237
296
  };
238
297
  }
239
298
  function serialiseExport(runId, request, allRows, evidenceDir) {
@@ -243,10 +302,16 @@ function serialiseExport(runId, request, allRows, evidenceDir) {
243
302
  const approvedOnly = isTms ? true : request.approvedOnly;
244
303
  const rows = selectRows(allRows, approvedOnly, runId, evidenceDir);
245
304
  if (rows.length === 0) {
246
- return errorResult(409, "QI_NOTHING_TO_EXPORT", approvedOnly ? "No approved candidates to export." : "No candidates to export.");
305
+ return {
306
+ result: errorResult(409, "QI_NOTHING_TO_EXPORT", approvedOnly ? "No approved candidates to export." : "No candidates to export."),
307
+ };
247
308
  }
248
309
  if (isTms && !request.dryRun) {
249
- return errorResult(403, "QI_EXTERNAL_EXPORT_DISABLED", "External TMS export is disabled. Configure the connector and use a dry-run preview.");
310
+ // External TMS write is disabled no artifact is produced, so no export-evidence row is
311
+ // recorded for this rejected action.
312
+ return {
313
+ result: errorResult(403, "QI_EXTERNAL_EXPORT_DISABLED", "External TMS export is disabled. Configure the connector and use a dry-run preview."),
314
+ };
250
315
  }
251
316
  return serialisedResponse(runId, request, rows);
252
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"figmaConcurrency.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConcurrency.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAU,CAAC,EAAE,CAAC,EAC3C,OAAO,SAAS,CAAC,EAAE,EACnB,OAAO,MAAM,EACb,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAC7C,OAAO,CAAC,SAAS,CAAC,EAAE,CAmBtB,CAAC"}
1
+ {"version":3,"file":"figmaConcurrency.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConcurrency.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAU,CAAC,EAAE,CAAC,EAC3C,OAAO,SAAS,CAAC,EAAE,EACnB,OAAO,MAAM,EACb,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAC7C,OAAO,CAAC,SAAS,CAAC,EAAE,CAoBtB,CAAC"}
@@ -13,7 +13,8 @@
13
13
  export const mapWithConcurrency = async (items, limit, worker) => {
14
14
  if (items.length === 0)
15
15
  return [];
16
- const cap = Math.max(1, Math.min(limit, items.length));
16
+ const safeLimit = Number.isInteger(limit) && limit >= 1 ? limit : 1;
17
+ const cap = Math.max(1, Math.min(safeLimit, items.length));
17
18
  const results = new Array(items.length);
18
19
  let next = 0;
19
20
  const runLane = async () => {
@@ -3,6 +3,12 @@ import { type FigmaRetryPolicy, type FigmaRetrySleep } from "./figmaRetry.js";
3
3
  import { type FigmaNode, type ReadinessSignal } from "./figmaReadiness.js";
4
4
  import { type FigmaScopeCoverage, type ScopedPaginationLimits } from "./figmaScopedPagination.js";
5
5
  export interface FigmaConnectorConfig {
6
+ /**
7
+ * Optional config-key PAT alternate (#751 AC2). Sits between the vault and env sources in the
8
+ * vault > config > env precedence. It is only honoured when the connector is constructed directly
9
+ * with a config token; the governed production build ({@link governedSnapshotBuild}) resolves
10
+ * vault > env (no config token), so this field stays inert there by design.
11
+ */
6
12
  readonly accessToken?: string;
7
13
  readonly depth?: number;
8
14
  readonly releaseMarker?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"figmaConnector.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnector.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAGL,KAAK,kBAAkB,EAGvB,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;AAOpC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAIvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAExC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,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;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,kGAAkG;IAClG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvF;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC5F;AAoND,eAAO,MAAM,oBAAoB,GAAI,MAAM,kBAAkB,KAAG,cAc/D,CAAC"}
1
+ {"version":3,"file":"figmaConnector.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnector.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAIL,KAAK,kBAAkB,EAGvB,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;AAOpC,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAIvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAExC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,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;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,kGAAkG;IAClG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvF;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC5F;AA8ND,eAAO,MAAM,oBAAoB,GAAI,MAAM,kBAAkB,KAAG,cAiB/D,CAAC"}
@@ -16,7 +16,7 @@ import { DEFAULT_FIGMA_RETRY_POLICY, fetchWithBackoff, realFigmaRetrySleep, } fr
16
16
  import { parseFigmaTarget } from "./figmaUrl.js";
17
17
  import { resolveReadiness } from "./figmaReadiness.js";
18
18
  import { classifyTokenFailure, resolveFigmaToken } from "./figmaTokenSource.js";
19
- import { DEFAULT_SCOPED_PAGINATION_LIMITS, paginateScopedDocument, } from "./figmaScopedPagination.js";
19
+ import { DEFAULT_SCOPED_PAGINATION_LIMITS, paginateScopedDocument, resolveScopedPaginationLimits, } from "./figmaScopedPagination.js";
20
20
  const FIGMA_API_ORIGIN = "https://api.figma.com";
21
21
  const DEFAULT_DEPTH = 4;
22
22
  const DEFAULT_MAX_NODE_COUNT = 5000;
@@ -71,6 +71,15 @@ const guardScopeSize = (node, maxNodeCount) => {
71
71
  // rate-limit exhausted, egress/TLS broken) — it must abort, not silently degrade a branch to shallow.
72
72
  // Any other per-node failure (a transient 5xx or a vanished sub-node) is soft: that branch keeps its
73
73
  // shallow content and the build proceeds with a truncation-aware coverage report.
74
+ // The proxy family is covered in full — symmetric with RENDER_EGRESS_ABORT_CODES in
75
+ // figmaSnapshotBuilder.ts — so a forward-proxy that requires auth (FIGMA_PROXY_AUTH_REQUIRED) or
76
+ // denies the request by policy (FIGMA_PROXY_BLOCKED_BY_POLICY) on a per-screen fetch aborts the build
77
+ // instead of silently degrading that screen to shallow content.
78
+ // Rate-limit exhaustion is deliberately NOT in this hard-abort set. The discovery fetch still aborts
79
+ // on FIGMA_RATE_LIMITED before this fetcher is constructed, but a single per-screen deepening fetch
80
+ // that exhausts retries can safely degrade to the already-fetched shallow screen while coverage marks
81
+ // it truncated. That keeps large boards reviewable instead of failing the whole snapshot after one
82
+ // expensive branch hits Figma's cost-based limit.
74
83
  const DEEP_FETCH_ABORT_CODES = new Set([
75
84
  "FIGMA_TOKEN_MISSING",
76
85
  "FIGMA_TOKEN_INVALID",
@@ -78,9 +87,10 @@ const DEEP_FETCH_ABORT_CODES = new Set([
78
87
  "FIGMA_TOKEN_REVOKED",
79
88
  "FIGMA_INSUFFICIENT_SCOPE",
80
89
  "FIGMA_CONSENT_REQUIRED",
81
- "FIGMA_RATE_LIMITED",
82
90
  "FIGMA_PROXY_EGRESS_FAILED",
83
91
  "FIGMA_PROXY_UNREACHABLE",
92
+ "FIGMA_PROXY_AUTH_REQUIRED",
93
+ "FIGMA_PROXY_BLOCKED_BY_POLICY",
84
94
  "FIGMA_TLS_CA_FAILURE",
85
95
  ]);
86
96
  // One scoped `nodes?ids=&depth=` fetch (with 429 backoff), returning the raw document. No oversize
@@ -157,7 +167,10 @@ export const createFigmaConnector = (deps) => {
157
167
  maxNodeCount: deps.config?.maxNodeCount ?? DEFAULT_MAX_NODE_COUNT,
158
168
  retryPolicy: deps.retryPolicy ?? DEFAULT_FIGMA_RETRY_POLICY,
159
169
  sleep: deps.sleep ?? realFigmaRetrySleep,
160
- paginationLimits: { ...DEFAULT_SCOPED_PAGINATION_LIMITS, ...deps.config?.pagination },
170
+ paginationLimits: resolveScopedPaginationLimits({
171
+ ...DEFAULT_SCOPED_PAGINATION_LIMITS,
172
+ ...deps.config?.pagination,
173
+ }),
161
174
  };
162
175
  return {
163
176
  fetchScopedNodes: (url, options = {}) => doFetchScopedNodes(rt, url, options),
@@ -1,6 +1,13 @@
1
1
  import type { FigmaConnectorErrorCode } from "./figmaConnectorErrors.js";
2
2
  import type { FigmaScopeRef } from "./figmaScopeRef.js";
3
3
  export declare const FIGMA_AUDIT_SCHEMA_VERSION: 1;
4
+ /**
5
+ * The four AC1-audited connector actions (Issue #760). `"snapshot"`, `"resnapshot"`, and `"revoke"`
6
+ * are emitted at their respective operations. `"connect"` is emitted exactly once — at the operator's
7
+ * first read-only-scope acknowledgement (acknowledgeReadOnly on the first build for a scope), by the
8
+ * orchestration's `gateConsent` (figmaSnapshotOrchestration.ts) — the durable record of the operator
9
+ * establishing the connection. Re-acknowledging an already-consented scope emits no further connect.
10
+ */
4
11
  export type FigmaConnectorAction = "connect" | "snapshot" | "resnapshot" | "revoke";
5
12
  export type FigmaConnectorOutcome = "ok" | "error";
6
13
  /** Pure cardinalities only — never names, ids, links, or design content. */
@@ -1 +1 @@
1
- {"version":3,"file":"figmaConnectorAudit.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnectorAudit.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AAGrD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,qGAAqG;IACrG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,gGAAgG;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,0BAA0B,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAoBD,eAAO,MAAM,uBAAuB,GAClC,UAAU,aAAa,EACvB,aAAa,MAAM,KAClB,2BAA2B,GAAG,SAAiD,CAAC;AAEnF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAeD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,8BAA8B,KACpC,2BAWF,CAAC"}
1
+ {"version":3,"file":"figmaConnectorAudit.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnectorAudit.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AAGrD;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,qGAAqG;IACrG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,gGAAgG;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,0BAA0B,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAoBD,eAAO,MAAM,uBAAuB,GAClC,UAAU,aAAa,EACvB,aAAa,MAAM,KAClB,2BAA2B,GAAG,SAAiD,CAAC;AAEnF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAeD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,8BAA8B,KACpC,2BAWF,CAAC"}
@@ -1,4 +1,4 @@
1
- export type FigmaConnectorErrorCode = "FIGMA_MALFORMED_URL" | "FIGMA_TOKEN_MISSING" | "FIGMA_CONSENT_REQUIRED" | "FIGMA_TOKEN_INVALID" | "FIGMA_TOKEN_EXPIRED" | "FIGMA_TOKEN_REVOKED" | "FIGMA_NOT_FOUND" | "FIGMA_INSUFFICIENT_SCOPE" | "FIGMA_RENDER_FAILED" | "FIGMA_PROXY_EGRESS_FAILED" | "FIGMA_PROXY_UNREACHABLE" | "FIGMA_PROXY_AUTH_REQUIRED" | "FIGMA_PROXY_BLOCKED_BY_POLICY" | "FIGMA_TLS_CA_FAILURE" | "FIGMA_OVERSIZED_SCOPE" | "FIGMA_RESPONSE_TOO_LARGE" | "FIGMA_RATE_LIMITED" | "FIGMA_UPSTREAM_UNAVAILABLE" | "FIGMA_NETWORK_UNREACHABLE" | "FIGMA_EGRESS_TIMEOUT" | "FIGMA_EGRESS_FAILED" | "FIGMA_BUILD_TIMEOUT" | "FIGMA_INTERNAL";
1
+ export type FigmaConnectorErrorCode = "FIGMA_MALFORMED_URL" | "FIGMA_TOKEN_MISSING" | "FIGMA_CONSENT_REQUIRED" | "FIGMA_TOKEN_INVALID" | "FIGMA_TOKEN_EXPIRED" | "FIGMA_TOKEN_REVOKED" | "FIGMA_NOT_FOUND" | "FIGMA_NOT_READY" | "FIGMA_INSUFFICIENT_SCOPE" | "FIGMA_RENDER_FAILED" | "FIGMA_PROXY_EGRESS_FAILED" | "FIGMA_PROXY_UNREACHABLE" | "FIGMA_PROXY_AUTH_REQUIRED" | "FIGMA_PROXY_BLOCKED_BY_POLICY" | "FIGMA_TLS_CA_FAILURE" | "FIGMA_OVERSIZED_SCOPE" | "FIGMA_RESPONSE_TOO_LARGE" | "FIGMA_RATE_LIMITED" | "FIGMA_UPSTREAM_UNAVAILABLE" | "FIGMA_NETWORK_UNREACHABLE" | "FIGMA_EGRESS_TIMEOUT" | "FIGMA_EGRESS_FAILED" | "FIGMA_BUILD_TIMEOUT" | "FIGMA_INTERNAL";
2
2
  export interface FigmaConnectorErrorBody {
3
3
  readonly error: {
4
4
  readonly code: FigmaConnectorErrorCode;
@@ -1 +1 @@
1
- {"version":3,"file":"figmaConnectorErrors.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnectorErrors.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,uBAAuB,GAC/B,qBAAqB,GACrB,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,iBAAiB,GACjB,0BAA0B,GAC1B,qBAAqB,GACrB,2BAA2B,GAC3B,yBAAyB,GACzB,2BAA2B,GAC3B,+BAA+B,GAC/B,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,4BAA4B,GAC5B,2BAA2B,GAC3B,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,CAAC;AAgDrB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtF;AAED,eAAO,MAAM,uBAAuB,GAClC,MAAM,uBAAuB,KAC5B,uBAED,CAAC;AAEH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;gBAE3B,IAAI,EAAE,uBAAuB;CAK1C;AA0JD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,GAAI,KAAK,OAAO,KAAG,uBAa1D,CAAC"}
1
+ {"version":3,"file":"figmaConnectorErrors.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnectorErrors.ts"],"names":[],"mappings":"AAmCA,MAAM,MAAM,uBAAuB,GAC/B,qBAAqB,GACrB,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,0BAA0B,GAC1B,qBAAqB,GACrB,2BAA2B,GAC3B,yBAAyB,GACzB,2BAA2B,GAC3B,+BAA+B,GAC/B,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,4BAA4B,GAC5B,2BAA2B,GAC3B,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,CAAC;AAkDrB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtF;AAED,eAAO,MAAM,uBAAuB,GAClC,MAAM,uBAAuB,KAC5B,uBAED,CAAC;AAEH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;gBAE3B,IAAI,EAAE,uBAAuB;CAK1C;AA0JD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,GAAI,KAAK,OAAO,KAAG,uBAa1D,CAAC"}
@@ -13,6 +13,7 @@
13
13
  // scope → FIGMA_INSUFFICIENT_SCOPE
14
14
  // rate-limit → FIGMA_RATE_LIMITED
15
15
  // not-found → FIGMA_NOT_FOUND
16
+ // readiness → FIGMA_NOT_READY
16
17
  // oversized → FIGMA_OVERSIZED_SCOPE | FIGMA_RESPONSE_TOO_LARGE
17
18
  // render-failed → FIGMA_RENDER_FAILED
18
19
  // proxy egress → FIGMA_PROXY_UNREACHABLE (proxy host unreachable)
@@ -35,6 +36,7 @@ const SAFE_MESSAGES = {
35
36
  FIGMA_TOKEN_EXPIRED: "The Figma access token has expired. Re-key the connector with a new read-only token.",
36
37
  FIGMA_TOKEN_REVOKED: "The Figma access token has been revoked. Re-key the connector with a new read-only token.",
37
38
  FIGMA_NOT_FOUND: "The requested Figma node could not be found for the supplied link.",
39
+ FIGMA_NOT_READY: "The requested Figma scope is not release-ready. Pin a Figma version, select a Release section, or mark the frame Ready for dev before snapshotting.",
38
40
  FIGMA_INSUFFICIENT_SCOPE: "The configured Figma access token is not permitted to read the requested node. Re-key the connector with a read-only token that can read this file.",
39
41
  FIGMA_RENDER_FAILED: "Figma could not render the requested screens. Re-run the snapshot; if it persists, connect a narrower section.",
40
42
  FIGMA_PROXY_EGRESS_FAILED: "The Figma request could not be routed through the platform egress proxy. Check proxy connectivity and try again.",
@@ -44,7 +46,7 @@ const SAFE_MESSAGES = {
44
46
  FIGMA_TLS_CA_FAILURE: "The TLS certificate for the Figma egress could not be verified. Check the configured certificate authority bundle and try again.",
45
47
  FIGMA_OVERSIZED_SCOPE: "The requested Figma node subtree is too large for a single scoped fetch. Connect a narrower section.",
46
48
  FIGMA_RESPONSE_TOO_LARGE: "The Figma API response exceeded the maximum allowed size. Connect a narrower section to reduce the response.",
47
- FIGMA_RATE_LIMITED: "Figma rate-limited the snapshot-build after repeated retries. Wait a moment and re-run the snapshot.",
49
+ FIGMA_RATE_LIMITED: "Figma rate-limited the snapshot-build after repeated retries. Re-run with a narrower Release section or lower the Figma fetch limits.",
48
50
  FIGMA_UPSTREAM_UNAVAILABLE: "The Figma service is currently unavailable. Try the scoped fetch again later.",
49
51
  FIGMA_NETWORK_UNREACHABLE: "The outbound network request to Figma failed (DNS, connection, or socket error). Check network connectivity and egress policy.",
50
52
  FIGMA_EGRESS_TIMEOUT: "The Figma request timed out before completing. Retry; if it persists, raise KEIKO_FIGMA_REQUEST_TIMEOUT_MS or check upstream latency.",
@@ -3,8 +3,8 @@ export declare const FIGMA_CONSENT_SCHEMA_VERSION: 1;
3
3
  /**
4
4
  * Display-only list of the least-privilege, read-only Figma scopes the connector relies on. Shown to
5
5
  * the operator before the first fetch so they can confirm the PAT they minted is read-only. The
6
- * connector reads files and renders images; it never writes. Figma PAT scopes are coarse, so this is
7
- * the human-readable expectation, not an enforced grant.
6
+ * connector reads file content and renders images; it never writes. This is the human-readable
7
+ * expectation for an out-of-band PAT grant, not an enforced grant.
8
8
  */
9
9
  export declare const EXPECTED_FIGMA_SCOPES: readonly string[];
10
10
  export interface FigmaScopeConsent {
@@ -1 +1 @@
1
- {"version":3,"file":"figmaConsent.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConsent.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC;AAGvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA8C,CAAC;AAElG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,4BAA4B,CAAC;IACxE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,iGAAiG;IACjG,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAaD,eAAO,MAAM,mBAAmB,GAC9B,UAAU,aAAa,EACvB,aAAa,MAAM,KAClB,iBAAiB,GAAG,SAAiD,CAAC;AAEzE,eAAO,MAAM,kBAAkB,GAAI,UAAU,aAAa,EAAE,aAAa,MAAM,KAAG,OACxB,CAAC;AAE3D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,KAAG,iBAWzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,aAAa,EAAE,aAAa,MAAM,KAAG,IAIpF,CAAC"}
1
+ {"version":3,"file":"figmaConsent.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConsent.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC;AAGvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA0B,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,4BAA4B,CAAC;IACxE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,iGAAiG;IACjG,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAaD,eAAO,MAAM,mBAAmB,GAC9B,UAAU,aAAa,EACvB,aAAa,MAAM,KAClB,iBAAiB,GAAG,SAAiD,CAAC;AAEzE,eAAO,MAAM,kBAAkB,GAAI,UAAU,aAAa,EAAE,aAAa,MAAM,KAAG,OACxB,CAAC;AAE3D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,KAAG,iBAWzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,aAAa,EAAE,aAAa,MAAM,KAAG,IAIpF,CAAC"}
@@ -17,10 +17,10 @@ const FIGMA_CONSENT_SUFFIX = ".figma-consent.json";
17
17
  /**
18
18
  * Display-only list of the least-privilege, read-only Figma scopes the connector relies on. Shown to
19
19
  * the operator before the first fetch so they can confirm the PAT they minted is read-only. The
20
- * connector reads files and renders images; it never writes. Figma PAT scopes are coarse, so this is
21
- * the human-readable expectation, not an enforced grant.
20
+ * connector reads file content and renders images; it never writes. This is the human-readable
21
+ * expectation for an out-of-band PAT grant, not an enforced grant.
22
22
  */
23
- export const EXPECTED_FIGMA_SCOPES = ["files:read", "file_dev_resources:read"];
23
+ export const EXPECTED_FIGMA_SCOPES = ["file_content:read"];
24
24
  const parseConsent = (value) => {
25
25
  if (typeof value !== "object" || value === null)
26
26
  return undefined;
@@ -16,6 +16,11 @@ export interface ObservedSnapshotInput {
16
16
  readonly extras?: FigmaConnectorMetricsExtras;
17
17
  /** `true` for a re-snapshot action, `false`/omitted for an initial snapshot. */
18
18
  readonly isResnapshot?: boolean;
19
+ /**
20
+ * Defaults to true. Route orchestration sets this false so success is audited only after the
21
+ * snapshot record has been durably written and reloaded from Evidence.
22
+ */
23
+ readonly auditSuccess?: boolean;
19
24
  /** Performs the actual render + assembly (delegates to buildFigmaSnapshot / resnapshotFigma). */
20
25
  readonly run: () => Promise<FigmaSnapshot>;
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"figmaObservedActions.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaObservedActions.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEzF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAmCD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,wBAAwB,CAAC,cAAc,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9C,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,iGAAiG;IACjG,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,qBAAqB,KAC3B,OAAO,CAAC,sBAAsB,CA6BhC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,KAAG,IAa/D,CAAC"}
1
+ {"version":3,"file":"figmaObservedActions.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaObservedActions.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEzF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAmCD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,wBAAwB,CAAC,cAAc,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9C,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,iGAAiG;IACjG,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,qBAAqB,KAC3B,OAAO,CAAC,sBAAsB,CA+BhC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,KAAG,IAa/D,CAAC"}
@@ -56,14 +56,16 @@ export const observeFigmaSnapshot = async (input) => {
56
56
  return auditFailureAndRethrow(input.ctx, scopeRef, action, error);
57
57
  }
58
58
  const metrics = computeFigmaConnectorMetrics(input.ir, snapshot, input.augmentation, input.extras ?? {});
59
- appendFigmaConnectorAudit({
60
- scopeRef,
61
- evidenceDir: input.ctx.evidenceDir,
62
- action,
63
- outcome: "ok",
64
- counts: countsOf(input.ir, snapshot),
65
- now: input.ctx.now,
66
- });
59
+ if (input.auditSuccess !== false) {
60
+ appendFigmaConnectorAudit({
61
+ scopeRef,
62
+ evidenceDir: input.ctx.evidenceDir,
63
+ action,
64
+ outcome: "ok",
65
+ counts: countsOf(input.ir, snapshot),
66
+ now: input.ctx.now,
67
+ });
68
+ }
67
69
  return { snapshot, metrics, scopeRef };
68
70
  };
69
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"figmaReadiness.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaReadiness.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAmCvD,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,EAAE,SAAS,gBAAgB,KAAG,eAiB7E,CAAC"}
1
+ {"version":3,"file":"figmaReadiness.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaReadiness.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AA2CvD,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,EAAE,SAAS,gBAAgB,KAAG,eAiB7E,CAAC"}