@oscharko-dev/keiko 0.2.0-beta.3 → 0.2.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/Hb6brrvZY2nZtizQlYhVt/_buildManifest.js +11 -0
- package/dist/ui/static/_next/static/Hb6brrvZY2nZtizQlYhVt/_clientMiddlewareManifest.js +1 -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/1t04tfgin0v_g.js +106 -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/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/3wr_35f2vg6sd.css +1 -0
- package/dist/ui/static/_next/static/chunks/turbopack-2lg1g6kbsfm0x.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/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/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/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/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.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/store.js +30 -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/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 +18 -5
- 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/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/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/chat-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +6 -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 -0
- 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 +433 -31
- 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 +194 -45
- 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 +100 -24
- 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 +196 -20
- 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 +189 -66
- 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/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 +26 -7
- 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 +26 -7
- 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/runIngestion.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +51 -15
- 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 +6 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +4 -2
- 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 +67 -14
- 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/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/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/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 +4 -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/dist/ui/static/_next/static/{RAzN8WLtYaktD-ZePowXl → Hb6brrvZY2nZtizQlYhVt}/_ssgManifest.js +0 -0
- /package/dist/ui/static/_next/static/chunks/{polyfills-42372ed130431b0a.js → 0cz1d0mv5g_q7.js} +0 -0
|
@@ -18,22 +18,25 @@
|
|
|
18
18
|
// already persisted for completed documents are kept (the source-of-truth for resume is
|
|
19
19
|
// the chunks/vectors tables, not the in-flight buffer).
|
|
20
20
|
//
|
|
21
|
-
// Force mode:
|
|
22
|
-
//
|
|
23
|
-
// fast-path is bypassed
|
|
24
|
-
//
|
|
25
|
-
//
|
|
21
|
+
// Force mode: passes `force=true` into the chunker per document so existing chunks are
|
|
22
|
+
// replaced from the current source text, then re-embeds. Discovery's incremental
|
|
23
|
+
// fast-path is bypassed (the skipped outcome is re-shaped to persisted in
|
|
24
|
+
// handleFileExtracted) so chunk-and-embed re-runs even for unchanged file hashes.
|
|
25
|
+
// Recovery mode (partial vector coverage, non-force): re-embeds using existing chunks
|
|
26
|
+
// only — the chunker runs with force=false so it reuses the already-correct chunk rows.
|
|
26
27
|
import { randomUUID } from "node:crypto";
|
|
27
|
-
import { verifyEmbeddingCapability } from "@oscharko-dev/keiko-model-gateway";
|
|
28
|
+
import { assertCompatibleEmbeddingIdentity, verifyEmbeddingCapability, } from "@oscharko-dev/keiko-model-gateway";
|
|
28
29
|
import { chunkDocument } from "../chunking/chunker-runner.js";
|
|
29
|
-
import { deleteChunksForDocument, hasStaleChunksForDocument } from "../chunking/chunker-persist.js";
|
|
30
|
+
import { countChunksForDocument, deleteChunksForDocument, hasStaleChunksForDocument, } from "../chunking/chunker-persist.js";
|
|
31
|
+
import { chunkingStrategyKey } from "../chunking/index.js";
|
|
30
32
|
import { getCapsule, updateCapsuleState } from "../capsule-lifecycle.js";
|
|
31
33
|
import { discoverAndExtract } from "../discovery/discovery-runner.js";
|
|
34
|
+
import { DEFAULT_DISCOVERY_OPTIONS } from "../discovery/index.js";
|
|
32
35
|
import { deleteDocumentRow, listPersistedDocumentsForSource, readDocumentTextRow, updateDocumentStatusRow, } from "../discovery/persist.js";
|
|
33
36
|
import { listCapsuleSources } from "../source-lifecycle.js";
|
|
34
37
|
import { finalizeJobRow, isJobCancellationRequested, insertJobRow, updateJobCounters, } from "./job-persist.js";
|
|
35
38
|
import { embedChunkBatch } from "./embedding-batcher.js";
|
|
36
|
-
import { countVectorsForDocument,
|
|
39
|
+
import { countVectorsForDocument, deleteVectorsForDocument, selectChunksForDocument, } from "./vector-persist.js";
|
|
37
40
|
import { DEFAULT_INDEXING_BATCH_SIZE, DEFAULT_INDEXING_CONCURRENCY, IndexingError, } from "./types.js";
|
|
38
41
|
// ─── Abort helper ─────────────────────────────────────────────────────────────
|
|
39
42
|
// Reads `signal?.aborted` through a function call so TypeScript's control-flow analysis
|
|
@@ -55,6 +58,20 @@ function clampConcurrency(raw) {
|
|
|
55
58
|
const v = raw ?? DEFAULT_INDEXING_CONCURRENCY;
|
|
56
59
|
return Math.max(1, Math.min(DEFAULT_INDEXING_CONCURRENCY, Math.floor(v)));
|
|
57
60
|
}
|
|
61
|
+
function clampDiscoveryInteger(raw, fallback) {
|
|
62
|
+
if (raw === undefined || !Number.isFinite(raw))
|
|
63
|
+
return fallback;
|
|
64
|
+
return Math.max(1, Math.min(fallback, Math.floor(raw)));
|
|
65
|
+
}
|
|
66
|
+
function resolvedDiscoveryOptions(state) {
|
|
67
|
+
const raw = state.options.discoveryOptions;
|
|
68
|
+
const base = {
|
|
69
|
+
maxDepth: clampDiscoveryInteger(raw?.maxDepth, DEFAULT_DISCOVERY_OPTIONS.maxDepth),
|
|
70
|
+
maxFiles: clampDiscoveryInteger(raw?.maxFiles, DEFAULT_DISCOVERY_OPTIONS.maxFiles),
|
|
71
|
+
};
|
|
72
|
+
const signal = raw?.signal ?? state.options.signal;
|
|
73
|
+
return signal === undefined ? base : { ...base, signal };
|
|
74
|
+
}
|
|
58
75
|
// ─── Source resolution ────────────────────────────────────────────────────────
|
|
59
76
|
function resolveSources(options, capsule) {
|
|
60
77
|
const all = listCapsuleSources(options.store, capsule.id);
|
|
@@ -64,7 +81,14 @@ function resolveSources(options, capsule) {
|
|
|
64
81
|
if (options.sourceIds === undefined)
|
|
65
82
|
return all;
|
|
66
83
|
const allow = new Set(options.sourceIds.map((s) => String(s)));
|
|
67
|
-
|
|
84
|
+
if (allow.size === 0) {
|
|
85
|
+
throw new IndexingError("INVALID_OPTIONS", "sourceIds must contain at least one source id.");
|
|
86
|
+
}
|
|
87
|
+
const selected = all.filter((s) => allow.has(String(s.id)));
|
|
88
|
+
if (selected.length !== allow.size) {
|
|
89
|
+
throw new IndexingError("INVALID_OPTIONS", "sourceIds must reference sources attached to the target capsule.");
|
|
90
|
+
}
|
|
91
|
+
return selected;
|
|
68
92
|
}
|
|
69
93
|
function buildCounters(state) {
|
|
70
94
|
return {
|
|
@@ -103,7 +127,8 @@ function markDocumentFailed(state, documentId) {
|
|
|
103
127
|
}
|
|
104
128
|
const SELECT_CHUNKS_WITH_OFFSETS_SQL = [
|
|
105
129
|
"SELECT c.id, c.capsule_id, c.source_id, c.document_id, c.parsed_unit_id, c.order_index,",
|
|
106
|
-
"
|
|
130
|
+
" COALESCE(c.character_start, pu.character_start) AS char_start,",
|
|
131
|
+
" COALESCE(c.character_end, pu.character_end) AS char_end",
|
|
107
132
|
"FROM chunks AS c",
|
|
108
133
|
"JOIN parsed_units AS pu ON pu.capsule_id = c.capsule_id AND pu.id = c.parsed_unit_id",
|
|
109
134
|
"WHERE c.capsule_id = :c AND c.document_id = :d",
|
|
@@ -164,12 +189,17 @@ function readSourceText(state, source, relativePath) {
|
|
|
164
189
|
real = state.options.workspaceFs.realPath(abs);
|
|
165
190
|
}
|
|
166
191
|
catch (cause) {
|
|
167
|
-
throw new IndexingError("PERSISTENCE_FAILED",
|
|
192
|
+
throw new IndexingError("PERSISTENCE_FAILED", "source text could not be read before embedding", { cause });
|
|
168
193
|
}
|
|
169
194
|
if (!isContained(absoluteRoot, real)) {
|
|
170
195
|
throw new IndexingError("PERSISTENCE_FAILED", `source realpath escapes scope root before embedding: ${relativePath}`);
|
|
171
196
|
}
|
|
172
|
-
|
|
197
|
+
try {
|
|
198
|
+
return state.options.workspaceFs.readFileUtf8(normaliseSep(real));
|
|
199
|
+
}
|
|
200
|
+
catch (cause) {
|
|
201
|
+
throw new IndexingError("PERSISTENCE_FAILED", "source text could not be read before embedding", { cause });
|
|
202
|
+
}
|
|
173
203
|
}
|
|
174
204
|
function resolveChunkSourceText(state, documentId, source, relativePath) {
|
|
175
205
|
const persistedText = readDocumentTextRow(state.options.store._internal.db, state.capsule.id, documentId);
|
|
@@ -188,6 +218,14 @@ function sliceIntoBatches(items, batchSize) {
|
|
|
188
218
|
}
|
|
189
219
|
return out;
|
|
190
220
|
}
|
|
221
|
+
function cancellationError() {
|
|
222
|
+
return { code: "CANCELLED", message: "indexing aborted via AbortSignal" };
|
|
223
|
+
}
|
|
224
|
+
function recordCancellationIfRequested(state, errors) {
|
|
225
|
+
if (cancellationRequested(state) && !errors.some((error) => error.code === "CANCELLED")) {
|
|
226
|
+
errors.push(cancellationError());
|
|
227
|
+
}
|
|
228
|
+
}
|
|
191
229
|
async function embedDocumentChunks(state, documentId, source, relativePath) {
|
|
192
230
|
// Text-like documents are re-read from disk; binary parsers persist a normalized text
|
|
193
231
|
// projection so chunk slicing stays aligned with extracted content.
|
|
@@ -227,6 +265,7 @@ async function embedDocumentChunks(state, documentId, source, relativePath) {
|
|
|
227
265
|
if (cancellationRequested(state))
|
|
228
266
|
break;
|
|
229
267
|
}
|
|
268
|
+
recordCancellationIfRequested(state, errors);
|
|
230
269
|
return { vectorCount, errors, lastChunkId };
|
|
231
270
|
}
|
|
232
271
|
// ─── Document handlers ────────────────────────────────────────────────────────
|
|
@@ -235,6 +274,8 @@ function handleExtractionSkipped(state, result) {
|
|
|
235
274
|
return {
|
|
236
275
|
kind: "document-skipped",
|
|
237
276
|
jobId: state.jobId,
|
|
277
|
+
capsuleId: state.capsule.id,
|
|
278
|
+
sourceId: result.sourceId,
|
|
238
279
|
documentId: result.outcome.kind === "skipped" ? result.outcome.document.id : "",
|
|
239
280
|
reason: "unchanged",
|
|
240
281
|
};
|
|
@@ -252,6 +293,8 @@ function handleExtractionFailed(state, result) {
|
|
|
252
293
|
return {
|
|
253
294
|
kind: "document-failed",
|
|
254
295
|
jobId: state.jobId,
|
|
296
|
+
capsuleId: state.capsule.id,
|
|
297
|
+
sourceId: result.sourceId,
|
|
255
298
|
...(result.outcome.kind === "failed" ? { documentId: result.outcome.document.id } : {}),
|
|
256
299
|
relativePath: result.relativePath,
|
|
257
300
|
error,
|
|
@@ -265,11 +308,24 @@ function resolveChunkCount(state, documentId, skippedExisting, freshChunkIds) {
|
|
|
265
308
|
return selectChunksForDocument(state.options.store._internal.db, state.capsule.id, documentId)
|
|
266
309
|
.length;
|
|
267
310
|
}
|
|
268
|
-
function
|
|
311
|
+
function embeddingCoverage(state, documentId) {
|
|
312
|
+
return {
|
|
313
|
+
chunkCount: countChunksForDocument(state.options.store._internal.db, state.capsule.id, documentId),
|
|
314
|
+
vectorCount: countVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId),
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
function hasCompleteVectorCoverage(state, documentId) {
|
|
318
|
+
const coverage = embeddingCoverage(state, documentId);
|
|
319
|
+
return coverage.chunkCount > 0 && coverage.vectorCount === coverage.chunkCount;
|
|
320
|
+
}
|
|
321
|
+
function persistedDocumentId(result) {
|
|
269
322
|
if (result.outcome.kind !== "persisted") {
|
|
270
323
|
throw new IndexingError("INVALID_OPTIONS", "chunkPersistedDocument called with non-persisted result");
|
|
271
324
|
}
|
|
272
|
-
|
|
325
|
+
return result.outcome.document.id;
|
|
326
|
+
}
|
|
327
|
+
function chunkPersistedDocument(state, result) {
|
|
328
|
+
const documentId = persistedDocumentId(result);
|
|
273
329
|
const sourceText = resolveChunkSourceText(state, documentId, sourceForResult(state, result), result.relativePath);
|
|
274
330
|
const chunkResult = chunkDocument(state.options.store, {
|
|
275
331
|
capsuleId: state.capsule.id,
|
|
@@ -281,15 +337,29 @@ function chunkPersistedDocument(state, result) {
|
|
|
281
337
|
}, state.options.chunkingOptions);
|
|
282
338
|
const chunkCount = resolveChunkCount(state, documentId, chunkResult.skippedExisting, chunkResult.chunkIds);
|
|
283
339
|
return {
|
|
284
|
-
events: chunkedDocumentEvents(state.
|
|
340
|
+
events: chunkedDocumentEvents(state, result.sourceId, documentId, result.relativePath, chunkCount),
|
|
285
341
|
documentId,
|
|
286
342
|
chunkCount,
|
|
287
343
|
};
|
|
288
344
|
}
|
|
289
|
-
function chunkedDocumentEvents(
|
|
345
|
+
function chunkedDocumentEvents(state, sourceId, documentId, relativePath, chunkCount) {
|
|
290
346
|
return [
|
|
291
|
-
{
|
|
292
|
-
|
|
347
|
+
{
|
|
348
|
+
kind: "document-extracted",
|
|
349
|
+
jobId: state.jobId,
|
|
350
|
+
capsuleId: state.capsule.id,
|
|
351
|
+
sourceId,
|
|
352
|
+
documentId,
|
|
353
|
+
relativePath,
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
kind: "document-chunked",
|
|
357
|
+
jobId: state.jobId,
|
|
358
|
+
capsuleId: state.capsule.id,
|
|
359
|
+
sourceId,
|
|
360
|
+
documentId,
|
|
361
|
+
chunkCount,
|
|
362
|
+
},
|
|
293
363
|
];
|
|
294
364
|
}
|
|
295
365
|
function sourceForResult(state, result) {
|
|
@@ -305,27 +375,30 @@ function sourceForResult(state, result) {
|
|
|
305
375
|
// Incremental fast-path: skips embedding when vectors already exist (non-force run), or
|
|
306
376
|
// deletes prior vectors to prepare for a forced re-embed.
|
|
307
377
|
// Returns a PersistedHandling to short-circuit when already-embedded, undefined to continue.
|
|
308
|
-
function applyIncrementalFastPath(state, documentId) {
|
|
309
|
-
const staleChunks = hasStaleChunksForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
378
|
+
function applyIncrementalFastPath(state, sourceId, documentId) {
|
|
379
|
+
const staleChunks = hasStaleChunksForDocument(state.options.store._internal.db, state.capsule.id, documentId, chunkingStrategyKey(state.options.chunkingOptions));
|
|
310
380
|
if (state.options.force !== true) {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const existing = countVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
314
|
-
if (existing > 0 && !staleChunks) {
|
|
381
|
+
const coverage = embeddingCoverage(state, documentId);
|
|
382
|
+
if (coverage.chunkCount > 0 && coverage.vectorCount === coverage.chunkCount && !staleChunks) {
|
|
315
383
|
state.skippedDocuments += 1;
|
|
316
384
|
return {
|
|
317
385
|
events: [
|
|
318
|
-
{
|
|
386
|
+
{
|
|
387
|
+
kind: "document-skipped",
|
|
388
|
+
jobId: state.jobId,
|
|
389
|
+
capsuleId: state.capsule.id,
|
|
390
|
+
sourceId,
|
|
391
|
+
documentId,
|
|
392
|
+
reason: "already-embedded",
|
|
393
|
+
},
|
|
319
394
|
],
|
|
320
395
|
};
|
|
321
396
|
}
|
|
322
|
-
if (
|
|
397
|
+
if (coverage.vectorCount > 0) {
|
|
323
398
|
deleteVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
324
399
|
}
|
|
325
400
|
return undefined;
|
|
326
401
|
}
|
|
327
|
-
// Force mode: tear down prior vectors so the re-embed is the only surviving set.
|
|
328
|
-
deleteVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
329
402
|
return undefined;
|
|
330
403
|
}
|
|
331
404
|
// Runs the chunker and returns its result, or a PersistedHandling failure event on throw.
|
|
@@ -333,7 +406,7 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
333
406
|
try {
|
|
334
407
|
return { chunked: chunkPersistedDocument(state, result) };
|
|
335
408
|
}
|
|
336
|
-
catch
|
|
409
|
+
catch {
|
|
337
410
|
if (cancellationRequested(state)) {
|
|
338
411
|
clearDocumentArtifacts(state, documentId, { deleteChunks: true });
|
|
339
412
|
return { events: [] };
|
|
@@ -343,7 +416,7 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
343
416
|
markDocumentFailed(state, documentId);
|
|
344
417
|
const error = {
|
|
345
418
|
code: "CHUNKING_FAILED",
|
|
346
|
-
message:
|
|
419
|
+
message: "document chunking failed",
|
|
347
420
|
};
|
|
348
421
|
state.lastError = error;
|
|
349
422
|
return {
|
|
@@ -351,6 +424,8 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
351
424
|
{
|
|
352
425
|
kind: "document-failed",
|
|
353
426
|
jobId: state.jobId,
|
|
427
|
+
capsuleId: state.capsule.id,
|
|
428
|
+
sourceId: result.sourceId,
|
|
354
429
|
documentId,
|
|
355
430
|
relativePath: result.relativePath,
|
|
356
431
|
error,
|
|
@@ -359,7 +434,7 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
359
434
|
};
|
|
360
435
|
}
|
|
361
436
|
}
|
|
362
|
-
function appendDocumentFailure(state, events, documentId, relativePath, error, options) {
|
|
437
|
+
function appendDocumentFailure(state, events, sourceId, documentId, relativePath, error, options) {
|
|
363
438
|
state.failedDocuments += 1;
|
|
364
439
|
clearDocumentArtifacts(state, documentId, options);
|
|
365
440
|
markDocumentFailed(state, documentId);
|
|
@@ -367,13 +442,15 @@ function appendDocumentFailure(state, events, documentId, relativePath, error, o
|
|
|
367
442
|
events.push({
|
|
368
443
|
kind: "document-failed",
|
|
369
444
|
jobId: state.jobId,
|
|
445
|
+
capsuleId: state.capsule.id,
|
|
446
|
+
sourceId,
|
|
370
447
|
documentId,
|
|
371
448
|
relativePath,
|
|
372
449
|
error,
|
|
373
450
|
});
|
|
374
451
|
return { events };
|
|
375
452
|
}
|
|
376
|
-
function completeEmbeddedDocument(state, events, documentId, embedResult) {
|
|
453
|
+
function completeEmbeddedDocument(state, events, sourceId, documentId, embedResult) {
|
|
377
454
|
state.processedDocuments += 1;
|
|
378
455
|
state.vectorsPersisted += embedResult.vectorCount;
|
|
379
456
|
if (embedResult.lastChunkId !== null)
|
|
@@ -381,6 +458,8 @@ function completeEmbeddedDocument(state, events, documentId, embedResult) {
|
|
|
381
458
|
events.push({
|
|
382
459
|
kind: "document-embedded",
|
|
383
460
|
jobId: state.jobId,
|
|
461
|
+
capsuleId: state.capsule.id,
|
|
462
|
+
sourceId,
|
|
384
463
|
documentId,
|
|
385
464
|
vectorCount: embedResult.vectorCount,
|
|
386
465
|
resumeToken: embedResult.lastChunkId ?? `${String(documentId)}#empty`,
|
|
@@ -393,16 +472,15 @@ function isCancellationOnlyEmbedResult(state, embedResult) {
|
|
|
393
472
|
embedResult.errors.every((error) => error.code === "CANCELLED"));
|
|
394
473
|
}
|
|
395
474
|
// Maps an EmbedDocumentResult into PersistedHandling events, mutating run-state counters.
|
|
396
|
-
function applyEmbedResult(state, documentId, relativePath, priorEvents, embedResult) {
|
|
475
|
+
function applyEmbedResult(state, sourceId, documentId, relativePath, priorEvents, embedResult) {
|
|
397
476
|
const events = [...priorEvents];
|
|
398
477
|
if (isCancellationOnlyEmbedResult(state, embedResult)) {
|
|
399
|
-
clearDocumentArtifacts(state, documentId, { deleteChunks: false });
|
|
400
478
|
return { events };
|
|
401
479
|
}
|
|
402
480
|
const identityErr = embedResult.errors.find((e) => e.code === "INCOMPATIBLE_EMBEDDING_IDENTITY");
|
|
403
481
|
if (identityErr !== undefined) {
|
|
404
482
|
return {
|
|
405
|
-
...appendDocumentFailure(state, events, documentId, relativePath, identityErr, {
|
|
483
|
+
...appendDocumentFailure(state, events, sourceId, documentId, relativePath, identityErr, {
|
|
406
484
|
deleteChunks: false,
|
|
407
485
|
}),
|
|
408
486
|
identityFailure: identityErr,
|
|
@@ -413,89 +491,78 @@ function applyEmbedResult(state, documentId, relativePath, priorEvents, embedRes
|
|
|
413
491
|
code: "EMBEDDING_ADAPTER_FAILED",
|
|
414
492
|
message: "embedding adapter failed",
|
|
415
493
|
};
|
|
416
|
-
return appendDocumentFailure(state, events, documentId, relativePath, firstErr, {
|
|
494
|
+
return appendDocumentFailure(state, events, sourceId, documentId, relativePath, firstErr, {
|
|
417
495
|
deleteChunks: false,
|
|
418
496
|
});
|
|
419
497
|
}
|
|
420
|
-
return completeEmbeddedDocument(state, events, documentId, embedResult);
|
|
498
|
+
return completeEmbeddedDocument(state, events, sourceId, documentId, embedResult);
|
|
421
499
|
}
|
|
422
|
-
|
|
423
|
-
|
|
500
|
+
function* persistedEvents(handling) {
|
|
501
|
+
for (const event of handling.events) {
|
|
502
|
+
yield event;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
// Wraps the chunk-then-embed pipeline for a single persisted document. Extraction/chunking
|
|
506
|
+
// events are yielded before awaiting embeddings, so progress consumers see pre-model work
|
|
507
|
+
// immediately instead of only after all embedding batches finish.
|
|
508
|
+
async function* handlePersistedDocument(state, result) {
|
|
424
509
|
const documentId = result.outcome.kind === "persisted" ? result.outcome.document.id : null;
|
|
425
510
|
if (documentId === null)
|
|
426
|
-
return
|
|
511
|
+
return;
|
|
427
512
|
if (result.outcome.document.status === "unsupported") {
|
|
428
513
|
clearDocumentArtifacts(state, documentId, { deleteChunks: true });
|
|
429
514
|
state.skippedDocuments += 1;
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
515
|
+
yield {
|
|
516
|
+
kind: "document-extracted",
|
|
517
|
+
jobId: state.jobId,
|
|
518
|
+
capsuleId: state.capsule.id,
|
|
519
|
+
sourceId: result.sourceId,
|
|
520
|
+
documentId,
|
|
521
|
+
relativePath: result.relativePath,
|
|
522
|
+
};
|
|
523
|
+
yield {
|
|
524
|
+
kind: "document-skipped",
|
|
525
|
+
jobId: state.jobId,
|
|
526
|
+
capsuleId: state.capsule.id,
|
|
527
|
+
sourceId: result.sourceId,
|
|
528
|
+
documentId,
|
|
529
|
+
reason: "unsupported",
|
|
440
530
|
};
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
const fastPath = applyIncrementalFastPath(state, result.sourceId, documentId);
|
|
534
|
+
if (fastPath !== undefined) {
|
|
535
|
+
yield* persistedEvents(fastPath);
|
|
536
|
+
return;
|
|
441
537
|
}
|
|
442
|
-
const fastPath = applyIncrementalFastPath(state, documentId);
|
|
443
|
-
if (fastPath !== undefined)
|
|
444
|
-
return fastPath;
|
|
445
538
|
const chunkStep = tryChunkDocument(state, result, documentId);
|
|
446
|
-
if (!("chunked" in chunkStep))
|
|
447
|
-
|
|
539
|
+
if (!("chunked" in chunkStep)) {
|
|
540
|
+
yield* persistedEvents(chunkStep);
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
yield* chunkStep.chunked.events;
|
|
544
|
+
persistJobProgress(state);
|
|
448
545
|
const embedResult = await embedDocumentChunks(state, documentId, sourceForResult(state, result), result.relativePath);
|
|
449
|
-
|
|
546
|
+
yield* persistedEvents(applyEmbedResult(state, result.sourceId, documentId, result.relativePath, [], embedResult));
|
|
450
547
|
}
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
parserRegistry: state.options.parserRegistry,
|
|
457
|
-
}, sourceDiscoveryParams(state, source));
|
|
458
|
-
const progress = {
|
|
459
|
-
cancelled: false,
|
|
460
|
-
sawScopeError: false,
|
|
461
|
-
completed: false,
|
|
462
|
-
discoveredPaths: new Set(),
|
|
463
|
-
};
|
|
464
|
-
for await (const evt of stream) {
|
|
465
|
-
observeSourceEvent(progress, evt);
|
|
466
|
-
if (cancellationRequested(state)) {
|
|
467
|
-
progress.cancelled = true;
|
|
468
|
-
break;
|
|
469
|
-
}
|
|
470
|
-
const events = await handleDiscoveryEvent(state, evt);
|
|
471
|
-
if (events.length > 0) {
|
|
472
|
-
persistJobProgress(state);
|
|
473
|
-
}
|
|
474
|
-
for (const e of events) {
|
|
475
|
-
yield e;
|
|
476
|
-
if (e.kind === "document-failed" && e.error.code === "INCOMPATIBLE_EMBEDDING_IDENTITY") {
|
|
477
|
-
return;
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
// After yielding a batch we re-check the signal — the consumer's awaiting iterator
|
|
481
|
-
// may have aborted between events.
|
|
482
|
-
if (cancellationRequested(state)) {
|
|
483
|
-
progress.cancelled = true;
|
|
484
|
-
break;
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
finalizeSourceRun(state, source, progress);
|
|
548
|
+
function* handleExtractionSkippedEvents(state, result) {
|
|
549
|
+
yield handleExtractionSkipped(state, result);
|
|
550
|
+
}
|
|
551
|
+
function* handleExtractionFailedEvents(state, result) {
|
|
552
|
+
yield handleExtractionFailed(state, result);
|
|
488
553
|
}
|
|
489
554
|
// Routes a file-extracted event: force-skipped docs are re-shaped to persisted so the
|
|
490
555
|
// standard chunk-and-embed pipeline runs on them.
|
|
491
|
-
async function handleFileExtracted(state, result) {
|
|
556
|
+
async function* handleFileExtracted(state, result) {
|
|
492
557
|
if (result.outcome.kind === "skipped") {
|
|
493
558
|
// In force mode, an "unchanged" document still needs chunk-and-embed because the
|
|
494
|
-
//
|
|
495
|
-
//
|
|
496
|
-
//
|
|
497
|
-
const staleChunks = hasStaleChunksForDocument(state.options.store._internal.db, state.capsule.id, result.outcome.document.id);
|
|
498
|
-
|
|
559
|
+
// caller explicitly requested a fresh embedding pass. Re-shape the skipped outcome as
|
|
560
|
+
// a persisted outcome (the document row exists and is valid) so the standard pipeline
|
|
561
|
+
// runs. Outside force/recovery mode, surface the skip as-is.
|
|
562
|
+
const staleChunks = hasStaleChunksForDocument(state.options.store._internal.db, state.capsule.id, result.outcome.document.id, chunkingStrategyKey(state.options.chunkingOptions));
|
|
563
|
+
const missingVectors = result.outcome.document.status === "extracted" &&
|
|
564
|
+
!hasCompleteVectorCoverage(state, result.outcome.document.id);
|
|
565
|
+
if (state.options.force === true || staleChunks || missingVectors) {
|
|
499
566
|
const synthetic = {
|
|
500
567
|
capsuleId: result.capsuleId,
|
|
501
568
|
sourceId: result.sourceId,
|
|
@@ -503,28 +570,30 @@ async function handleFileExtracted(state, result) {
|
|
|
503
570
|
outcome: { kind: "persisted", document: result.outcome.document },
|
|
504
571
|
diagnostics: result.diagnostics,
|
|
505
572
|
};
|
|
506
|
-
|
|
507
|
-
return
|
|
573
|
+
yield* handlePersistedDocument(state, synthetic);
|
|
574
|
+
return;
|
|
508
575
|
}
|
|
509
|
-
|
|
576
|
+
yield* handleExtractionSkippedEvents(state, result);
|
|
577
|
+
return;
|
|
510
578
|
}
|
|
511
579
|
if (result.outcome.kind === "failed") {
|
|
512
|
-
|
|
580
|
+
yield* handleExtractionFailedEvents(state, result);
|
|
581
|
+
return;
|
|
513
582
|
}
|
|
514
|
-
|
|
515
|
-
return handled.events;
|
|
583
|
+
yield* handlePersistedDocument(state, result);
|
|
516
584
|
}
|
|
517
|
-
async function handleDiscoveryEvent(state, evt) {
|
|
585
|
+
async function* handleDiscoveryEvent(state, source, evt) {
|
|
518
586
|
if (evt.kind === "file-discovered") {
|
|
519
587
|
state.totalDocuments += 1;
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
588
|
+
yield {
|
|
589
|
+
kind: "document-discovered",
|
|
590
|
+
jobId: state.jobId,
|
|
591
|
+
capsuleId: state.capsule.id,
|
|
592
|
+
sourceId: source.id,
|
|
593
|
+
relativePath: evt.relativePath,
|
|
594
|
+
sizeBytes: evt.sizeBytes,
|
|
595
|
+
};
|
|
596
|
+
return;
|
|
528
597
|
}
|
|
529
598
|
if (evt.kind === "scope-error") {
|
|
530
599
|
state.failedDocuments += 1;
|
|
@@ -533,30 +602,73 @@ async function handleDiscoveryEvent(state, evt) {
|
|
|
533
602
|
message: evt.error.message,
|
|
534
603
|
};
|
|
535
604
|
state.lastError = err;
|
|
536
|
-
|
|
605
|
+
yield {
|
|
537
606
|
kind: "document-failed",
|
|
538
607
|
jobId: state.jobId,
|
|
608
|
+
capsuleId: state.capsule.id,
|
|
609
|
+
sourceId: source.id,
|
|
539
610
|
...(evt.error.relativePath !== undefined ? { relativePath: evt.error.relativePath } : {}),
|
|
540
611
|
error: err,
|
|
541
612
|
};
|
|
542
|
-
return
|
|
613
|
+
return;
|
|
543
614
|
}
|
|
544
615
|
if (evt.kind === "cancelled" || evt.kind === "completed") {
|
|
545
616
|
// No-op at this level: the outer loop drives terminal events.
|
|
546
|
-
return
|
|
617
|
+
return;
|
|
547
618
|
}
|
|
548
619
|
// evt.kind === "file-extracted"
|
|
549
|
-
|
|
620
|
+
yield* handleFileExtracted(state, evt.result);
|
|
621
|
+
}
|
|
622
|
+
function shouldStopAfterEvent(event) {
|
|
623
|
+
return event.kind === "document-failed" && event.error.code === "INCOMPATIBLE_EMBEDDING_IDENTITY";
|
|
624
|
+
}
|
|
625
|
+
async function* streamDiscoveryEvent(state, source, evt) {
|
|
626
|
+
for await (const event of handleDiscoveryEvent(state, source, evt)) {
|
|
627
|
+
persistJobProgress(state);
|
|
628
|
+
yield event;
|
|
629
|
+
if (shouldStopAfterEvent(event)) {
|
|
630
|
+
return true;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
return false;
|
|
634
|
+
}
|
|
635
|
+
// ─── Per-source pipeline ──────────────────────────────────────────────────────
|
|
636
|
+
async function* runOneSource(state, source) {
|
|
637
|
+
const stream = discoverAndExtract({
|
|
638
|
+
fs: state.options.workspaceFs,
|
|
639
|
+
store: state.options.store,
|
|
640
|
+
parserRegistry: state.options.parserRegistry,
|
|
641
|
+
}, sourceDiscoveryParams(state, source));
|
|
642
|
+
const progress = {
|
|
643
|
+
cancelled: false,
|
|
644
|
+
sawScopeError: false,
|
|
645
|
+
completed: false,
|
|
646
|
+
discoveredPaths: new Set(),
|
|
647
|
+
};
|
|
648
|
+
for await (const evt of stream) {
|
|
649
|
+
observeSourceEvent(progress, evt);
|
|
650
|
+
if (cancellationRequested(state)) {
|
|
651
|
+
progress.cancelled = true;
|
|
652
|
+
break;
|
|
653
|
+
}
|
|
654
|
+
const shouldStop = yield* streamDiscoveryEvent(state, source, evt);
|
|
655
|
+
if (shouldStop) {
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
658
|
+
// After yielding a batch we re-check the signal — the consumer's awaiting iterator
|
|
659
|
+
// may have aborted between events.
|
|
660
|
+
if (cancellationRequested(state)) {
|
|
661
|
+
progress.cancelled = true;
|
|
662
|
+
break;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
finalizeSourceRun(state, source, progress);
|
|
550
666
|
}
|
|
551
667
|
function sourceDiscoveryParams(state, source) {
|
|
552
668
|
return {
|
|
553
669
|
capsuleId: state.capsule.id,
|
|
554
670
|
source,
|
|
555
|
-
|
|
556
|
-
? { discovery: state.options.discoveryOptions }
|
|
557
|
-
: state.options.signal !== undefined
|
|
558
|
-
? { discovery: { maxDepth: 12, maxFiles: 5_000, signal: state.options.signal } }
|
|
559
|
-
: {}),
|
|
671
|
+
discovery: resolvedDiscoveryOptions(state),
|
|
560
672
|
};
|
|
561
673
|
}
|
|
562
674
|
function observeSourceEvent(progress, evt) {
|
|
@@ -589,6 +701,8 @@ function finalizeSourceRun(state, source, progress) {
|
|
|
589
701
|
return;
|
|
590
702
|
if (!progress.completed || progress.sawScopeError)
|
|
591
703
|
return;
|
|
704
|
+
if (progress.discoveredPaths.size >= resolvedDiscoveryOptions(state).maxFiles)
|
|
705
|
+
return;
|
|
592
706
|
pruneDeletedSourceDocuments(state, source, progress.discoveredPaths);
|
|
593
707
|
}
|
|
594
708
|
// ─── Capsule resolution + job lifecycle ───────────────────────────────────────
|
|
@@ -646,8 +760,15 @@ async function verifyEmbeddingPreflight(state) {
|
|
|
646
760
|
expectedDimensions: state.capsule.embeddingModelIdentity.vectorDimensions,
|
|
647
761
|
...(state.options.signal !== undefined ? { signal: state.options.signal } : {}),
|
|
648
762
|
});
|
|
649
|
-
if (result.ok)
|
|
650
|
-
|
|
763
|
+
if (result.ok) {
|
|
764
|
+
const compatibility = assertCompatibleEmbeddingIdentity(state.capsule.embeddingModelIdentity, result.identity);
|
|
765
|
+
if (compatibility.ok)
|
|
766
|
+
return undefined;
|
|
767
|
+
return {
|
|
768
|
+
code: "INCOMPATIBLE_EMBEDDING_IDENTITY",
|
|
769
|
+
message: compatibility.safeMessage,
|
|
770
|
+
};
|
|
771
|
+
}
|
|
651
772
|
return {
|
|
652
773
|
code: result.reason === "dimension-mismatch"
|
|
653
774
|
? "INCOMPATIBLE_EMBEDDING_IDENTITY"
|
|
@@ -662,7 +783,7 @@ async function verifyEmbeddingPreflight(state) {
|
|
|
662
783
|
}
|
|
663
784
|
return {
|
|
664
785
|
code: "EMBEDDING_ADAPTER_FAILED",
|
|
665
|
-
message:
|
|
786
|
+
message: "embedding capability preflight failed before indexing started",
|
|
666
787
|
};
|
|
667
788
|
}
|
|
668
789
|
}
|
|
@@ -681,6 +802,9 @@ function persistStartedJob(state, sources) {
|
|
|
681
802
|
// run. The events stream remains the source of truth.
|
|
682
803
|
}
|
|
683
804
|
}
|
|
805
|
+
function sourceIdsForState(state) {
|
|
806
|
+
return [...state.sourcesById.values()].map((source) => source.id);
|
|
807
|
+
}
|
|
684
808
|
function emitJobStarted(state, sources) {
|
|
685
809
|
const event = {
|
|
686
810
|
kind: "job-started",
|
|
@@ -692,6 +816,7 @@ function emitJobStarted(state, sources) {
|
|
|
692
816
|
state.options.auditSink?.emit({
|
|
693
817
|
kind: "indexing-job-started",
|
|
694
818
|
capsuleId: state.capsule.id,
|
|
819
|
+
sourceIds: sources.map((source) => source.id),
|
|
695
820
|
jobId: state.jobId,
|
|
696
821
|
occurredAt: state.startedAt,
|
|
697
822
|
});
|
|
@@ -732,11 +857,6 @@ export async function* runIndexingJob(options) {
|
|
|
732
857
|
yield* finalize(state, preflightFailure);
|
|
733
858
|
return;
|
|
734
859
|
}
|
|
735
|
-
// Force mode: tear down ALL vectors for the capsule up front. Per-document teardown
|
|
736
|
-
// still runs in handlePersistedDocument as a defence-in-depth measure.
|
|
737
|
-
if (options.force === true) {
|
|
738
|
-
deleteVectorsForCapsule(state.options.store._internal.db, capsule.id);
|
|
739
|
-
}
|
|
740
860
|
const identityFailure = yield* runSourcesWithProgress(state, sources);
|
|
741
861
|
yield* finalize(state, identityFailure);
|
|
742
862
|
}
|
|
@@ -792,6 +912,7 @@ function* finalize(state, fatalFailure) {
|
|
|
792
912
|
state.options.auditSink?.emit({
|
|
793
913
|
kind: "indexing-job-failed",
|
|
794
914
|
capsuleId: state.capsule.id,
|
|
915
|
+
sourceIds: sourceIdsForState(state),
|
|
795
916
|
jobId: state.jobId,
|
|
796
917
|
errorCode: err.code,
|
|
797
918
|
occurredAt: finishedAt,
|
|
@@ -802,6 +923,7 @@ function* finalize(state, fatalFailure) {
|
|
|
802
923
|
state.options.auditSink?.emit({
|
|
803
924
|
kind: "indexing-job-completed",
|
|
804
925
|
capsuleId: state.capsule.id,
|
|
926
|
+
sourceIds: sourceIdsForState(state),
|
|
805
927
|
jobId: state.jobId,
|
|
806
928
|
processedDocuments: result.processedDocuments,
|
|
807
929
|
failedDocuments: result.failedDocuments,
|