@oscharko-dev/keiko 0.2.0-beta.5 → 0.2.0-beta.7
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 +39 -14
- package/dist/ui/csp-hashes.json +17 -22
- package/dist/ui/static/404.html +1 -1
- package/dist/ui/static/__next.__PAGE__.txt +2 -2
- package/dist/ui/static/__next._full.txt +3 -3
- package/dist/ui/static/__next._head.txt +1 -1
- package/dist/ui/static/__next._index.txt +2 -2
- package/dist/ui/static/__next._tree.txt +2 -2
- package/dist/ui/static/_next/static/chunks/0-qhhdvxg2j_y.js +1 -0
- package/dist/ui/static/_next/static/chunks/0ke4ratkgvcxo.css +1 -0
- package/dist/ui/static/_next/static/chunks/0xhu-pfsyvbmx.js +5 -0
- package/dist/ui/static/_next/static/chunks/3vf3oh2-sl2nc.js +1 -0
- package/dist/ui/static/_next/static/chunks/3wmd4-2vznp2g.js +106 -0
- package/dist/ui/static/_next/static/chunks/turbopack-18q50fp2-1qbt.js +1 -0
- package/dist/ui/static/_not-found/__next._full.txt +2 -2
- package/dist/ui/static/_not-found/__next._head.txt +1 -1
- package/dist/ui/static/_not-found/__next._index.txt +2 -2
- package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/ui/static/_not-found/__next._not-found.txt +1 -1
- package/dist/ui/static/_not-found/__next._tree.txt +2 -2
- package/dist/ui/static/_not-found.html +1 -1
- package/dist/ui/static/_not-found.txt +2 -2
- package/dist/ui/static/index.html +1 -1
- package/dist/ui/static/index.txt +3 -3
- package/dist/ui/static/launch/__next._full.txt +3 -3
- package/dist/ui/static/launch/__next._head.txt +1 -1
- package/dist/ui/static/launch/__next._index.txt +2 -2
- package/dist/ui/static/launch/__next._tree.txt +2 -2
- package/dist/ui/static/launch/__next.launch.__PAGE__.txt +2 -2
- package/dist/ui/static/launch/__next.launch.txt +1 -1
- package/dist/ui/static/launch.html +1 -1
- package/dist/ui/static/launch.txt +3 -3
- package/dist/ui/static/local-knowledge/__next._full.txt +3 -3
- package/dist/ui/static/local-knowledge/__next._head.txt +1 -1
- package/dist/ui/static/local-knowledge/__next._index.txt +2 -2
- package/dist/ui/static/local-knowledge/__next._tree.txt +2 -2
- package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +2 -2
- package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule/__next._full.txt +3 -3
- package/dist/ui/static/local-knowledge/capsule/__next._head.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule/__next._index.txt +2 -2
- package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -2
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +2 -2
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule.html +1 -1
- package/dist/ui/static/local-knowledge/capsule.txt +3 -3
- package/dist/ui/static/local-knowledge.html +1 -1
- package/dist/ui/static/local-knowledge.txt +3 -3
- package/dist/ui/static/memoriaviva/__next._full.txt +6 -6
- package/dist/ui/static/memoriaviva/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +4 -4
- package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +4 -4
- package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +2 -2
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation.html +1 -1
- package/dist/ui/static/memoriaviva/consolidation.txt +4 -4
- package/dist/ui/static/memoriaviva/detail/__next._full.txt +6 -6
- package/dist/ui/static/memoriaviva/detail/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/detail/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +4 -4
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +1 -1
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/detail.html +1 -1
- package/dist/ui/static/memoriaviva/detail.txt +6 -6
- package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +4 -4
- package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue.html +1 -1
- package/dist/ui/static/memoriaviva/review-queue.txt +4 -4
- package/dist/ui/static/memoriaviva.html +1 -1
- package/dist/ui/static/memoriaviva.txt +6 -6
- package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/doctor.d.ts +24 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/doctor.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/doctor.js +108 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/evaluate.js +7 -4
- package/node_modules/@oscharko-dev/keiko-cli/dist/index.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/index.js +1 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/init.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-cli/dist/init.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/init.js +4 -4
- package/node_modules/@oscharko-dev/keiko-cli/dist/install-layout.d.ts +6 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/install-layout.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/install-layout.js +24 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/launcher.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/launcher.js +5 -7
- package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.js +75 -30
- package/node_modules/@oscharko-dev/keiko-cli/dist/memory.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-cli/dist/memory.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/memory.js +76 -7
- package/node_modules/@oscharko-dev/keiko-cli/dist/run.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/run.js +50 -2
- package/node_modules/@oscharko-dev/keiko-cli/dist/runner.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/runner.js +20 -4
- package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +17 -14
- package/node_modules/@oscharko-dev/keiko-cli/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/bff-wire.d.ts +7 -0
- 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.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/connected-context.js +1 -2
- package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/evidence.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/gateway.d.ts +12 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/gateway.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +4 -2
- 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 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.d.ts +13 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-audit-events.js +7 -6
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-internal.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-internal.js +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-operations.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-workflow-port.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/memory-workflow-port.js +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +21 -4
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.js +1 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/sourceEnvelope.d.ts +1 -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 +26 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.d.ts +5 -3
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/testQualityRubric.js +29 -3
- package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.d.ts +7 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/text-safety.js +58 -0
- package/node_modules/@oscharko-dev/keiko-contracts/package.json +5 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/dist/surface-parity.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
- 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/qualityIntelligence/candidatesArtifact.d.ts +7 -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 +62 -13
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/companionStore.d.ts +3 -3
- 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 +31 -11
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +35 -3
- 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/schema.js +107 -3
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +15 -1
- 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 +248 -36
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts +17 -3
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/manifestSchema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.d.ts +1 -1
- 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 +26 -22
- package/node_modules/@oscharko-dev/keiko-evidence/dist/side-file.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/side-file.js +17 -5
- package/node_modules/@oscharko-dev/keiko-evidence/dist/store.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/store.js +128 -12
- package/node_modules/@oscharko-dev/keiko-evidence/dist/workflow-evidence.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/workflow-evidence.js +1 -3
- package/node_modules/@oscharko-dev/keiko-evidence/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-harness/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +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 +1 -2
- 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 +1 -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 +45 -21
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/media-type.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/discovery/media-type.js +1 -0
- 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 +11 -3
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/dimensions.js +42 -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 +34 -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/report.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/report.js +7 -6
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/runner.js +7 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/evaluations/types.js +2 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/index.d.ts +1 -1
- 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 +1 -1
- 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 +121 -3
- 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 +34 -4
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/_internal.d.ts +1 -0
- 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 +63 -0
- 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 +4 -7
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/html-parser.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/html-parser.js +67 -11
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/index.d.ts +1 -0
- 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 +3 -0
- 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 +39 -3
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/null-ocr-adapter.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/ocr-pipeline-parser.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/ocr/ocr-pipeline-parser.js +46 -11
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/parser-test-fixtures.js +2 -0
- 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 +114 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/xlsx-parser.js +425 -0
- 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/qualityIntelligence/capsuleCorpus.d.ts +9 -4
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/qualityIntelligence/capsuleCorpus.js +11 -6
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/retrieval-runner.js +15 -2
- 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 +220 -7
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/types.d.ts +2 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/retrieval/types.d.ts.map +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 +3 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +4 -2
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/capture-safety.js +17 -0
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/errors.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/errors.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/index.js +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-capture/dist/salience.js +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/_constants.js +5 -0
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/consolidate.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/consolidate.js +93 -30
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/stale.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/stale.js +3 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.d.ts +5 -0
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/dist/types.js +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/dist/forget.js +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/types.js +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/dist/context.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/context.js +61 -18
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.js +3 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.js +26 -4
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts +9 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/embeddings.js +21 -0
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/migrate-encrypt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/migrate-encrypt.js +24 -4
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.js +27 -4
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/tombstones.js +21 -4
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts +22 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/validate.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/validate.js +3 -0
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.js +105 -28
- package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +1 -1
- 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 -0
- 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 +83 -69
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.d.ts +3 -2
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/embedding.js +20 -16
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/gateway.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/gateway.js +9 -3
- 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 +29 -3
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.d.ts +4 -4
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/index.js +3 -3
- 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 +51 -6
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.d.ts +20 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/openai-embedding-adapter.js +122 -7
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.d.ts +10 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityGate.js +33 -11
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/capabilityMapping.js +21 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/routing.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/qualityIntelligence/routing.js +2 -13
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/resilience.js +18 -2
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/types.d.ts +5 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.d.ts +35 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/assertions.js +74 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/deduplication.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/deduplication.js +6 -2
- 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 +64 -19
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/cleanToScreenIr.js +3 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.d.ts +6 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/color.js +22 -9
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/emissionPlan.d.ts +4 -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 +28 -12
- 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 +123 -33
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/index.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/irTypes.d.ts +7 -4
- 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 +13 -17
- 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 +35 -12
- 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 +54 -6
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts +4 -0
- 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 +29 -10
- 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 -4
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.js +15 -6
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.js +162 -6
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts +14 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.js +50 -12
- 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 +4 -2
- 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 +8 -3
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/traceability.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/adapters/traceability.js +12 -9
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.d.ts +7 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/export/textSafety.js +7 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.d.ts +10 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/candidateBounds.js +14 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/index.js +3 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.js +97 -50
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.js +35 -7
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.js +2 -2
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-sdk/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.d.ts +11 -0
- package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-security/dist/errors/gateway.js +13 -0
- package/node_modules/@oscharko-dev/keiko-security/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +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 +50 -12
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-stream-handlers.js +10 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.js +3 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +4 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +44 -69
- package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.js +165 -28
- package/node_modules/@oscharko-dev/keiko-server/dist/governed-workflow.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/governed-workflow.js +4 -1
- 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 +2 -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 +115 -22
- 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 +54 -21
- 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 +11 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/index.d.ts +1 -0
- 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 -0
- 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 +7 -3
- 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 +26 -14
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-audit-handler.js +52 -27
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.d.ts +10 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-capture-policy.js +44 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-handlers.js +79 -57
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-registry.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-consolidation-registry.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.js +6 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-conversation-context.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-diagnostics.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-diagnostics.js +16 -9
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts +3 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.js +538 -87
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts +6 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.js +17 -38
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-retention.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-retention.js +7 -15
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.js +17 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-scope-sanitizer.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-scope-sanitizer.js +19 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-target-resolver.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-target-resolver.js +4 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-workflow-port.js +108 -27
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.d.ts +4 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/capsuleAdapter.js +3 -0
- 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 +61 -7
- 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 +9 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConcurrency.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConcurrency.js +2 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts +6 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.js +16 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts +7 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +1 -1
- 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 +3 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConsent.js +3 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.d.ts +5 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaObservedActions.js +10 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaReadiness.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaReadiness.js +11 -5
- 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 +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.js +71 -10
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts +2 -0
- 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 +86 -23
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +1 -1
- 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/figma/figmaTokenSource.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaTokenSource.js +4 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaUrl.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaUrl.js +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaCodegenRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaCodegenRoutes.js +60 -20
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +11 -6
- 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 +144 -6
- 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 +84 -15
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +9 -7
- 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 +206 -42
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts +3 -1
- 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 +69 -65
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts +15 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.js +56 -39
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts +1 -1
- 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 +382 -75
- 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 +14 -6
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts +3 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.js +44 -16
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts +7 -0
- 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 +336 -47
- 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 +15 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/traceabilityRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/traceabilityRoutes.js +36 -4
- 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 +61 -6
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +16 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/run-engine.d.ts +1 -0
- 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 +3 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/run-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/run-handlers.js +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.d.ts +9 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/sse-write.js +26 -0
- 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 +16 -8
- package/node_modules/@oscharko-dev/keiko-server/dist/store/messages.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/terminal.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-tools/dist/patch-normalize.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-tools/dist/patch-normalize.js +13 -7
- package/node_modules/@oscharko-dev/keiko-tools/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-verification/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/memory.js +16 -18
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/prompt.js +6 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/workflow.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/bug-investigation/workflow.js +3 -3
- package/node_modules/@oscharko-dev/keiko-workflows/dist/governed-handoff.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/descriptors.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts +18 -2
- 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 +209 -54
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/runtimeCommon.d.ts +4 -4
- 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 +4 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/unit-tests/target-guard.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchEntries.js +1 -2
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchLineSelection.js +2 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +6 -2
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchRegexSafety.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/package.json +1 -1
- package/package.json +23 -6
- package/dist/ui/static/_next/static/chunks/082obv3v03b-9.js +0 -2
- package/dist/ui/static/_next/static/chunks/0uifns067thv8.js +0 -1
- package/dist/ui/static/_next/static/chunks/0x31-j53ab1tt.js +0 -1
- package/dist/ui/static/_next/static/chunks/1m-kvwm6_90_3.css +0 -1
- package/dist/ui/static/_next/static/chunks/1v4hrxrm_6_rw.js +0 -1
- package/dist/ui/static/_next/static/chunks/27jktro2p5rq9.js +0 -4
- package/dist/ui/static/_next/static/chunks/2lypy3ewh0r04.js +0 -1
- package/dist/ui/static/_next/static/chunks/2ngm8iwdb1cbv.js +0 -106
- package/dist/ui/static/_next/static/chunks/32573pyyglqxl.js +0 -1
- package/dist/ui/static/_next/static/chunks/3_t_pzet29qtn.js +0 -1
- package/dist/ui/static/_next/static/chunks/3jgg_oe0iok0l.js +0 -1
- package/dist/ui/static/_next/static/chunks/3o_oia3vsam60.js +0 -1
- package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.js +0 -1
- /package/dist/ui/static/_next/static/{hR2gBQqCDKdPdSxBqZhqv → frhs0YcUqCPLHal-wHjDP}/_buildManifest.js +0 -0
- /package/dist/ui/static/_next/static/{hR2gBQqCDKdPdSxBqZhqv → frhs0YcUqCPLHal-wHjDP}/_clientMiddlewareManifest.js +0 -0
- /package/dist/ui/static/_next/static/{hR2gBQqCDKdPdSxBqZhqv → frhs0YcUqCPLHal-wHjDP}/_ssgManifest.js +0 -0
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/normalize.js
CHANGED
|
@@ -19,11 +19,13 @@
|
|
|
19
19
|
// link — the node carries a navigating prototype interaction/reaction (it navigates).
|
|
20
20
|
// image — the node has an IMAGE-type fill (and is not TEXT).
|
|
21
21
|
// text — the node is a TEXT node.
|
|
22
|
-
// `button
|
|
23
|
-
//
|
|
24
|
-
//
|
|
22
|
+
// `button` is also used for activation-style local prototype actions (for example ON_CLICK variable
|
|
23
|
+
// updates) because they are interactive controls even when they do not navigate. `button`/`input`
|
|
24
|
+
// name heuristics remain a tiny, word-boundary, case-insensitive match over conventional
|
|
25
|
+
// design-system role vocabulary. Boards that don't use these words and carry no prototype action
|
|
26
|
+
// fall back to `container` — no board's specific names are encoded.
|
|
25
27
|
import { asNode, nodeId, nodeName, nodeType, readArray, readNumber, readString, } from "./sourceNode.js";
|
|
26
|
-
import { firstSolidPaintHex } from "./color.js";
|
|
28
|
+
import { firstSolidPaintHex, isVisiblePaint } from "./color.js";
|
|
27
29
|
const BUTTON_ROLE = /\b(?:button|btn|cta)\b/iu;
|
|
28
30
|
const INPUT_ROLE = /\b(?:input|field|textfield|textbox)\b/iu;
|
|
29
31
|
const readBoundingBox = (node) => {
|
|
@@ -45,22 +47,62 @@ const readImageFills = (node) => {
|
|
|
45
47
|
const record = asNode(fill);
|
|
46
48
|
if (record === undefined || readString(record.type) !== "IMAGE")
|
|
47
49
|
continue;
|
|
50
|
+
if (!isVisiblePaint(record))
|
|
51
|
+
continue;
|
|
48
52
|
const imageRef = readString(record.imageRef);
|
|
49
53
|
if (imageRef !== undefined)
|
|
50
54
|
out.push({ imageRef });
|
|
51
55
|
}
|
|
52
56
|
return out;
|
|
53
57
|
};
|
|
58
|
+
const actionHasNavigationTarget = (action) => {
|
|
59
|
+
const record = asNode(action);
|
|
60
|
+
if (record === undefined)
|
|
61
|
+
return false;
|
|
62
|
+
if (readString(record.destinationId) !== undefined)
|
|
63
|
+
return true;
|
|
64
|
+
const nav = asNode(record.navigation);
|
|
65
|
+
if (nav !== undefined && readString(nav.destinationId) !== undefined)
|
|
66
|
+
return true;
|
|
67
|
+
return readString(record.type) === "URL" && readString(record.url) !== undefined;
|
|
68
|
+
};
|
|
69
|
+
const interactionHasNavigationTarget = (entry) => {
|
|
70
|
+
const record = asNode(entry);
|
|
71
|
+
if (record === undefined)
|
|
72
|
+
return false;
|
|
73
|
+
if (readArray(record.actions).some(actionHasNavigationTarget))
|
|
74
|
+
return true;
|
|
75
|
+
return actionHasNavigationTarget(record.action);
|
|
76
|
+
};
|
|
77
|
+
const interactionHasLocalAction = (entry) => {
|
|
78
|
+
const record = asNode(entry);
|
|
79
|
+
if (record === undefined)
|
|
80
|
+
return false;
|
|
81
|
+
const trigger = asNode(record.trigger);
|
|
82
|
+
const triggerType = trigger !== undefined ? readString(trigger.type) : undefined;
|
|
83
|
+
if (triggerType !== "ON_CLICK" && triggerType !== "ON_PRESS" && triggerType !== "ON_TAP") {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return readArray(record.actions).length > 0 || asNode(record.action) !== undefined;
|
|
87
|
+
};
|
|
54
88
|
const navigates = (node) => {
|
|
55
89
|
const interactions = readArray(node.interactions);
|
|
56
90
|
const reactions = readArray(node.reactions);
|
|
57
|
-
return interactions.
|
|
91
|
+
return (interactions.some(interactionHasNavigationTarget) ||
|
|
92
|
+
reactions.some(interactionHasNavigationTarget));
|
|
93
|
+
};
|
|
94
|
+
const hasActivation = (node) => {
|
|
95
|
+
const interactions = readArray(node.interactions);
|
|
96
|
+
const reactions = readArray(node.reactions);
|
|
97
|
+
return interactions.some(interactionHasLocalAction) || reactions.some(interactionHasLocalAction);
|
|
58
98
|
};
|
|
59
99
|
const classify = (node, imageFills) => {
|
|
60
100
|
if (nodeType(node) === "TEXT")
|
|
61
101
|
return "text";
|
|
62
102
|
if (navigates(node))
|
|
63
103
|
return "link";
|
|
104
|
+
if (hasActivation(node))
|
|
105
|
+
return "button";
|
|
64
106
|
if (imageFills.length > 0)
|
|
65
107
|
return "image";
|
|
66
108
|
const name = nodeName(node);
|
|
@@ -156,9 +198,15 @@ const readTypography = (node) => {
|
|
|
156
198
|
const fontFamily = readString(style.fontFamily);
|
|
157
199
|
const fontSize = readNumber(style.fontSize);
|
|
158
200
|
const fontWeight = readNumber(style.fontWeight);
|
|
201
|
+
const lineHeight = readNumber(style.lineHeightPx);
|
|
159
202
|
if (fontFamily === undefined || fontSize === undefined || fontWeight === undefined)
|
|
160
203
|
return undefined;
|
|
161
|
-
return {
|
|
204
|
+
return {
|
|
205
|
+
fontFamily,
|
|
206
|
+
fontSize,
|
|
207
|
+
fontWeight,
|
|
208
|
+
...(lineHeight !== undefined ? { lineHeight } : {}),
|
|
209
|
+
};
|
|
162
210
|
};
|
|
163
211
|
// Subtrees deeper than this are truncated to prevent RangeError on malformed chain-like inputs.
|
|
164
212
|
// Same shared constant as prune.ts — see there for the rationale. Must stay in sync with every
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { ScreenIr } from "./irTypes.js";
|
|
2
2
|
export type StructuralTestCategory = "field-presence" | "field-validation" | "control-action" | "screen-render" | "state" | "navigation" | "flow" | "a11y" | "coverage-notice";
|
|
3
|
+
export type StructuralTestOutcome = "pass" | "fail" | "expectation";
|
|
3
4
|
/** One deterministic, per-screen-attributable test item derived from the Screen-IR. */
|
|
4
5
|
export interface StructuralTestItem {
|
|
5
6
|
readonly id: string;
|
|
6
7
|
readonly title: string;
|
|
7
8
|
readonly category: StructuralTestCategory;
|
|
9
|
+
/** Optional machine-readable result semantics for derived checks. */
|
|
10
|
+
readonly outcome?: StructuralTestOutcome;
|
|
8
11
|
/** Screen provenance so a generated test is attributable to its origin screen. */
|
|
9
12
|
readonly screenId: string;
|
|
10
13
|
readonly screenName: string;
|
|
@@ -17,6 +20,7 @@ export interface ScreenTestBaseline {
|
|
|
17
20
|
readonly screenName: string;
|
|
18
21
|
readonly items: readonly StructuralTestItem[];
|
|
19
22
|
}
|
|
23
|
+
export declare const MAX_IR_NODES_PER_SCREEN = 20000;
|
|
20
24
|
/**
|
|
21
25
|
* Total, defensive Screen-IR parser for the snapshot's opaque `irJson`. Returns `undefined` for a
|
|
22
26
|
* missing or malformed value (no `root`, malformed node tree) so the caller can skip an unparseable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenIrTestBaseline.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/screenIrTestBaseline.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAuB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,OAAO,GAGP,YAAY,GACZ,MAAM,GAGN,MAAM,GACN,iBAAiB,CAAC;AAEtB,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"screenIrTestBaseline.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/screenIrTestBaseline.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAuB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,OAAO,GAGP,YAAY,GACZ,MAAM,GAGN,MAAM,GACN,iBAAiB,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;AAEpE,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC/C;AA2DD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAsI9C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAKlE;AA2GD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,SAAS,kBAAkB,EAAO,GAC7C,kBAAkB,CAMpB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAWvE"}
|
|
@@ -58,16 +58,28 @@ function parseImageFills(value) {
|
|
|
58
58
|
// Subtrees deeper than this are truncated during parse so a chain-like persisted irJson cannot cause
|
|
59
59
|
// a RangeError. Shared constant — see prune.ts for rationale. Must stay in sync with every walk.
|
|
60
60
|
const MAX_TREE_DEPTH = 512;
|
|
61
|
+
// The total accepted node count for one screen is bounded so a pathologically WIDE persisted irJson
|
|
62
|
+
// (flat siblings, not deep nesting — invisible to MAX_TREE_DEPTH) cannot materialise unbounded
|
|
63
|
+
// memory/time during parse and every derivation that walks the resulting tree. The cap is set well
|
|
64
|
+
// above the per-screen node ceiling the governed Figma pipeline enforces before a snapshot is ever
|
|
65
|
+
// written (the connector rejects oversized scopes/screens upstream), so every real board parses fully
|
|
66
|
+
// and byte-identically; only an out-of-band, oversized irJson (e.g. a direct write into the evidence
|
|
67
|
+
// dir) is truncated. Breadth is bounded the same way depth is — silently, at the read boundary.
|
|
68
|
+
export const MAX_IR_NODES_PER_SCREEN = 20_000;
|
|
61
69
|
// Parse a node's children list, dropping any malformed child rather than failing the whole node.
|
|
62
|
-
// depth
|
|
63
|
-
|
|
70
|
+
// depth bounds recursion at MAX_TREE_DEPTH; budget bounds the total accepted node count — once it is
|
|
71
|
+
// exhausted no further siblings are parsed, so a flat-wide children array degrades to a truncated
|
|
72
|
+
// (still well-formed) subtree rather than an unbounded allocation.
|
|
73
|
+
function parseIrChildren(value, depth, budget) {
|
|
64
74
|
if (depth > MAX_TREE_DEPTH)
|
|
65
75
|
return [];
|
|
66
76
|
if (!Array.isArray(value))
|
|
67
77
|
return [];
|
|
68
78
|
const children = [];
|
|
69
79
|
for (const child of value) {
|
|
70
|
-
|
|
80
|
+
if (budget.remaining <= 0)
|
|
81
|
+
break;
|
|
82
|
+
const parsed = parseIrNodeAt(child, depth, budget);
|
|
71
83
|
if (parsed !== undefined)
|
|
72
84
|
children.push(parsed);
|
|
73
85
|
}
|
|
@@ -137,17 +149,23 @@ function parseIrSizing(value) {
|
|
|
137
149
|
function parseIrTypography(value) {
|
|
138
150
|
if (!isObject(value))
|
|
139
151
|
return undefined;
|
|
140
|
-
const { fontFamily, fontSize, fontWeight } = value;
|
|
152
|
+
const { fontFamily, fontSize, fontWeight, lineHeight } = value;
|
|
141
153
|
if (!isString(fontFamily) || !isFiniteNumber(fontSize) || !isFiniteNumber(fontWeight)) {
|
|
142
154
|
return undefined;
|
|
143
155
|
}
|
|
144
|
-
return {
|
|
156
|
+
return {
|
|
157
|
+
fontFamily,
|
|
158
|
+
fontSize,
|
|
159
|
+
fontWeight,
|
|
160
|
+
...(isFiniteNumber(lineHeight) ? { lineHeight } : {}),
|
|
161
|
+
};
|
|
145
162
|
}
|
|
146
163
|
// Total, defensive IR-node parser: an opaque serialised node (from the snapshot's `irJson`) is
|
|
147
164
|
// accepted only when its required structural fields are present and well-typed; anything malformed
|
|
148
165
|
// yields `undefined` so a corrupt screen degrades to "no items" rather than crashing the run.
|
|
149
|
-
// depth
|
|
150
|
-
|
|
166
|
+
// depth bounds recursion at MAX_TREE_DEPTH; budget bounds the total accepted node count. A node is
|
|
167
|
+
// counted against the budget only once it is accepted, so malformed nodes are free.
|
|
168
|
+
function parseIrNodeAt(value, depth, budget) {
|
|
151
169
|
if (!isObject(value))
|
|
152
170
|
return undefined;
|
|
153
171
|
const { id, name, type, interactionHint } = value;
|
|
@@ -155,6 +173,7 @@ function parseIrNodeAt(value, depth) {
|
|
|
155
173
|
return undefined;
|
|
156
174
|
if (!isString(interactionHint) || !INTERACTION_HINTS.has(interactionHint))
|
|
157
175
|
return undefined;
|
|
176
|
+
budget.remaining -= 1;
|
|
158
177
|
return {
|
|
159
178
|
id,
|
|
160
179
|
name,
|
|
@@ -162,11 +181,11 @@ function parseIrNodeAt(value, depth) {
|
|
|
162
181
|
interactionHint: interactionHint,
|
|
163
182
|
...parseOptionalNodeFields(value),
|
|
164
183
|
imageFills: parseImageFills(value.imageFills),
|
|
165
|
-
children: parseIrChildren(value.children, depth + 1),
|
|
184
|
+
children: parseIrChildren(value.children, depth + 1, budget),
|
|
166
185
|
};
|
|
167
186
|
}
|
|
168
187
|
function parseIrNode(value) {
|
|
169
|
-
return parseIrNodeAt(value, 0);
|
|
188
|
+
return parseIrNodeAt(value, 0, { remaining: MAX_IR_NODES_PER_SCREEN });
|
|
170
189
|
}
|
|
171
190
|
/**
|
|
172
191
|
* Total, defensive Screen-IR parser for the snapshot's opaque `irJson`. Returns `undefined` for a
|
|
@@ -267,7 +286,7 @@ function screenRenderItem(ctx) {
|
|
|
267
286
|
screenName: ctx.screenName,
|
|
268
287
|
id: itemId(ctx.screenId, "screen-render", ctx.screenId, 0),
|
|
269
288
|
category: "screen-render",
|
|
270
|
-
title: `Screen "${ctx.screenName}" renders
|
|
289
|
+
title: `Screen "${ctx.screenName}" renders correctly`,
|
|
271
290
|
};
|
|
272
291
|
}
|
|
273
292
|
/**
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/tokens.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,YAAY,EAIb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/domain/figma/tokens.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,YAAY,EAIb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoF7C,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,GAAI,SAAS,SAAS,UAAU,EAAE,KAAG,YAiBpE,CAAC;AA0DF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,YAQlD,CAAC"}
|
|
@@ -29,10 +29,16 @@ const collectTypography = (node, out) => {
|
|
|
29
29
|
const style = asNode(node.style);
|
|
30
30
|
if (style === undefined)
|
|
31
31
|
return;
|
|
32
|
-
const fontFamily = readString(style.fontFamily)
|
|
33
|
-
const fontSize = readNumber(style.fontSize)
|
|
34
|
-
const fontWeight = readNumber(style.fontWeight)
|
|
35
|
-
const lineHeight = readNumber(style.lineHeightPx)
|
|
32
|
+
const fontFamily = readString(style.fontFamily);
|
|
33
|
+
const fontSize = readNumber(style.fontSize);
|
|
34
|
+
const fontWeight = readNumber(style.fontWeight);
|
|
35
|
+
const lineHeight = readNumber(style.lineHeightPx);
|
|
36
|
+
if (fontFamily === undefined ||
|
|
37
|
+
fontSize === undefined ||
|
|
38
|
+
fontWeight === undefined ||
|
|
39
|
+
lineHeight === undefined) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
36
42
|
const id = `typography:${fontFamily}|${String(fontSize)}|${String(fontWeight)}|${String(lineHeight)}`;
|
|
37
43
|
out.set(id, { id, kind: "typography", fontFamily, fontSize, fontWeight, lineHeight });
|
|
38
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirementExcerpt.d.ts","sourceRoot":"","sources":["../../src/domain/requirementExcerpt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requirementExcerpt.d.ts","sourceRoot":"","sources":["../../src/domain/requirementExcerpt.ts"],"names":[],"mappings":"AA0BA,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAG,EAAW,CAAC;AAIzD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKjF"}
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/requirementExcerpt.js
CHANGED
|
@@ -6,12 +6,21 @@
|
|
|
6
6
|
// server-side canonical text so those surfaces become auditor-readable without ever persisting
|
|
7
7
|
// raw source content.
|
|
8
8
|
//
|
|
9
|
-
// Ordering is load-bearing:
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
// (
|
|
9
|
+
// Ordering is load-bearing: unsafe bidi/zero-width/control code points are stripped FIRST, then the
|
|
10
|
+
// FULL text is redacted, then whitespace-collapsed, then truncated.
|
|
11
|
+
// * Stripping before redaction is a redaction SAFEGUARD, not just cosmetics: a credential
|
|
12
|
+
// obfuscated by an interstitial zero-width character (e.g. an AWS key with a U+200B inside it)
|
|
13
|
+
// slips past redact() — whose patterns match contiguous characters — and would survive into the
|
|
14
|
+
// excerpt. Removing the spoofing code points first de-obfuscates the text so redact() sees, and
|
|
15
|
+
// scrubs, the real secret. It also keeps the audit-ready coverage/traceability surfaces free of
|
|
16
|
+
// invisible/bidi characters (symmetric with the candidate-text chokepoint normaliseCandidateText).
|
|
17
|
+
// * Truncating before redaction could split a secret across the cut so the remainder no longer
|
|
18
|
+
// matches any redaction pattern (a partial AWS key is still a leak); redacting first makes the
|
|
19
|
+
// truncation operate on already-safe text.
|
|
20
|
+
// Persistence redacts every string leaf again (defense in depth), so a stored excerpt is redacted at
|
|
21
|
+
// least twice; the format-char strip sits upstream of every persisted coverage/finding/export surface.
|
|
14
22
|
import { redact } from "@oscharko-dev/keiko-security";
|
|
23
|
+
import { stripUnsafeFormatChars } from "./assertions.js";
|
|
15
24
|
/** Maximum excerpt length in characters, including the trailing ellipsis. */
|
|
16
25
|
export const REQUIREMENT_EXCERPT_MAX_CHARS = 96;
|
|
17
26
|
const ELLIPSIS = "…";
|
|
@@ -21,7 +30,7 @@ const ELLIPSIS = "…";
|
|
|
21
30
|
* same input always yields the same excerpt (no timestamps, no randomness).
|
|
22
31
|
*/
|
|
23
32
|
export function buildRequirementExcerpt(canonicalText) {
|
|
24
|
-
const collapsed = redact(canonicalText).replace(/\s+/gu, " ").trim();
|
|
33
|
+
const collapsed = redact(stripUnsafeFormatChars(canonicalText)).replace(/\s+/gu, " ").trim();
|
|
25
34
|
if (collapsed.length === 0)
|
|
26
35
|
return undefined;
|
|
27
36
|
if (collapsed.length <= REQUIREMENT_EXCERPT_MAX_CHARS)
|
|
@@ -21,6 +21,8 @@ export interface CompareStalenessArgs {
|
|
|
21
21
|
atomId: string;
|
|
22
22
|
envelopeId: string;
|
|
23
23
|
canonicalHashSha256Hex: string;
|
|
24
|
+
replacementGroupId?: string;
|
|
25
|
+
replacementOrdinal?: number;
|
|
24
26
|
}[];
|
|
25
27
|
/** Evidence refs from the manifest (atomId → envelopeId mapping). */
|
|
26
28
|
readonly evidenceRefs: readonly {
|
|
@@ -42,6 +44,8 @@ export interface CompareStalenessArgs {
|
|
|
42
44
|
atomId: string;
|
|
43
45
|
envelopeId: string;
|
|
44
46
|
canonicalHashSha256Hex: string;
|
|
47
|
+
replacementGroupId?: string;
|
|
48
|
+
replacementOrdinal?: number;
|
|
45
49
|
}[];
|
|
46
50
|
}
|
|
47
51
|
/**
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/staleness.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../../src/domain/staleness.ts"],"names":[],"mappings":"AASA,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,uFAAuF;IACvF,QAAQ,CAAC,eAAe,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5F,6FAA6F;IAC7F,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS;QACtC,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../../src/domain/staleness.ts"],"names":[],"mappings":"AASA,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,uFAAuF;IACvF,QAAQ,CAAC,eAAe,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5F,6FAA6F;IAC7F,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS;QACtC,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;IACJ,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACtF,oEAAoE;IACpE,QAAQ,CAAC,mBAAmB,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChG,wFAAwF;IACxF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,SAAS;QAC1C,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;CACL;AAoaD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,eAAe,CAgC5E"}
|
|
@@ -36,6 +36,9 @@ function envelopeOrderOf(evidenceRefs) {
|
|
|
36
36
|
}
|
|
37
37
|
const UNKNOWN_ENVELOPE = "unknown";
|
|
38
38
|
const REQUIREMENTS_ENVELOPE_PREFIX = "qi-src-req-";
|
|
39
|
+
const ALIGN_INSERT_DELETE_COST = 3;
|
|
40
|
+
const ALIGN_SUBSTITUTE_COST = 4;
|
|
41
|
+
const ALIGN_CROSS_OLD_ATOM_COST = 10;
|
|
39
42
|
const staleReason = (candidateId, reason, envelopeId) => ({ candidateId, reason, envelopeId });
|
|
40
43
|
function buildAtomFingerprintMap(fingerprints) {
|
|
41
44
|
const map = new Map();
|
|
@@ -43,17 +46,166 @@ function buildAtomFingerprintMap(fingerprints) {
|
|
|
43
46
|
map.set(fp.atomId, {
|
|
44
47
|
envelopeId: fp.envelopeId,
|
|
45
48
|
canonicalHashSha256Hex: fp.canonicalHashSha256Hex,
|
|
49
|
+
...(fp.replacementGroupId !== undefined ? { replacementGroupId: fp.replacementGroupId } : {}),
|
|
50
|
+
...(fp.replacementOrdinal !== undefined ? { replacementOrdinal: fp.replacementOrdinal } : {}),
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
return map;
|
|
49
54
|
}
|
|
50
|
-
function
|
|
55
|
+
function replacementEntriesByGroup(fingerprints) {
|
|
56
|
+
const groups = new Map();
|
|
57
|
+
for (const fp of fingerprints ?? []) {
|
|
58
|
+
if (fp.replacementGroupId === undefined || fp.replacementOrdinal === undefined)
|
|
59
|
+
continue;
|
|
60
|
+
const entry = {
|
|
61
|
+
atomId: fp.atomId,
|
|
62
|
+
canonicalHashSha256Hex: fp.canonicalHashSha256Hex,
|
|
63
|
+
replacementGroupId: fp.replacementGroupId,
|
|
64
|
+
replacementOrdinal: fp.replacementOrdinal,
|
|
65
|
+
};
|
|
66
|
+
const group = groups.get(fp.replacementGroupId);
|
|
67
|
+
if (group === undefined) {
|
|
68
|
+
groups.set(fp.replacementGroupId, [entry]);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
group.push(entry);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
for (const group of groups.values()) {
|
|
75
|
+
group.sort((a, b) => a.replacementOrdinal - b.replacementOrdinal);
|
|
76
|
+
}
|
|
77
|
+
return groups;
|
|
78
|
+
}
|
|
79
|
+
function alignmentPairCost(oldEntry, currentEntry, oldAtomIds) {
|
|
80
|
+
if (oldEntry.atomId === currentEntry.atomId)
|
|
81
|
+
return 0;
|
|
82
|
+
if (currentEntry.canonicalHashSha256Hex === oldEntry.canonicalHashSha256Hex)
|
|
83
|
+
return 0;
|
|
84
|
+
return oldAtomIds.has(currentEntry.atomId) ? ALIGN_CROSS_OLD_ATOM_COST : ALIGN_SUBSTITUTE_COST;
|
|
85
|
+
}
|
|
86
|
+
function replacementEntryAt(entries, index) {
|
|
87
|
+
const entry = entries[index];
|
|
88
|
+
if (entry === undefined)
|
|
89
|
+
throw new Error("Replacement alignment index out of bounds.");
|
|
90
|
+
return entry;
|
|
91
|
+
}
|
|
92
|
+
function matrixValue(matrix, row, col) {
|
|
93
|
+
const value = matrix[row]?.[col];
|
|
94
|
+
if (value === undefined)
|
|
95
|
+
throw new Error("Replacement alignment matrix index out of bounds.");
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
function setMatrixValue(matrix, row, col, value) {
|
|
99
|
+
const rowValues = matrix[row];
|
|
100
|
+
if (rowValues === undefined) {
|
|
101
|
+
throw new Error("Replacement alignment matrix index out of bounds.");
|
|
102
|
+
}
|
|
103
|
+
rowValues[col] = value;
|
|
104
|
+
}
|
|
105
|
+
function buildAlignmentCostMatrix(oldEntries, currentEntries, oldAtomIds) {
|
|
106
|
+
const matrix = Array.from({ length: oldEntries.length + 1 }, () => Array.from({ length: currentEntries.length + 1 }, () => 0));
|
|
107
|
+
for (let oldIndex = 1; oldIndex <= oldEntries.length; oldIndex += 1) {
|
|
108
|
+
setMatrixValue(matrix, oldIndex, 0, oldIndex * ALIGN_INSERT_DELETE_COST);
|
|
109
|
+
}
|
|
110
|
+
for (let currentIndex = 1; currentIndex <= currentEntries.length; currentIndex += 1) {
|
|
111
|
+
setMatrixValue(matrix, 0, currentIndex, currentIndex * ALIGN_INSERT_DELETE_COST);
|
|
112
|
+
}
|
|
113
|
+
for (let oldIndex = 1; oldIndex <= oldEntries.length; oldIndex += 1) {
|
|
114
|
+
for (let currentIndex = 1; currentIndex <= currentEntries.length; currentIndex += 1) {
|
|
115
|
+
const pairCost = alignmentPairCost(replacementEntryAt(oldEntries, oldIndex - 1), replacementEntryAt(currentEntries, currentIndex - 1), oldAtomIds);
|
|
116
|
+
const pair = matrixValue(matrix, oldIndex - 1, currentIndex - 1) + pairCost;
|
|
117
|
+
const deletion = matrixValue(matrix, oldIndex - 1, currentIndex) + ALIGN_INSERT_DELETE_COST;
|
|
118
|
+
const insertion = matrixValue(matrix, oldIndex, currentIndex - 1) + ALIGN_INSERT_DELETE_COST;
|
|
119
|
+
setMatrixValue(matrix, oldIndex, currentIndex, Math.min(pair, deletion, insertion));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return matrix;
|
|
123
|
+
}
|
|
124
|
+
function alignReplacementEntries(oldEntries, currentEntries) {
|
|
125
|
+
const mapping = new Map();
|
|
126
|
+
const oldAtomIds = new Set(oldEntries.map((entry) => entry.atomId));
|
|
127
|
+
const costs = buildAlignmentCostMatrix(oldEntries, currentEntries, oldAtomIds);
|
|
128
|
+
let oldIndex = oldEntries.length;
|
|
129
|
+
let currentIndex = currentEntries.length;
|
|
130
|
+
while (oldIndex > 0 && currentIndex > 0) {
|
|
131
|
+
const oldEntry = replacementEntryAt(oldEntries, oldIndex - 1);
|
|
132
|
+
const currentEntry = replacementEntryAt(currentEntries, currentIndex - 1);
|
|
133
|
+
const pairCost = alignmentPairCost(oldEntry, currentEntry, oldAtomIds);
|
|
134
|
+
const currentCost = matrixValue(costs, oldIndex, currentIndex);
|
|
135
|
+
const pair = matrixValue(costs, oldIndex - 1, currentIndex - 1) + pairCost;
|
|
136
|
+
const deletion = matrixValue(costs, oldIndex - 1, currentIndex) + ALIGN_INSERT_DELETE_COST;
|
|
137
|
+
const insertion = matrixValue(costs, oldIndex, currentIndex - 1) + ALIGN_INSERT_DELETE_COST;
|
|
138
|
+
if (pairCost === 0 && currentCost === pair) {
|
|
139
|
+
mapping.set(oldEntry.atomId, currentEntry.atomId);
|
|
140
|
+
oldIndex -= 1;
|
|
141
|
+
currentIndex -= 1;
|
|
142
|
+
}
|
|
143
|
+
else if (currentCost === insertion) {
|
|
144
|
+
currentIndex -= 1;
|
|
145
|
+
}
|
|
146
|
+
else if (currentCost === deletion) {
|
|
147
|
+
oldIndex -= 1;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
mapping.set(oldEntry.atomId, currentEntry.atomId);
|
|
151
|
+
oldIndex -= 1;
|
|
152
|
+
currentIndex -= 1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return mapping;
|
|
156
|
+
}
|
|
157
|
+
function buildReplacementAtomMap(oldFingerprints, currentFingerprints) {
|
|
158
|
+
const oldGroups = replacementEntriesByGroup(oldFingerprints);
|
|
159
|
+
const currentGroups = replacementEntriesByGroup(currentFingerprints);
|
|
160
|
+
const mapping = new Map();
|
|
161
|
+
for (const [groupId, oldEntries] of oldGroups) {
|
|
162
|
+
const currentEntries = currentGroups.get(groupId);
|
|
163
|
+
if (currentEntries === undefined)
|
|
164
|
+
continue;
|
|
165
|
+
for (const [oldAtomId, currentAtomId] of alignReplacementEntries(oldEntries, currentEntries)) {
|
|
166
|
+
mapping.set(oldAtomId, currentAtomId);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return mapping;
|
|
170
|
+
}
|
|
171
|
+
function buildAtomIdsByEnvelope(fingerprints) {
|
|
172
|
+
const map = new Map();
|
|
173
|
+
for (const fp of fingerprints ?? []) {
|
|
174
|
+
const current = map.get(fp.envelopeId);
|
|
175
|
+
if (current === undefined) {
|
|
176
|
+
map.set(fp.envelopeId, [fp.atomId]);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
current.push(fp.atomId);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return map;
|
|
183
|
+
}
|
|
184
|
+
function replacementAtomIdForMissingCurrentAtom(atomId, ctx) {
|
|
185
|
+
return ctx.currentReplacementAtomIdsByOldAtomId.get(atomId);
|
|
186
|
+
}
|
|
187
|
+
function positionalRequirementReplacementAtomId(atomId, envelopeId, ctx) {
|
|
188
|
+
const oldAtomIds = ctx.oldAtomIdsByEnvelope.get(envelopeId) ?? [];
|
|
189
|
+
const currentAtomIds = ctx.currentAtomIdsByEnvelope.get(envelopeId) ?? [];
|
|
190
|
+
const oldIndex = oldAtomIds.indexOf(atomId);
|
|
191
|
+
return oldIndex >= 0 ? currentAtomIds[oldIndex] : undefined;
|
|
192
|
+
}
|
|
193
|
+
function classifyMissingCurrentAtom(candidateId, atomId, envelopeId, ctx) {
|
|
51
194
|
if (!ctx.currentMap.has(envelopeId)) {
|
|
52
195
|
return staleReason(candidateId, "source-removed", envelopeId);
|
|
53
196
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
197
|
+
const replacementAtomId = replacementAtomIdForMissingCurrentAtom(atomId, ctx);
|
|
198
|
+
if (replacementAtomId !== undefined && !ctx.oldAtoms.has(replacementAtomId)) {
|
|
199
|
+
return staleReason(candidateId, "source-changed", envelopeId);
|
|
200
|
+
}
|
|
201
|
+
if (!envelopeId.startsWith(REQUIREMENTS_ENVELOPE_PREFIX)) {
|
|
202
|
+
return staleReason(candidateId, "source-removed", envelopeId);
|
|
203
|
+
}
|
|
204
|
+
const currentAtomAtSamePosition = positionalRequirementReplacementAtomId(atomId, envelopeId, ctx);
|
|
205
|
+
if (currentAtomAtSamePosition !== undefined && !ctx.oldAtoms.has(currentAtomAtSamePosition)) {
|
|
206
|
+
return staleReason(candidateId, "source-changed", envelopeId);
|
|
207
|
+
}
|
|
208
|
+
return staleReason(candidateId, "source-removed", envelopeId);
|
|
57
209
|
}
|
|
58
210
|
function classifyCandidateWithAtomFingerprints(candidate, ctx) {
|
|
59
211
|
if (candidate.derivedFromAtomIds.length === 0) {
|
|
@@ -72,7 +224,7 @@ function classifyCandidateWithAtomFingerprints(candidate, ctx) {
|
|
|
72
224
|
}
|
|
73
225
|
continue;
|
|
74
226
|
}
|
|
75
|
-
const missingCurrentAtomReason = classifyMissingCurrentAtom(candidate.id, oldAtom.envelopeId, ctx);
|
|
227
|
+
const missingCurrentAtomReason = classifyMissingCurrentAtom(candidate.id, atomId, oldAtom.envelopeId, ctx);
|
|
76
228
|
if (missingCurrentAtomReason.reason === "source-changed") {
|
|
77
229
|
changedEnvelopeId ??= oldAtom.envelopeId;
|
|
78
230
|
continue;
|
|
@@ -113,7 +265,8 @@ function classifyEnvelopeLevelCandidate(candidateId, orderedEnvelopeIds, ctx) {
|
|
|
113
265
|
* an unresolvable atom is treated as changed so an invalid test is never silently kept fresh.
|
|
114
266
|
*/
|
|
115
267
|
function classifyCandidate(candidate, ctx) {
|
|
116
|
-
const hasAtomMetadata = ctx.oldAtoms.size > 0 &&
|
|
268
|
+
const hasAtomMetadata = ctx.oldAtoms.size > 0 &&
|
|
269
|
+
candidate.derivedFromAtomIds.every((atomId) => ctx.oldAtoms.has(atomId));
|
|
117
270
|
if (hasAtomMetadata) {
|
|
118
271
|
return classifyCandidateWithAtomFingerprints(candidate, ctx);
|
|
119
272
|
}
|
|
@@ -137,6 +290,9 @@ export function compareStaleness(args) {
|
|
|
137
290
|
envelopeOrder: envelopeOrderOf(args.evidenceRefs),
|
|
138
291
|
oldAtoms: buildAtomFingerprintMap(args.oldAtomFingerprints),
|
|
139
292
|
currentAtoms: buildAtomFingerprintMap(args.currentAtomFingerprints),
|
|
293
|
+
currentReplacementAtomIdsByOldAtomId: buildReplacementAtomMap(args.oldAtomFingerprints, args.currentAtomFingerprints),
|
|
294
|
+
oldAtomIdsByEnvelope: buildAtomIdsByEnvelope(args.oldAtomFingerprints),
|
|
295
|
+
currentAtomIdsByEnvelope: buildAtomIdsByEnvelope(args.currentAtomFingerprints),
|
|
140
296
|
};
|
|
141
297
|
const fresh = [];
|
|
142
298
|
const changedStale = [];
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts
CHANGED
|
@@ -7,14 +7,26 @@ export interface DesignTestCaseCandidatesInput {
|
|
|
7
7
|
readonly atoms: readonly QualityIntelligence.QualityIntelligenceEvidenceAtom[];
|
|
8
8
|
readonly profile?: PolicyProfile;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Stable provenance discriminator carried by every deterministic-baseline candidate.
|
|
12
|
+
*
|
|
13
|
+
* The model-delta builder (`parseGeneratedCandidates`) never emits this tag, so it is a reliable
|
|
14
|
+
* "this is a generic determinism-floor stub, not a judged model candidate" marker — unlike a null
|
|
15
|
+
* `qualityVerdict`, which is also null whenever the judge stage is skipped entirely. Render-layer
|
|
16
|
+
* consumers sort baseline-tagged candidates to the end so judged candidates lead the deliverable;
|
|
17
|
+
* the persisted manifest order stays `[...baseline, ...delta]` (Issue #763 contract). The tag is
|
|
18
|
+
* additive and feeds no candidate id (`sha256(v2<atomHash><index>)`), dedup signature, or manifest
|
|
19
|
+
* hash, so it is determinism-safe.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DETERMINISTIC_BASELINE_PROVENANCE_TAG = "source:deterministic-baseline";
|
|
10
22
|
/**
|
|
11
23
|
* Produce deterministic draft candidates from the intent summary + atoms.
|
|
12
24
|
* Returns the empty array when the atom list is empty. Atoms are first
|
|
13
25
|
* sorted by canonical hash so input ordering does not affect IDs.
|
|
14
26
|
*
|
|
15
27
|
* Candidate IDs are derived as
|
|
16
|
-
* `qi-candidate-<32-hex-of-sha256(
|
|
17
|
-
*
|
|
28
|
+
* `qi-candidate-<32-hex-of-sha256(v2<atomHash><index>)>` — collision-resistant,
|
|
29
|
+
* run-independent, and round-trip-stable for the same evidence.
|
|
18
30
|
*/
|
|
19
31
|
export declare const designTestCaseCandidates: (input: DesignTestCaseCandidatesInput) => readonly QualityIntelligence.QualityIntelligenceTestCaseCandidate[];
|
|
20
32
|
//# sourceMappingURL=testDesignModel.d.ts.map
|
package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testDesignModel.d.ts","sourceRoot":"","sources":["../../src/domain/testDesignModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testDesignModel.d.ts","sourceRoot":"","sources":["../../src/domain/testDesignModel.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,wBAAwB,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,CAAC,+BAA+B,EAAE,CAAC;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;CAClC;AAoFD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qCAAqC,kCAAkC,CAAC;AAwDrF;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,6BAA6B,KACnC,SAAS,mBAAmB,CAAC,oCAAoC,EAoCnE,CAAC"}
|