@oscharko-dev/keiko 0.2.0-beta.3 → 0.2.0-beta.5
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.
- package/README.md +139 -1
- package/dist/ui/csp-hashes.json +33 -39
- package/dist/ui/static/404.html +1 -1
- package/dist/ui/static/__next.__PAGE__.txt +9 -0
- package/dist/ui/static/__next._full.txt +18 -0
- package/dist/ui/static/__next._head.txt +6 -0
- package/dist/ui/static/__next._index.txt +5 -0
- package/dist/ui/static/__next._tree.txt +2 -0
- package/dist/ui/static/_next/static/chunks/05-c3ty_6dwfk.js +1 -0
- package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +2 -0
- package/dist/ui/static/_next/static/chunks/0iq1i69206cyl.js +31 -0
- package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +1 -0
- package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +1 -0
- package/dist/ui/static/_next/static/chunks/14mrh2-p_w84d.js +1 -0
- package/dist/ui/static/_next/static/chunks/1m-kvwm6_90_3.css +1 -0
- package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +1 -0
- package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +4 -0
- package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +1 -0
- package/dist/ui/static/_next/static/chunks/2ngm8iwdb1cbv.js +106 -0
- package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +1 -0
- package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +1 -0
- package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +1 -0
- package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +1 -0
- package/dist/ui/static/_next/static/chunks/3peubv2924kx4.js +1 -0
- package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +1 -0
- package/dist/ui/static/_next/static/hR2gBQqCDKdPdSxBqZhqv/_buildManifest.js +11 -0
- package/dist/ui/static/_next/static/hR2gBQqCDKdPdSxBqZhqv/_clientMiddlewareManifest.js +1 -0
- package/dist/ui/static/_not-found/__next._full.txt +16 -0
- package/dist/ui/static/_not-found/__next._head.txt +6 -0
- package/dist/ui/static/_not-found/__next._index.txt +5 -0
- package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +5 -0
- package/dist/ui/static/_not-found/__next._not-found.txt +5 -0
- package/dist/ui/static/_not-found/__next._tree.txt +2 -0
- package/dist/ui/static/_not-found.html +1 -0
- package/dist/ui/static/_not-found.txt +16 -0
- package/dist/ui/static/index.html +1 -1
- package/dist/ui/static/index.txt +16 -18
- package/dist/ui/static/launch/__next._full.txt +20 -0
- package/dist/ui/static/launch/__next._head.txt +6 -0
- package/dist/ui/static/launch/__next._index.txt +5 -0
- package/dist/ui/static/launch/__next._tree.txt +2 -0
- package/dist/ui/static/launch/__next.launch.__PAGE__.txt +9 -0
- package/dist/ui/static/launch/__next.launch.txt +5 -0
- package/dist/ui/static/launch.html +1 -1
- package/dist/ui/static/launch.txt +17 -17
- package/dist/ui/static/local-knowledge/__next._full.txt +20 -0
- package/dist/ui/static/local-knowledge/__next._head.txt +6 -0
- package/dist/ui/static/local-knowledge/__next._index.txt +5 -0
- package/dist/ui/static/local-knowledge/__next._tree.txt +2 -0
- package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +9 -0
- package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +5 -0
- package/dist/ui/static/local-knowledge/capsule/__next._full.txt +17 -0
- package/dist/ui/static/local-knowledge/capsule/__next._head.txt +6 -0
- package/dist/ui/static/local-knowledge/capsule/__next._index.txt +5 -0
- package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -0
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +6 -0
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +5 -0
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +5 -0
- package/dist/ui/static/local-knowledge/capsule.html +1 -1
- package/dist/ui/static/local-knowledge/capsule.txt +14 -14
- package/dist/ui/static/local-knowledge.html +1 -1
- package/dist/ui/static/local-knowledge.txt +19 -16
- package/dist/ui/static/memoriaviva/__next._full.txt +17 -0
- package/dist/ui/static/memoriaviva/__next._head.txt +6 -0
- package/dist/ui/static/memoriaviva/__next._index.txt +5 -0
- package/dist/ui/static/memoriaviva/__next._tree.txt +2 -0
- package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +6 -0
- package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +5 -0
- package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +17 -0
- package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +6 -0
- package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +5 -0
- package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -0
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +6 -0
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +5 -0
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +5 -0
- package/dist/ui/static/memoriaviva/consolidation.html +1 -1
- package/dist/ui/static/memoriaviva/consolidation.txt +15 -15
- package/dist/ui/static/memoriaviva/detail/__next._full.txt +17 -0
- package/dist/ui/static/memoriaviva/detail/__next._head.txt +6 -0
- package/dist/ui/static/memoriaviva/detail/__next._index.txt +5 -0
- package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -0
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +6 -0
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +5 -0
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +5 -0
- package/dist/ui/static/memoriaviva/detail.html +1 -1
- package/dist/ui/static/memoriaviva/detail.txt +14 -14
- package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +17 -0
- package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +6 -0
- package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +5 -0
- package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -0
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +6 -0
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +5 -0
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +5 -0
- package/dist/ui/static/memoriaviva/review-queue.html +1 -1
- package/dist/ui/static/memoriaviva/review-queue.txt +15 -15
- package/dist/ui/static/memoriaviva.html +1 -1
- package/dist/ui/static/memoriaviva.txt +14 -14
- package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.js +61 -2
- package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/evidence.js +65 -21
- package/node_modules/@oscharko-dev/keiko-cli/dist/launcher-platforms.js +3 -3
- package/node_modules/@oscharko-dev/keiko-cli/dist/run.d.ts +3 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/run.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/run.js +73 -41
- package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +36 -11
- package/node_modules/@oscharko-dev/keiko-cli/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +20 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +256 -75
- package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +11 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +6 -6
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -4
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts +11 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.js +4 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.js +109 -4
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.js +94 -7
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts +5 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/ids.js +3 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +14 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.js +53 -5
- package/node_modules/@oscharko-dev/keiko-contracts/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/dist/runner.js +11 -3
- package/node_modules/@oscharko-dev/keiko-evaluations/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts +20 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/connected-context-evidence.js +34 -2
- package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js +3 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +17 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js +19 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +5 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +32 -2
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +259 -40
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts +3 -3
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts +18 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/retention.js +48 -5
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts +33 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +99 -13
- package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-harness/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-lifecycle.js +25 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/capsule-set-lifecycle.js +16 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts +3 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-persist.js +9 -5
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker-runner.js +22 -7
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts +4 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/chunker.js +61 -9
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/citation-mapper.js +64 -36
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/index.js +2 -2
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts +7 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/chunking/types.js +5 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/composition.js +27 -4
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/index.d.ts +0 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/index.js +0 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts +5 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/model-gateway-answer-generator.js +25 -6
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/types.js +2 -3
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/discovery-runner.js +10 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts +4 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/extract.js +370 -45
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/test-support.js +8 -4
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/types.js +10 -5
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/walk.js +65 -20
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/fixtures.js +79 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner-seed.js +4 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +6 -5
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.js +4 -4
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/embedding-batcher.js +71 -29
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +253 -131
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts +12 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/vector-persist.js +9 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +3 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.js +13 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/docx-parser.js +86 -46
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/json-parser.js +50 -22
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts +21 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +90 -13
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/registry.js +3 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts +7 -2
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.js +7 -3
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/audit-emitter.js +8 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/diagnostic-redactor.js +17 -10
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/retention-applier.js +7 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/privacy/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/scoped-vector-search.js +318 -32
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/source-lifecycle.js +46 -16
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts +14 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/store.js +26 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +10 -5
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts +2 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/config.js +50 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/http.js +114 -44
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/normalize.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/normalize.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/normalize.js +22 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-adapter.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-adapter.js +18 -4
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts +14 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/dispatcher.js +14 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/a11yBaseline.js +9 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +9 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.js +9 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts +5 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js +229 -33
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +62 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.js +24 -4
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts +4 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.js +0 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js +119 -5
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts +2 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/prune.js +26 -11
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +86 -9
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.js +10 -3
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +14 -12
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/alm.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/alm.js +29 -30
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/markdown.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/markdown.js +29 -5
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/qtest.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/qtest.js +29 -29
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/spreadsheetSafeCsv.d.ts +2 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/spreadsheetSafeCsv.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/spreadsheetSafeCsv.js +40 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/xray.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/xray.js +6 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/sourceMixPlanning.js +0 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/ingestion/untrustedContentNormalisation.js +9 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-sdk/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-security/dist/redaction.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-security/dist/redaction.js +4 -2
- package/node_modules/@oscharko-dev/keiko-security/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/assistant-response.d.ts +6 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/assistant-response.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/assistant-response.js +12 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +17 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.js +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +59 -9
- package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/evidence.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/evidence.js +4 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts +18 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/files.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/files.js +208 -72
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-answer.js +7 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-context-index.js +27 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-handoff.js +46 -14
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.js +651 -45
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.js +5 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts +9 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +197 -46
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +103 -25
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts +7 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +199 -21
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-turn-registry.js +21 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts +9 -6
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +193 -67
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +189 -72
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/connectorErrors.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/connectorErrors.js +11 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/editRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/editRoutes.js +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/exportRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/exportRoutes.js +89 -30
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +10 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.js +110 -30
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts +13 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaHttpPort.js +29 -17
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts +13 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaRenderPort.js +54 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +84 -12
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.js +16 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +6 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +13 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.js +15 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +9 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotOrchestration.js +2 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +138 -19
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/generationPort.js +38 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffErrors.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffErrors.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffErrors.js +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/handoffRoutes.js +41 -9
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/index.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/index.js +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +43 -10
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +3 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/retentionRoutes.d.ts +5 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/retentionRoutes.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/retentionRoutes.js +70 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewRoutes.js +6 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewStore.d.ts +25 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewStore.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reviewStore.js +72 -9
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +97 -18
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRegistry.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRegistry.js +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts +4 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +17 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +18 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +8 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.js +6 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/chats.js +84 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/store/db.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/db.js +4 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts +5 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store-handlers.js +71 -15
- package/node_modules/@oscharko-dev/keiko-server/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-tools/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-verification/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/assemble.js +45 -10
- package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/contextpack/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/anchors.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/anchors.js +68 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.js +4 -6
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts +30 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/__tests__/fixtures/runEntryFixtures.js +114 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +20 -7
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runEntries.js +15 -7
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.js +28 -4
- package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.js +51 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/signals.js +8 -3
- package/node_modules/@oscharko-dev/keiko-workflows/package.json +2 -2
- package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/discovery.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/discovery.js +34 -2
- package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/fs.js +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/gitHistory.js +84 -27
- package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.js +19 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/importGraph.js +6 -3
- package/node_modules/@oscharko-dev/keiko-workspace/dist/realpath.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/realpath.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/realpath.js +2 -2
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.js +72 -25
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts +15 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +107 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts +18 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +42 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +72 -11
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.js +15 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.js +89 -75
- package/node_modules/@oscharko-dev/keiko-workspace/package.json +2 -2
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/http2.d.ts +1 -0
- package/node_modules/@types/node/package.json +2 -2
- package/package.json +3 -1
- package/dist/ui/static/_next/static/RAzN8WLtYaktD-ZePowXl/_buildManifest.js +0 -1
- package/dist/ui/static/_next/static/chunks/18-ac3e3551b4e0ce8a.js +0 -1
- package/dist/ui/static/_next/static/chunks/258-e3b5ee46b0669967.js +0 -1
- package/dist/ui/static/_next/static/chunks/422-4c94c107b90d3ccc.js +0 -1
- package/dist/ui/static/_next/static/chunks/664-6d821dc1aacb6b48.js +0 -1
- package/dist/ui/static/_next/static/chunks/87c73c54-24122e7b92478d00.js +0 -1
- package/dist/ui/static/_next/static/chunks/982-abc19630e6305864.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/_not-found/page-c4d800f366186be0.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/launch/page-17ca39367f25f372.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/layout-0f75a39edc90325d.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-87a2ea239308ed34.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-98bb7704fc7fd0ad.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-f912263f1ee5d2dd.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-fa590f135356e0af.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-b8555600c1113f14.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-85cfbeb3598c0a36.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/page-2881856ad25d9935.js +0 -1
- package/dist/ui/static/_next/static/chunks/framework-d8f01f7e25201916.js +0 -1
- package/dist/ui/static/_next/static/chunks/main-app-5b043f6c611974ae.js +0 -1
- package/dist/ui/static/_next/static/chunks/main-bc552b04f2b6dbe2.js +0 -1
- package/dist/ui/static/_next/static/chunks/pages/_app-2e239ff05bfdf6d6.js +0 -1
- package/dist/ui/static/_next/static/chunks/pages/_error-bda15e7831eec981.js +0 -1
- package/dist/ui/static/_next/static/chunks/webpack-0cfe6f51555ca84e.js +0 -1
- package/dist/ui/static/_next/static/css/eac94895f3edc5a5.css +0 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/scripted-answer-generator.d.ts +0 -6
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/scripted-answer-generator.d.ts.map +0 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/conversation/scripted-answer-generator.js +0 -49
- /package/dist/ui/static/_next/static/chunks/{polyfills-42372ed130431b0a.js → 0cz1d0mv5g_q7.js} +0 -0
- /package/dist/ui/static/_next/static/{RAzN8WLtYaktD-ZePowXl → hR2gBQqCDKdPdSxBqZhqv}/_ssgManifest.js +0 -0
|
@@ -26,5 +26,5 @@ export { AUDIT_CODES, AuditError, EvidenceReadError, EvidenceSchemaError, Eviden
|
|
|
26
26
|
// trust rule 6 to let downstream consumers (Issue #273 workflow runners, future
|
|
27
27
|
// orchestrators) avoid namespace plumbing in hot paths.
|
|
28
28
|
export * as QualityIntelligence from "./qualityIntelligence/index.js";
|
|
29
|
-
export { QUALITY_INTELLIGENCE_DEFAULT_RETENTION_PROFILE_ID, QUALITY_INTELLIGENCE_EVIDENCE_SCHEMA_VERSION, QUALITY_INTELLIGENCE_RETENTION_PROFILES, applyQualityIntelligenceRetention, createInMemoryQualityIntelligenceLocalStore, createNodeQualityIntelligenceLocalStore, deleteQualityIntelligenceRun, getQualityIntelligenceRetentionProfile, listQualityIntelligenceRuns, loadQualityIntelligenceRun, quarantineCorruptQualityIntelligenceManifest, recordQualityIntelligenceRun, recordQualityIntelligenceCandidates, loadQualityIntelligenceCandidates, deleteQualityIntelligenceCandidates, applyQualityIntelligenceCandidateEdit, QUALITY_INTELLIGENCE_CANDIDATES_SCHEMA_VERSION, createNodeContainedJsonArtifactStore, redactQualityIntelligenceEvidence, snapshotQualityIntelligenceRunsForRecovery, validateQualityIntelligenceEvidenceManifest, FIGMA_SNAPSHOT_SCHEMA_VERSION, validateFigmaSnapshotRecord, createNodeFigmaSnapshotStore, } from "./qualityIntelligence/index.js";
|
|
29
|
+
export { QUALITY_INTELLIGENCE_DEFAULT_RETENTION_PROFILE_ID, QUALITY_INTELLIGENCE_EVIDENCE_SCHEMA_VERSION, QUALITY_INTELLIGENCE_RETENTION_PROFILES, appendQualityIntelligenceExportRow, applyQualityIntelligenceRetention, createInMemoryQualityIntelligenceLocalStore, createNodeQualityIntelligenceLocalStore, deleteQualityIntelligenceRun, getQualityIntelligenceRetentionProfile, listQualityIntelligenceRuns, loadQualityIntelligenceRun, quarantineCorruptQualityIntelligenceManifest, recordQualityIntelligenceRun, recordQualityIntelligenceCandidates, loadQualityIntelligenceCandidates, deleteQualityIntelligenceCandidates, applyQualityIntelligenceCandidateEdit, QUALITY_INTELLIGENCE_CANDIDATES_SCHEMA_VERSION, createNodeContainedJsonArtifactStore, redactQualityIntelligenceEvidence, snapshotQualityIntelligenceRunsForRecovery, validateQualityIntelligenceEvidenceManifest, FIGMA_SNAPSHOT_SCHEMA_VERSION, validateFigmaSnapshotRecord, createNodeFigmaSnapshotStore, } from "./qualityIntelligence/index.js";
|
|
30
30
|
export { EVIDENCE_SCHEMA_VERSION, DEFAULT_RETENTION, } from "./types.js";
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
|
|
2
2
|
export declare const QUALITY_INTELLIGENCE_CANDIDATES_SCHEMA_VERSION: 1;
|
|
3
|
+
export declare const CANDIDATES_SUFFIX = ".candidates.json";
|
|
3
4
|
export interface QualityIntelligenceCandidateRow {
|
|
4
5
|
readonly id: string;
|
|
5
6
|
readonly title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidatesArtifact.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/candidatesArtifact.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAOpE,eAAO,MAAM,8CAA8C,EAAG,CAAU,CAAC;AAIzE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC,2BAA2B,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,4BAA4B,CAAC;IACrE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,iCAAiC,CAAC;IACvE,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,yBAAyB,EAAE,OAAO,8CAA8C,CAAC;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAGhE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,mBAAmB,CAAC,0CAA0C,EAAE,CAAC;CACtG;AAgLD,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAOD,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,CAAC,oCAAoC,EAAE,CAAC;IACzF,QAAQ,CAAC,eAAe,CAAC,EACrB,SAAS,mBAAmB,CAAC,0CAA0C,EAAE,GACzE,SAAS,CAAC;IACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC9C;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAC9C,OAAO,wCAAwC,KAC9C,MAiBF,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,OAAO,MAAM,EACb,SAAS,yCAAyC,KACjD,qCAAqC,GAAG,SAAsD,CAAC;AAElG,eAAO,MAAM,mCAAmC,GAC9C,OAAO,MAAM,EACb,SAAS,yCAAyC,KACjD,OAAsD,CAAC;AAQ1D,KAAK,cAAc,GAAG,mBAAmB,CAAC,0CAA0C,CAAC;AACrF,KAAK,cAAc,GAAG,mBAAmB,CAAC,0CAA0C,CAAC;AAGrF,MAAM,MAAM,2CAA2C,GACnD,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,2CAA2C,GACnD;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,+BAA+B,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,2CAA2C,CAAA;CAAE,CAAC;AAEzF,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC9C;AA+CD,eAAO,MAAM,qCAAqC,GAChD,OAAO,0CAA0C,KAChD,2CA0BF,CAAC"}
|
|
1
|
+
{"version":3,"file":"candidatesArtifact.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/candidatesArtifact.ts"],"names":[],"mappings":"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"}
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/candidatesArtifact.js
CHANGED
|
@@ -9,7 +9,9 @@ import { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
|
|
|
9
9
|
import { createNodeContainedJsonArtifactStore, } from "./companionStore.js";
|
|
10
10
|
import { EvidenceReadError } from "../errors.js";
|
|
11
11
|
export const QUALITY_INTELLIGENCE_CANDIDATES_SCHEMA_VERSION = 1;
|
|
12
|
-
|
|
12
|
+
// Exported (but intentionally NOT re-exported from the package barrel) so the run-deletion path
|
|
13
|
+
// can reference the evidence-owned companion suffix without duplicating the literal.
|
|
14
|
+
export const CANDIDATES_SUFFIX = ".candidates.json";
|
|
13
15
|
const toRow = (candidate) => ({
|
|
14
16
|
id: String(candidate.id),
|
|
15
17
|
title: candidate.title,
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts
CHANGED
|
@@ -17,4 +17,21 @@ export interface ContainedJsonArtifactStoreOptions<T> {
|
|
|
17
17
|
* a fresh atomic temp and renames over any existing file.
|
|
18
18
|
*/
|
|
19
19
|
export declare function createNodeContainedJsonArtifactStore<T>(evidenceDir: string, suffix: string, options: ContainedJsonArtifactStoreOptions<T>): ContainedJsonArtifactStore<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Idempotently delete ONE QI companion artifact `<runId><suffix>` from the contained `qi/` dir.
|
|
22
|
+
*
|
|
23
|
+
* Used by the run-deletion path (`deleteQualityIntelligenceRun`) to clean up companion artifacts
|
|
24
|
+
* that live alongside the run manifest. EXACT-suffix matching is mandatory: a non-leading `.` is a
|
|
25
|
+
* legal runId character (`assertValidRunId`), so `run-1` and `run-1.2` can coexist and a prefix
|
|
26
|
+
* (`startsWith`) sweep would let deleting `run-1` destroy `run-1.2`'s companion. By deriving the
|
|
27
|
+
* full `${runId}${suffix}` name and resolving it through `assertContainedRealPath`, the delete is
|
|
28
|
+
* collision-free, realpath-contained, and symlink-refusing (`deleteArtifactFile` lstat-gates
|
|
29
|
+
* `isFile`, which is false for a symlink). Returns true iff a regular file was removed.
|
|
30
|
+
*
|
|
31
|
+
* Intentionally NOT re-exported from the package barrel — it is an internal seam consumed only by
|
|
32
|
+
* the deletion path, so the published surface stays unchanged.
|
|
33
|
+
*/
|
|
34
|
+
export declare function deleteQualityIntelligenceCompanionArtifact(evidenceDir: string, runId: string, suffix: string, options?: {
|
|
35
|
+
readonly fs?: WorkspaceFs;
|
|
36
|
+
}): boolean;
|
|
20
37
|
//# sourceMappingURL=companionStore.d.ts.map
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companionStore.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/companionStore.ts"],"names":[],"mappings":"AAuBA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAQvC,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,iCAAiC,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,SAAS,CAAC;CACnD;AAuFD;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,CAAC,EACpD,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iCAAiC,CAAC,CAAC,CAAC,GAC5C,0BAA0B,CAAC,CAAC,CAAC,CAwB/B"}
|
|
1
|
+
{"version":3,"file":"companionStore.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/companionStore.ts"],"names":[],"mappings":"AAuBA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAQvC,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,iCAAiC,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,SAAS,CAAC;CACnD;AAuFD;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,CAAC,EACpD,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iCAAiC,CAAC,CAAC,CAAC,GAC5C,0BAA0B,CAAC,CAAC,CAAC,CAwB/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0CAA0C,CACxD,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAO,GAC1C,OAAO,CAIT"}
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.js
CHANGED
|
@@ -117,3 +117,22 @@ export function createNodeContainedJsonArtifactStore(evidenceDir, suffix, option
|
|
|
117
117
|
},
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Idempotently delete ONE QI companion artifact `<runId><suffix>` from the contained `qi/` dir.
|
|
122
|
+
*
|
|
123
|
+
* Used by the run-deletion path (`deleteQualityIntelligenceRun`) to clean up companion artifacts
|
|
124
|
+
* that live alongside the run manifest. EXACT-suffix matching is mandatory: a non-leading `.` is a
|
|
125
|
+
* legal runId character (`assertValidRunId`), so `run-1` and `run-1.2` can coexist and a prefix
|
|
126
|
+
* (`startsWith`) sweep would let deleting `run-1` destroy `run-1.2`'s companion. By deriving the
|
|
127
|
+
* full `${runId}${suffix}` name and resolving it through `assertContainedRealPath`, the delete is
|
|
128
|
+
* collision-free, realpath-contained, and symlink-refusing (`deleteArtifactFile` lstat-gates
|
|
129
|
+
* `isFile`, which is false for a symlink). Returns true iff a regular file was removed.
|
|
130
|
+
*
|
|
131
|
+
* Intentionally NOT re-exported from the package barrel — it is an internal seam consumed only by
|
|
132
|
+
* the deletion path, so the published surface stays unchanged.
|
|
133
|
+
*/
|
|
134
|
+
export function deleteQualityIntelligenceCompanionArtifact(evidenceDir, runId, suffix, options = {}) {
|
|
135
|
+
const baseDir = join(evidenceDir, QI_SUBDIR);
|
|
136
|
+
const fs = options.fs ?? nodeWorkspaceFs;
|
|
137
|
+
return deleteArtifactFile(baseDir, fs, suffix, runId);
|
|
138
|
+
}
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts
CHANGED
|
@@ -7,7 +7,11 @@ export interface FigmaSnapshotImageRef {
|
|
|
7
7
|
readonly sha256: string;
|
|
8
8
|
readonly byteLength: number;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
/** Why a screen was excluded from the snapshot. The `render-fetch-failed:<CODE>` variant carries
|
|
11
|
+
* the FigmaConnectorErrorCode suffix when the download threw a coded error, letting retention
|
|
12
|
+
* and metrics distinguish misconfigured egress from an unclassified network flake.
|
|
13
|
+
*/
|
|
14
|
+
export type FigmaSnapshotSkipReason = "render-url-missing" | "render-url-blocked" | "render-fetch-failed" | `render-fetch-failed:${string}` | "render-empty" | "render-oversized";
|
|
11
15
|
export interface FigmaSnapshotSkippedScreenRow {
|
|
12
16
|
readonly screenId: string;
|
|
13
17
|
readonly reason: FigmaSnapshotSkipReason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figmaSnapshot/schema.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AAExD,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,qBAAqB,GACrB,cAAc,GACd,kBAAkB,CAAC;AAEvB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,0BAA0B;IACzC,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,6BAA6B;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,6BAA6B,CAAC;IAC1E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAClE,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjD;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;CAC1D;AAcD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAID,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CAoBzF"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figmaSnapshot/schema.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AAExD,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,GACrB,uBAAuB,MAAM,EAAE,GAC/B,cAAc,GACd,kBAAkB,CAAC;AAEvB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,0BAA0B;IACzC,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,6BAA6B;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,6BAA6B,CAAC;IAC1E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAClE,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjD;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;CAC1D;AAcD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAID,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CAoBzF"}
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type WorkspaceFs } from "@oscharko-dev/keiko-workspace";
|
|
2
|
-
import { type FigmaSnapshotLinkRow, type FigmaSnapshotRecord
|
|
2
|
+
import { type FigmaSnapshotLinkRow, type FigmaSnapshotRecord } from "./schema.js";
|
|
3
3
|
export interface RecordFigmaSnapshotScreenInput {
|
|
4
4
|
readonly screenId: string;
|
|
5
5
|
readonly irJson: unknown;
|
|
@@ -19,7 +19,10 @@ export interface RecordFigmaSnapshotInput {
|
|
|
19
19
|
};
|
|
20
20
|
readonly integrityHash: string;
|
|
21
21
|
readonly screens: readonly RecordFigmaSnapshotScreenInput[];
|
|
22
|
-
readonly skippedScreens: readonly
|
|
22
|
+
readonly skippedScreens: readonly {
|
|
23
|
+
readonly screenId: string;
|
|
24
|
+
readonly reason: string;
|
|
25
|
+
}[];
|
|
23
26
|
/** Raw inter-screen transitions for the navigation/flow graph (#811). Optional + additive. */
|
|
24
27
|
readonly links?: readonly FigmaSnapshotLinkRow[];
|
|
25
28
|
/** Deterministic design-tokens artifact (#752), opaque, for design-to-code (#755). Optional. */
|
|
@@ -29,14 +32,41 @@ export interface RecordFigmaSnapshotResult {
|
|
|
29
32
|
readonly recordPath: string;
|
|
30
33
|
readonly sideFileDir: string;
|
|
31
34
|
}
|
|
35
|
+
/** Summary entry returned by {@link FigmaSnapshotStore.listByScope}. */
|
|
36
|
+
export interface FigmaSnapshotScopeEntry {
|
|
37
|
+
readonly runId: string;
|
|
38
|
+
readonly fetchedAt: string;
|
|
39
|
+
readonly integrityHash: string;
|
|
40
|
+
}
|
|
32
41
|
export interface FigmaSnapshotStore {
|
|
33
42
|
readonly record: (input: RecordFigmaSnapshotInput) => RecordFigmaSnapshotResult;
|
|
34
43
|
readonly load: (runId: string) => FigmaSnapshotRecord | undefined;
|
|
35
44
|
readonly location: (runId: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* List all snapshot records for a specific Figma scope, sorted by `fetchedAt` descending
|
|
47
|
+
* (most-recent first). Reads only the record headers — cheap scan. Unparseable files are
|
|
48
|
+
* skipped silently. Used by drift work (#735) to find existing snapshots for re-comparison.
|
|
49
|
+
*/
|
|
50
|
+
readonly listByScope: (fileKey: string, nodeId: string) => readonly FigmaSnapshotScopeEntry[];
|
|
36
51
|
}
|
|
37
52
|
export interface FigmaSnapshotStoreOptions {
|
|
38
53
|
readonly fs?: WorkspaceFs;
|
|
39
54
|
readonly randomSuffix?: () => string;
|
|
40
55
|
}
|
|
56
|
+
export interface FigmaSnapshotRetentionProfile {
|
|
57
|
+
/** Maximum number of snapshots to keep (newest first by fetchedAt). */
|
|
58
|
+
readonly maxRecords: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Enforce store-level retention for Figma snapshot records. Deletes the RECORD first, then the
|
|
62
|
+
* side-file dir, so a partially-retained snapshot is never in a state where the record is gone
|
|
63
|
+
* but the side-files remain (the side-files are unreachable without the record). A retained
|
|
64
|
+
* record's side-dir is never touched.
|
|
65
|
+
*
|
|
66
|
+
* Wiring: call this alongside `deleteQualityIntelligenceRun` in the QI retention orchestrator
|
|
67
|
+
* (#274). The profiles are intentionally separate because snapshot retention may differ from
|
|
68
|
+
* run-manifest retention (snapshots are larger, longer-lived evidence artifacts).
|
|
69
|
+
*/
|
|
70
|
+
export declare function enforceFigmaSnapshotRetention(evidenceDir: string, profile: FigmaSnapshotRetentionProfile): void;
|
|
41
71
|
export declare function createNodeFigmaSnapshotStore(evidenceDir: string, options?: FigmaSnapshotStoreOptions): FigmaSnapshotStore;
|
|
42
72
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figmaSnapshot/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/qualityIntelligence/figmaSnapshot/store.ts"],"names":[],"mappings":"AAyCA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAGzB,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAI5D,QAAQ,CAAC,cAAc,EAAE,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3F,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjD,gGAAgG;IAChG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,yBAAyB,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,uBAAuB,EAAE,CAAC;CAC/F;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC;AAwND,MAAM,WAAW,6BAA6B;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,6BAA6B,GACrC,IAAI,CAkCN;AAiGD,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,CA2BpB"}
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js
CHANGED
|
@@ -13,8 +13,21 @@
|
|
|
13
13
|
// Redaction: the whole record (including the design-content IR) is passed through
|
|
14
14
|
// `redactQualityIntelligenceEvidence` before write. The token is never present by construction
|
|
15
15
|
// (the server builder never places it on the in-memory snapshot); redaction is defense-in-depth.
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
//
|
|
17
|
+
// Integrity: load() recomputes the snapshot integrity hash and rejects a record whose persisted
|
|
18
|
+
// `integrityHash` disagrees — tampered or truncated records are rejected at the read boundary.
|
|
19
|
+
// NOTE: the PNG side-files are NOT re-hashed on load (they are served separately); the per-screen
|
|
20
|
+
// `sha256` stored in the record serves as the tamper-evidence for each image.
|
|
21
|
+
//
|
|
22
|
+
// Retention: `enforceFigmaSnapshotRetention` deletes snapshot records + their side-file dirs in
|
|
23
|
+
// lock-step with the provided policy. Wiring: call it where the other QI retention enforcement
|
|
24
|
+
// runs (the orchestrator that calls `deleteQualityIntelligenceRun` for each expired run).
|
|
25
|
+
//
|
|
26
|
+
// Orphan cleanup: `sweepOrphanedFigmaSnapshotSideDirs` removes side-file dirs (and stray *.tmp
|
|
27
|
+
// files) that have no matching record. It is lazy/once — the store calls it on first use so stale
|
|
28
|
+
// dirs from a previously interrupted record() are cleaned up without a separate boot step.
|
|
29
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
30
|
+
import { chmodSync, lstatSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
18
31
|
import { join } from "node:path";
|
|
19
32
|
import { assertContainedRealPath, resolveWithinWorkspace, } from "@oscharko-dev/keiko-workspace";
|
|
20
33
|
import { nodeWorkspaceFs } from "@oscharko-dev/keiko-workspace/internal/fs";
|
|
@@ -27,6 +40,38 @@ import { FIGMA_SNAPSHOT_SCHEMA_VERSION, validateFigmaSnapshotRecord, } from "./s
|
|
|
27
40
|
const QI_DIR_MODE = 0o700;
|
|
28
41
|
const SNAPSHOT_SUFFIX = ".figma-snapshot.json";
|
|
29
42
|
const SIDE_FILE_SUBDIR = "figma-snapshots";
|
|
43
|
+
// ─── Integrity hash (mirrors figmaSnapshotHash.ts — inlined so keiko-evidence does not depend
|
|
44
|
+
// on the private keiko-server package). MUST stay bit-identical with the server builder. ────
|
|
45
|
+
const sha256Hex = (input) => createHash("sha256").update(input, "utf8").digest("hex");
|
|
46
|
+
// Stable stringify: keys emitted in sorted order at every depth (mirrors canonical() in hash.ts).
|
|
47
|
+
function canonical(value) {
|
|
48
|
+
if (value === undefined)
|
|
49
|
+
return "null";
|
|
50
|
+
if (value === null || typeof value !== "object")
|
|
51
|
+
return JSON.stringify(value);
|
|
52
|
+
if (Array.isArray(value))
|
|
53
|
+
return `[${value.map(canonical).join(",")}]`;
|
|
54
|
+
const record = value;
|
|
55
|
+
const entries = Object.keys(record)
|
|
56
|
+
.sort()
|
|
57
|
+
.map((key) => `${JSON.stringify(key)}:${canonical(record[key])}`);
|
|
58
|
+
return `{${entries.join(",")}}`;
|
|
59
|
+
}
|
|
60
|
+
// Recompute the snapshot-level integrity hash from a loaded record.
|
|
61
|
+
// This exactly mirrors hashSnapshot() in figmaSnapshotHash.ts:
|
|
62
|
+
// sha256( canonical({ screens: sorted [{integrityHash,screenId}], snapshotSchemaVersion, version }) )
|
|
63
|
+
// fetchedAt and links/tokens are excluded by design (non-identity metadata).
|
|
64
|
+
function recomputeSnapshotIntegrityHash(record) {
|
|
65
|
+
const screens = [...record.screens]
|
|
66
|
+
.sort((a, b) => (a.screenId < b.screenId ? -1 : a.screenId > b.screenId ? 1 : 0))
|
|
67
|
+
.map((s) => ({ integrityHash: s.integrityHash, screenId: s.screenId }));
|
|
68
|
+
return sha256Hex(canonical({
|
|
69
|
+
screens,
|
|
70
|
+
snapshotSchemaVersion: record.figmaSnapshotSchemaVersion,
|
|
71
|
+
version: record.provenance.version ?? null,
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────────────────────
|
|
30
75
|
function realBaseForWrite(baseDir, fs) {
|
|
31
76
|
try {
|
|
32
77
|
mkdirSync(baseDir, { recursive: true, mode: QI_DIR_MODE });
|
|
@@ -121,47 +166,221 @@ function assembleRecord(input, screenRows) {
|
|
|
121
166
|
const { redacted, summary } = redactQualityIntelligenceEvidence(draft);
|
|
122
167
|
return { ...redacted, redactionSummary: summary };
|
|
123
168
|
}
|
|
124
|
-
|
|
169
|
+
// Parse one raw JSON string from a snapshot record file into a scope entry, or null when the
|
|
170
|
+
// file does not belong to the requested scope or cannot be parsed.
|
|
171
|
+
function parseScopeEntry(filePath, fileKey, nodeId) {
|
|
172
|
+
try {
|
|
173
|
+
const parsed = JSON.parse(readFileSync(filePath, "utf8"));
|
|
174
|
+
const prov = parsed.provenance;
|
|
175
|
+
if (!prov?.fileKey || prov.fileKey !== fileKey || prov.nodeId !== nodeId)
|
|
176
|
+
return null;
|
|
177
|
+
const runId = typeof parsed.runId === "string" ? parsed.runId : undefined;
|
|
178
|
+
if (runId === undefined)
|
|
179
|
+
return null;
|
|
180
|
+
const fetchedAt = typeof prov.fetchedAt === "string" ? prov.fetchedAt : "";
|
|
181
|
+
const integrityHash = typeof parsed.integrityHash === "string" ? parsed.integrityHash : "";
|
|
182
|
+
return { runId, fetchedAt, integrityHash };
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// ─── Orphan sweep ─────────────────────────────────────────────────────────────────────────────
|
|
189
|
+
// Removes side-file dirs and stray *.tmp files under sideFileBase that have no matching record
|
|
190
|
+
// in qiDir. Called lazily once per store instance to clean up dirs left by an interrupted
|
|
191
|
+
// record() call (side-files written, JSON write failed).
|
|
192
|
+
function sweepOrphanedSideDirs(qiDir, sideFileBase) {
|
|
193
|
+
const sideBaseStat = lstatSync(sideFileBase, { throwIfNoEntry: false });
|
|
194
|
+
if (!sideBaseStat?.isDirectory())
|
|
195
|
+
return;
|
|
196
|
+
let entries;
|
|
197
|
+
try {
|
|
198
|
+
entries = readdirSync(sideFileBase);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return; // non-fatal: best-effort sweep
|
|
202
|
+
}
|
|
203
|
+
for (const name of entries) {
|
|
204
|
+
// Remove stray temp files at the top level of sideFileBase.
|
|
205
|
+
if (name.endsWith(".tmp")) {
|
|
206
|
+
rmSync(join(sideFileBase, name), { force: true });
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
// Each subdirectory name should equal a runId that has a matching record.
|
|
210
|
+
const recordPath = join(qiDir, `${name}${SNAPSHOT_SUFFIX}`);
|
|
211
|
+
const hasRecord = lstatSync(recordPath, { throwIfNoEntry: false })?.isFile() === true;
|
|
212
|
+
if (!hasRecord) {
|
|
213
|
+
const runDir = join(sideFileBase, name);
|
|
214
|
+
const stat = lstatSync(runDir, { throwIfNoEntry: false });
|
|
215
|
+
if (stat?.isDirectory() === true) {
|
|
216
|
+
rmSync(runDir, { recursive: true, force: true });
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Read the fetchedAt timestamp from one snapshot file, or undefined when unparseable.
|
|
222
|
+
function readFetchedAt(filePath) {
|
|
223
|
+
try {
|
|
224
|
+
const parsed = JSON.parse(readFileSync(filePath, "utf8"));
|
|
225
|
+
const prov = parsed.provenance;
|
|
226
|
+
return typeof prov?.fetchedAt === "string" ? prov.fetchedAt : "";
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return undefined;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Enforce store-level retention for Figma snapshot records. Deletes the RECORD first, then the
|
|
234
|
+
* side-file dir, so a partially-retained snapshot is never in a state where the record is gone
|
|
235
|
+
* but the side-files remain (the side-files are unreachable without the record). A retained
|
|
236
|
+
* record's side-dir is never touched.
|
|
237
|
+
*
|
|
238
|
+
* Wiring: call this alongside `deleteQualityIntelligenceRun` in the QI retention orchestrator
|
|
239
|
+
* (#274). The profiles are intentionally separate because snapshot retention may differ from
|
|
240
|
+
* run-manifest retention (snapshots are larger, longer-lived evidence artifacts).
|
|
241
|
+
*/
|
|
242
|
+
export function enforceFigmaSnapshotRetention(evidenceDir, profile) {
|
|
125
243
|
const qiDir = join(evidenceDir, QI_SUBDIR);
|
|
126
244
|
const sideFileBase = join(qiDir, SIDE_FILE_SUBDIR);
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
245
|
+
const dirStat = lstatSync(qiDir, { throwIfNoEntry: false });
|
|
246
|
+
if (!dirStat?.isDirectory())
|
|
247
|
+
return;
|
|
248
|
+
// Scan for snapshot records and sort by fetchedAt ascending so we remove the oldest first.
|
|
249
|
+
let entries;
|
|
250
|
+
try {
|
|
251
|
+
entries = readdirSync(qiDir);
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
const records = [];
|
|
257
|
+
for (const name of entries) {
|
|
258
|
+
if (!name.endsWith(SNAPSHOT_SUFFIX))
|
|
259
|
+
continue;
|
|
260
|
+
const runId = name.slice(0, -SNAPSHOT_SUFFIX.length);
|
|
261
|
+
const fetchedAt = readFetchedAt(join(qiDir, name));
|
|
262
|
+
// Unparseable records are skipped — do not evict conservatively.
|
|
263
|
+
if (fetchedAt !== undefined)
|
|
264
|
+
records.push({ runId, fetchedAt });
|
|
265
|
+
}
|
|
266
|
+
// Sort oldest first (ascending fetchedAt) so we evict the oldest beyond the cap.
|
|
267
|
+
records.sort((a, b) => (a.fetchedAt < b.fetchedAt ? -1 : a.fetchedAt > b.fetchedAt ? 1 : 0));
|
|
268
|
+
const toEvict = records.slice(0, Math.max(0, records.length - profile.maxRecords));
|
|
269
|
+
for (const { runId } of toEvict) {
|
|
270
|
+
// Delete record first — after this the side-dir is unreachable by any normal path.
|
|
271
|
+
rmSync(join(qiDir, `${runId}${SNAPSHOT_SUFFIX}`), { force: true });
|
|
272
|
+
// Best-effort: remove the side-file dir; failure is non-fatal (it is orphaned, not
|
|
273
|
+
// linked to a live record, and will be removed by the next sweepOrphanedSideDirs pass).
|
|
274
|
+
const runDir = join(sideFileBase, runId);
|
|
275
|
+
const stat = lstatSync(runDir, { throwIfNoEntry: false });
|
|
276
|
+
if (stat?.isDirectory() === true) {
|
|
277
|
+
rmSync(runDir, { recursive: true, force: true });
|
|
154
278
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
function recordOp(ctx, input) {
|
|
282
|
+
assertValidRunId(input.runId);
|
|
283
|
+
ctx.ensureSwept();
|
|
284
|
+
const realBase = realBaseForWrite(ctx.qiDir, ctx.fs);
|
|
285
|
+
const recordPath = containedRecordPath(input.runId, realBase, ctx.fs);
|
|
286
|
+
// Write-once pre-check BEFORE any side-file is written so a rejected re-record leaves no
|
|
287
|
+
// partial render bytes behind. `atomicWriteOnce` re-checks via O_EXCL to close the TOCTOU gap.
|
|
288
|
+
assertSnapshotAbsent(recordPath);
|
|
289
|
+
let rows;
|
|
290
|
+
try {
|
|
291
|
+
rows = writeScreenSideFiles(ctx.sideFileBase, input.runId, input.screens, ctx.fs, ctx.randomSuffix);
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
// Side-file write failed: best-effort remove the run's side-dir so it is not orphaned.
|
|
295
|
+
rmSync(join(ctx.sideFileBase, input.runId), { recursive: true, force: true });
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
atomicWriteOnce(recordPath, JSON.stringify(assembleRecord(input, rows)), ctx.randomSuffix);
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
// Record write failed after side-files succeeded: remove side-dir to avoid orphaning.
|
|
303
|
+
rmSync(join(ctx.sideFileBase, input.runId), { recursive: true, force: true });
|
|
304
|
+
throw error;
|
|
305
|
+
}
|
|
306
|
+
return { recordPath, sideFileDir: join(ctx.sideFileBase, input.runId) };
|
|
307
|
+
}
|
|
308
|
+
function loadOp(ctx, runId) {
|
|
309
|
+
assertValidRunId(runId);
|
|
310
|
+
ctx.ensureSwept();
|
|
311
|
+
const realBase = realBaseForRead(ctx.qiDir, ctx.fs);
|
|
312
|
+
if (realBase === undefined)
|
|
313
|
+
return undefined;
|
|
314
|
+
const target = join(realBase, `${runId}${SNAPSHOT_SUFFIX}`);
|
|
315
|
+
if (lstatSync(target, { throwIfNoEntry: false })?.isFile() !== true)
|
|
316
|
+
return undefined;
|
|
317
|
+
let parsed;
|
|
318
|
+
try {
|
|
319
|
+
parsed = JSON.parse(readFileSync(target, "utf8"));
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
throw new EvidenceReadError(`Figma snapshot is not valid JSON: ${error instanceof Error ? error.message : "unknown"}`);
|
|
323
|
+
}
|
|
324
|
+
if (!validateFigmaSnapshotRecord(parsed).ok)
|
|
325
|
+
return undefined;
|
|
326
|
+
const rec = parsed;
|
|
327
|
+
// Integrity check: recompute and reject on mismatch. The PNG side-files are NOT re-hashed
|
|
328
|
+
// on load — each screen's `sha256` field is the tamper evidence for the image bytes.
|
|
329
|
+
const expected = recomputeSnapshotIntegrityHash(rec);
|
|
330
|
+
if (rec.integrityHash !== expected) {
|
|
331
|
+
throw new EvidenceReadError(`Figma snapshot integrity check failed for run ${runId}: hash mismatch`);
|
|
332
|
+
}
|
|
333
|
+
return rec;
|
|
334
|
+
}
|
|
335
|
+
function listByScopeOp(ctx, fileKey, nodeId) {
|
|
336
|
+
const realBase = realBaseForRead(ctx.qiDir, ctx.fs);
|
|
337
|
+
if (realBase === undefined)
|
|
338
|
+
return [];
|
|
339
|
+
let entries;
|
|
340
|
+
try {
|
|
341
|
+
entries = readdirSync(realBase);
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
return [];
|
|
345
|
+
}
|
|
346
|
+
const results = [];
|
|
347
|
+
for (const name of entries) {
|
|
348
|
+
if (!name.endsWith(SNAPSHOT_SUFFIX))
|
|
349
|
+
continue;
|
|
350
|
+
const entry = parseScopeEntry(join(realBase, name), fileKey, nodeId);
|
|
351
|
+
if (entry !== null)
|
|
352
|
+
results.push(entry);
|
|
353
|
+
}
|
|
354
|
+
results.sort((a, b) => (a.fetchedAt > b.fetchedAt ? -1 : a.fetchedAt < b.fetchedAt ? 1 : 0));
|
|
355
|
+
return results;
|
|
356
|
+
}
|
|
357
|
+
// ─── Store factory ────────────────────────────────────────────────────────────────────────────
|
|
358
|
+
export function createNodeFigmaSnapshotStore(evidenceDir, options = {}) {
|
|
359
|
+
const qiDir = join(evidenceDir, QI_SUBDIR);
|
|
360
|
+
const sideFileBase = join(qiDir, SIDE_FILE_SUBDIR);
|
|
361
|
+
let swept = false;
|
|
362
|
+
const ctx = {
|
|
363
|
+
qiDir,
|
|
364
|
+
sideFileBase,
|
|
365
|
+
fs: options.fs ?? nodeWorkspaceFs,
|
|
366
|
+
randomSuffix: options.randomSuffix ?? randomUUID,
|
|
367
|
+
ensureSwept() {
|
|
368
|
+
if (swept)
|
|
369
|
+
return;
|
|
370
|
+
swept = true;
|
|
371
|
+
sweepOrphanedSideDirs(qiDir, sideFileBase);
|
|
372
|
+
},
|
|
158
373
|
};
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
374
|
+
return {
|
|
375
|
+
record: (input) => recordOp(ctx, input),
|
|
376
|
+
load: (runId) => loadOp(ctx, runId),
|
|
377
|
+
location: (runId) => {
|
|
378
|
+
assertValidRunId(runId);
|
|
379
|
+
const realBase = realBaseForRead(qiDir, ctx.fs);
|
|
380
|
+
return realBase === undefined
|
|
381
|
+
? join(qiDir, `${runId}${SNAPSHOT_SUFFIX}`)
|
|
382
|
+
: containedRecordPath(runId, realBase, ctx.fs);
|
|
383
|
+
},
|
|
384
|
+
listByScope: (fileKey, nodeId) => listByScopeOp(ctx, fileKey, nodeId),
|
|
165
385
|
};
|
|
166
|
-
return { record, load, location };
|
|
167
386
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { QUALITY_INTELLIGENCE_EVIDENCE_SCHEMA_VERSION, validateQualityIntelligenceEvidenceManifest, } from "./manifestSchema.js";
|
|
2
|
-
export type { QualityIntelligenceEvidenceManifest, QualityIntelligenceEvidenceRefRow, QualityIntelligenceExportRow, QualityIntelligenceFindingRow, QualityIntelligenceIntegrityHashes, QualityIntelligenceManifestTotals, QualityIntelligenceProvenanceRefs, QualityIntelligenceRedactionSummary, QualityIntelligenceSchemaValidationResult, QualityIntelligenceCoverageMatrixRow, QualityIntelligenceAtomFingerprintRow, QualityIntelligenceSourceFingerprintRow, } from "./manifestSchema.js";
|
|
2
|
+
export type { QualityIntelligenceBinaryExportMode, QualityIntelligenceEvidenceManifest, QualityIntelligenceEvidenceRefRow, QualityIntelligenceExportRow, QualityIntelligenceExportTarget, QualityIntelligenceFindingRow, QualityIntelligenceIntegrityHashes, QualityIntelligenceManifestTotals, QualityIntelligenceProvenanceRefs, QualityIntelligenceRedactionSummary, QualityIntelligenceSchemaValidationResult, QualityIntelligenceCoverageMatrixRow, QualityIntelligenceAtomFingerprintRow, QualityIntelligenceSourceFingerprintRow, } from "./manifestSchema.js";
|
|
3
3
|
export { redactQualityIntelligenceEvidence } from "./redaction.js";
|
|
4
4
|
export type { QualityIntelligenceRedactionOptions, QualityIntelligenceRedactionResult, } from "./redaction.js";
|
|
5
5
|
export { QUALITY_INTELLIGENCE_DEFAULT_RETENTION_PROFILE_ID, QUALITY_INTELLIGENCE_RETENTION_PROFILES, getQualityIntelligenceRetentionProfile, } from "./retentionPolicy.js";
|
|
6
6
|
export type { QualityIntelligenceRetentionProfile } from "./retentionPolicy.js";
|
|
7
|
-
export { createInMemoryQualityIntelligenceLocalStore, createNodeQualityIntelligenceLocalStore, listQualityIntelligenceRuns, loadQualityIntelligenceRun, recordQualityIntelligenceRun, QI_SUBDIR, } from "./store.js";
|
|
8
|
-
export type { QualityIntelligenceLoadOptions, QualityIntelligenceLocalStore, QualityIntelligenceNodeStoreOptions, QualityIntelligenceRecordInput, QualityIntelligenceRecordOptions, QualityIntelligenceRecordResult, } from "./store.js";
|
|
7
|
+
export { appendQualityIntelligenceExportRow, createInMemoryQualityIntelligenceLocalStore, createNodeQualityIntelligenceLocalStore, listQualityIntelligenceRuns, loadQualityIntelligenceRun, recordQualityIntelligenceRun, QI_SUBDIR, } from "./store.js";
|
|
8
|
+
export type { QualityIntelligenceExportEvidenceInput, QualityIntelligenceLoadOptions, QualityIntelligenceLocalStore, QualityIntelligenceNodeStoreOptions, QualityIntelligenceRecordInput, QualityIntelligenceRecordOptions, QualityIntelligenceRecordResult, } from "./store.js";
|
|
9
9
|
export { QUALITY_INTELLIGENCE_CANDIDATES_SCHEMA_VERSION, recordQualityIntelligenceCandidates, loadQualityIntelligenceCandidates, deleteQualityIntelligenceCandidates, applyQualityIntelligenceCandidateEdit, } from "./candidatesArtifact.js";
|
|
10
10
|
export type { QualityIntelligenceCandidateRow, QualityIntelligenceCandidatesArtifact, QualityIntelligenceCandidatesStoreOptions, RecordQualityIntelligenceCandidatesInput, ApplyQualityIntelligenceCandidateEditInput, ApplyQualityIntelligenceCandidateEditResult, QualityIntelligenceCandidateEditErrorReason, } from "./candidatesArtifact.js";
|
|
11
11
|
export { createNodeContainedJsonArtifactStore, type ContainedJsonArtifactStore, type ContainedJsonArtifactStoreOptions, } from "./companionStore.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,4CAA4C,EAC5C,2CAA2C,GAC5C,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mCAAmC,EACnC,iCAAiC,EACjC,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,EACjC,mCAAmC,EACnC,yCAAyC,EACzC,oCAAoC,EACpC,qCAAqC,EACrC,uCAAuC,GACxC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EACV,mCAAmC,EACnC,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iDAAiD,EACjD,uCAAuC,EACvC,sCAAsC,GACvC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EACL,2CAA2C,EAC3C,uCAAuC,EACvC,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,8CAA8C,EAC9C,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,+BAA+B,EAC/B,qCAAqC,EACrC,yCAAyC,EACzC,wCAAwC,EACxC,0CAA0C,EAC1C,2CAA2C,EAC3C,2CAA2C,GAC5C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oCAAoC,EACpC,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,GACvC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,4CAA4C,EAC5C,0CAA0C,GAC3C,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gCAAgC,EAChC,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,EACpC,oCAAoC,EACpC,mCAAmC,EACnC,oCAAoC,EACpC,yCAAyC,EACzC,kCAAkC,EAClC,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,4CAA4C,EAC5C,2CAA2C,GAC5C,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mCAAmC,EACnC,mCAAmC,EACnC,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,EACjC,mCAAmC,EACnC,yCAAyC,EACzC,oCAAoC,EACpC,qCAAqC,EACrC,uCAAuC,GACxC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EACV,mCAAmC,EACnC,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iDAAiD,EACjD,uCAAuC,EACvC,sCAAsC,GACvC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EACL,kCAAkC,EAClC,2CAA2C,EAC3C,uCAAuC,EACvC,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,sCAAsC,EACtC,8BAA8B,EAC9B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,8CAA8C,EAC9C,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,+BAA+B,EAC/B,qCAAqC,EACrC,yCAAyC,EACzC,wCAAwC,EACxC,0CAA0C,EAC1C,2CAA2C,EAC3C,2CAA2C,GAC5C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oCAAoC,EACpC,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,GACvC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,4CAA4C,EAC5C,0CAA0C,GAC3C,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gCAAgC,EAChC,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,EACpC,oCAAoC,EACpC,mCAAmC,EACnC,oCAAoC,EACpC,yCAAyC,EACzC,kCAAkC,EAClC,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
|
|
@@ -10,7 +10,7 @@ export { redactQualityIntelligenceEvidence } from "./redaction.js";
|
|
|
10
10
|
// ─── Retention profiles (M1) ───────────────────────────────────────────────────────
|
|
11
11
|
export { QUALITY_INTELLIGENCE_DEFAULT_RETENTION_PROFILE_ID, QUALITY_INTELLIGENCE_RETENTION_PROFILES, getQualityIntelligenceRetentionProfile, } from "./retentionPolicy.js";
|
|
12
12
|
// ─── Local-state store + CRUD (M2) ─────────────────────────────────────────────────
|
|
13
|
-
export { createInMemoryQualityIntelligenceLocalStore, createNodeQualityIntelligenceLocalStore, listQualityIntelligenceRuns, loadQualityIntelligenceRun, recordQualityIntelligenceRun, QI_SUBDIR, } from "./store.js";
|
|
13
|
+
export { appendQualityIntelligenceExportRow, createInMemoryQualityIntelligenceLocalStore, createNodeQualityIntelligenceLocalStore, listQualityIntelligenceRuns, loadQualityIntelligenceRun, recordQualityIntelligenceRun, QI_SUBDIR, } from "./store.js";
|
|
14
14
|
// ─── Generated-candidate companion artifact (Issue #280) ────────────────────────────
|
|
15
15
|
export { QUALITY_INTELLIGENCE_CANDIDATES_SCHEMA_VERSION, recordQualityIntelligenceCandidates, loadQualityIntelligenceCandidates, deleteQualityIntelligenceCandidates, applyQualityIntelligenceCandidateEdit, } from "./candidatesArtifact.js";
|
|
16
16
|
export { createNodeContainedJsonArtifactStore, } from "./companionStore.js";
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { QualityIntelligence } from "@oscharko-dev/keiko-contracts";
|
|
2
2
|
type QualityIntelligenceExportAdapter = QualityIntelligence.QualityIntelligenceExportAdapter;
|
|
3
|
+
/**
|
|
4
|
+
* Binary export modes assembled at the runtime/route level (Issue #283 + #711) rather than by a pure
|
|
5
|
+
* domain adapter — a paginated text PDF and a STORE ZIP bundle. They are not part of the contract
|
|
6
|
+
* `QualityIntelligenceExportAdapter` union (which drives the serialise dispatch + TMS classification),
|
|
7
|
+
* but an export-evidence row must be able to record them faithfully as the produced target type.
|
|
8
|
+
*/
|
|
9
|
+
export type QualityIntelligenceBinaryExportMode = "pdf" | "zip-bundle";
|
|
10
|
+
/** Any target an export-evidence row may record: a domain adapter or a binary bundle mode. */
|
|
11
|
+
export type QualityIntelligenceExportTarget = QualityIntelligenceExportAdapter | QualityIntelligenceBinaryExportMode;
|
|
3
12
|
type QualityIntelligenceLifecycleStatus = QualityIntelligence.QualityIntelligenceLifecycleStatus;
|
|
4
13
|
type QualityIntelligenceRunId = QualityIntelligence.QualityIntelligenceRunId;
|
|
5
14
|
type QualityIntelligenceValidationFindingKind = QualityIntelligence.QualityIntelligenceValidationFindingKind;
|
|
@@ -59,9 +68,17 @@ export interface QualityIntelligenceFindingRow {
|
|
|
59
68
|
}
|
|
60
69
|
export interface QualityIntelligenceExportRow {
|
|
61
70
|
readonly id: string;
|
|
62
|
-
readonly targetAdapter:
|
|
71
|
+
readonly targetAdapter: QualityIntelligenceExportTarget;
|
|
63
72
|
readonly integrityHash: string;
|
|
64
73
|
readonly redactionAttested: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Whether this row records a dry-run preview rather than a materialised export (Issue #283, AC4).
|
|
76
|
+
* Absent/`false` means the export produced a downloadable artifact (local serialisation or a
|
|
77
|
+
* binary PDF/ZIP bundle); `true` means only a preview was rendered. Additive and optional:
|
|
78
|
+
* manifests written before #283 carry no export rows at all, and the strict-schema gate validates
|
|
79
|
+
* only top-level keys, so no schema-version bump is required.
|
|
80
|
+
*/
|
|
81
|
+
readonly dryRun?: boolean;
|
|
65
82
|
}
|
|
66
83
|
export interface QualityIntelligenceEvidenceRefRow {
|
|
67
84
|
readonly envelopeId: string;
|
package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifestSchema.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/manifestSchema.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,KAAK,gCAAgC,GAAG,mBAAmB,CAAC,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"manifestSchema.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/manifestSchema.ts"],"names":[],"mappings":"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"}
|