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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/README.md +139 -1
  2. package/dist/ui/csp-hashes.json +34 -39
  3. package/dist/ui/static/404.html +1 -1
  4. package/dist/ui/static/__next.__PAGE__.txt +9 -0
  5. package/dist/ui/static/__next._full.txt +18 -0
  6. package/dist/ui/static/__next._head.txt +6 -0
  7. package/dist/ui/static/__next._index.txt +5 -0
  8. package/dist/ui/static/__next._tree.txt +2 -0
  9. package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_buildManifest.js +11 -0
  10. package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_clientMiddlewareManifest.js +1 -0
  11. package/dist/ui/static/_next/static/chunks/05-c3ty_6dwfk.js +1 -0
  12. package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +2 -0
  13. package/dist/ui/static/_next/static/chunks/0iq1i69206cyl.js +31 -0
  14. package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +1 -0
  15. package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +1 -0
  16. package/dist/ui/static/_next/static/chunks/14mrh2-p_w84d.js +1 -0
  17. package/dist/ui/static/_next/static/chunks/1t04tfgin0v_g.js +106 -0
  18. package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +1 -0
  19. package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +4 -0
  20. package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +1 -0
  21. package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +1 -0
  22. package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +1 -0
  23. package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +1 -0
  24. package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +1 -0
  25. package/dist/ui/static/_next/static/chunks/3peubv2924kx4.js +1 -0
  26. package/dist/ui/static/_next/static/chunks/3wr_35f2vg6sd.css +1 -0
  27. package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +1 -0
  28. package/dist/ui/static/_not-found/__next._full.txt +16 -0
  29. package/dist/ui/static/_not-found/__next._head.txt +6 -0
  30. package/dist/ui/static/_not-found/__next._index.txt +5 -0
  31. package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +5 -0
  32. package/dist/ui/static/_not-found/__next._not-found.txt +5 -0
  33. package/dist/ui/static/_not-found/__next._tree.txt +2 -0
  34. package/dist/ui/static/_not-found.html +1 -0
  35. package/dist/ui/static/_not-found.txt +16 -0
  36. package/dist/ui/static/index.html +1 -1
  37. package/dist/ui/static/index.txt +16 -18
  38. package/dist/ui/static/launch/__next._full.txt +20 -0
  39. package/dist/ui/static/launch/__next._head.txt +6 -0
  40. package/dist/ui/static/launch/__next._index.txt +5 -0
  41. package/dist/ui/static/launch/__next._tree.txt +2 -0
  42. package/dist/ui/static/launch/__next.launch.__PAGE__.txt +9 -0
  43. package/dist/ui/static/launch/__next.launch.txt +5 -0
  44. package/dist/ui/static/launch.html +1 -1
  45. package/dist/ui/static/launch.txt +17 -17
  46. package/dist/ui/static/local-knowledge/__next._full.txt +20 -0
  47. package/dist/ui/static/local-knowledge/__next._head.txt +6 -0
  48. package/dist/ui/static/local-knowledge/__next._index.txt +5 -0
  49. package/dist/ui/static/local-knowledge/__next._tree.txt +2 -0
  50. package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +9 -0
  51. package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +5 -0
  52. package/dist/ui/static/local-knowledge/capsule/__next._full.txt +17 -0
  53. package/dist/ui/static/local-knowledge/capsule/__next._head.txt +6 -0
  54. package/dist/ui/static/local-knowledge/capsule/__next._index.txt +5 -0
  55. package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -0
  56. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +6 -0
  57. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +5 -0
  58. package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +5 -0
  59. package/dist/ui/static/local-knowledge/capsule.html +1 -1
  60. package/dist/ui/static/local-knowledge/capsule.txt +14 -14
  61. package/dist/ui/static/local-knowledge.html +1 -1
  62. package/dist/ui/static/local-knowledge.txt +19 -16
  63. package/dist/ui/static/manifest.webmanifest +2 -2
  64. package/dist/ui/static/memoriaviva/__next._full.txt +17 -0
  65. package/dist/ui/static/memoriaviva/__next._head.txt +6 -0
  66. package/dist/ui/static/memoriaviva/__next._index.txt +5 -0
  67. package/dist/ui/static/memoriaviva/__next._tree.txt +2 -0
  68. package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +6 -0
  69. package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +5 -0
  70. package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +17 -0
  71. package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +6 -0
  72. package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +5 -0
  73. package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -0
  74. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +6 -0
  75. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +5 -0
  76. package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +5 -0
  77. package/dist/ui/static/memoriaviva/consolidation.html +1 -1
  78. package/dist/ui/static/memoriaviva/consolidation.txt +15 -15
  79. package/dist/ui/static/memoriaviva/detail/__next._full.txt +17 -0
  80. package/dist/ui/static/memoriaviva/detail/__next._head.txt +6 -0
  81. package/dist/ui/static/memoriaviva/detail/__next._index.txt +5 -0
  82. package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -0
  83. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +6 -0
  84. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +5 -0
  85. package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +5 -0
  86. package/dist/ui/static/memoriaviva/detail.html +1 -1
  87. package/dist/ui/static/memoriaviva/detail.txt +14 -14
  88. package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +17 -0
  89. package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +6 -0
  90. package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +5 -0
  91. package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -0
  92. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +6 -0
  93. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +5 -0
  94. package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +5 -0
  95. package/dist/ui/static/memoriaviva/review-queue.html +1 -1
  96. package/dist/ui/static/memoriaviva/review-queue.txt +15 -15
  97. package/dist/ui/static/memoriaviva.html +1 -1
  98. package/dist/ui/static/memoriaviva.txt +14 -14
  99. package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
  100. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.d.ts.map +1 -1
  101. package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.js +61 -2
  102. package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.d.ts.map +1 -1
  103. package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.js +65 -21
  104. package/node_modules/@oscharko-dev/keiko-cli/dist/launcher-platforms.js +3 -3
  105. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts +2 -0
  106. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts.map +1 -1
  107. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.js +51 -10
  108. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts +3 -1
  109. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
  110. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +128 -38
  111. package/node_modules/@oscharko-dev/keiko-cli/package.json +2 -2
  112. package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
  113. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +20 -1
  114. package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts.map +1 -1
  115. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts +1 -1
  116. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts.map +1 -1
  117. package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +256 -75
  118. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +11 -0
  119. package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
  120. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +7 -7
  121. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
  122. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -4
  123. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts +11 -0
  124. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts.map +1 -1
  125. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.js +4 -0
  126. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts +1 -1
  127. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts.map +1 -1
  128. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.js +109 -4
  129. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts +2 -0
  130. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
  131. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.js +94 -7
  132. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts +5 -0
  133. package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts.map +1 -1
  134. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +15 -0
  135. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
  136. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.js +1 -1
  137. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.d.ts.map +1 -1
  138. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.js +3 -0
  139. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts +1 -1
  140. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
  141. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +14 -0
  142. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -1
  143. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.js +53 -5
  144. package/node_modules/@oscharko-dev/keiko-contracts/package.json +2 -2
  145. package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
  146. package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.d.ts.map +1 -1
  147. package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.js +11 -3
  148. package/node_modules/@oscharko-dev/keiko-evaluations/package.json +2 -2
  149. package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
  150. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts +20 -1
  151. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts.map +1 -1
  152. package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.js +34 -2
  153. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts +1 -0
  154. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts.map +1 -1
  155. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js +3 -1
  156. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +17 -0
  157. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map +1 -1
  158. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js +19 -0
  159. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +5 -1
  160. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
  161. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +32 -2
  162. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
  163. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +259 -40
  164. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts +3 -0
  165. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts.map +1 -1
  166. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.js +48 -5
  167. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts.map +1 -1
  168. package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +30 -13
  169. package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts +1 -1
  170. package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts.map +1 -1
  171. package/node_modules/@oscharko-dev/keiko-evidence/package.json +2 -2
  172. package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
  173. package/node_modules/@oscharko-dev/keiko-harness/package.json +2 -2
  174. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
  175. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.d.ts.map +1 -1
  176. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.js +25 -1
  177. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts +1 -1
  178. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts.map +1 -1
  179. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.js +16 -0
  180. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts +3 -1
  181. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts.map +1 -1
  182. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.js +9 -5
  183. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.d.ts.map +1 -1
  184. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.js +22 -7
  185. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts +4 -1
  186. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts.map +1 -1
  187. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.js +61 -9
  188. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.d.ts.map +1 -1
  189. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.js +64 -36
  190. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts +2 -2
  191. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts.map +1 -1
  192. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.js +2 -2
  193. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts +7 -1
  194. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts.map +1 -1
  195. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.js +5 -1
  196. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts +1 -1
  197. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts.map +1 -1
  198. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.js +27 -4
  199. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts +5 -1
  200. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts.map +1 -1
  201. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.js +18 -5
  202. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.d.ts.map +1 -1
  203. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.js +10 -1
  204. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts +4 -1
  205. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts.map +1 -1
  206. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.js +370 -45
  207. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts +2 -0
  208. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts.map +1 -1
  209. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.js +8 -4
  210. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts +1 -1
  211. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts.map +1 -1
  212. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.js +10 -5
  213. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.d.ts.map +1 -1
  214. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.js +65 -20
  215. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts +1 -0
  216. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts.map +1 -1
  217. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.js +79 -0
  218. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts +1 -1
  219. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts.map +1 -1
  220. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.js +1 -1
  221. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.d.ts.map +1 -1
  222. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.js +4 -0
  223. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +6 -5
  224. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts.map +1 -1
  225. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.js +4 -4
  226. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.d.ts.map +1 -1
  227. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.js +71 -29
  228. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
  229. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +258 -132
  230. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts +12 -0
  231. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts.map +1 -1
  232. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.d.ts.map +1 -1
  233. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.js +9 -0
  234. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +3 -1
  235. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts.map +1 -1
  236. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.js +13 -1
  237. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.d.ts.map +1 -1
  238. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.js +86 -46
  239. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -1
  240. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts.map +1 -1
  241. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.js +1 -1
  242. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.d.ts.map +1 -1
  243. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.js +50 -22
  244. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts +21 -1
  245. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
  246. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +93 -14
  247. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.d.ts.map +1 -1
  248. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.js +3 -1
  249. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts +7 -2
  250. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts.map +1 -1
  251. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.js +7 -3
  252. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/audit-emitter.js +8 -0
  253. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.d.ts.map +1 -1
  254. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.js +17 -10
  255. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.d.ts.map +1 -1
  256. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.js +7 -0
  257. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts +4 -0
  258. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts.map +1 -1
  259. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +1 -1
  260. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts +1 -0
  261. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts.map +1 -1
  262. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.js +318 -32
  263. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts +1 -1
  264. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts.map +1 -1
  265. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.js +46 -16
  266. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts +14 -0
  267. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts.map +1 -1
  268. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.js +26 -1
  269. package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +10 -5
  270. package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
  271. package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +2 -2
  272. package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
  273. package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +2 -2
  274. package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
  275. package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +2 -2
  276. package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
  277. package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +2 -2
  278. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
  279. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/paths.d.ts.map +1 -1
  280. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/paths.js +11 -5
  281. package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +2 -2
  282. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
  283. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts +2 -1
  284. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts.map +1 -1
  285. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.js +50 -0
  286. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts +3 -0
  287. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts.map +1 -1
  288. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.js +114 -44
  289. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts +14 -0
  290. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts.map +1 -1
  291. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.js +14 -0
  292. package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +2 -2
  293. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
  294. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.d.ts.map +1 -1
  295. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.js +9 -2
  296. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +1 -1
  297. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +9 -1
  298. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts.map +1 -1
  299. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.js +9 -1
  300. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts +5 -0
  301. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts.map +1 -1
  302. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js +229 -33
  303. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +62 -0
  304. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map +1 -1
  305. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map +1 -1
  306. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.js +24 -4
  307. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts +4 -2
  308. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map +1 -1
  309. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.js +0 -0
  310. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map +1 -1
  311. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js +119 -5
  312. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts +2 -1
  313. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts.map +1 -1
  314. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.js +26 -11
  315. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
  316. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +86 -9
  317. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map +1 -1
  318. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.js +10 -3
  319. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
  320. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +14 -12
  321. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/sourceMixPlanning.js +0 -0
  322. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts +1 -1
  323. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts.map +1 -1
  324. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.js +9 -1
  325. package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +2 -2
  326. package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
  327. package/node_modules/@oscharko-dev/keiko-sdk/package.json +2 -2
  328. package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
  329. package/node_modules/@oscharko-dev/keiko-security/dist/redaction.d.ts.map +1 -1
  330. package/node_modules/@oscharko-dev/keiko-security/dist/redaction.js +4 -2
  331. package/node_modules/@oscharko-dev/keiko-security/package.json +2 -2
  332. package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
  333. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
  334. package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +6 -1
  335. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +2 -0
  336. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
  337. package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +62 -12
  338. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts +1 -1
  339. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts.map +1 -1
  340. package/node_modules/@oscharko-dev/keiko-server/dist/evidence.js +4 -3
  341. package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts +18 -3
  342. package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts.map +1 -1
  343. package/node_modules/@oscharko-dev/keiko-server/dist/files.js +208 -72
  344. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.d.ts.map +1 -1
  345. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.js +7 -2
  346. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts +3 -0
  347. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts.map +1 -1
  348. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.js +27 -4
  349. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.d.ts.map +1 -1
  350. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.js +46 -14
  351. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts +1 -0
  352. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts.map +1 -1
  353. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.js +433 -31
  354. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.d.ts.map +1 -1
  355. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.js +5 -3
  356. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts +9 -0
  357. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
  358. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +194 -45
  359. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts +4 -0
  360. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts.map +1 -1
  361. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +100 -24
  362. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts +7 -0
  363. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
  364. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +196 -20
  365. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.d.ts.map +1 -1
  366. package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.js +21 -1
  367. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -1
  368. package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts.map +1 -1
  369. package/node_modules/@oscharko-dev/keiko-server/dist/index.js +1 -1
  370. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts +9 -6
  371. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
  372. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +189 -66
  373. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
  374. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +198 -72
  375. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts +1 -1
  376. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts.map +1 -1
  377. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.js +6 -5
  378. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +10 -2
  379. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -1
  380. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.js +110 -30
  381. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts +13 -4
  382. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts.map +1 -1
  383. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.js +29 -17
  384. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts +13 -3
  385. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -1
  386. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.js +54 -5
  387. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
  388. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +84 -12
  389. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -1
  390. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.js +16 -8
  391. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +6 -2
  392. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
  393. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +13 -1
  394. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -1
  395. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.js +15 -2
  396. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +9 -0
  397. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -1
  398. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.js +2 -2
  399. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -1
  400. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
  401. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +138 -19
  402. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.d.ts.map +1 -1
  403. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.js +26 -7
  404. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
  405. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +26 -7
  406. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
  407. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +28 -5
  408. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts.map +1 -1
  409. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.js +11 -0
  410. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
  411. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +90 -19
  412. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts +4 -1
  413. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
  414. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +17 -3
  415. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
  416. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +19 -2
  417. package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
  418. package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +4 -2
  419. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts.map +1 -1
  420. package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.js +6 -1
  421. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts +2 -2
  422. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts.map +1 -1
  423. package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.js +84 -8
  424. package/node_modules/@oscharko-dev/keiko-server/dist/store/db.d.ts.map +1 -1
  425. package/node_modules/@oscharko-dev/keiko-server/dist/store/db.js +4 -2
  426. package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts +1 -1
  427. package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts.map +1 -1
  428. package/node_modules/@oscharko-dev/keiko-server/dist/store/paths.d.ts.map +1 -1
  429. package/node_modules/@oscharko-dev/keiko-server/dist/store/paths.js +9 -2
  430. package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts +5 -1
  431. package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts.map +1 -1
  432. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.d.ts.map +1 -1
  433. package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.js +67 -14
  434. package/node_modules/@oscharko-dev/keiko-server/package.json +2 -2
  435. package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
  436. package/node_modules/@oscharko-dev/keiko-tools/package.json +2 -2
  437. package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
  438. package/node_modules/@oscharko-dev/keiko-verification/package.json +2 -2
  439. package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
  440. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts +2 -0
  441. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts.map +1 -1
  442. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.js +45 -10
  443. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts +1 -1
  444. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts.map +1 -1
  445. package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.js +1 -1
  446. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.d.ts.map +1 -1
  447. package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.js +4 -6
  448. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts +30 -0
  449. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts.map +1 -0
  450. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.js +114 -0
  451. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
  452. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +58 -23
  453. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.d.ts.map +1 -1
  454. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.js +15 -7
  455. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts.map +1 -1
  456. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.js +28 -4
  457. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.d.ts.map +1 -1
  458. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.js +51 -1
  459. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.d.ts.map +1 -1
  460. package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.js +8 -3
  461. package/node_modules/@oscharko-dev/keiko-workflows/package.json +2 -2
  462. package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
  463. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts +1 -0
  464. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts.map +1 -1
  465. package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.js +1 -0
  466. package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.d.ts.map +1 -1
  467. package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.js +84 -27
  468. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.d.ts.map +1 -1
  469. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.js +22 -0
  470. package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.d.ts.map +1 -1
  471. package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.js +6 -3
  472. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.d.ts.map +1 -1
  473. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.js +72 -25
  474. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts +15 -0
  475. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -0
  476. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +107 -0
  477. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts +18 -0
  478. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -0
  479. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +42 -0
  480. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
  481. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +4 -11
  482. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts +2 -0
  483. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -0
  484. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.js +15 -0
  485. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts +2 -2
  486. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts.map +1 -1
  487. package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.js +89 -75
  488. package/node_modules/@oscharko-dev/keiko-workspace/package.json +2 -2
  489. package/node_modules/@types/node/README.md +1 -1
  490. package/node_modules/@types/node/http2.d.ts +1 -0
  491. package/node_modules/@types/node/package.json +2 -2
  492. package/package.json +3 -1
  493. package/dist/ui/static/_next/static/BNiyfCos3TiM2QdurajIZ/_buildManifest.js +0 -1
  494. package/dist/ui/static/_next/static/chunks/18-ac3e3551b4e0ce8a.js +0 -1
  495. package/dist/ui/static/_next/static/chunks/664-6d821dc1aacb6b48.js +0 -1
  496. package/dist/ui/static/_next/static/chunks/87c73c54-24122e7b92478d00.js +0 -1
  497. package/dist/ui/static/_next/static/chunks/923-4141696576191bc0.js +0 -1
  498. package/dist/ui/static/_next/static/chunks/982-abc19630e6305864.js +0 -1
  499. package/dist/ui/static/_next/static/chunks/app/_not-found/page-03d642dcd0f15b52.js +0 -1
  500. package/dist/ui/static/_next/static/chunks/app/launch/page-c725ff0c02b50663.js +0 -1
  501. package/dist/ui/static/_next/static/chunks/app/layout-aadefe615729db05.js +0 -1
  502. package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-4a7f242906e19a07.js +0 -1
  503. package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-3361769b8964e659.js +0 -1
  504. package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-44b3f4fa3e10085f.js +0 -1
  505. package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-0cdfb3eeb659daeb.js +0 -1
  506. package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-e78e0cd2876fec41.js +0 -1
  507. package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-e32fe86466827484.js +0 -1
  508. package/dist/ui/static/_next/static/chunks/app/page-9ad91065d05ddfa0.js +0 -1
  509. package/dist/ui/static/_next/static/chunks/framework-d8f01f7e25201916.js +0 -1
  510. package/dist/ui/static/_next/static/chunks/main-app-b52a8fa1d8127a5f.js +0 -1
  511. package/dist/ui/static/_next/static/chunks/main-bc552b04f2b6dbe2.js +0 -1
  512. package/dist/ui/static/_next/static/chunks/pages/_app-2e239ff05bfdf6d6.js +0 -1
  513. package/dist/ui/static/_next/static/chunks/pages/_error-bda15e7831eec981.js +0 -1
  514. package/dist/ui/static/_next/static/chunks/webpack-0cfe6f51555ca84e.js +0 -1
  515. package/dist/ui/static/_next/static/css/51fdcfdc624e723d.css +0 -1
  516. /package/dist/ui/static/_next/static/{BNiyfCos3TiM2QdurajIZ → Hb6brrvZY2nZtizQlYhVt}/_ssgManifest.js +0 -0
  517. /package/dist/ui/static/_next/static/chunks/{polyfills-42372ed130431b0a.js → 0cz1d0mv5g_q7.js} +0 -0
@@ -1,12 +1,12 @@
1
- import { randomUUID } from "node:crypto";
1
+ import { createHash, randomUUID } from "node:crypto";
2
2
  import { statSync } from "node:fs";
3
3
  import { basename, dirname } from "node:path";
4
4
  import { addSourceToCapsule, composeCapsules, CompositionError, createSqliteAuditSink, createDefaultParserRegistry, createCapsule, deleteCapsule, getCapsule, listCapsuleSets, listCapsuleSources, listCapsules, openKnowledgeStore, removeSourceFromCapsule, resolveKnowledgeStorePath, runIndexingJob, updateCapsuleDetails, updateCapsuleState, } from "@oscharko-dev/keiko-local-knowledge";
5
5
  import { KnowledgeNotFoundError, KnowledgeStoreError } from "@oscharko-dev/keiko-local-knowledge";
6
- import { CAPSULE_SET_MAX_MEMBERS, validateKnowledgeSourceScope, } from "@oscharko-dev/keiko-contracts";
6
+ import { CAPSULE_SET_MAX_MEMBERS, isSafeDisplaySummary, validateCapsuleReindexRequest, validateKnowledgeSourceScope, } from "@oscharko-dev/keiko-contracts";
7
7
  import { currentGatewayConfig } from "./deps.js";
8
8
  import { errorBody } from "./routes.js";
9
- import { findConfiguredCapability, requestOpenAIEmbedding, } from "@oscharko-dev/keiko-model-gateway";
9
+ import { findConfiguredCapability, requestOpenAIEmbedding, verifyEmbeddingCapability, } from "@oscharko-dev/keiko-model-gateway";
10
10
  import { nodeWorkspaceFs } from "@oscharko-dev/keiko-workspace/internal/fs";
11
11
  import { isDenied } from "@oscharko-dev/keiko-workspace";
12
12
  import { localKnowledgeIndexingRegistry } from "./local-knowledge-indexing-registry.js";
@@ -15,6 +15,7 @@ const MAX_BODY_BYTES = 32_000;
15
15
  // thousands of parser diagnostics / job rows cannot inflate a single JSON response.
16
16
  const MAX_DIAGNOSTICS_PER_RESPONSE = 500;
17
17
  const MAX_JOBS_PER_RESPONSE = 500;
18
+ const LOCAL_KNOWLEDGE_STORE_UNAVAILABLE_MESSAGE = "Local knowledge storage is unavailable. Check the local runtime state and try again.";
18
19
  class InvalidRequest extends Error {
19
20
  constructor(message) {
20
21
  super(message);
@@ -208,7 +209,12 @@ function configuredEmbeddingProvider(config, modelId) {
208
209
  return isConfiguredEmbeddingModel(config, provider.modelId) ? provider : undefined;
209
210
  }
210
211
  function configuredProviderForCapsule(deps, capsule) {
211
- return configuredEmbeddingProvider(currentGatewayConfig(deps), capsule.embeddingModelIdentity.modelId);
212
+ const provider = configuredEmbeddingProvider(currentGatewayConfig(deps), capsule.embeddingModelIdentity.modelId);
213
+ if (provider === undefined)
214
+ return undefined;
215
+ return storedProviderMatchesConfiguredProvider(capsule.embeddingModelIdentity.provider, provider)
216
+ ? provider
217
+ : undefined;
212
218
  }
213
219
  function embeddingCompatibilityReason(config, capsule) {
214
220
  if (config === undefined)
@@ -217,9 +223,13 @@ function embeddingCompatibilityReason(config, capsule) {
217
223
  if (!config.providers.some((entry) => entry.modelId === modelId)) {
218
224
  return "The configured embedding model no longer matches this capsule.";
219
225
  }
220
- if (configuredEmbeddingProvider(config, modelId) === undefined) {
226
+ const provider = configuredEmbeddingProvider(config, modelId);
227
+ if (provider === undefined) {
221
228
  return "The configured model for this capsule cannot serve embeddings.";
222
229
  }
230
+ if (!storedProviderMatchesConfiguredProvider(capsule.embeddingModelIdentity.provider, provider)) {
231
+ return "The configured embedding gateway no longer matches this capsule.";
232
+ }
223
233
  return undefined;
224
234
  }
225
235
  function vectorCompatibility(deps, capsule) {
@@ -243,14 +253,15 @@ function vectorCompatibility(deps, capsule) {
243
253
  function loadSourceStats(store, capsuleId) {
244
254
  const rows = store._internal.db
245
255
  .prepare([
246
- "SELECT s.id AS source_id, s.display_name, s.scope_kind, s.scope_json,",
256
+ "SELECT s.id AS source_id, ks.display_name, ks.scope_kind, ks.scope_json,",
247
257
  " SUM(CASE WHEN d.status = 'extracted' THEN 1 ELSE 0 END) AS indexed_count,",
248
258
  " SUM(CASE WHEN d.status = 'failed' THEN 1 ELSE 0 END) AS failed_count,",
249
259
  " SUM(CASE WHEN d.status IN ('skipped', 'unsupported') THEN 1 ELSE 0 END) AS skipped_count",
250
260
  "FROM capsule_sources AS s",
261
+ "JOIN knowledge_sources AS ks ON ks.id = s.id",
251
262
  "LEFT JOIN documents AS d ON d.capsule_id = s.capsule_id AND d.source_id = s.id",
252
263
  "WHERE s.capsule_id = :c",
253
- "GROUP BY s.id, s.display_name, s.scope_kind, s.scope_json",
264
+ "GROUP BY s.id, ks.display_name, ks.scope_kind, ks.scope_json",
254
265
  "ORDER BY s.created_at ASC, s.id ASC",
255
266
  ].join(" "))
256
267
  .all({ c: capsuleId });
@@ -407,6 +418,7 @@ function buildCapsuleHealth(deps, store, dbPath, capsule) {
407
418
  const unsupportedGuidance = unsupportedDocuments > 0 ? loadUnsupportedGuidance(store, capsule.id) : [];
408
419
  return {
409
420
  capsuleId: capsule.id,
421
+ sourceIds: capsule.sourceIds,
410
422
  lifecycleState: capsule.lifecycleState,
411
423
  storageSizeBytes: storageSizeBytes(dbPath),
412
424
  documentCount,
@@ -466,9 +478,24 @@ function canonicalizeCapsuleSourceRoots(store, capsule) {
466
478
  const now = store._internal.now();
467
479
  for (const source of listCapsuleSources(store, capsule.id)) {
468
480
  const canonicalScope = canonicalizeScopeRoot(source.scope);
481
+ // Re-validate the deny-list against the canonical (realpath-resolved) root at index time,
482
+ // not only at connect time. A folder that was safe when connected can later be moved or
483
+ // symlink-swapped so its realpath resolves into a denied location (e.g. ~/.ssh); refuse to
484
+ // index it rather than walking credential files inside it. Runs for every source, including
485
+ // already-canonical ones, so it must precede the no-op skip below.
486
+ if (isDenied(connectScopeRootPath(canonicalScope))) {
487
+ throw new InvalidRequest("Source path is in a denied location and cannot be indexed.");
488
+ }
469
489
  if (JSON.stringify(canonicalScope) === JSON.stringify(source.scope)) {
470
490
  continue;
471
491
  }
492
+ store._internal.db
493
+ .prepare("UPDATE knowledge_sources SET scope_json = :scope_json, updated_at = :updated_at WHERE id = :id")
494
+ .run({
495
+ scope_json: scopeToJson(canonicalScope),
496
+ updated_at: now,
497
+ id: source.id,
498
+ });
472
499
  store._internal.db
473
500
  .prepare("UPDATE capsule_sources SET scope_json = :scope_json, updated_at = :updated_at WHERE capsule_id = :c AND id = :id")
474
501
  .run({
@@ -518,60 +545,51 @@ function parseCapsuleId(ctx) {
518
545
  }
519
546
  return capsuleId;
520
547
  }
521
- function parseReindexMode(body) {
522
- const mode = body.mode;
523
- if (mode === undefined || mode === "changed-files" || mode === "repair-failed") {
524
- return mode;
548
+ function requireSafeDisplayText(field, value) {
549
+ const trimmed = value.trim();
550
+ if (trimmed.length === 0 || !isSafeDisplaySummary(trimmed)) {
551
+ throw new InvalidRequest(`Field "${field}" must be a browser-safe non-empty string.`);
525
552
  }
526
- throw new InvalidRequest('Field "mode" must be "changed-files" or "repair-failed".');
553
+ return trimmed;
527
554
  }
528
- // O2-GAP-1 (Epic #189): reindex callers can opt into a forced re-embed. Plumbed
529
- // through to runIndexingJob so a capsule whose embedding model rotated can be
530
- // rebuilt without manual store surgery.
531
- function parseReindexForce(body) {
532
- const force = body.force;
533
- if (force === undefined)
534
- return false;
535
- if (typeof force !== "boolean") {
536
- throw new InvalidRequest('Field "force" must be a boolean when provided.');
555
+ function safeOptionalDisplayText(field, value) {
556
+ if (value === undefined) {
557
+ return undefined;
558
+ }
559
+ if (typeof value !== "string") {
560
+ throw new InvalidRequest(`Field "${field}" must be a string when provided.`);
561
+ }
562
+ const trimmed = value.trim();
563
+ if (trimmed.length === 0) {
564
+ return undefined;
537
565
  }
538
- return force;
566
+ if (!isSafeDisplaySummary(trimmed)) {
567
+ throw new InvalidRequest(`Field "${field}" must be browser-safe when provided.`);
568
+ }
569
+ return trimmed;
539
570
  }
540
571
  function parseCreateCapsuleInput(body) {
541
- const displayName = typeof body.displayName === "string" ? body.displayName.trim() : undefined;
542
- if (displayName === undefined || displayName.length === 0) {
572
+ if (typeof body.displayName !== "string") {
543
573
  throw new InvalidRequest('Field "displayName" must be a non-empty string.');
544
574
  }
545
- const descriptionRaw = body.description;
546
- if (descriptionRaw === undefined) {
547
- return { displayName };
548
- }
549
- if (typeof descriptionRaw !== "string") {
550
- throw new InvalidRequest('Field "description" must be a string when provided.');
551
- }
552
- const description = descriptionRaw.trim();
553
- return description.length === 0 ? { displayName } : { displayName, description };
554
- }
555
- // Issue #621: derive native vector dimensions from the embedding model id rather than
556
- // hardcoding 1536, which is wrong for text-embedding-3-large (native: 3072).
557
- function derivedVectorDimensions(modelId) {
558
- const lower = modelId.toLowerCase();
559
- if (lower.includes("text-embedding-3-large"))
560
- return 3072;
561
- if (lower.includes("text-embedding-3-small"))
562
- return 1536;
563
- if (lower.includes("text-embedding-ada-002"))
564
- return 1536;
565
- // Conservative default for unknown embedding models.
566
- return 1536;
567
- }
568
- function defaultEmbeddingIdentity(modelId) {
569
- return {
570
- provider: "openai",
571
- modelId,
572
- vectorDimensions: derivedVectorDimensions(modelId),
573
- vectorMetric: "cosine",
574
- };
575
+ const displayName = requireSafeDisplayText("displayName", body.displayName);
576
+ const description = safeOptionalDisplayText("description", body.description);
577
+ return description === undefined ? { displayName } : { displayName, description };
578
+ }
579
+ function normalizedEndpointFingerprint(baseUrl) {
580
+ const normalized = baseUrl.trim().replace(/\/+$/, "");
581
+ return createHash("sha256").update(normalized).digest("hex").slice(0, 16);
582
+ }
583
+ function embeddingProviderIdentity(provider) {
584
+ return `openai-compatible:${normalizedEndpointFingerprint(provider.baseUrl)}`;
585
+ }
586
+ function storedProviderMatchesConfiguredProvider(storedProvider, provider) {
587
+ // Legacy capsules created before #192 audit fixes stored the generic "openai" label.
588
+ // Keep those usable; new capsules store a non-secret endpoint fingerprint so future
589
+ // gateway swaps mark them incompatible instead of mixing unrelated vector spaces.
590
+ if (!storedProvider.startsWith("openai-compatible:"))
591
+ return true;
592
+ return storedProvider === embeddingProviderIdentity(provider);
575
593
  }
576
594
  // Issue #621 / #677: select the first provider whose resolved capability is embedding-capable.
577
595
  // Falling back to a chat model creates capsules that can never index successfully.
@@ -584,6 +602,45 @@ export function selectEmbeddingModelId(config) {
584
602
  function createCapsuleStorageReference(capsuleId) {
585
603
  return `capsules/${capsuleId}`;
586
604
  }
605
+ async function verifiedNewCapsuleEmbeddingIdentity(deps, provider) {
606
+ const adapter = createEmbeddingAdapter(provider, requestEmbeddingImpl(deps));
607
+ try {
608
+ const result = await verifyEmbeddingCapability(adapter, {
609
+ modelId: provider.modelId,
610
+ provider: embeddingProviderIdentity(provider),
611
+ vectorMetric: "cosine",
612
+ timeoutMs: provider.timeoutMs,
613
+ });
614
+ if (result.ok) {
615
+ return { ok: true, identity: result.identity };
616
+ }
617
+ return { ok: false, result: conflict(result.safeMessage) };
618
+ }
619
+ catch {
620
+ return {
621
+ ok: false,
622
+ result: conflict("embedding capability preflight failed before capsule creation"),
623
+ };
624
+ }
625
+ }
626
+ async function resolveNewCapsuleEmbeddingIdentity(deps) {
627
+ const config = currentGatewayConfig(deps);
628
+ const configuredModelId = selectEmbeddingModelId(config);
629
+ if (configuredModelId === undefined) {
630
+ return {
631
+ ok: false,
632
+ result: conflict("No configured embedding-capable model is available for new capsules. Configure the Model Gateway first."),
633
+ };
634
+ }
635
+ const provider = configuredEmbeddingProvider(config, configuredModelId);
636
+ if (provider === undefined) {
637
+ return {
638
+ ok: false,
639
+ result: conflict("No configured embedding-capable model is available for new capsules. Configure the Model Gateway first."),
640
+ };
641
+ }
642
+ return verifiedNewCapsuleEmbeddingIdentity(deps, provider);
643
+ }
587
644
  function latestRunningJobId(store, capsuleId) {
588
645
  const row = store._internal.db
589
646
  .prepare([
@@ -607,6 +664,9 @@ function requestRunningJobCancellation(store, capsuleId) {
607
664
  localKnowledgeIndexingRegistry.cancel(String(capsuleId));
608
665
  return true;
609
666
  }
667
+ function emptyCapsuleIndexingConflict() {
668
+ return conflict("Attach at least one source to this capsule before indexing it.");
669
+ }
610
670
  function assertScopeShape(scope) {
611
671
  const result = validateKnowledgeSourceScope(scope);
612
672
  if (result.ok)
@@ -622,6 +682,13 @@ function disconnectCapsuleSources(store, capsuleId) {
622
682
  }
623
683
  updateCapsuleState(store, capsuleId, "draft");
624
684
  }
685
+ function resolveIndexingSourceSelection(store, capsule, mode) {
686
+ if (mode !== "repair-failed") {
687
+ return { shouldRun: true };
688
+ }
689
+ const sourceIds = failedSourceIds(store, capsule.id);
690
+ return sourceIds.length === 0 ? { shouldRun: false } : { shouldRun: true, sourceIds };
691
+ }
625
692
  // LK-001 (Epic #189): both the start and refresh handlers map a terminal IndexingTerminal
626
693
  // to the same 3-way response — cancelled → 409 cancelled, failed → 409 failed-message,
627
694
  // any other (completed or absent) → 200 ok. Extracted so each handler stays under the
@@ -642,13 +709,16 @@ async function runCapsuleIndexingJob(deps, store, capsule, options) {
642
709
  }
643
710
  canonicalizeCapsuleSourceRoots(store, capsule);
644
711
  const adapter = createEmbeddingAdapter(provider, requestEmbeddingImpl(deps));
645
- const sourceIds = options.mode === "repair-failed" ? failedSourceIds(store, capsule.id) : undefined;
712
+ const sourceSelection = resolveIndexingSourceSelection(store, capsule, options.mode);
713
+ if (!sourceSelection.shouldRun) {
714
+ return undefined;
715
+ }
646
716
  const controller = localKnowledgeIndexingRegistry.start(String(capsule.id));
647
717
  let terminal;
648
718
  try {
649
719
  for await (const event of runIndexingJob({
650
720
  capsuleId: capsule.id,
651
- ...(sourceIds !== undefined ? { sourceIds } : {}),
721
+ ...(sourceSelection.sourceIds !== undefined ? { sourceIds: sourceSelection.sourceIds } : {}),
652
722
  parserRegistry: createDefaultParserRegistry(),
653
723
  workspaceFs: nodeWorkspaceFs,
654
724
  embeddingAdapter: adapter,
@@ -701,7 +771,7 @@ async function runHandler(worker) {
701
771
  return notFound(error.message);
702
772
  }
703
773
  if (error instanceof KnowledgeStoreError) {
704
- return serviceUnavailable(error.message);
774
+ return serviceUnavailable(LOCAL_KNOWLEDGE_STORE_UNAVAILABLE_MESSAGE);
705
775
  }
706
776
  throw error;
707
777
  }
@@ -764,14 +834,12 @@ function parseSetCapsuleIds(raw) {
764
834
  return capsuleIds;
765
835
  }
766
836
  function parseCreateCapsuleSetInput(body) {
767
- const displayName = typeof body.displayName === "string" ? body.displayName.trim() : "";
768
- if (displayName.length === 0) {
837
+ if (typeof body.displayName !== "string") {
769
838
  throw new InvalidRequest('Field "displayName" must be a non-empty string.');
770
839
  }
840
+ const displayName = requireSafeDisplayText("displayName", body.displayName);
771
841
  const capsuleIds = parseSetCapsuleIds(body.capsuleIds);
772
- const description = typeof body.description === "string" && body.description.trim().length > 0
773
- ? body.description.trim()
774
- : undefined;
842
+ const description = safeOptionalDisplayText("description", body.description);
775
843
  return description === undefined
776
844
  ? { displayName, capsuleIds }
777
845
  : { displayName, description, capsuleIds };
@@ -820,16 +888,20 @@ function parseUpdateCapsuleInput(body) {
820
888
  }
821
889
  const patch = {};
822
890
  if (body.displayName !== undefined) {
823
- if (typeof body.displayName !== "string" || body.displayName.trim().length === 0) {
891
+ if (typeof body.displayName !== "string") {
824
892
  throw new InvalidRequest('Field "displayName" must be a non-empty string when provided.');
825
893
  }
826
- patch.displayName = body.displayName.trim();
894
+ patch.displayName = requireSafeDisplayText("displayName", body.displayName);
827
895
  }
828
896
  if (body.description !== undefined) {
829
897
  if (typeof body.description !== "string") {
830
898
  throw new InvalidRequest('Field "description" must be a string when provided.');
831
899
  }
832
- patch.description = body.description.trim();
900
+ const trimmed = body.description.trim();
901
+ if (!isSafeDisplaySummary(trimmed)) {
902
+ throw new InvalidRequest('Field "description" must be browser-safe when provided.');
903
+ }
904
+ patch.description = trimmed;
833
905
  }
834
906
  if (patch.displayName === undefined && patch.description === undefined) {
835
907
  throw new InvalidRequest("Patch must include displayName or description.");
@@ -858,9 +930,9 @@ export async function handleCreateLocalKnowledgeCapsule(ctx, deps) {
858
930
  const input = parseCreateCapsuleInput(await readJsonObject(ctx.req));
859
931
  const env = openStoreForDeps(deps);
860
932
  try {
861
- const configuredModelId = selectEmbeddingModelId(currentGatewayConfig(deps));
862
- if (configuredModelId === undefined) {
863
- return conflict("No configured embedding-capable model is available for new capsules. Configure the Model Gateway first.");
933
+ const embeddingIdentity = await resolveNewCapsuleEmbeddingIdentity(deps);
934
+ if (!embeddingIdentity.ok) {
935
+ return embeddingIdentity.result;
864
936
  }
865
937
  const capsuleId = randomUUID();
866
938
  const capsule = createCapsule(env.store, {
@@ -871,7 +943,7 @@ export async function handleCreateLocalKnowledgeCapsule(ctx, deps) {
871
943
  retrievalEffort: "default",
872
944
  outputMode: "snippets",
873
945
  answerGroundingPolicy: "require-citations",
874
- embeddingModelIdentity: defaultEmbeddingIdentity(configuredModelId),
946
+ embeddingModelIdentity: embeddingIdentity.identity,
875
947
  lifecycleState: "draft",
876
948
  storageReference: createCapsuleStorageReference(capsuleId),
877
949
  }, createSqliteAuditSink(env.store));
@@ -914,6 +986,9 @@ export async function handleStartLocalKnowledgeCapsuleIndexing(ctx, deps) {
914
986
  if (capsule === undefined) {
915
987
  return notFound(`Capsule not found: ${capsuleId}`);
916
988
  }
989
+ if (capsule.sourceIds.length === 0) {
990
+ return emptyCapsuleIndexingConflict();
991
+ }
917
992
  if (configuredProviderForCapsule(deps, capsule) === undefined) {
918
993
  return conflict("No configured embedding-capable model matches this capsule. Update the Model Gateway configuration before indexing it.");
919
994
  }
@@ -973,8 +1048,11 @@ function parseConnectSourceInput(body) {
973
1048
  assertScopeShape(scope);
974
1049
  const displayNameRaw = body.displayName;
975
1050
  const displayName = typeof displayNameRaw === "string" && displayNameRaw.trim().length > 0
976
- ? displayNameRaw.trim()
1051
+ ? requireSafeDisplayText("displayName", displayNameRaw)
977
1052
  : basename(connectScopeRootPath(scope));
1053
+ if (!isSafeDisplaySummary(displayName)) {
1054
+ throw new InvalidRequest('Field "displayName" must be browser-safe when provided.');
1055
+ }
978
1056
  return { scope, displayName };
979
1057
  }
980
1058
  // Canonicalize (realpath) then refuse denied locations and non-directory roots BEFORE
@@ -997,6 +1075,36 @@ function guardConnectorSourcePath(scope) {
997
1075
  }
998
1076
  return canonical;
999
1077
  }
1078
+ // Stable identity for connect-time dedup. Field-by-field (not JSON.stringify of the raw
1079
+ // object) so the request body's key order cannot defeat the comparison, and built on the
1080
+ // canonicalized scope so trailing-slash and symlink-alias spellings of the same folder fold
1081
+ // together. Scopes that differ in globs, recursion, or file lists stay distinct sources.
1082
+ //
1083
+ // files scope: the array order has no logical meaning (unlike includeGlobs/excludeGlobs on
1084
+ // folder/repository scopes where first-match-wins makes order semantically significant), so
1085
+ // we sort before serializing. This ensures [a,b] and [b,a] map to the same identity and the
1086
+ // idempotency check fires correctly on permuted re-connects.
1087
+ function scopeIdentity(scope) {
1088
+ const canonical = canonicalizeScopeRoot(scope);
1089
+ if (canonical.kind === "folder") {
1090
+ return JSON.stringify([
1091
+ "folder",
1092
+ canonical.rootPath,
1093
+ canonical.recursive,
1094
+ canonical.includeGlobs ?? null,
1095
+ canonical.excludeGlobs ?? null,
1096
+ ]);
1097
+ }
1098
+ if (canonical.kind === "repository") {
1099
+ return JSON.stringify([
1100
+ "repository",
1101
+ canonical.repositoryRoot,
1102
+ canonical.includeGlobs ?? null,
1103
+ canonical.excludeGlobs ?? null,
1104
+ ]);
1105
+ }
1106
+ return JSON.stringify(["files", canonical.rootPath, [...canonical.files].sort()]);
1107
+ }
1000
1108
  export async function handleConnectLocalKnowledgeCapsule(ctx, deps) {
1001
1109
  return runHandler(async () => {
1002
1110
  const capsuleId = parseCapsuleId(ctx);
@@ -1008,6 +1116,17 @@ export async function handleConnectLocalKnowledgeCapsule(ctx, deps) {
1008
1116
  if (capsule === undefined) {
1009
1117
  return notFound(`Capsule not found: ${capsuleId}`);
1010
1118
  }
1119
+ // Idempotent connect: re-connecting an identical scope (double-click, trailing-slash or
1120
+ // symlink-alias spelling of the same folder) must not create a second source row — a
1121
+ // duplicate would double-index every document and double every grounded citation.
1122
+ const targetIdentity = scopeIdentity(guarded);
1123
+ const alreadyConnected = listCapsuleSources(env.store, capsule.id).some((source) => scopeIdentity(source.scope) === targetIdentity);
1124
+ if (alreadyConnected) {
1125
+ return {
1126
+ status: 200,
1127
+ body: buildCapsuleResponseBody(deps, env.store, env.dbPath, capsule),
1128
+ };
1129
+ }
1011
1130
  addSourceToCapsule(env.store, capsule.id, {
1012
1131
  id: randomUUID(),
1013
1132
  displayName,
@@ -1061,14 +1180,21 @@ export async function handleReindexLocalKnowledgeCapsule(ctx, deps) {
1061
1180
  return runHandler(async () => {
1062
1181
  const capsuleId = parseCapsuleId(ctx);
1063
1182
  const body = await readJsonObject(ctx.req);
1064
- const mode = parseReindexMode(body);
1065
- const force = parseReindexForce(body);
1183
+ const reindexRequest = validateCapsuleReindexRequest({ ...body, capsuleId });
1184
+ if (!reindexRequest.ok) {
1185
+ throw new InvalidRequest(reindexRequest.errors.join(" "));
1186
+ }
1187
+ const mode = reindexRequest.value.mode;
1188
+ const force = reindexRequest.value.force ?? false;
1066
1189
  const env = openStoreForDeps(deps);
1067
1190
  try {
1068
1191
  const capsule = getCapsule(env.store, capsuleId);
1069
1192
  if (capsule === undefined) {
1070
1193
  return notFound(`Capsule not found: ${capsuleId}`);
1071
1194
  }
1195
+ if (capsule.sourceIds.length === 0) {
1196
+ return emptyCapsuleIndexingConflict();
1197
+ }
1072
1198
  if (configuredProviderForCapsule(deps, capsule) === undefined) {
1073
1199
  return conflict("No configured embedding-capable model matches this capsule. Update the Model Gateway configuration before refreshing it.");
1074
1200
  }
@@ -13,5 +13,5 @@ export declare function handleDeleteMemory(ctx: RouteContext, deps: UiHandlerDep
13
13
  export declare function handleCorrectMemory(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
14
14
  export declare function handleAcceptMemoryProposal(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
15
15
  export declare function handleRejectMemoryProposal(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
16
- export declare function createBffMemoryVault(redactString: (s: string) => string, onMemoryEvent?: (event: import("@oscharko-dev/keiko-memory-vault").MemoryEvent) => void): MemoryVaultStore;
16
+ export declare function createBffMemoryVault(redactString: (s: string) => string, onMemoryEvent?: (event: import("@oscharko-dev/keiko-memory-vault").MemoryEvent) => void, env?: Readonly<Record<string, string | undefined>>): MemoryVaultStore;
17
17
  //# sourceMappingURL=memory-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../src/memory-handlers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAsB1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuQvE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA8BtF;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqB5F;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqBnF;AAwDD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BnF;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BrF;AAID,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAsCtB;AA0DD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAKD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BtF;AA0CD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAID,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA+B9F;AAyBD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAOD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,kCAAkC,EAAE,WAAW,KAAK,IAAI,GACtF,gBAAgB,CAQlB"}
1
+ {"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../src/memory-handlers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAsB1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuQvE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA8BtF;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqB5F;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqBnF;AAwDD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BnF;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BrF;AAID,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAsCtB;AA0DD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAKD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BtF;AA0CD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAID,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA+B9F;AAyBD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAOD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,kCAAkC,EAAE,WAAW,KAAK,IAAI,EACvF,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACjD,gBAAgB,CASlB"}
@@ -712,12 +712,13 @@ export async function handleRejectMemoryProposal(ctx, deps) {
712
712
  // Exported so deps.ts can wire it without importing the vault directly. The `redactString`
713
713
  // is the same closure used by the audit redactor; re-using it here keeps redaction in one
714
714
  // place (D9).
715
- export function createBffMemoryVault(redactString, onMemoryEvent) {
715
+ export function createBffMemoryVault(redactString, onMemoryEvent, env) {
716
716
  // Optional onMemoryEvent (#214) wires every successful vault mutation into the audit
717
717
  // ledger. When undefined, the vault still fires its internal NOOP sink, so the absence
718
718
  // of an audit hook is fully backward-compatible with the pre-#214 BFF wiring.
719
- if (onMemoryEvent === undefined) {
720
- return createMemoryVault({ redactString });
721
- }
722
- return createMemoryVault({ redactString, onMemoryEvent });
719
+ return createMemoryVault({
720
+ redactString,
721
+ ...(onMemoryEvent === undefined ? {} : { onMemoryEvent }),
722
+ ...(env === undefined ? {} : { env }),
723
+ });
723
724
  }
@@ -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_TLS_CA_FAILURE" | "FIGMA_OVERSIZED_SCOPE" | "FIGMA_RATE_LIMITED" | "FIGMA_UPSTREAM_UNAVAILABLE" | "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_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;
@@ -13,7 +13,15 @@ export declare class FigmaConnectorError extends Error {
13
13
  /**
14
14
  * Classify a transport-level throw from `fetch` or the body read into a stable
15
15
  * {@link FigmaConnectorErrorCode}. Side-effect-free and total — any non-Error
16
- * throwable (string, undefined) maps to `FIGMA_PROXY_EGRESS_FAILED`.
16
+ * throwable (string, undefined) maps to `FIGMA_EGRESS_FAILED`.
17
+ *
18
+ * Precedence:
19
+ * (a) OutboundHttpEgressError (or plain Error with outbound code, for cross-package resilience)
20
+ * → proxy/TLS-via-proxy codes. FIGMA_PROXY_* codes are ONLY reachable via this branch.
21
+ * (b) TLS trust codes / messages → FIGMA_TLS_CA_FAILURE.
22
+ * (c) Timeout / abort names (DOMException AbortError, Node TimeoutError) → FIGMA_EGRESS_TIMEOUT.
23
+ * (d) Direct connectivity codes / messages → FIGMA_NETWORK_UNREACHABLE.
24
+ * (e) Default → FIGMA_EGRESS_FAILED.
17
25
  *
18
26
  * Inspects `err.code`, `err.cause.code`, and `err.message` in that order of
19
27
  * precedence so Node.js `TypeError: fetch failed` wrappers (undici wraps the
@@ -1 +1 @@
1
- {"version":3,"file":"figmaConnectorErrors.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figma/figmaConnectorErrors.ts"],"names":[],"mappings":"AAwBA,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,sBAAsB,GACtB,uBAAuB,GACvB,oBAAoB,GACpB,4BAA4B,GAC5B,gBAAgB,CAAC;AAmCrB,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;AA6DD;;;;;;;;GAQG;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":"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"}