@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
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/htmlCssAdapter.js
CHANGED
|
@@ -11,6 +11,29 @@
|
|
|
11
11
|
// `tokens.css` (the `:root` custom-property table), and one `screens/<id>.html` per screen. Pure: no
|
|
12
12
|
// IO, no model, no Date — a given plan yields a byte-identical artifact. All text and attribute values
|
|
13
13
|
// are HTML-escaped so the reviewable artifact cannot inject markup.
|
|
14
|
+
//
|
|
15
|
+
// CSS value handling: fontFamily tokens are emitted as quoted strings with embedded double-quotes
|
|
16
|
+
// escaped and control/injection characters ('{', '}', ';', '</', '*/', newlines) stripped, so a
|
|
17
|
+
// hostile font name cannot break out of the custom-property declaration. Color tokens are validated
|
|
18
|
+
// against /^#[0-9a-fA-F]{3,8}$/ and numeric tokens as finite numbers; invalid values are dropped
|
|
19
|
+
// rather than emitted.
|
|
20
|
+
//
|
|
21
|
+
// Screen file names: Figma ids may contain ':' (Windows-invalid) and ';' (URI scheme risk in hrefs).
|
|
22
|
+
// sanitizeScreenFileName replaces /[:;]/g with '-'. Collisions after substitution are resolved by a
|
|
23
|
+
// numeric suffix. All relative hrefs inside screen HTML are prefixed with './' so they are relative
|
|
24
|
+
// to the screens/ directory, not ambiguous URI-scheme fragments. The raw screen id is preserved in
|
|
25
|
+
// the data-screen-id attribute.
|
|
26
|
+
//
|
|
27
|
+
// Layout / sizing / cornerRadius / typography (from IrNode, threaded through EmissionElement):
|
|
28
|
+
// For nodes with auto-layout, a deterministic CSS class is emitted (name = "n-" + sanitized node id)
|
|
29
|
+
// carrying display:flex, flex-direction, gap, padding, and border-radius. TEXT nodes with typography
|
|
30
|
+
// matching a tokens.css entry reference var(--font-N). fill-sized nodes emit flex:1 / width:100% on
|
|
31
|
+
// the relevant axis; hug is the default (no output).
|
|
32
|
+
//
|
|
33
|
+
// What IS reproduced: auto-layout direction, gap, padding, border-radius, font (via token var or
|
|
34
|
+
// inline).
|
|
35
|
+
// What is NOT reproduced: absolute positioning, constraints, effects (shadows/blur), image fills
|
|
36
|
+
// beyond refs, grid layout, overflow, z-ordering, component variants.
|
|
14
37
|
const ADAPTER_NAME = "html-css";
|
|
15
38
|
const INDENT = " ";
|
|
16
39
|
const HTML_ESCAPES = {
|
|
@@ -22,8 +45,41 @@ const HTML_ESCAPES = {
|
|
|
22
45
|
};
|
|
23
46
|
const escapeHtml = (value) => value.replace(/[&<>"']/gu, (char) => HTML_ESCAPES[char] ?? char);
|
|
24
47
|
const indent = (depth) => INDENT.repeat(depth);
|
|
25
|
-
//
|
|
26
|
-
//
|
|
48
|
+
// ─── Fix #7: safe screen file names ──────────────────────────────────────────
|
|
49
|
+
//
|
|
50
|
+
// Figma ids contain ':' (invalid on Windows file paths) and INSTANCE ids contain ';' which is
|
|
51
|
+
// parsed as a URI scheme separator in sibling hrefs (e.g. "I123:456;789:12.html" → opaque URI).
|
|
52
|
+
// We replace /[:;]/g with '-'; ids are unique before substitution so collisions are rare, but a
|
|
53
|
+
// numeric suffix is appended defensively.
|
|
54
|
+
function buildSafeNameIndex(screens) {
|
|
55
|
+
const seen = new Map();
|
|
56
|
+
const result = new Map();
|
|
57
|
+
for (const screen of screens) {
|
|
58
|
+
const base = screen.screenId.replace(/[:;]/gu, "-");
|
|
59
|
+
const count = seen.get(base) ?? 0;
|
|
60
|
+
seen.set(base, count + 1);
|
|
61
|
+
result.set(screen.screenId, count === 0 ? base : `${base}-${String(count)}`);
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
// ─── Fix #8: CSS value sanitization ──────────────────────────────────────────
|
|
66
|
+
//
|
|
67
|
+
// fontFamily is emitted as a CSS quoted string. Embedded double-quotes are escaped as \\22 (the
|
|
68
|
+
// CSS hex escape for ") and injection sequences ('{', '}', ';', '</', '*/', newlines, control
|
|
69
|
+
// chars) are stripped, so a hostile font name cannot break out of the declaration.
|
|
70
|
+
// Unicode escapes for control characters (U+0000-U+001F) and DEL (U+007F) avoid the no-control-regex
|
|
71
|
+
// lint rule while matching the same character set at runtime.
|
|
72
|
+
// eslint-disable-next-line no-control-regex
|
|
73
|
+
const CSS_INJECTION_RE = /[{};]|<\/|\*\/|[\u0000-\u001f\u007f]/gu;
|
|
74
|
+
const safeFontFamily = (family) => {
|
|
75
|
+
const cleaned = family.replace(CSS_INJECTION_RE, "").replace(/"/gu, "\\22 ");
|
|
76
|
+
return `"${cleaned}"`;
|
|
77
|
+
};
|
|
78
|
+
// Valid CSS hex color: 3, 4, 6, or 8 hex digits.
|
|
79
|
+
const HEX_COLOR_RE = /^#[0-9a-fA-F]{3,8}$/u;
|
|
80
|
+
const isSafeColor = (value) => HEX_COLOR_RE.test(value);
|
|
81
|
+
// ─── Map a target-neutral element role to a semantic HTML tag ─────────────────
|
|
82
|
+
// Containers become <section>; everything else is the closest semantic element.
|
|
27
83
|
const TAG_BY_ROLE = {
|
|
28
84
|
button: "button",
|
|
29
85
|
input: "input",
|
|
@@ -34,11 +90,113 @@ const TAG_BY_ROLE = {
|
|
|
34
90
|
};
|
|
35
91
|
// Roles that render as void (self-closing) elements with no children/text.
|
|
36
92
|
const VOID_ROLES = new Set(["input", "image"]);
|
|
37
|
-
|
|
93
|
+
const colorVar = (index) => `--color-${String(index + 1)}`;
|
|
94
|
+
const spaceVar = (index) => `--space-${String(index + 1)}`;
|
|
95
|
+
const radiusVar = (index) => `--radius-${String(index + 1)}`;
|
|
96
|
+
const fontVar = (index) => `--font-${String(index + 1)}`;
|
|
97
|
+
// Typography key used to match per-node typography against the global token table.
|
|
98
|
+
const typographyKey = (t) => `${t.fontFamily}|${String(t.fontSize)}|${String(t.fontWeight)}`;
|
|
99
|
+
const typographyTokenKey = (t) => `${t.fontFamily}|${String(t.fontSize)}|${String(t.fontWeight)}`;
|
|
100
|
+
const buildTokenLookups = (tokens) => {
|
|
101
|
+
const colorMap = new Map();
|
|
102
|
+
tokens.colors.forEach((token, i) => {
|
|
103
|
+
colorMap.set(token.value, colorVar(i));
|
|
104
|
+
});
|
|
105
|
+
const fontMap = new Map();
|
|
106
|
+
tokens.typography.forEach((token, i) => {
|
|
107
|
+
fontMap.set(typographyTokenKey(token), fontVar(i));
|
|
108
|
+
});
|
|
109
|
+
return { colorVar: colorMap, fontVar: fontMap };
|
|
110
|
+
};
|
|
111
|
+
// ─── Per-node CSS class generation ───────────────────────────────────────────
|
|
112
|
+
//
|
|
113
|
+
// A deterministic class name is derived from the node id by replacing non-alphanumeric characters
|
|
114
|
+
// with "-" and prefixing "n-". This is stable: same id → same class name every run.
|
|
115
|
+
const sanitizeIdForClass = (id) => id.replace(/[^a-zA-Z0-9]/gu, "-");
|
|
116
|
+
const nodeClass = (id) => `n-${sanitizeIdForClass(id)}`;
|
|
117
|
+
const ALIGN_CSS = {
|
|
118
|
+
start: "flex-start",
|
|
119
|
+
center: "center",
|
|
120
|
+
end: "flex-end",
|
|
121
|
+
"space-between": "space-between",
|
|
122
|
+
};
|
|
123
|
+
// Build CSS declarations for a layout node. Returns undefined when nothing would be emitted.
|
|
124
|
+
const layoutDeclarations = (layout) => {
|
|
125
|
+
const decls = ["display: flex;", `flex-direction: ${layout.mode};`];
|
|
126
|
+
if (layout.itemSpacing !== undefined && Number.isFinite(layout.itemSpacing)) {
|
|
127
|
+
decls.push(`gap: ${String(layout.itemSpacing)}px;`);
|
|
128
|
+
}
|
|
129
|
+
if (layout.padding !== undefined) {
|
|
130
|
+
const [top, right, bottom, left] = layout.padding;
|
|
131
|
+
decls.push(`padding: ${String(top)}px ${String(right)}px ${String(bottom)}px ${String(left)}px;`);
|
|
132
|
+
}
|
|
133
|
+
if (layout.primaryAlign !== undefined) {
|
|
134
|
+
decls.push(`justify-content: ${ALIGN_CSS[layout.primaryAlign]};`);
|
|
135
|
+
}
|
|
136
|
+
if (layout.counterAlign !== undefined) {
|
|
137
|
+
decls.push(`align-items: ${ALIGN_CSS[layout.counterAlign]};`);
|
|
138
|
+
}
|
|
139
|
+
return decls;
|
|
140
|
+
};
|
|
141
|
+
// Build CSS declarations for sizing (fill = flex:1, hug = nothing [default], fixed = nothing here).
|
|
142
|
+
const sizingDeclarations = (sizing) => {
|
|
143
|
+
const decls = [];
|
|
144
|
+
if (sizing.horizontal === "fill")
|
|
145
|
+
decls.push("width: 100%;");
|
|
146
|
+
if (sizing.vertical === "fill")
|
|
147
|
+
decls.push("flex: 1;");
|
|
148
|
+
return decls;
|
|
149
|
+
};
|
|
150
|
+
// Build CSS declarations for typography. Prefer token var when matched; inline otherwise.
|
|
151
|
+
const typographyDeclarations = (typo, lookups) => {
|
|
152
|
+
const fontVarName = lookups.fontVar.get(typographyKey(typo));
|
|
153
|
+
if (fontVarName !== undefined) {
|
|
154
|
+
return [`font: var(${fontVarName});`];
|
|
155
|
+
}
|
|
156
|
+
// Inline fallback: validate each value before emitting.
|
|
157
|
+
const decls = [];
|
|
158
|
+
if (Number.isFinite(typo.fontWeight))
|
|
159
|
+
decls.push(`font-weight: ${String(typo.fontWeight)};`);
|
|
160
|
+
if (Number.isFinite(typo.fontSize))
|
|
161
|
+
decls.push(`font-size: ${String(typo.fontSize)}px;`);
|
|
162
|
+
if (typo.fontFamily.length > 0)
|
|
163
|
+
decls.push(`font-family: ${safeFontFamily(typo.fontFamily)};`);
|
|
164
|
+
return decls;
|
|
165
|
+
};
|
|
166
|
+
// Walk the element tree, collect CSS rules, populate classMap.
|
|
167
|
+
const collectStyles = (element, ctx) => {
|
|
168
|
+
const decls = [
|
|
169
|
+
...(element.layout !== undefined ? layoutDeclarations(element.layout) : []),
|
|
170
|
+
...(element.sizing !== undefined ? sizingDeclarations(element.sizing) : []),
|
|
171
|
+
...(element.cornerRadius !== undefined && Number.isFinite(element.cornerRadius)
|
|
172
|
+
? [`border-radius: ${String(element.cornerRadius)}px;`]
|
|
173
|
+
: []),
|
|
174
|
+
...(element.typography !== undefined
|
|
175
|
+
? typographyDeclarations(element.typography, ctx.lookups)
|
|
176
|
+
: []),
|
|
177
|
+
];
|
|
178
|
+
if (decls.length > 0) {
|
|
179
|
+
const cls = nodeClass(element.id);
|
|
180
|
+
ctx.classMap.set(element.id, cls);
|
|
181
|
+
ctx.rules.push(`.${cls} {`);
|
|
182
|
+
for (const decl of decls)
|
|
183
|
+
ctx.rules.push(` ${decl}`);
|
|
184
|
+
ctx.rules.push("}");
|
|
185
|
+
}
|
|
186
|
+
for (const child of element.children)
|
|
187
|
+
collectStyles(child, ctx);
|
|
188
|
+
};
|
|
189
|
+
// ─── HTML element rendering ───────────────────────────────────────────────────
|
|
190
|
+
// Fix #6: additionally emit data-node-id so the element's IR origin is traceable in the HTML output.
|
|
191
|
+
function elementAttributes(element, classMap) {
|
|
38
192
|
const parts = [
|
|
39
193
|
`data-role="${escapeHtml(element.role)}"`,
|
|
40
194
|
`data-name="${escapeHtml(element.displayName)}"`,
|
|
195
|
+
`data-node-id="${escapeHtml(element.id)}"`,
|
|
41
196
|
];
|
|
197
|
+
const cls = classMap.get(element.id);
|
|
198
|
+
if (cls !== undefined)
|
|
199
|
+
parts.push(`class="${escapeHtml(cls)}"`);
|
|
42
200
|
if (element.role === "link")
|
|
43
201
|
parts.push('href="#"');
|
|
44
202
|
if (element.role === "input")
|
|
@@ -47,9 +205,9 @@ function elementAttributes(element) {
|
|
|
47
205
|
parts.push(`alt="${escapeHtml(element.displayName)}"`);
|
|
48
206
|
return parts.join(" ");
|
|
49
207
|
}
|
|
50
|
-
function renderElement(element, depth) {
|
|
208
|
+
function renderElement(element, depth, classMap) {
|
|
51
209
|
const tag = TAG_BY_ROLE[element.role];
|
|
52
|
-
const attributes = elementAttributes(element);
|
|
210
|
+
const attributes = elementAttributes(element, classMap);
|
|
53
211
|
if (VOID_ROLES.has(element.role)) {
|
|
54
212
|
return [`${indent(depth)}<${tag} ${attributes} />`];
|
|
55
213
|
}
|
|
@@ -57,16 +215,19 @@ function renderElement(element, depth) {
|
|
|
57
215
|
if (element.text !== undefined)
|
|
58
216
|
lines.push(`${indent(depth + 1)}${escapeHtml(element.text)}`);
|
|
59
217
|
for (const child of element.children)
|
|
60
|
-
lines.push(...renderElement(child, depth + 1));
|
|
218
|
+
lines.push(...renderElement(child, depth + 1, classMap));
|
|
61
219
|
lines.push(`${indent(depth)}</${tag}>`);
|
|
62
220
|
return lines;
|
|
63
221
|
}
|
|
64
|
-
|
|
222
|
+
// Fix #7: hrefs use the sanitized name and are prefixed with './' so they resolve relative to the
|
|
223
|
+
// screens/ directory and cannot be misinterpreted as URI schemes.
|
|
224
|
+
function renderNav(navTargets, safeNames, depth) {
|
|
65
225
|
if (navTargets.length === 0)
|
|
66
226
|
return [];
|
|
67
227
|
const lines = [`${indent(depth)}<nav aria-label="Screen navigation">`];
|
|
68
228
|
for (const target of navTargets) {
|
|
69
|
-
const
|
|
229
|
+
const safeName = safeNames.get(target.toScreenId) ?? target.toScreenId.replace(/[:;]/gu, "-");
|
|
230
|
+
const href = `./${escapeHtml(safeName)}.html`;
|
|
70
231
|
const trigger = escapeHtml(target.trigger);
|
|
71
232
|
const label = escapeHtml(target.toScreenName);
|
|
72
233
|
lines.push(`${indent(depth + 1)}<a href="${href}" data-trigger="${trigger}">${label}</a>`);
|
|
@@ -74,12 +235,23 @@ function renderNav(navTargets, depth) {
|
|
|
74
235
|
lines.push(`${indent(depth)}</nav>`);
|
|
75
236
|
return lines;
|
|
76
237
|
}
|
|
77
|
-
|
|
238
|
+
// Fix #7: screen file uses safe name; raw id is preserved in data-screen-id for traceability.
|
|
239
|
+
function renderScreenHtml(screen, safeNames, lookups) {
|
|
240
|
+
// Collect per-node styles first so classMap is populated before HTML rendering.
|
|
241
|
+
const ctx = { lookups, classMap: new Map(), rules: [] };
|
|
242
|
+
collectStyles(screen.root, ctx);
|
|
243
|
+
const styleBlock = ctx.rules.length > 0
|
|
244
|
+
? [
|
|
245
|
+
`${indent(2)}<style>`,
|
|
246
|
+
...ctx.rules.map((line) => `${indent(2)}${line}`),
|
|
247
|
+
`${indent(2)}</style>`,
|
|
248
|
+
]
|
|
249
|
+
: [];
|
|
78
250
|
const title = escapeHtml(screen.screenName);
|
|
79
251
|
const body = [
|
|
80
|
-
...renderNav(screen.navTargets, 3),
|
|
252
|
+
...renderNav(screen.navTargets, safeNames, 3),
|
|
81
253
|
`${indent(3)}<main data-screen-id="${escapeHtml(screen.screenId)}">`,
|
|
82
|
-
...renderElement(screen.root, 4),
|
|
254
|
+
...renderElement(screen.root, 4, ctx.classMap),
|
|
83
255
|
`${indent(3)}</main>`,
|
|
84
256
|
];
|
|
85
257
|
return [
|
|
@@ -89,6 +261,7 @@ function renderScreenHtml(screen) {
|
|
|
89
261
|
`${indent(2)}<meta charset="utf-8" />`,
|
|
90
262
|
`${indent(2)}<title>${title}</title>`,
|
|
91
263
|
`${indent(2)}<link rel="stylesheet" href="../tokens.css" />`,
|
|
264
|
+
...styleBlock,
|
|
92
265
|
`${indent(1)}</head>`,
|
|
93
266
|
`${indent(1)}<body>`,
|
|
94
267
|
...body,
|
|
@@ -97,9 +270,13 @@ function renderScreenHtml(screen) {
|
|
|
97
270
|
"",
|
|
98
271
|
].join("\n");
|
|
99
272
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
273
|
+
// Fix #7: index links use safe names for the href path but display the human-readable screen name.
|
|
274
|
+
function renderIndexHtml(screens, safeNames) {
|
|
275
|
+
const links = screens.map((screen) => {
|
|
276
|
+
const safeName = safeNames.get(screen.screenId) ?? screen.screenId.replace(/[:;]/gu, "-");
|
|
277
|
+
return (`${indent(3)}<li><a href="screens/${escapeHtml(safeName)}.html">` +
|
|
278
|
+
`${escapeHtml(screen.screenName)}</a></li>`);
|
|
279
|
+
});
|
|
103
280
|
return [
|
|
104
281
|
"<!doctype html>",
|
|
105
282
|
'<html lang="en">',
|
|
@@ -119,22 +296,31 @@ function renderIndexHtml(screens) {
|
|
|
119
296
|
"",
|
|
120
297
|
].join("\n");
|
|
121
298
|
}
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
299
|
+
// Fix #8: validate color before emit; drop invalid tokens rather than emitting them.
|
|
300
|
+
const colorLine = (token, index) => isSafeColor(token.value) ? `${indent(1)}${colorVar(index)}: ${token.value};` : undefined;
|
|
301
|
+
const spaceLine = (token, index) => Number.isFinite(token.value)
|
|
302
|
+
? `${indent(1)}${spaceVar(index)}: ${String(token.value)}px;`
|
|
303
|
+
: undefined;
|
|
304
|
+
const radiusLine = (token, index) => Number.isFinite(token.value)
|
|
305
|
+
? `${indent(1)}${radiusVar(index)}: ${String(token.value)}px;`
|
|
306
|
+
: undefined;
|
|
307
|
+
// Fix #8: fontFamily is sanitized via safeFontFamily (quoted + injection chars stripped).
|
|
308
|
+
// Weight, size, lineHeight are validated as finite numbers before emit.
|
|
309
|
+
const fontLine = (token, index) => {
|
|
310
|
+
if (!Number.isFinite(token.fontWeight) ||
|
|
311
|
+
!Number.isFinite(token.fontSize) ||
|
|
312
|
+
!Number.isFinite(token.lineHeight)) {
|
|
313
|
+
return undefined;
|
|
314
|
+
}
|
|
315
|
+
return (`${indent(1)}${fontVar(index)}: ${String(token.fontWeight)} ${String(token.fontSize)}px/` +
|
|
316
|
+
`${String(token.lineHeight)}px ${safeFontFamily(token.fontFamily)};`);
|
|
317
|
+
};
|
|
132
318
|
function renderTokensCss(tokens) {
|
|
133
319
|
const lines = [
|
|
134
|
-
...tokens.colors.map(colorLine),
|
|
135
|
-
...tokens.spacing.map(spaceLine),
|
|
136
|
-
...tokens.radius.map(radiusLine),
|
|
137
|
-
...tokens.typography.map(fontLine),
|
|
320
|
+
...tokens.colors.map(colorLine).filter((l) => l !== undefined),
|
|
321
|
+
...tokens.spacing.map(spaceLine).filter((l) => l !== undefined),
|
|
322
|
+
...tokens.radius.map(radiusLine).filter((l) => l !== undefined),
|
|
323
|
+
...tokens.typography.map(fontLine).filter((l) => l !== undefined),
|
|
138
324
|
];
|
|
139
325
|
return [
|
|
140
326
|
"/* Design tokens (deterministic, from the Figma Snapshot Screen-IR). */",
|
|
@@ -145,13 +331,18 @@ function renderTokensCss(tokens) {
|
|
|
145
331
|
].join("\n");
|
|
146
332
|
}
|
|
147
333
|
function emitHtmlCss(plan) {
|
|
334
|
+
const safeNames = buildSafeNameIndex(plan.screens);
|
|
335
|
+
const lookups = buildTokenLookups(plan.tokens);
|
|
148
336
|
const files = [
|
|
149
|
-
{ path: "index.html", contents: renderIndexHtml(plan.screens) },
|
|
337
|
+
{ path: "index.html", contents: renderIndexHtml(plan.screens, safeNames) },
|
|
150
338
|
{ path: "tokens.css", contents: renderTokensCss(plan.tokens) },
|
|
151
|
-
...plan.screens.map((screen) =>
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
339
|
+
...plan.screens.map((screen) => {
|
|
340
|
+
const safeName = safeNames.get(screen.screenId) ?? screen.screenId.replace(/[:;]/gu, "-");
|
|
341
|
+
return {
|
|
342
|
+
path: `screens/${safeName}.html`,
|
|
343
|
+
contents: renderScreenHtml(screen, safeNames, lookups),
|
|
344
|
+
};
|
|
345
|
+
}),
|
|
155
346
|
];
|
|
156
347
|
return { adapterName: ADAPTER_NAME, files };
|
|
157
348
|
}
|
|
@@ -159,6 +350,11 @@ function emitHtmlCss(plan) {
|
|
|
159
350
|
* The framework-agnostic HTML/CSS adapter — the only adapter shipped in the first slice. Renders the
|
|
160
351
|
* target-neutral plan to semantic HTML per screen, a `tokens.css` custom-property table, and an
|
|
161
352
|
* `index.html`. Pure and deterministic: a given plan yields a byte-identical artifact.
|
|
353
|
+
*
|
|
354
|
+
* Layout fidelity: nodes with auto-layout emit display:flex + direction + gap + padding + radius in a
|
|
355
|
+
* per-screen `<style>` block; TEXT nodes with matching typography tokens emit var(--font-N); fill-sized
|
|
356
|
+
* nodes emit flex:1 / width:100%. Absolute positioning, constraints, effects, and image content are
|
|
357
|
+
* not reproduced.
|
|
162
358
|
*/
|
|
163
359
|
export const htmlCssAdapter = {
|
|
164
360
|
name: ADAPTER_NAME,
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts
CHANGED
|
@@ -10,6 +10,48 @@ export interface BoundingBox {
|
|
|
10
10
|
export interface ImageFillRef {
|
|
11
11
|
readonly imageRef: string;
|
|
12
12
|
}
|
|
13
|
+
/** Auto-layout direction for a flex container. */
|
|
14
|
+
export type LayoutMode = "row" | "column";
|
|
15
|
+
/** Simplified alignment shorthand for a flex axis. */
|
|
16
|
+
export type AlignItems = "start" | "center" | "end" | "space-between";
|
|
17
|
+
/**
|
|
18
|
+
* Auto-layout properties for a FRAME/COMPONENT/INSTANCE that has `layoutMode` set. Optional and
|
|
19
|
+
* additive: absent when the node has no auto-layout. NEVER folded into the snapshot integrity hash
|
|
20
|
+
* (#753/#735) — it is codegen metadata, not structural drift identity.
|
|
21
|
+
*/
|
|
22
|
+
export interface IrLayout {
|
|
23
|
+
/** Flex direction derived from Figma `layoutMode` (HORIZONTAL → row, VERTICAL → column). */
|
|
24
|
+
readonly mode: LayoutMode;
|
|
25
|
+
/** Gap between children, from `itemSpacing`. */
|
|
26
|
+
readonly itemSpacing?: number;
|
|
27
|
+
/** Padding: [top, right, bottom, left]. Absent when all four are zero/absent. */
|
|
28
|
+
readonly padding?: readonly [number, number, number, number];
|
|
29
|
+
/** Primary-axis alignment (Figma `primaryAxisAlignItems`). */
|
|
30
|
+
readonly primaryAlign?: AlignItems;
|
|
31
|
+
/** Cross-axis alignment (Figma `counterAxisAlignItems`). */
|
|
32
|
+
readonly counterAlign?: AlignItems;
|
|
33
|
+
}
|
|
34
|
+
/** Whether a dimension is fixed, fills available space, or hugs content. */
|
|
35
|
+
export type LayoutSizing = "fixed" | "hug" | "fill";
|
|
36
|
+
/**
|
|
37
|
+
* Per-axis sizing mode (Figma `layoutSizingHorizontal` / `layoutSizingVertical`). Optional and
|
|
38
|
+
* additive; absent when the node has no auto-layout parent or when sizing is not explicitly set.
|
|
39
|
+
* Hash-neutral like {@link IrLayout}.
|
|
40
|
+
*/
|
|
41
|
+
export interface IrSizing {
|
|
42
|
+
readonly horizontal?: LayoutSizing;
|
|
43
|
+
readonly vertical?: LayoutSizing;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Per-TEXT-node typography properties, only present on TEXT nodes. Matches what `tokens.ts`
|
|
47
|
+
* already extracts globally (fontFamily, fontSize, fontWeight). Optional and additive; absent for
|
|
48
|
+
* non-TEXT nodes or when the `style` block is missing. Hash-neutral like {@link IrLayout}.
|
|
49
|
+
*/
|
|
50
|
+
export interface IrTypography {
|
|
51
|
+
readonly fontFamily: string;
|
|
52
|
+
readonly fontSize: number;
|
|
53
|
+
readonly fontWeight: number;
|
|
54
|
+
}
|
|
13
55
|
/** A kept node in a screen's normalized structural tree. */
|
|
14
56
|
export interface IrNode {
|
|
15
57
|
readonly id: string;
|
|
@@ -30,6 +72,26 @@ export interface IrNode {
|
|
|
30
72
|
* additive, and hash-neutral like {@link IrNode.textColor}.
|
|
31
73
|
*/
|
|
32
74
|
readonly backgroundColor?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Auto-layout properties (direction, gap, padding, alignment). Optional and additive: absent when
|
|
77
|
+
* the node has no auto-layout. Hash-neutral — codegen metadata, not structural drift identity.
|
|
78
|
+
*/
|
|
79
|
+
readonly layout?: IrLayout;
|
|
80
|
+
/**
|
|
81
|
+
* Per-axis sizing mode. Optional and additive: absent when no sizing context exists.
|
|
82
|
+
* Hash-neutral like {@link IrNode.layout}.
|
|
83
|
+
*/
|
|
84
|
+
readonly sizing?: IrSizing;
|
|
85
|
+
/**
|
|
86
|
+
* Corner radius in pixels. Optional and additive: absent when zero or absent from source.
|
|
87
|
+
* Hash-neutral like {@link IrNode.layout}.
|
|
88
|
+
*/
|
|
89
|
+
readonly cornerRadius?: number;
|
|
90
|
+
/**
|
|
91
|
+
* Per-TEXT typography (fontFamily, fontSize, fontWeight). Optional and additive: absent for
|
|
92
|
+
* non-TEXT nodes or when the style block is missing. Hash-neutral like {@link IrNode.layout}.
|
|
93
|
+
*/
|
|
94
|
+
readonly typography?: IrTypography;
|
|
33
95
|
readonly imageFills: readonly ImageFillRef[];
|
|
34
96
|
readonly children: readonly IrNode[];
|
|
35
97
|
}
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irTypes.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/irTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"irTypes.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/irTypes.ts"],"names":[],"mappings":"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"}
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/links.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/links.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAyC,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmF7C,sGAAsG;AACtG,eAAO,MAAM,uBAAuB,GAClC,SAAS,eAAe,EACxB,SAAS,SAAS,UAAU,EAAE,KAC7B,SAAS,eAAe,EAS1B,CAAC"}
|
|
@@ -9,11 +9,25 @@
|
|
|
9
9
|
// 3. CANVAS `flowStartingPoints[]` + `prototypeStartNodeID` — flow entry points, emitted as
|
|
10
10
|
// `{ sourceNodeId: <canvasId>, trigger: "FLOW_START", targetNodeId }`.
|
|
11
11
|
//
|
|
12
|
+
// URL actions (type=URL, url=<href>) are surfaced with targetNodeId `url:<href>` so they appear in
|
|
13
|
+
// `unresolvedLinks` downstream (no screen owns a `url:` node id) rather than being silently dropped.
|
|
14
|
+
//
|
|
12
15
|
// Links come from the pruned tree (hidden/dropped nodes emit nothing) plus the raw root for flow
|
|
13
16
|
// entry points. The output is sorted by a stable structural key so order never depends on traversal.
|
|
14
17
|
import { asNode, nodeId, readArray, readString } from "./sourceNode.js";
|
|
15
18
|
const FLOW_START = "FLOW_START";
|
|
16
19
|
const UNKNOWN_TRIGGER = "UNKNOWN";
|
|
20
|
+
// Shared constant — see prune.ts for rationale. Must stay in sync with every other recursive walk.
|
|
21
|
+
const MAX_TREE_DEPTH = 512;
|
|
22
|
+
// URL actions carry type="URL" and a url field instead of a destinationId. We surface them with the
|
|
23
|
+
// synthetic target `url:<href>` so they appear in unresolvedLinks downstream (no screen owns a node
|
|
24
|
+
// with that id) rather than being silently dropped. Board-content URLs are acceptable here.
|
|
25
|
+
const readUrlAction = (action) => {
|
|
26
|
+
if (readString(action.type) !== "URL")
|
|
27
|
+
return undefined;
|
|
28
|
+
const url = readString(action.url);
|
|
29
|
+
return url !== undefined ? `url:${url}` : undefined;
|
|
30
|
+
};
|
|
17
31
|
const readDestination = (action) => {
|
|
18
32
|
const direct = readString(action.destinationId);
|
|
19
33
|
if (direct !== undefined)
|
|
@@ -21,7 +35,7 @@ const readDestination = (action) => {
|
|
|
21
35
|
const nav = asNode(action.navigation);
|
|
22
36
|
if (nav !== undefined)
|
|
23
37
|
return readString(nav.destinationId);
|
|
24
|
-
return
|
|
38
|
+
return readUrlAction(action);
|
|
25
39
|
};
|
|
26
40
|
const triggerType = (entry) => {
|
|
27
41
|
const trigger = asNode(entry.trigger);
|
|
@@ -55,10 +69,15 @@ const collectInteractions = (node, out) => {
|
|
|
55
69
|
collectFromActions(sourceNodeId, triggerType(record), [action], out);
|
|
56
70
|
}
|
|
57
71
|
};
|
|
58
|
-
|
|
72
|
+
function visitAt(pruned, out, depth) {
|
|
73
|
+
if (depth > MAX_TREE_DEPTH)
|
|
74
|
+
return;
|
|
59
75
|
collectInteractions(pruned.source, out);
|
|
60
76
|
for (const child of pruned.children)
|
|
61
|
-
|
|
77
|
+
visitAt(child, out, depth + 1);
|
|
78
|
+
}
|
|
79
|
+
const visit = (pruned, out) => {
|
|
80
|
+
visitAt(pruned, out, 0);
|
|
62
81
|
};
|
|
63
82
|
const collectFlowEntries = (root, out) => {
|
|
64
83
|
const sourceNodeId = nodeId(root);
|
|
@@ -82,5 +101,6 @@ export const extractInterScreenLinks = (rawRoot, screens) => {
|
|
|
82
101
|
const byKey = new Map();
|
|
83
102
|
for (const link of collected)
|
|
84
103
|
byKey.set(linkKey(link), link);
|
|
85
|
-
|
|
104
|
+
const byCode = (x, y) => (x < y ? -1 : x > y ? 1 : 0);
|
|
105
|
+
return [...byKey.values()].sort((a, b) => byCode(linkKey(a), linkKey(b)));
|
|
86
106
|
};
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts
CHANGED
|
@@ -52,7 +52,8 @@ export declare function deriveNavGraph(ir: ScreenIrResult): NavGraph;
|
|
|
52
52
|
/**
|
|
53
53
|
* Derive bounded, acyclic multi-step flow paths from the graph's entry screens. `maxDepth` caps the
|
|
54
54
|
* number of screens per path (default {@link DEFAULT_MAX_FLOW_DEPTH}); the per-path visited set makes
|
|
55
|
-
* every path acyclic, so a cycle or self-loop never yields an unbounded path set.
|
|
55
|
+
* every path acyclic, so a cycle or self-loop never yields an unbounded path set. Total flows are
|
|
56
|
+
* capped at {@link MAX_NAV_FLOWS} so a dense fully-connected graph cannot exhaust memory. Stable-sorted.
|
|
56
57
|
*/
|
|
57
58
|
export declare function deriveNavFlows(graph: NavGraph, maxDepth?: number): readonly NavFlow[];
|
|
58
59
|
/**
|
|
@@ -66,7 +67,8 @@ export declare function deriveRoutingHints(graph: NavGraph): readonly RoutingHin
|
|
|
66
67
|
* Reuses #754's StructuralTestItem shape so the items compose additively through
|
|
67
68
|
* `deriveScreenTestBaseline(screen, extraItems)`. Every edge → a navigation item on its source
|
|
68
69
|
* screen; every multi-step flow → a flow item on its entry screen; every unreachable/dead-end screen
|
|
69
|
-
* → a coverage-notice item.
|
|
70
|
+
* → a coverage-notice item. When flow enumeration is truncated by MAX_NAV_FLOWS, one additional
|
|
71
|
+
* coverage-notice records the omission. Deterministic: items are emitted in the graph's stable order.
|
|
70
72
|
*/
|
|
71
73
|
export declare function deriveNavTestItemsByScreen(graph: NavGraph, maxFlowDepth?: number): ReadonlyMap<string, readonly StructuralTestItem[]>;
|
|
72
74
|
//# sourceMappingURL=navGraph.d.ts.map
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/navGraph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navGraph.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/navGraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"navGraph.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/navGraph.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AASpE,gCAAgC;AAChC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qGAAqG;AACrG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IACpD,gGAAgG;IAChG,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,4DAA4D;IAC5D,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,4DAA4D;AAC5D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5F;AA+FD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,CA0B3D;AA+CD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EACf,QAAQ,GAAE,MAA+B,GACxC,SAAS,OAAO,EAAE,CAWpB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,WAAW,EAAE,CAU1E;AA+ED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,EACf,YAAY,GAAE,MAA+B,GAC5C,WAAW,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAYpD"}
|
|
Binary file
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/normalize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/normalize.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAMV,MAAM,EAKP,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqL7C,8FAA8F;AAC9F,eAAO,MAAM,mBAAmB,GAAI,QAAQ,UAAU,KAAG,MAAgC,CAAC;AAO1F,6EAA6E;AAC7E,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAiC,CAAC"}
|