@oscharko-dev/keiko 0.2.0-beta.2 → 0.2.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +139 -1
- package/dist/ui/csp-hashes.json +34 -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/manifest.webmanifest +2 -2
- 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/lifecycle.d.ts +2 -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 +51 -10
- package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts +3 -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 +128 -38
- 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 +7 -7
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +4 -4
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts +11 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-records.js +4 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-schema.js +109 -4
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge-validation.js +94 -7
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts +5 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/local-knowledge.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +15 -0
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.js +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/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
- 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 +258 -132
- 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 +93 -14
- 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/dist/paths.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/paths.js +11 -5
- 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 +62 -12
- 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 +198 -72
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts +1 -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 +6 -5
- 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 +28 -5
- 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 +11 -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 +90 -19
- 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 +19 -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/paths.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/store/paths.js +9 -2
- 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 +58 -23
- 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 +22 -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/BNiyfCos3TiM2QdurajIZ/_buildManifest.js +0 -1
- package/dist/ui/static/_next/static/chunks/18-ac3e3551b4e0ce8a.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/923-4141696576191bc0.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-03d642dcd0f15b52.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/launch/page-c725ff0c02b50663.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/layout-aadefe615729db05.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-4a7f242906e19a07.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-3361769b8964e659.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-44b3f4fa3e10085f.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-0cdfb3eeb659daeb.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-e78e0cd2876fec41.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-e32fe86466827484.js +0 -1
- package/dist/ui/static/_next/static/chunks/app/page-9ad91065d05ddfa0.js +0 -1
- package/dist/ui/static/_next/static/chunks/framework-d8f01f7e25201916.js +0 -1
- package/dist/ui/static/_next/static/chunks/main-app-b52a8fa1d8127a5f.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/51fdcfdc624e723d.css +0 -1
- /package/dist/ui/static/_next/static/{BNiyfCos3TiM2QdurajIZ → 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,13 +58,37 @@ 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);
|
|
78
|
+
if (all.length === 0) {
|
|
79
|
+
throw new IndexingError("INVALID_OPTIONS", `Capsule ${String(capsule.id)} has no attached sources to index.`);
|
|
80
|
+
}
|
|
61
81
|
if (options.sourceIds === undefined)
|
|
62
82
|
return all;
|
|
63
83
|
const allow = new Set(options.sourceIds.map((s) => String(s)));
|
|
64
|
-
|
|
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;
|
|
65
92
|
}
|
|
66
93
|
function buildCounters(state) {
|
|
67
94
|
return {
|
|
@@ -100,7 +127,8 @@ function markDocumentFailed(state, documentId) {
|
|
|
100
127
|
}
|
|
101
128
|
const SELECT_CHUNKS_WITH_OFFSETS_SQL = [
|
|
102
129
|
"SELECT c.id, c.capsule_id, c.source_id, c.document_id, c.parsed_unit_id, c.order_index,",
|
|
103
|
-
"
|
|
130
|
+
" COALESCE(c.character_start, pu.character_start) AS char_start,",
|
|
131
|
+
" COALESCE(c.character_end, pu.character_end) AS char_end",
|
|
104
132
|
"FROM chunks AS c",
|
|
105
133
|
"JOIN parsed_units AS pu ON pu.capsule_id = c.capsule_id AND pu.id = c.parsed_unit_id",
|
|
106
134
|
"WHERE c.capsule_id = :c AND c.document_id = :d",
|
|
@@ -161,12 +189,17 @@ function readSourceText(state, source, relativePath) {
|
|
|
161
189
|
real = state.options.workspaceFs.realPath(abs);
|
|
162
190
|
}
|
|
163
191
|
catch (cause) {
|
|
164
|
-
throw new IndexingError("PERSISTENCE_FAILED",
|
|
192
|
+
throw new IndexingError("PERSISTENCE_FAILED", "source text could not be read before embedding", { cause });
|
|
165
193
|
}
|
|
166
194
|
if (!isContained(absoluteRoot, real)) {
|
|
167
195
|
throw new IndexingError("PERSISTENCE_FAILED", `source realpath escapes scope root before embedding: ${relativePath}`);
|
|
168
196
|
}
|
|
169
|
-
|
|
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
|
+
}
|
|
170
203
|
}
|
|
171
204
|
function resolveChunkSourceText(state, documentId, source, relativePath) {
|
|
172
205
|
const persistedText = readDocumentTextRow(state.options.store._internal.db, state.capsule.id, documentId);
|
|
@@ -185,6 +218,14 @@ function sliceIntoBatches(items, batchSize) {
|
|
|
185
218
|
}
|
|
186
219
|
return out;
|
|
187
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
|
+
}
|
|
188
229
|
async function embedDocumentChunks(state, documentId, source, relativePath) {
|
|
189
230
|
// Text-like documents are re-read from disk; binary parsers persist a normalized text
|
|
190
231
|
// projection so chunk slicing stays aligned with extracted content.
|
|
@@ -224,6 +265,7 @@ async function embedDocumentChunks(state, documentId, source, relativePath) {
|
|
|
224
265
|
if (cancellationRequested(state))
|
|
225
266
|
break;
|
|
226
267
|
}
|
|
268
|
+
recordCancellationIfRequested(state, errors);
|
|
227
269
|
return { vectorCount, errors, lastChunkId };
|
|
228
270
|
}
|
|
229
271
|
// ─── Document handlers ────────────────────────────────────────────────────────
|
|
@@ -232,6 +274,8 @@ function handleExtractionSkipped(state, result) {
|
|
|
232
274
|
return {
|
|
233
275
|
kind: "document-skipped",
|
|
234
276
|
jobId: state.jobId,
|
|
277
|
+
capsuleId: state.capsule.id,
|
|
278
|
+
sourceId: result.sourceId,
|
|
235
279
|
documentId: result.outcome.kind === "skipped" ? result.outcome.document.id : "",
|
|
236
280
|
reason: "unchanged",
|
|
237
281
|
};
|
|
@@ -249,6 +293,8 @@ function handleExtractionFailed(state, result) {
|
|
|
249
293
|
return {
|
|
250
294
|
kind: "document-failed",
|
|
251
295
|
jobId: state.jobId,
|
|
296
|
+
capsuleId: state.capsule.id,
|
|
297
|
+
sourceId: result.sourceId,
|
|
252
298
|
...(result.outcome.kind === "failed" ? { documentId: result.outcome.document.id } : {}),
|
|
253
299
|
relativePath: result.relativePath,
|
|
254
300
|
error,
|
|
@@ -262,11 +308,24 @@ function resolveChunkCount(state, documentId, skippedExisting, freshChunkIds) {
|
|
|
262
308
|
return selectChunksForDocument(state.options.store._internal.db, state.capsule.id, documentId)
|
|
263
309
|
.length;
|
|
264
310
|
}
|
|
265
|
-
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) {
|
|
266
322
|
if (result.outcome.kind !== "persisted") {
|
|
267
323
|
throw new IndexingError("INVALID_OPTIONS", "chunkPersistedDocument called with non-persisted result");
|
|
268
324
|
}
|
|
269
|
-
|
|
325
|
+
return result.outcome.document.id;
|
|
326
|
+
}
|
|
327
|
+
function chunkPersistedDocument(state, result) {
|
|
328
|
+
const documentId = persistedDocumentId(result);
|
|
270
329
|
const sourceText = resolveChunkSourceText(state, documentId, sourceForResult(state, result), result.relativePath);
|
|
271
330
|
const chunkResult = chunkDocument(state.options.store, {
|
|
272
331
|
capsuleId: state.capsule.id,
|
|
@@ -278,15 +337,29 @@ function chunkPersistedDocument(state, result) {
|
|
|
278
337
|
}, state.options.chunkingOptions);
|
|
279
338
|
const chunkCount = resolveChunkCount(state, documentId, chunkResult.skippedExisting, chunkResult.chunkIds);
|
|
280
339
|
return {
|
|
281
|
-
events: chunkedDocumentEvents(state.
|
|
340
|
+
events: chunkedDocumentEvents(state, result.sourceId, documentId, result.relativePath, chunkCount),
|
|
282
341
|
documentId,
|
|
283
342
|
chunkCount,
|
|
284
343
|
};
|
|
285
344
|
}
|
|
286
|
-
function chunkedDocumentEvents(
|
|
345
|
+
function chunkedDocumentEvents(state, sourceId, documentId, relativePath, chunkCount) {
|
|
287
346
|
return [
|
|
288
|
-
{
|
|
289
|
-
|
|
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
|
+
},
|
|
290
363
|
];
|
|
291
364
|
}
|
|
292
365
|
function sourceForResult(state, result) {
|
|
@@ -302,27 +375,30 @@ function sourceForResult(state, result) {
|
|
|
302
375
|
// Incremental fast-path: skips embedding when vectors already exist (non-force run), or
|
|
303
376
|
// deletes prior vectors to prepare for a forced re-embed.
|
|
304
377
|
// Returns a PersistedHandling to short-circuit when already-embedded, undefined to continue.
|
|
305
|
-
function applyIncrementalFastPath(state, documentId) {
|
|
306
|
-
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));
|
|
307
380
|
if (state.options.force !== true) {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
const existing = countVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
311
|
-
if (existing > 0 && !staleChunks) {
|
|
381
|
+
const coverage = embeddingCoverage(state, documentId);
|
|
382
|
+
if (coverage.chunkCount > 0 && coverage.vectorCount === coverage.chunkCount && !staleChunks) {
|
|
312
383
|
state.skippedDocuments += 1;
|
|
313
384
|
return {
|
|
314
385
|
events: [
|
|
315
|
-
{
|
|
386
|
+
{
|
|
387
|
+
kind: "document-skipped",
|
|
388
|
+
jobId: state.jobId,
|
|
389
|
+
capsuleId: state.capsule.id,
|
|
390
|
+
sourceId,
|
|
391
|
+
documentId,
|
|
392
|
+
reason: "already-embedded",
|
|
393
|
+
},
|
|
316
394
|
],
|
|
317
395
|
};
|
|
318
396
|
}
|
|
319
|
-
if (
|
|
397
|
+
if (coverage.vectorCount > 0) {
|
|
320
398
|
deleteVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
321
399
|
}
|
|
322
400
|
return undefined;
|
|
323
401
|
}
|
|
324
|
-
// Force mode: tear down prior vectors so the re-embed is the only surviving set.
|
|
325
|
-
deleteVectorsForDocument(state.options.store._internal.db, state.capsule.id, documentId);
|
|
326
402
|
return undefined;
|
|
327
403
|
}
|
|
328
404
|
// Runs the chunker and returns its result, or a PersistedHandling failure event on throw.
|
|
@@ -330,7 +406,7 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
330
406
|
try {
|
|
331
407
|
return { chunked: chunkPersistedDocument(state, result) };
|
|
332
408
|
}
|
|
333
|
-
catch
|
|
409
|
+
catch {
|
|
334
410
|
if (cancellationRequested(state)) {
|
|
335
411
|
clearDocumentArtifacts(state, documentId, { deleteChunks: true });
|
|
336
412
|
return { events: [] };
|
|
@@ -340,7 +416,7 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
340
416
|
markDocumentFailed(state, documentId);
|
|
341
417
|
const error = {
|
|
342
418
|
code: "CHUNKING_FAILED",
|
|
343
|
-
message:
|
|
419
|
+
message: "document chunking failed",
|
|
344
420
|
};
|
|
345
421
|
state.lastError = error;
|
|
346
422
|
return {
|
|
@@ -348,6 +424,8 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
348
424
|
{
|
|
349
425
|
kind: "document-failed",
|
|
350
426
|
jobId: state.jobId,
|
|
427
|
+
capsuleId: state.capsule.id,
|
|
428
|
+
sourceId: result.sourceId,
|
|
351
429
|
documentId,
|
|
352
430
|
relativePath: result.relativePath,
|
|
353
431
|
error,
|
|
@@ -356,7 +434,7 @@ function tryChunkDocument(state, result, documentId) {
|
|
|
356
434
|
};
|
|
357
435
|
}
|
|
358
436
|
}
|
|
359
|
-
function appendDocumentFailure(state, events, documentId, relativePath, error, options) {
|
|
437
|
+
function appendDocumentFailure(state, events, sourceId, documentId, relativePath, error, options) {
|
|
360
438
|
state.failedDocuments += 1;
|
|
361
439
|
clearDocumentArtifacts(state, documentId, options);
|
|
362
440
|
markDocumentFailed(state, documentId);
|
|
@@ -364,13 +442,15 @@ function appendDocumentFailure(state, events, documentId, relativePath, error, o
|
|
|
364
442
|
events.push({
|
|
365
443
|
kind: "document-failed",
|
|
366
444
|
jobId: state.jobId,
|
|
445
|
+
capsuleId: state.capsule.id,
|
|
446
|
+
sourceId,
|
|
367
447
|
documentId,
|
|
368
448
|
relativePath,
|
|
369
449
|
error,
|
|
370
450
|
});
|
|
371
451
|
return { events };
|
|
372
452
|
}
|
|
373
|
-
function completeEmbeddedDocument(state, events, documentId, embedResult) {
|
|
453
|
+
function completeEmbeddedDocument(state, events, sourceId, documentId, embedResult) {
|
|
374
454
|
state.processedDocuments += 1;
|
|
375
455
|
state.vectorsPersisted += embedResult.vectorCount;
|
|
376
456
|
if (embedResult.lastChunkId !== null)
|
|
@@ -378,6 +458,8 @@ function completeEmbeddedDocument(state, events, documentId, embedResult) {
|
|
|
378
458
|
events.push({
|
|
379
459
|
kind: "document-embedded",
|
|
380
460
|
jobId: state.jobId,
|
|
461
|
+
capsuleId: state.capsule.id,
|
|
462
|
+
sourceId,
|
|
381
463
|
documentId,
|
|
382
464
|
vectorCount: embedResult.vectorCount,
|
|
383
465
|
resumeToken: embedResult.lastChunkId ?? `${String(documentId)}#empty`,
|
|
@@ -390,16 +472,15 @@ function isCancellationOnlyEmbedResult(state, embedResult) {
|
|
|
390
472
|
embedResult.errors.every((error) => error.code === "CANCELLED"));
|
|
391
473
|
}
|
|
392
474
|
// Maps an EmbedDocumentResult into PersistedHandling events, mutating run-state counters.
|
|
393
|
-
function applyEmbedResult(state, documentId, relativePath, priorEvents, embedResult) {
|
|
475
|
+
function applyEmbedResult(state, sourceId, documentId, relativePath, priorEvents, embedResult) {
|
|
394
476
|
const events = [...priorEvents];
|
|
395
477
|
if (isCancellationOnlyEmbedResult(state, embedResult)) {
|
|
396
|
-
clearDocumentArtifacts(state, documentId, { deleteChunks: false });
|
|
397
478
|
return { events };
|
|
398
479
|
}
|
|
399
480
|
const identityErr = embedResult.errors.find((e) => e.code === "INCOMPATIBLE_EMBEDDING_IDENTITY");
|
|
400
481
|
if (identityErr !== undefined) {
|
|
401
482
|
return {
|
|
402
|
-
...appendDocumentFailure(state, events, documentId, relativePath, identityErr, {
|
|
483
|
+
...appendDocumentFailure(state, events, sourceId, documentId, relativePath, identityErr, {
|
|
403
484
|
deleteChunks: false,
|
|
404
485
|
}),
|
|
405
486
|
identityFailure: identityErr,
|
|
@@ -410,89 +491,78 @@ function applyEmbedResult(state, documentId, relativePath, priorEvents, embedRes
|
|
|
410
491
|
code: "EMBEDDING_ADAPTER_FAILED",
|
|
411
492
|
message: "embedding adapter failed",
|
|
412
493
|
};
|
|
413
|
-
return appendDocumentFailure(state, events, documentId, relativePath, firstErr, {
|
|
494
|
+
return appendDocumentFailure(state, events, sourceId, documentId, relativePath, firstErr, {
|
|
414
495
|
deleteChunks: false,
|
|
415
496
|
});
|
|
416
497
|
}
|
|
417
|
-
return completeEmbeddedDocument(state, events, documentId, embedResult);
|
|
498
|
+
return completeEmbeddedDocument(state, events, sourceId, documentId, embedResult);
|
|
418
499
|
}
|
|
419
|
-
|
|
420
|
-
|
|
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) {
|
|
421
509
|
const documentId = result.outcome.kind === "persisted" ? result.outcome.document.id : null;
|
|
422
510
|
if (documentId === null)
|
|
423
|
-
return
|
|
511
|
+
return;
|
|
424
512
|
if (result.outcome.document.status === "unsupported") {
|
|
425
513
|
clearDocumentArtifacts(state, documentId, { deleteChunks: true });
|
|
426
514
|
state.skippedDocuments += 1;
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
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",
|
|
437
530
|
};
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
const fastPath = applyIncrementalFastPath(state, result.sourceId, documentId);
|
|
534
|
+
if (fastPath !== undefined) {
|
|
535
|
+
yield* persistedEvents(fastPath);
|
|
536
|
+
return;
|
|
438
537
|
}
|
|
439
|
-
const fastPath = applyIncrementalFastPath(state, documentId);
|
|
440
|
-
if (fastPath !== undefined)
|
|
441
|
-
return fastPath;
|
|
442
538
|
const chunkStep = tryChunkDocument(state, result, documentId);
|
|
443
|
-
if (!("chunked" in chunkStep))
|
|
444
|
-
|
|
539
|
+
if (!("chunked" in chunkStep)) {
|
|
540
|
+
yield* persistedEvents(chunkStep);
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
yield* chunkStep.chunked.events;
|
|
544
|
+
persistJobProgress(state);
|
|
445
545
|
const embedResult = await embedDocumentChunks(state, documentId, sourceForResult(state, result), result.relativePath);
|
|
446
|
-
|
|
546
|
+
yield* persistedEvents(applyEmbedResult(state, result.sourceId, documentId, result.relativePath, [], embedResult));
|
|
447
547
|
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
parserRegistry: state.options.parserRegistry,
|
|
454
|
-
}, sourceDiscoveryParams(state, source));
|
|
455
|
-
const progress = {
|
|
456
|
-
cancelled: false,
|
|
457
|
-
sawScopeError: false,
|
|
458
|
-
completed: false,
|
|
459
|
-
discoveredPaths: new Set(),
|
|
460
|
-
};
|
|
461
|
-
for await (const evt of stream) {
|
|
462
|
-
observeSourceEvent(progress, evt);
|
|
463
|
-
if (cancellationRequested(state)) {
|
|
464
|
-
progress.cancelled = true;
|
|
465
|
-
break;
|
|
466
|
-
}
|
|
467
|
-
const events = await handleDiscoveryEvent(state, evt);
|
|
468
|
-
if (events.length > 0) {
|
|
469
|
-
persistJobProgress(state);
|
|
470
|
-
}
|
|
471
|
-
for (const e of events) {
|
|
472
|
-
yield e;
|
|
473
|
-
if (e.kind === "document-failed" && e.error.code === "INCOMPATIBLE_EMBEDDING_IDENTITY") {
|
|
474
|
-
return;
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
// After yielding a batch we re-check the signal — the consumer's awaiting iterator
|
|
478
|
-
// may have aborted between events.
|
|
479
|
-
if (cancellationRequested(state)) {
|
|
480
|
-
progress.cancelled = true;
|
|
481
|
-
break;
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
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);
|
|
485
553
|
}
|
|
486
554
|
// Routes a file-extracted event: force-skipped docs are re-shaped to persisted so the
|
|
487
555
|
// standard chunk-and-embed pipeline runs on them.
|
|
488
|
-
async function handleFileExtracted(state, result) {
|
|
556
|
+
async function* handleFileExtracted(state, result) {
|
|
489
557
|
if (result.outcome.kind === "skipped") {
|
|
490
558
|
// In force mode, an "unchanged" document still needs chunk-and-embed because the
|
|
491
|
-
//
|
|
492
|
-
//
|
|
493
|
-
//
|
|
494
|
-
const staleChunks = hasStaleChunksForDocument(state.options.store._internal.db, state.capsule.id, result.outcome.document.id);
|
|
495
|
-
|
|
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) {
|
|
496
566
|
const synthetic = {
|
|
497
567
|
capsuleId: result.capsuleId,
|
|
498
568
|
sourceId: result.sourceId,
|
|
@@ -500,28 +570,30 @@ async function handleFileExtracted(state, result) {
|
|
|
500
570
|
outcome: { kind: "persisted", document: result.outcome.document },
|
|
501
571
|
diagnostics: result.diagnostics,
|
|
502
572
|
};
|
|
503
|
-
|
|
504
|
-
return
|
|
573
|
+
yield* handlePersistedDocument(state, synthetic);
|
|
574
|
+
return;
|
|
505
575
|
}
|
|
506
|
-
|
|
576
|
+
yield* handleExtractionSkippedEvents(state, result);
|
|
577
|
+
return;
|
|
507
578
|
}
|
|
508
579
|
if (result.outcome.kind === "failed") {
|
|
509
|
-
|
|
580
|
+
yield* handleExtractionFailedEvents(state, result);
|
|
581
|
+
return;
|
|
510
582
|
}
|
|
511
|
-
|
|
512
|
-
return handled.events;
|
|
583
|
+
yield* handlePersistedDocument(state, result);
|
|
513
584
|
}
|
|
514
|
-
async function handleDiscoveryEvent(state, evt) {
|
|
585
|
+
async function* handleDiscoveryEvent(state, source, evt) {
|
|
515
586
|
if (evt.kind === "file-discovered") {
|
|
516
587
|
state.totalDocuments += 1;
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
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;
|
|
525
597
|
}
|
|
526
598
|
if (evt.kind === "scope-error") {
|
|
527
599
|
state.failedDocuments += 1;
|
|
@@ -530,30 +602,73 @@ async function handleDiscoveryEvent(state, evt) {
|
|
|
530
602
|
message: evt.error.message,
|
|
531
603
|
};
|
|
532
604
|
state.lastError = err;
|
|
533
|
-
|
|
605
|
+
yield {
|
|
534
606
|
kind: "document-failed",
|
|
535
607
|
jobId: state.jobId,
|
|
608
|
+
capsuleId: state.capsule.id,
|
|
609
|
+
sourceId: source.id,
|
|
536
610
|
...(evt.error.relativePath !== undefined ? { relativePath: evt.error.relativePath } : {}),
|
|
537
611
|
error: err,
|
|
538
612
|
};
|
|
539
|
-
return
|
|
613
|
+
return;
|
|
540
614
|
}
|
|
541
615
|
if (evt.kind === "cancelled" || evt.kind === "completed") {
|
|
542
616
|
// No-op at this level: the outer loop drives terminal events.
|
|
543
|
-
return
|
|
617
|
+
return;
|
|
544
618
|
}
|
|
545
619
|
// evt.kind === "file-extracted"
|
|
546
|
-
|
|
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);
|
|
547
666
|
}
|
|
548
667
|
function sourceDiscoveryParams(state, source) {
|
|
549
668
|
return {
|
|
550
669
|
capsuleId: state.capsule.id,
|
|
551
670
|
source,
|
|
552
|
-
|
|
553
|
-
? { discovery: state.options.discoveryOptions }
|
|
554
|
-
: state.options.signal !== undefined
|
|
555
|
-
? { discovery: { maxDepth: 12, maxFiles: 5_000, signal: state.options.signal } }
|
|
556
|
-
: {}),
|
|
671
|
+
discovery: resolvedDiscoveryOptions(state),
|
|
557
672
|
};
|
|
558
673
|
}
|
|
559
674
|
function observeSourceEvent(progress, evt) {
|
|
@@ -586,6 +701,8 @@ function finalizeSourceRun(state, source, progress) {
|
|
|
586
701
|
return;
|
|
587
702
|
if (!progress.completed || progress.sawScopeError)
|
|
588
703
|
return;
|
|
704
|
+
if (progress.discoveredPaths.size >= resolvedDiscoveryOptions(state).maxFiles)
|
|
705
|
+
return;
|
|
589
706
|
pruneDeletedSourceDocuments(state, source, progress.discoveredPaths);
|
|
590
707
|
}
|
|
591
708
|
// ─── Capsule resolution + job lifecycle ───────────────────────────────────────
|
|
@@ -643,8 +760,15 @@ async function verifyEmbeddingPreflight(state) {
|
|
|
643
760
|
expectedDimensions: state.capsule.embeddingModelIdentity.vectorDimensions,
|
|
644
761
|
...(state.options.signal !== undefined ? { signal: state.options.signal } : {}),
|
|
645
762
|
});
|
|
646
|
-
if (result.ok)
|
|
647
|
-
|
|
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
|
+
}
|
|
648
772
|
return {
|
|
649
773
|
code: result.reason === "dimension-mismatch"
|
|
650
774
|
? "INCOMPATIBLE_EMBEDDING_IDENTITY"
|
|
@@ -653,12 +777,13 @@ async function verifyEmbeddingPreflight(state) {
|
|
|
653
777
|
};
|
|
654
778
|
}
|
|
655
779
|
catch (cause) {
|
|
656
|
-
if (cancellationRequested(state) ||
|
|
780
|
+
if (cancellationRequested(state) ||
|
|
781
|
+
(cause instanceof DOMException && cause.name === "AbortError")) {
|
|
657
782
|
return { code: "CANCELLED", message: "indexing aborted via AbortSignal" };
|
|
658
783
|
}
|
|
659
784
|
return {
|
|
660
785
|
code: "EMBEDDING_ADAPTER_FAILED",
|
|
661
|
-
message:
|
|
786
|
+
message: "embedding capability preflight failed before indexing started",
|
|
662
787
|
};
|
|
663
788
|
}
|
|
664
789
|
}
|
|
@@ -677,6 +802,9 @@ function persistStartedJob(state, sources) {
|
|
|
677
802
|
// run. The events stream remains the source of truth.
|
|
678
803
|
}
|
|
679
804
|
}
|
|
805
|
+
function sourceIdsForState(state) {
|
|
806
|
+
return [...state.sourcesById.values()].map((source) => source.id);
|
|
807
|
+
}
|
|
680
808
|
function emitJobStarted(state, sources) {
|
|
681
809
|
const event = {
|
|
682
810
|
kind: "job-started",
|
|
@@ -688,6 +816,7 @@ function emitJobStarted(state, sources) {
|
|
|
688
816
|
state.options.auditSink?.emit({
|
|
689
817
|
kind: "indexing-job-started",
|
|
690
818
|
capsuleId: state.capsule.id,
|
|
819
|
+
sourceIds: sources.map((source) => source.id),
|
|
691
820
|
jobId: state.jobId,
|
|
692
821
|
occurredAt: state.startedAt,
|
|
693
822
|
});
|
|
@@ -728,11 +857,6 @@ export async function* runIndexingJob(options) {
|
|
|
728
857
|
yield* finalize(state, preflightFailure);
|
|
729
858
|
return;
|
|
730
859
|
}
|
|
731
|
-
// Force mode: tear down ALL vectors for the capsule up front. Per-document teardown
|
|
732
|
-
// still runs in handlePersistedDocument as a defence-in-depth measure.
|
|
733
|
-
if (options.force === true) {
|
|
734
|
-
deleteVectorsForCapsule(state.options.store._internal.db, capsule.id);
|
|
735
|
-
}
|
|
736
860
|
const identityFailure = yield* runSourcesWithProgress(state, sources);
|
|
737
861
|
yield* finalize(state, identityFailure);
|
|
738
862
|
}
|
|
@@ -788,6 +912,7 @@ function* finalize(state, fatalFailure) {
|
|
|
788
912
|
state.options.auditSink?.emit({
|
|
789
913
|
kind: "indexing-job-failed",
|
|
790
914
|
capsuleId: state.capsule.id,
|
|
915
|
+
sourceIds: sourceIdsForState(state),
|
|
791
916
|
jobId: state.jobId,
|
|
792
917
|
errorCode: err.code,
|
|
793
918
|
occurredAt: finishedAt,
|
|
@@ -798,6 +923,7 @@ function* finalize(state, fatalFailure) {
|
|
|
798
923
|
state.options.auditSink?.emit({
|
|
799
924
|
kind: "indexing-job-completed",
|
|
800
925
|
capsuleId: state.capsule.id,
|
|
926
|
+
sourceIds: sourceIdsForState(state),
|
|
801
927
|
jobId: state.jobId,
|
|
802
928
|
processedDocuments: result.processedDocuments,
|
|
803
929
|
failedDocuments: result.failedDocuments,
|