@neuralis/brain-core 0.1.0 → 0.2.0
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 +26 -35
- package/app/cards/DiffView.tsx +9 -7
- package/app/cards/README.md +1 -1
- package/app/cards/diffLine.tsx +2 -4
- package/app/filesystem/README.md +1 -1
- package/app/filesystem/api/index.ts +14 -5
- package/app/filesystem/domain/types.ts +24 -5
- package/app/filesystem/store/filesystemStore.ts +20 -1
- package/app/filesystem/store/listSlice.ts +2 -0
- package/app/filesystem/store/searchSlice.ts +24 -1
- package/app/filesystem/ui/FileTreeSearch.tsx +29 -2
- package/app/filesystem/ui/PendingChangesPanel.tsx +74 -17
- package/app/filesystem/ui/PendingReviewDialog.tsx +45 -20
- package/app/filesystem/ui/README.md +8 -7
- package/app/filesystem/ui/ReembedDialog.tsx +20 -9
- package/app/filesystem/ui/SourceDeleteConfirm.tsx +1 -1
- package/app/filesystem/ui/SourcesPanel.tsx +110 -17
- package/app/filesystem/ui/VectorHealthPanel.tsx +14 -0
- package/app/filesystem/ui/pendingChangesModel.ts +9 -5
- package/dist/app/chunks/{astro-LRAFGXNX.js → astro-B2J4AS2D.js} +1 -1
- package/dist/app/chunks/bash-KY6SAQTH.js +1 -0
- package/dist/app/chunks/c-OBOPYVZ7.js +1 -0
- package/dist/app/chunks/{chunk-5H7ZCOD3.js → chunk-2X3GNKJ3.js} +1 -1
- package/dist/app/chunks/{chunk-XIFGTNRM.js → chunk-JPJIVRFI.js} +1 -1
- package/dist/app/chunks/{chunk-RH3QY5LF.js → chunk-LEFIFWND.js} +1 -1
- package/dist/app/chunks/{chunk-G4RZ3UNX.js → chunk-N6RXX3PH.js} +1 -1
- package/dist/app/chunks/{chunk-QXXJ73P5.js → chunk-PZAW4HPB.js} +1 -1
- package/dist/app/chunks/{chunk-3QLE7Y4L.js → chunk-ZBYWWTO6.js} +1 -1
- package/dist/app/chunks/cpp-TVWVOTEQ.js +1 -0
- package/dist/app/chunks/css-MANZBYA4.js +1 -0
- package/dist/app/chunks/{elixir-M36XROA6.js → elixir-S725Z7EH.js} +1 -1
- package/dist/app/chunks/{elm-7BG6QAIK.js → elm-5WUUSTNB.js} +1 -1
- package/dist/app/chunks/graphql-UGOPR3WU.js +1 -0
- package/dist/app/chunks/html-F6FWTBSG.js +1 -0
- package/dist/app/chunks/java-ANIVV5H5.js +1 -0
- package/dist/app/chunks/javascript-IH374YWG.js +1 -0
- package/dist/app/chunks/json-WGGVVXSB.js +1 -0
- package/dist/app/chunks/jsx-OTXJQD32.js +1 -0
- package/dist/app/chunks/{latex-ZWK7SXB6.js → latex-QCZNITGN.js} +1 -1
- package/dist/app/chunks/lua-4CRZ64PU.js +1 -0
- package/dist/app/chunks/{nginx-2L6VRV3A.js → nginx-V4CYS7WR.js} +1 -1
- package/dist/app/chunks/{perl-PBUAXXK6.js → perl-BHTX7F5B.js} +1 -1
- package/dist/app/chunks/{php-QJX57PA6.js → php-AYGJ5WYZ.js} +1 -1
- package/dist/app/chunks/r-4YFCFA4B.js +1 -0
- package/dist/app/chunks/{ruby-RLOWMVPO.js → ruby-42NMJWAL.js} +1 -1
- package/dist/app/chunks/{scss-B5CAI3HR.js → scss-XD7VU2CU.js} +1 -1
- package/dist/app/chunks/sql-B55MH6JJ.js +1 -0
- package/dist/app/chunks/{svelte-GT3D4C44.js → svelte-WR3QPIJU.js} +1 -1
- package/dist/app/chunks/tsx-S73GAE2L.js +1 -0
- package/dist/app/chunks/typescript-NEWOAB5Z.js +1 -0
- package/dist/app/chunks/{vue-JOW62MHD.js → vue-CCDS4VZK.js} +1 -1
- package/dist/app/chunks/xml-UXKAGLDR.js +1 -0
- package/dist/app/chunks/yaml-UMWKDTK7.js +1 -0
- package/dist/app/host.js +40 -40
- package/dist/scripts/embeddingLockV3.d.ts +30 -0
- package/dist/scripts/embeddingLockV3.d.ts.map +1 -0
- package/dist/scripts/embeddingLockV3.js +100 -0
- package/dist/scripts/embeddingLockV3.js.map +1 -0
- package/dist/scripts/vectorProofV1.d.ts +90 -0
- package/dist/scripts/vectorProofV1.d.ts.map +1 -0
- package/dist/scripts/vectorProofV1.js +220 -0
- package/dist/scripts/vectorProofV1.js.map +1 -0
- package/dist/src/config/env.d.ts +21 -0
- package/dist/src/config/env.d.ts.map +1 -1
- package/dist/src/config/env.js +55 -0
- package/dist/src/config/env.js.map +1 -1
- package/dist/src/connectors/AppSourceConfigStore.d.ts +12 -2
- package/dist/src/connectors/AppSourceConfigStore.d.ts.map +1 -1
- package/dist/src/connectors/AppSourceConfigStore.js +48 -40
- package/dist/src/connectors/AppSourceConfigStore.js.map +1 -1
- package/dist/src/connectors/LocalDiskConnector.d.ts +11 -14
- package/dist/src/connectors/LocalDiskConnector.d.ts.map +1 -1
- package/dist/src/connectors/LocalDiskConnector.js +87 -107
- package/dist/src/connectors/LocalDiskConnector.js.map +1 -1
- package/dist/src/connectors/sourceConfigMutation.d.ts +11 -1
- package/dist/src/connectors/sourceConfigMutation.d.ts.map +1 -1
- package/dist/src/connectors/sourceConfigMutation.js +36 -3
- package/dist/src/connectors/sourceConfigMutation.js.map +1 -1
- package/dist/src/domain/chunker.js +8 -3
- package/dist/src/domain/chunker.js.map +1 -1
- package/dist/src/domain/healthTypes.d.ts +11 -0
- package/dist/src/domain/healthTypes.d.ts.map +1 -1
- package/dist/src/domain/mime.d.ts +1 -0
- package/dist/src/domain/mime.d.ts.map +1 -1
- package/dist/src/domain/mime.js +48 -0
- package/dist/src/domain/mime.js.map +1 -1
- package/dist/src/domain/pendingChange.d.ts +7 -0
- package/dist/src/domain/pendingChange.d.ts.map +1 -1
- package/dist/src/domain/pendingChange.js +11 -0
- package/dist/src/domain/pendingChange.js.map +1 -1
- package/dist/src/domain/sourceConfig.d.ts +7 -14
- package/dist/src/domain/sourceConfig.d.ts.map +1 -1
- package/dist/src/domain/sourceConfig.js +1 -13
- package/dist/src/domain/sourceConfig.js.map +1 -1
- package/dist/src/domain/sourcePackages.d.ts +11 -2
- package/dist/src/domain/sourcePackages.d.ts.map +1 -1
- package/dist/src/domain/syncTrigger.d.ts +2 -3
- package/dist/src/domain/syncTrigger.d.ts.map +1 -1
- package/dist/src/domain/syncTrigger.js +2 -3
- package/dist/src/domain/syncTrigger.js.map +1 -1
- package/dist/src/domain/syncTypes.d.ts +21 -4
- package/dist/src/domain/syncTypes.d.ts.map +1 -1
- package/dist/src/domain/syncTypes.js.map +1 -1
- package/dist/src/domain/text.d.ts +3 -0
- package/dist/src/domain/text.d.ts.map +1 -1
- package/dist/src/domain/text.js +5 -0
- package/dist/src/domain/text.js.map +1 -1
- package/dist/src/domain/types.d.ts +9 -0
- package/dist/src/domain/types.d.ts.map +1 -1
- package/dist/src/embeddings/clients/GeminiEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/GeminiEmbedder.js +11 -5
- package/dist/src/embeddings/clients/GeminiEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/OllamaEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/OllamaEmbedder.js +13 -6
- package/dist/src/embeddings/clients/OllamaEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/OpenAIEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/OpenAIEmbedder.js +12 -9
- package/dist/src/embeddings/clients/OpenAIEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/QwenEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/QwenEmbedder.js +12 -5
- package/dist/src/embeddings/clients/QwenEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/VoyageEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/VoyageEmbedder.js +12 -5
- package/dist/src/embeddings/clients/VoyageEmbedder.js.map +1 -1
- package/dist/src/embeddings/factory.d.ts +2 -0
- package/dist/src/embeddings/factory.d.ts.map +1 -1
- package/dist/src/embeddings/factory.js +23 -3
- package/dist/src/embeddings/factory.js.map +1 -1
- package/dist/src/embeddings/lock.d.ts +22 -11
- package/dist/src/embeddings/lock.d.ts.map +1 -1
- package/dist/src/embeddings/lock.js +47 -29
- package/dist/src/embeddings/lock.js.map +1 -1
- package/dist/src/embeddings/retry.d.ts +5 -0
- package/dist/src/embeddings/retry.d.ts.map +1 -1
- package/dist/src/embeddings/retry.js +35 -0
- package/dist/src/embeddings/retry.js.map +1 -1
- package/dist/src/events/pending.d.ts +56 -0
- package/dist/src/events/pending.d.ts.map +1 -0
- package/dist/src/events/pending.js +108 -0
- package/dist/src/events/pending.js.map +1 -0
- package/dist/src/events/source.d.ts +60 -14
- package/dist/src/events/source.d.ts.map +1 -1
- package/dist/src/events/source.js +149 -31
- package/dist/src/events/source.js.map +1 -1
- package/dist/src/events/vector.d.ts +33 -0
- package/dist/src/events/vector.d.ts.map +1 -0
- package/dist/src/events/vector.js +57 -0
- package/dist/src/events/vector.js.map +1 -0
- package/dist/src/git/GitRunner.d.ts.map +1 -1
- package/dist/src/git/GitRunner.js +11 -8
- package/dist/src/git/GitRunner.js.map +1 -1
- package/dist/src/git/sourceGitControl.d.ts.map +1 -1
- package/dist/src/git/sourceGitControl.js +2 -1
- package/dist/src/git/sourceGitControl.js.map +1 -1
- package/dist/src/index.d.ts +5 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/lifecycle.d.ts +20 -4
- package/dist/src/lifecycle.d.ts.map +1 -1
- package/dist/src/lifecycle.js +5 -1
- package/dist/src/lifecycle.js.map +1 -1
- package/dist/src/routes/health.js +6 -1
- package/dist/src/routes/health.js.map +1 -1
- package/dist/src/routes/pending.d.ts.map +1 -1
- package/dist/src/routes/pending.js +2 -1
- package/dist/src/routes/pending.js.map +1 -1
- package/dist/src/routes/sources.d.ts.map +1 -1
- package/dist/src/routes/sources.js +60 -11
- package/dist/src/routes/sources.js.map +1 -1
- package/dist/src/services/BridgeService.d.ts +2 -2
- package/dist/src/services/BridgeService.d.ts.map +1 -1
- package/dist/src/services/BridgeService.js +11 -2
- package/dist/src/services/BridgeService.js.map +1 -1
- package/dist/src/services/FilesystemService.d.ts +3 -1
- package/dist/src/services/FilesystemService.d.ts.map +1 -1
- package/dist/src/services/FilesystemService.js +3 -1
- package/dist/src/services/FilesystemService.js.map +1 -1
- package/dist/src/services/FilesystemUiService.js +1 -1
- package/dist/src/services/FilesystemUiService.js.map +1 -1
- package/dist/src/services/SyncScheduler.d.ts.map +1 -1
- package/dist/src/services/SyncScheduler.js +0 -14
- package/dist/src/services/SyncScheduler.js.map +1 -1
- package/dist/src/services/VectorHealthService.d.ts.map +1 -1
- package/dist/src/services/VectorHealthService.js +2 -46
- package/dist/src/services/VectorHealthService.js.map +1 -1
- package/dist/src/services/baselineRepair.d.ts +2 -2
- package/dist/src/services/baselineRepair.js +2 -2
- package/dist/src/services/declaredSources.d.ts +8 -1
- package/dist/src/services/declaredSources.d.ts.map +1 -1
- package/dist/src/services/declaredSources.js +19 -19
- package/dist/src/services/declaredSources.js.map +1 -1
- package/dist/src/store/dataFormats.d.ts +14 -3
- package/dist/src/store/dataFormats.d.ts.map +1 -1
- package/dist/src/store/dataFormats.js +15 -5
- package/dist/src/store/dataFormats.js.map +1 -1
- package/dist/src/sync/DeltaSyncRunner.d.ts.map +1 -1
- package/dist/src/sync/DeltaSyncRunner.js +78 -243
- package/dist/src/sync/DeltaSyncRunner.js.map +1 -1
- package/dist/src/sync/SyncJobQueue.d.ts +33 -4
- package/dist/src/sync/SyncJobQueue.d.ts.map +1 -1
- package/dist/src/sync/SyncJobQueue.js +179 -19
- package/dist/src/sync/SyncJobQueue.js.map +1 -1
- package/dist/src/sync/moveDetector.d.ts +2 -1
- package/dist/src/sync/moveDetector.d.ts.map +1 -1
- package/dist/src/sync/moveDetector.js +2 -1
- package/dist/src/sync/moveDetector.js.map +1 -1
- package/dist/src/tools/fs_search.d.ts.map +1 -1
- package/dist/src/tools/fs_search.js +8 -0
- package/dist/src/tools/fs_search.js.map +1 -1
- package/dist/src/tools/fs_write.js +3 -1
- package/dist/src/tools/fs_write.js.map +1 -1
- package/dist/src/usecases/chunkUpsert.d.ts +4 -0
- package/dist/src/usecases/chunkUpsert.d.ts.map +1 -1
- package/dist/src/usecases/chunkUpsert.js +103 -60
- package/dist/src/usecases/chunkUpsert.js.map +1 -1
- package/dist/src/usecases/embeddingBacklog.d.ts +31 -0
- package/dist/src/usecases/embeddingBacklog.d.ts.map +1 -0
- package/dist/src/usecases/embeddingBacklog.js +244 -0
- package/dist/src/usecases/embeddingBacklog.js.map +1 -0
- package/dist/src/usecases/listSourcePackages.js +17 -1
- package/dist/src/usecases/listSourcePackages.js.map +1 -1
- package/dist/src/usecases/mediaLane.d.ts +11 -4
- package/dist/src/usecases/mediaLane.d.ts.map +1 -1
- package/dist/src/usecases/mediaLane.js +67 -30
- package/dist/src/usecases/mediaLane.js.map +1 -1
- package/dist/src/usecases/pendingReview.d.ts.map +1 -1
- package/dist/src/usecases/pendingReview.js +24 -7
- package/dist/src/usecases/pendingReview.js.map +1 -1
- package/dist/src/usecases/purgeExcludedPoints.d.ts +2 -0
- package/dist/src/usecases/purgeExcludedPoints.d.ts.map +1 -1
- package/dist/src/usecases/purgeExcludedPoints.js +3 -2
- package/dist/src/usecases/purgeExcludedPoints.js.map +1 -1
- package/dist/src/usecases/readFiles.d.ts.map +1 -1
- package/dist/src/usecases/readFiles.js +33 -6
- package/dist/src/usecases/readFiles.js.map +1 -1
- package/dist/src/usecases/reconcileSourcePackageRoots.d.ts +31 -0
- package/dist/src/usecases/reconcileSourcePackageRoots.d.ts.map +1 -0
- package/dist/src/usecases/reconcileSourcePackageRoots.js +114 -0
- package/dist/src/usecases/reconcileSourcePackageRoots.js.map +1 -0
- package/dist/src/usecases/searchFiles.d.ts.map +1 -1
- package/dist/src/usecases/searchFiles.js +62 -64
- package/dist/src/usecases/searchFiles.js.map +1 -1
- package/dist/src/usecases/syncIndexedFile.d.ts +42 -0
- package/dist/src/usecases/syncIndexedFile.d.ts.map +1 -0
- package/dist/src/usecases/syncIndexedFile.js +242 -0
- package/dist/src/usecases/syncIndexedFile.js.map +1 -0
- package/dist/src/usecases/syncPointWrites.d.ts +5 -0
- package/dist/src/usecases/syncPointWrites.d.ts.map +1 -1
- package/dist/src/usecases/syncPointWrites.js +32 -5
- package/dist/src/usecases/syncPointWrites.js.map +1 -1
- package/dist/src/usecases/uploadBinary.d.ts.map +1 -1
- package/dist/src/usecases/uploadBinary.js +36 -49
- package/dist/src/usecases/uploadBinary.js.map +1 -1
- package/dist/src/usecases/vector/endpointGuard.js +2 -1
- package/dist/src/usecases/vector/endpointGuard.js.map +1 -1
- package/dist/src/usecases/vector/estimate.d.ts +7 -4
- package/dist/src/usecases/vector/estimate.d.ts.map +1 -1
- package/dist/src/usecases/vector/estimate.js +8 -5
- package/dist/src/usecases/vector/estimate.js.map +1 -1
- package/dist/src/usecases/vector/rebuildGeneration.d.ts +29 -5
- package/dist/src/usecases/vector/rebuildGeneration.d.ts.map +1 -1
- package/dist/src/usecases/vector/rebuildGeneration.js +224 -82
- package/dist/src/usecases/vector/rebuildGeneration.js.map +1 -1
- package/dist/src/usecases/vectorMaintenance.d.ts +46 -4
- package/dist/src/usecases/vectorMaintenance.d.ts.map +1 -1
- package/dist/src/usecases/vectorMaintenance.js +190 -11
- package/dist/src/usecases/vectorMaintenance.js.map +1 -1
- package/dist/src/usecases/write/commit.d.ts +6 -8
- package/dist/src/usecases/write/commit.d.ts.map +1 -1
- package/dist/src/usecases/write/commit.js +96 -112
- package/dist/src/usecases/write/commit.js.map +1 -1
- package/dist/src/usecases/write/content.js +1 -2
- package/dist/src/usecases/write/content.js.map +1 -1
- package/dist/src/usecases/write/ports.d.ts +1 -0
- package/dist/src/usecases/write/ports.d.ts.map +1 -1
- package/dist/src/vector/FilesystemVectorIndex.d.ts +34 -3
- package/dist/src/vector/FilesystemVectorIndex.d.ts.map +1 -1
- package/dist/src/vector/FilesystemVectorIndex.js +254 -20
- package/dist/src/vector/FilesystemVectorIndex.js.map +1 -1
- package/dist/src/vector/InMemoryVectorIndex.d.ts +9 -2
- package/dist/src/vector/InMemoryVectorIndex.d.ts.map +1 -1
- package/dist/src/vector/InMemoryVectorIndex.js +25 -6
- package/dist/src/vector/InMemoryVectorIndex.js.map +1 -1
- package/dist/src/vector/QdrantVectorIndex.d.ts +35 -9
- package/dist/src/vector/QdrantVectorIndex.d.ts.map +1 -1
- package/dist/src/vector/QdrantVectorIndex.js +209 -90
- package/dist/src/vector/QdrantVectorIndex.js.map +1 -1
- package/dist/src/vector/qdrantFilter.d.ts +3 -1
- package/dist/src/vector/qdrantFilter.d.ts.map +1 -1
- package/dist/src/vector/qdrantFilter.js +2 -0
- package/dist/src/vector/qdrantFilter.js.map +1 -1
- package/dist/src/vector/types.d.ts +81 -0
- package/dist/src/vector/types.d.ts.map +1 -1
- package/dist/src/vector/types.js +2 -0
- package/dist/src/vector/types.js.map +1 -1
- package/dist/src/wiring.d.ts +6 -0
- package/dist/src/wiring.d.ts.map +1 -1
- package/dist/src/wiring.js +62 -3
- package/dist/src/wiring.js.map +1 -1
- package/dist/tools/fs_search.json +2 -2
- package/docs/drive-overview.md +2 -2
- package/instructions/brain-model.md +1 -1
- package/package.json +999 -10
- package/rules/brain-rules.md +1 -1
- package/skills/connect-business-data/SKILL.md +6 -4
- package/skills/create-package/SKILL.md +14 -12
- package/skills/create-package/references/config-and-credentials.md +3 -3
- package/skills/create-package/references/connectors-and-uri-policies.md +5 -3
- package/skills/create-package/references/manifest-and-discovery.md +4 -3
- package/skills/create-package/references/runtime-and-build.md +9 -9
- package/skills/create-package/references/skills-and-context.md +3 -3
- package/skills/create-package/references/surfaces-and-design.md +2 -1
- package/skills/create-package/references/team-and-workflows.md +2 -2
- package/skills/create-package/references/test-and-ship.md +15 -15
- package/skills/create-package/references/tools-and-schemas.md +1 -1
- package/skills/create-package/scripts/check-package.sh +3 -3
- package/skills/create-package/scripts/verify-loaded.sh +16 -16
- package/skills/manage-files/SKILL.md +2 -2
- package/skills/manage-sources/SKILL.md +16 -15
- package/skills/manage-sources/scripts/reembed.sh +9 -3
- package/skills/sync/SKILL.md +4 -4
- package/tools/fs_search.json +2 -2
- package/dist/app/chunks/bash-M45GHPBQ.js +0 -1
- package/dist/app/chunks/c-X3REOAWD.js +0 -1
- package/dist/app/chunks/cpp-VOWI743W.js +0 -1
- package/dist/app/chunks/css-2ZVPHE25.js +0 -1
- package/dist/app/chunks/graphql-7V2NP54C.js +0 -1
- package/dist/app/chunks/html-UF3LFLNA.js +0 -1
- package/dist/app/chunks/java-PNTAU4L3.js +0 -1
- package/dist/app/chunks/javascript-4JJTQGEL.js +0 -1
- package/dist/app/chunks/json-VLQ6D3JH.js +0 -1
- package/dist/app/chunks/jsx-KQKSLAAH.js +0 -1
- package/dist/app/chunks/lua-UFPYUJ2O.js +0 -1
- package/dist/app/chunks/r-QEZB45SR.js +0 -1
- package/dist/app/chunks/sql-DTZHNUZP.js +0 -1
- package/dist/app/chunks/tsx-WPR2WRZD.js +0 -1
- package/dist/app/chunks/typescript-LWO362OA.js +0 -1
- package/dist/app/chunks/xml-A5H72RTS.js +0 -1
- package/dist/app/chunks/yaml-MXHSIJCI.js +0 -1
- package/dist/src/services/purgePendingNodes.d.ts +0 -32
- package/dist/src/services/purgePendingNodes.d.ts.map +0 -1
- package/dist/src/services/purgePendingNodes.js +0 -61
- package/dist/src/services/purgePendingNodes.js.map +0 -1
- /package/dist/app/chunks/{chunk-737Y24HS.js → chunk-3JASFUPF.js} +0 -0
- /package/dist/app/chunks/{chunk-DKD2L57N.js → chunk-6EYLOQ4F.js} +0 -0
- /package/dist/app/chunks/{chunk-KYH5EHHY.js → chunk-7YRZ5LOQ.js} +0 -0
- /package/dist/app/chunks/{chunk-6TC3DVWV.js → chunk-C7LU4RID.js} +0 -0
- /package/dist/app/chunks/{chunk-TY33BMKR.js → chunk-CD52YDZP.js} +0 -0
- /package/dist/app/chunks/{chunk-OLEIKJ3X.js → chunk-DCJKTCJ5.js} +0 -0
- /package/dist/app/chunks/{chunk-QLBZ4JR2.js → chunk-EXIU2KBV.js} +0 -0
- /package/dist/app/chunks/{chunk-SFUNBBEA.js → chunk-FDP4LO4P.js} +0 -0
- /package/dist/app/chunks/{chunk-BGRVFATT.js → chunk-HNETUS7U.js} +0 -0
- /package/dist/app/chunks/{chunk-4QNMHAIR.js → chunk-LBFZJEDR.js} +0 -0
- /package/dist/app/chunks/{chunk-TRRUHDPN.js → chunk-ULRXL5VM.js} +0 -0
- /package/dist/app/chunks/{chunk-S6B4WWIF.js → chunk-XJK47SMJ.js} +0 -0
- /package/dist/app/chunks/{chunk-DZ5C5FKI.js → chunk-YYAAIAU2.js} +0 -0
- /package/dist/app/chunks/{clojure-OC6KPSJO.js → clojure-4QCN4GHG.js} +0 -0
- /package/dist/app/chunks/{core-KGE7TQJ3.js → core-ZHTX3P2Q.js} +0 -0
- /package/dist/app/chunks/{csharp-E7VIFITL.js → csharp-HQWR4N52.js} +0 -0
- /package/dist/app/chunks/{dark-plus-BOSCZXE4.js → dark-plus-GYPKKZES.js} +0 -0
- /package/dist/app/chunks/{dart-6Y3X27SZ.js → dart-FO4TTVO2.js} +0 -0
- /package/dist/app/chunks/{diff-TR2NPA64.js → diff-SHANV4YC.js} +0 -0
- /package/dist/app/chunks/{dist-T32U2VVR.js → dist-WSDF34DM.js} +0 -0
- /package/dist/app/chunks/{docker-N33HOW54.js → docker-VX55HTDS.js} +0 -0
- /package/dist/app/chunks/{go-6DGG5UTP.js → go-5UCPEC6S.js} +0 -0
- /package/dist/app/chunks/{haskell-KK36PMMM.js → haskell-25PJ3OSG.js} +0 -0
- /package/dist/app/chunks/{ini-VHVQ5TPB.js → ini-BJIVD5MK.js} +0 -0
- /package/dist/app/chunks/{kotlin-44WS3JHE.js → kotlin-MNR6XOEQ.js} +0 -0
- /package/dist/app/chunks/{less-5WZ3KLAK.js → less-KA5JURX6.js} +0 -0
- /package/dist/app/chunks/{light-plus-HGGBC43G.js → light-plus-QXH2UUWZ.js} +0 -0
- /package/dist/app/chunks/{make-X7RXMVW7.js → make-LPD5KOCO.js} +0 -0
- /package/dist/app/chunks/{markdown-46IKUAIB.js → markdown-LMWF6MQR.js} +0 -0
- /package/dist/app/chunks/{mdx-DGLHDAO7.js → mdx-WPMNN5BS.js} +0 -0
- /package/dist/app/chunks/{nix-Q6FYQZLX.js → nix-QGWLUUMZ.js} +0 -0
- /package/dist/app/chunks/{powershell-L4KJJ6DK.js → powershell-7GSBBEFF.js} +0 -0
- /package/dist/app/chunks/{prisma-IKS4LVH2.js → prisma-FPMPQISO.js} +0 -0
- /package/dist/app/chunks/{proto-AYCDOTJO.js → proto-7KDX5Z2U.js} +0 -0
- /package/dist/app/chunks/{python-KXMCSAFQ.js → python-CFG4FTQW.js} +0 -0
- /package/dist/app/chunks/{rust-J3BC3P6V.js → rust-X7A37WU3.js} +0 -0
- /package/dist/app/chunks/{scala-AYIIHBJK.js → scala-OYHJSUG2.js} +0 -0
- /package/dist/app/chunks/{swift-QPHHCQD3.js → swift-PE7VNYW5.js} +0 -0
- /package/dist/app/chunks/{toml-UV7JK7K7.js → toml-ETQRDILP.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryVectorIndex.js","sourceRoot":"","sources":["../../../src/vector/InMemoryVectorIndex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InMemoryVectorIndex.js","sourceRoot":"","sources":["../../../src/vector/InMemoryVectorIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { QdrantClient, Schemas } from '@qdrant/js-client-rest';
|
|
2
2
|
import type { Logger } from '@neuralis/package-system/data';
|
|
3
|
-
import type { VectorCollectionMaintenance, VectorFacetHit, VectorFilter,
|
|
3
|
+
import type { VectorCollectionMaintenance, VectorFacetHit, VectorFilter, VectorBackend, PayloadDerivation, VectorPoint, VectorReadProjection, VectorSearchHit } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Split points into consecutive requests whose serialized size stays under
|
|
6
|
-
* `maxBytes`.
|
|
7
|
-
*
|
|
6
|
+
* `maxBytes`. An oversized single item is refused before any request is sent;
|
|
7
|
+
* order is preserved. The sender subtracts its complete envelope overhead.
|
|
8
8
|
*/
|
|
9
9
|
export declare function splitByRequestBytes<T>(points: T[], maxBytes: number): T[][];
|
|
10
10
|
/**
|
|
@@ -22,13 +22,30 @@ export type WirePoint = {
|
|
|
22
22
|
export declare function fetchCauseCode(err: unknown): string | undefined;
|
|
23
23
|
/** The retryable socket code of `err`, or `undefined` — an HTTP status, auth or size error never qualifies. */
|
|
24
24
|
export declare function retryableSocketCode(err: unknown): string | undefined;
|
|
25
|
+
type SocketRetryPolicy = {
|
|
26
|
+
maxRetries: number;
|
|
27
|
+
baseDelayMs: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Repeat ONE idempotent request when its socket was reset (`retryableSocketCode`
|
|
31
|
+
* only — an HTTP status, auth or size error is thrown at once). Each repeat logs
|
|
32
|
+
* `<event>` with the attempt, cause code and delay; an abort ends the backoff
|
|
33
|
+
* and no further attempt starts.
|
|
34
|
+
*/
|
|
35
|
+
export declare function retryOnSocketReset<T>(run: () => Promise<T>, opts: {
|
|
36
|
+
logger: Logger;
|
|
37
|
+
event: string;
|
|
38
|
+
meta: Record<string, unknown>;
|
|
39
|
+
signal?: AbortSignal;
|
|
40
|
+
policy?: SocketRetryPolicy;
|
|
41
|
+
onRetry?: () => void;
|
|
42
|
+
}): Promise<T>;
|
|
25
43
|
/**
|
|
26
44
|
* THE split-and-send path of every multi-point vector write: byte-bounded
|
|
27
|
-
* requests, sent in order, each one repeated on a socket reset only
|
|
28
|
-
* re-sends the SAME request (same ids,
|
|
29
|
-
* vectors are already in memory,
|
|
30
|
-
*
|
|
31
|
-
* ×4 per attempt); an abort ends the backoff and no further attempt starts.
|
|
45
|
+
* requests, sent in order, each one repeated on a socket reset only
|
|
46
|
+
* (`retryOnSocketReset`). A repeat re-sends the SAME request (same ids,
|
|
47
|
+
* `wait:true`), so it is idempotent; the vectors are already in memory,
|
|
48
|
+
* nothing is re-embedded.
|
|
32
49
|
*/
|
|
33
50
|
export declare function sendSplitUpsert(client: Pick<QdrantClient, 'upsert'>, collection: string, wire: WirePoint[], opts: {
|
|
34
51
|
logger: Logger;
|
|
@@ -58,7 +75,7 @@ export declare function forgetVectorCollectionState(): void;
|
|
|
58
75
|
export declare const __ensurePayloadIndexesForTest: (client: QdrantClient, collection: string, logger: Logger) => Promise<void>;
|
|
59
76
|
export declare class QdrantVectorIndex<TPayload extends {
|
|
60
77
|
id: string;
|
|
61
|
-
}> implements
|
|
78
|
+
}> implements VectorBackend<TPayload> {
|
|
62
79
|
#private;
|
|
63
80
|
readonly maintenance: VectorCollectionMaintenance;
|
|
64
81
|
constructor(params?: {
|
|
@@ -66,6 +83,14 @@ export declare class QdrantVectorIndex<TPayload extends {
|
|
|
66
83
|
logger?: Logger;
|
|
67
84
|
});
|
|
68
85
|
ensureAgentCollection(agentId: string): Promise<void>;
|
|
86
|
+
writePayload(point: Pick<VectorPoint<TPayload>, 'id' | 'payload'>): Promise<void>;
|
|
87
|
+
writePayloads(points: Array<Pick<VectorPoint<TPayload>, 'id' | 'payload'>>, derivation: PayloadDerivation<TPayload>): Promise<void>;
|
|
88
|
+
/** `update_vectors` (dense only — BM25 stays) + a merging `set_payload`; never re-creates a deleted point. */
|
|
89
|
+
patchPoints(points: Array<{
|
|
90
|
+
id: string;
|
|
91
|
+
vector?: number[];
|
|
92
|
+
patch: Partial<TPayload>;
|
|
93
|
+
}>): Promise<void>;
|
|
69
94
|
retainPayload(point: Pick<VectorPoint<TPayload>, 'id' | 'payload'>): Promise<void>;
|
|
70
95
|
upsert(point: VectorPoint<TPayload>): Promise<void>;
|
|
71
96
|
retrieve(id: string, projection?: VectorReadProjection): Promise<VectorPoint<TPayload> | null>;
|
|
@@ -109,4 +134,5 @@ export declare class QdrantVectorIndex<TPayload extends {
|
|
|
109
134
|
truncated: boolean;
|
|
110
135
|
}>;
|
|
111
136
|
}
|
|
137
|
+
export {};
|
|
112
138
|
//# sourceMappingURL=QdrantVectorIndex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QdrantVectorIndex.d.ts","sourceRoot":"","sources":["../../../src/vector/QdrantVectorIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"QdrantVectorIndex.d.ts","sourceRoot":"","sources":["../../../src/vector/QdrantVectorIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { VECTOR_WRITE_REQUEST_BYTES } from './types.js';
|
|
1
2
|
import { resolveNeuralisHome } from '@neuralis/package-system/paths';
|
|
2
|
-
import { noopLogger } from '@neuralis/package-system/data';
|
|
3
|
-
import { getNeuralisEnv, resolveTargetEmbeddingShape, generationFor, getBrainConfigString, getBrainConfigNumber, } from '../config/env.js';
|
|
4
|
-
import { forgetActiveLock, getActiveLock, mutateLock, peekActiveLock, buildLockRecord, sameVectorSpace, generationOf, } from '../embeddings/lock.js';
|
|
3
|
+
import { noopLogger, RecordNewerError } from '@neuralis/package-system/data';
|
|
4
|
+
import { getNeuralisEnv, resolveTargetEmbeddingShape, embeddingEnabled, generationFor, getBrainConfigString, getBrainConfigNumber, } from '../config/env.js';
|
|
5
|
+
import { forgetActiveLock, getActiveLock, mutateLock, peekActiveLock, buildLockRecord, buildMetadataLockRecord, sameVectorSpace, generationOf, EmbeddingLockInvalidError, } from '../embeddings/lock.js';
|
|
5
6
|
import { waitEmbedRetry } from '../embeddings/retry.js';
|
|
6
7
|
import { getQdrantClient } from './qdrantClient.js';
|
|
7
8
|
import { toQdrantFilter } from './qdrantFilter.js';
|
|
@@ -46,6 +47,8 @@ const FILESYSTEM_PAYLOAD_INDEXES = [
|
|
|
46
47
|
// Which model wrote the vector (`<modelId>@<dim>#<recipe>`), stamped only on
|
|
47
48
|
// a VECTOR write; the status counts it. Filter-only.
|
|
48
49
|
{ field: 'embed_model', type: 'keyword', hnsw: false },
|
|
50
|
+
{ field: 'embedding_status', type: 'keyword', hnsw: false },
|
|
51
|
+
{ field: 'embedding_generation', type: 'integer', hnsw: false },
|
|
49
52
|
];
|
|
50
53
|
/** Indexes no writer sets and no filter reads; the operator migration drops them. */
|
|
51
54
|
const RETIRED_PAYLOAD_INDEXES = ['projectName', 'agentName'];
|
|
@@ -63,11 +66,11 @@ const TEXT_RANKING_FIELD = 'content';
|
|
|
63
66
|
* chunk text), so a count bound cannot hold it — an append-shaped file's first
|
|
64
67
|
* index put 840 chunks in one request. 8 MiB leaves 4x headroom.
|
|
65
68
|
*/
|
|
66
|
-
const MAX_UPSERT_REQUEST_BYTES =
|
|
69
|
+
const MAX_UPSERT_REQUEST_BYTES = VECTOR_WRITE_REQUEST_BYTES;
|
|
67
70
|
/**
|
|
68
71
|
* Split points into consecutive requests whose serialized size stays under
|
|
69
|
-
* `maxBytes`.
|
|
70
|
-
*
|
|
72
|
+
* `maxBytes`. An oversized single item is refused before any request is sent;
|
|
73
|
+
* order is preserved. The sender subtracts its complete envelope overhead.
|
|
71
74
|
*/
|
|
72
75
|
export function splitByRequestBytes(points, maxBytes) {
|
|
73
76
|
const requests = [];
|
|
@@ -75,6 +78,8 @@ export function splitByRequestBytes(points, maxBytes) {
|
|
|
75
78
|
let currentBytes = 0;
|
|
76
79
|
for (const point of points) {
|
|
77
80
|
const bytes = Buffer.byteLength(JSON.stringify(point), 'utf8') + 1;
|
|
81
|
+
if (bytes > maxBytes)
|
|
82
|
+
throw new Error('VECTOR_REQUEST_TOO_LARGE');
|
|
78
83
|
if (current.length > 0 && currentBytes + bytes > maxBytes) {
|
|
79
84
|
requests.push(current);
|
|
80
85
|
current = [];
|
|
@@ -88,7 +93,7 @@ export function splitByRequestBytes(points, maxBytes) {
|
|
|
88
93
|
return requests;
|
|
89
94
|
}
|
|
90
95
|
/**
|
|
91
|
-
* The socket failures a
|
|
96
|
+
* The socket failures a request may repeat. Qdrant closes an idle keep-alive
|
|
92
97
|
* connection after `service.http_keep_alive_timeout_sec` (5 s by default)
|
|
93
98
|
* while the client's pool keeps it for 10 s (`@qdrant/js-client-rest` hardcodes
|
|
94
99
|
* `keepAliveTimeout: 10_000` and exposes no option), so a request can be
|
|
@@ -114,46 +119,59 @@ export function retryableSocketCode(err) {
|
|
|
114
119
|
const codes = [errorCode(causeOf(err)), errorCode(causeOf(causeOf(err)))];
|
|
115
120
|
return codes.find((code) => code !== undefined && RETRYABLE_SOCKET_CODES.has(code));
|
|
116
121
|
}
|
|
122
|
+
/** Read per call: `vectorStoreWriteMaxRetries` attempts, `vectorStoreWriteRetryDelayMs` ×4 per attempt. */
|
|
123
|
+
function socketRetryPolicy() {
|
|
124
|
+
return {
|
|
125
|
+
maxRetries: Math.max(0, Math.floor(getBrainConfigNumber('vectorStoreWriteMaxRetries', undefined, 2))),
|
|
126
|
+
baseDelayMs: Math.max(0, getBrainConfigNumber('vectorStoreWriteRetryDelayMs', undefined, 250)),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Repeat ONE idempotent request when its socket was reset (`retryableSocketCode`
|
|
131
|
+
* only — an HTTP status, auth or size error is thrown at once). Each repeat logs
|
|
132
|
+
* `<event>` with the attempt, cause code and delay; an abort ends the backoff
|
|
133
|
+
* and no further attempt starts.
|
|
134
|
+
*/
|
|
135
|
+
export async function retryOnSocketReset(run, opts) {
|
|
136
|
+
const { maxRetries, baseDelayMs } = opts.policy ?? socketRetryPolicy();
|
|
137
|
+
for (let attempt = 0;; attempt += 1) {
|
|
138
|
+
try {
|
|
139
|
+
return await run();
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
const causeCode = retryableSocketCode(err);
|
|
143
|
+
if (!causeCode || attempt >= maxRetries || opts.signal?.aborted)
|
|
144
|
+
throw err;
|
|
145
|
+
const delayMs = baseDelayMs * 4 ** attempt;
|
|
146
|
+
opts.logger.warn(opts.event, { ...opts.meta, attempt: attempt + 1, causeCode, delayMs });
|
|
147
|
+
await waitEmbedRetry(delayMs, opts.signal, 'VECTOR_WRITE_ABORTED');
|
|
148
|
+
opts.onRetry?.();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
117
152
|
/**
|
|
118
153
|
* THE split-and-send path of every multi-point vector write: byte-bounded
|
|
119
|
-
* requests, sent in order, each one repeated on a socket reset only
|
|
120
|
-
* re-sends the SAME request (same ids,
|
|
121
|
-
* vectors are already in memory,
|
|
122
|
-
*
|
|
123
|
-
* ×4 per attempt); an abort ends the backoff and no further attempt starts.
|
|
154
|
+
* requests, sent in order, each one repeated on a socket reset only
|
|
155
|
+
* (`retryOnSocketReset`). A repeat re-sends the SAME request (same ids,
|
|
156
|
+
* `wait:true`), so it is idempotent; the vectors are already in memory,
|
|
157
|
+
* nothing is re-embedded.
|
|
124
158
|
*/
|
|
125
159
|
export async function sendSplitUpsert(client, collection, wire, opts) {
|
|
126
|
-
const requests = splitByRequestBytes(wire, MAX_UPSERT_REQUEST_BYTES);
|
|
127
|
-
const
|
|
128
|
-
const baseDelayMs = Math.max(0, getBrainConfigNumber('vectorStoreWriteRetryDelayMs', undefined, 250));
|
|
160
|
+
const requests = splitByRequestBytes(wire, MAX_UPSERT_REQUEST_BYTES - Buffer.byteLength(JSON.stringify({ points: [], wait: true }), 'utf8'));
|
|
161
|
+
const policy = socketRetryPolicy();
|
|
129
162
|
let retries = 0;
|
|
130
163
|
// Sequential: every request is one bounded body, and a file's chunks land in
|
|
131
164
|
// order — a failure leaves the parent unwritten (chunk-before-parent), so the
|
|
132
165
|
// next pass re-converges on the deterministic ids.
|
|
133
166
|
for (const [index, points] of requests.entries()) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
throw err;
|
|
143
|
-
const delayMs = baseDelayMs * 4 ** attempt;
|
|
144
|
-
opts.logger.warn('vector.upsert.retry', {
|
|
145
|
-
collection,
|
|
146
|
-
request: index + 1,
|
|
147
|
-
requestCount: requests.length,
|
|
148
|
-
pointCount: points.length,
|
|
149
|
-
attempt: attempt + 1,
|
|
150
|
-
causeCode,
|
|
151
|
-
delayMs,
|
|
152
|
-
});
|
|
153
|
-
await waitEmbedRetry(delayMs, opts.signal, 'VECTOR_WRITE_ABORTED');
|
|
154
|
-
retries += 1;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
167
|
+
await retryOnSocketReset(() => client.upsert(collection, { points, wait: true }), {
|
|
168
|
+
logger: opts.logger,
|
|
169
|
+
event: 'vector.upsert.retry',
|
|
170
|
+
meta: { collection, request: index + 1, requestCount: requests.length, pointCount: points.length },
|
|
171
|
+
policy,
|
|
172
|
+
onRetry: () => { retries += 1; },
|
|
173
|
+
...(opts.signal ? { signal: opts.signal } : {}),
|
|
174
|
+
});
|
|
157
175
|
}
|
|
158
176
|
return { requestCount: requests.length, retries };
|
|
159
177
|
}
|
|
@@ -294,25 +312,22 @@ function readCollectionVectorSize(payload) {
|
|
|
294
312
|
const maybeSize = vectors.size;
|
|
295
313
|
if (typeof maybeSize === 'number' && Number.isFinite(maybeSize))
|
|
296
314
|
return maybeSize;
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (typeof namedSize === 'number' && Number.isFinite(namedSize))
|
|
301
|
-
return namedSize;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
315
|
+
const named = vectors;
|
|
316
|
+
if (Object.keys(named).length)
|
|
317
|
+
throw Object.assign(new Error('QDRANT_COLLECTION_SCHEMA_UNSUPPORTED'), { code: 'vector_collection_schema_unsupported' });
|
|
304
318
|
}
|
|
305
319
|
return null;
|
|
306
320
|
}
|
|
307
321
|
function assertCollectionDimensionMatches(params) {
|
|
308
|
-
if (params.qdrantDimension ===
|
|
322
|
+
if (params.qdrantDimension === params.expectedDimension)
|
|
309
323
|
return;
|
|
310
324
|
const lockDetails = params.lockDimension
|
|
311
325
|
? ` lock=${params.lockDimension} (${params.lockModelId ?? 'unknown'})`
|
|
312
326
|
: ' no embedding-lock.json present';
|
|
313
327
|
throw new Error(`QDRANT_COLLECTION_DIMENSION_MISMATCH: collection '${params.collection}' exists with dim=${params.qdrantDimension}, ` +
|
|
314
328
|
`but platform expects dim=${params.expectedDimension} (${params.expectedModelId});${lockDetails}. ` +
|
|
315
|
-
`
|
|
329
|
+
`Restore the matching stored generation/schema before serving dense queries; preserve payload and recovery data. ` +
|
|
330
|
+
`A full vector-store reset is separately destructive and is not required to change the configured target model.`);
|
|
316
331
|
}
|
|
317
332
|
// ── Optional human-readable, colour-coded vector-op console log ──────────────
|
|
318
333
|
// OFF by default; set BRAIN_VECTOR_LOG_CONSOLE to tee one compact, coloured
|
|
@@ -438,57 +453,46 @@ async function ensureCollection(client, collection, logger) {
|
|
|
438
453
|
// a reason to refuse the collection the index already runs on.
|
|
439
454
|
const lock = await getActiveLock(appRoot);
|
|
440
455
|
let target = null;
|
|
441
|
-
|
|
442
|
-
|
|
456
|
+
if (embeddingEnabled() && lock?.mode === 'dense') {
|
|
457
|
+
try {
|
|
458
|
+
target = resolveTargetEmbeddingShape();
|
|
459
|
+
}
|
|
460
|
+
catch (err) {
|
|
461
|
+
if (!lock)
|
|
462
|
+
throw err;
|
|
463
|
+
logger.warn('vector.target_model_invalid', { error: err instanceof Error ? err.message : String(err) });
|
|
464
|
+
}
|
|
443
465
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
if (lock && target && !sameVectorSpace(generationOf(lock), generationFor(target.info, target.dimension))) {
|
|
454
|
-
logger.warn('vector.model_switch_pending', {
|
|
455
|
-
active: `${lock.modelId}@${lock.dimension}#${lock.embedRecipe}`,
|
|
456
|
-
target: `${target.info.id}@${target.dimension}`,
|
|
457
|
-
hint: 'Nothing switches by itself: estimate and start the rebuild from the Vector section (health/collection rebuild-generation).',
|
|
458
|
-
});
|
|
466
|
+
// No lock yet + embedding on ⇒ the CONFIGURED model is the first dense
|
|
467
|
+
// generation — for a new collection and for one that pre-existed without a
|
|
468
|
+
// lock (its label is inferred: `backfilledAt`), shape-checked below. Metadata
|
|
469
|
+
// serving is only the off / fresh-skip state.
|
|
470
|
+
let dense = lock?.mode === 'dense' ? lock : null;
|
|
471
|
+
if (!lock && embeddingEnabled()) {
|
|
472
|
+
const initial = resolveTargetEmbeddingShape();
|
|
473
|
+
dense = generationFor(initial.info, initial.dimension);
|
|
474
|
+
}
|
|
475
|
+
if (lock?.mode === 'dense' && target && !sameVectorSpace(generationOf(lock), generationFor(target.info, target.dimension))) {
|
|
476
|
+
logger.warn('vector.model_switch_pending', { active: `${lock.modelId}@${lock.dimension}#${lock.embedRecipe}`, target: `${target.info.id}@${target.dimension}` });
|
|
459
477
|
}
|
|
460
478
|
let existed = true;
|
|
461
479
|
try {
|
|
462
|
-
const
|
|
463
|
-
collectionFeatures.set(collection, readCollectionFeatures(
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
qdrantDimension:
|
|
467
|
-
|
|
468
|
-
expectedModelId: expected.modelId,
|
|
469
|
-
lockDimension: lock?.dimension,
|
|
470
|
-
lockModelId: lock?.modelId,
|
|
471
|
-
});
|
|
480
|
+
const existing = await client.getCollection(collection);
|
|
481
|
+
collectionFeatures.set(collection, readCollectionFeatures(existing));
|
|
482
|
+
const actual = readCollectionVectorSize(existing);
|
|
483
|
+
if (dense)
|
|
484
|
+
assertCollectionDimensionMatches({ collection, qdrantDimension: actual, expectedDimension: dense.dimension, expectedModelId: dense.modelId });
|
|
485
|
+
// Metadata mode certifies no active vector space; existing unknown dense is preserved.
|
|
472
486
|
}
|
|
473
487
|
catch (err) {
|
|
474
|
-
if (err
|
|
488
|
+
if (!isCollectionMissingError(err))
|
|
475
489
|
throw err;
|
|
476
|
-
}
|
|
477
490
|
existed = false;
|
|
478
|
-
await createFilesystemCollection(client, collection,
|
|
479
|
-
logger.info('vector.collection.created', {
|
|
480
|
-
collection,
|
|
481
|
-
dimension: expected.dimension,
|
|
482
|
-
distance: 'Cosine',
|
|
483
|
-
textRanking: collectionFeatures.get(collection)?.textRanking ?? false,
|
|
484
|
-
serverVersion: knownServerVersion,
|
|
485
|
-
});
|
|
491
|
+
await createFilesystemCollection(client, collection, dense?.dimension ?? null);
|
|
492
|
+
logger.info('vector.collection.created', { collection, dimension: dense?.dimension ?? null, textRanking: collectionFeatures.get(collection)?.textRanking ?? false, serverVersion: knownServerVersion });
|
|
486
493
|
}
|
|
487
|
-
// First creation writes the lock. A collection that pre-existed WITHOUT a
|
|
488
|
-
// lock gets one too, but its model label is the configured one — inferred,
|
|
489
|
-
// not known — so the record says so (`backfilledAt`).
|
|
490
494
|
if (!lock) {
|
|
491
|
-
await mutateLock(appRoot,
|
|
495
|
+
await mutateLock(appRoot, current => current ?? (dense ? buildLockRecord(dense, collection, { backfilled: existed }) : buildMetadataLockRecord(collection)));
|
|
492
496
|
}
|
|
493
497
|
await ensurePayloadIndexes(client, collection, logger);
|
|
494
498
|
initializedCollections.add(collection);
|
|
@@ -502,7 +506,7 @@ async function ensureCollection(client, collection, logger) {
|
|
|
502
506
|
async function createFilesystemCollection(client, collection, dimension) {
|
|
503
507
|
const textRanking = serverRunsBm25(knownServerVersion);
|
|
504
508
|
await client.createCollection(collection, {
|
|
505
|
-
vectors: { size: dimension, distance: 'Cosine' },
|
|
509
|
+
vectors: dimension === null ? {} : { size: dimension, distance: 'Cosine' },
|
|
506
510
|
hnsw_config: {
|
|
507
511
|
// m: 0 disables the global HNSW graph (we never search without tenant filters).
|
|
508
512
|
// payload_m: 16 is the degree of the per-VALUE subgraphs the optimizer
|
|
@@ -755,6 +759,9 @@ export class QdrantVectorIndex {
|
|
|
755
759
|
await ensureCollection(this.#client, collection, this.#logger);
|
|
756
760
|
}
|
|
757
761
|
catch (err) {
|
|
762
|
+
if (err instanceof EmbeddingLockInvalidError || err instanceof RecordNewerError
|
|
763
|
+
|| (err && typeof err === 'object' && 'code' in err && err.code === 'vector_collection_schema_unsupported'))
|
|
764
|
+
throw err;
|
|
758
765
|
// Non-fatal: if Qdrant is unreachable the subsequent operations will
|
|
759
766
|
// fail individually with their own error messages. Blocking every
|
|
760
767
|
// usecase at this point is worse than letting them try and degrade.
|
|
@@ -767,6 +774,43 @@ export class QdrantVectorIndex {
|
|
|
767
774
|
}
|
|
768
775
|
}
|
|
769
776
|
}
|
|
777
|
+
async writePayload(point) {
|
|
778
|
+
const payload = point.payload;
|
|
779
|
+
const collection = collectionForAgent(String(payload.agentId ?? ''));
|
|
780
|
+
await this.#withCollectionRecovery(collection, async (target) => {
|
|
781
|
+
const { textRanking } = await this.#features(target);
|
|
782
|
+
await timed(this.#logger, 'writePayload', { collection: target, id: point.id }, () => writeNativePayload(this.#client, target, { id: point.id, payload }, textRanking));
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
async writePayloads(points, derivation) {
|
|
786
|
+
if (!points.length)
|
|
787
|
+
return;
|
|
788
|
+
const collection = currentCollection();
|
|
789
|
+
await this.#withCollectionRecovery(collection, async (target) => {
|
|
790
|
+
const { textRanking } = await this.#features(target);
|
|
791
|
+
await timed(this.#logger, 'writePayloadBatch', { collection: target, pointCount: points.length }, () => writeNativePayloads(this.#client, target, points, textRanking, derivation));
|
|
792
|
+
});
|
|
793
|
+
}
|
|
794
|
+
/** `update_vectors` (dense only — BM25 stays) + a merging `set_payload`; never re-creates a deleted point. */
|
|
795
|
+
async patchPoints(points) {
|
|
796
|
+
if (!points.length)
|
|
797
|
+
return;
|
|
798
|
+
await this.#withCollectionRecovery(currentCollection(), async (target) => {
|
|
799
|
+
const { textRanking } = await this.#features(target);
|
|
800
|
+
const operations = [];
|
|
801
|
+
for (const point of points) {
|
|
802
|
+
if (point.vector)
|
|
803
|
+
operations.push({ update_vectors: { points: [{ id: point.id, vector: textRanking ? { '': point.vector } : point.vector }] } });
|
|
804
|
+
operations.push({ set_payload: { points: [point.id], payload: point.patch } });
|
|
805
|
+
}
|
|
806
|
+
const overhead = Buffer.byteLength(JSON.stringify({ operations: [], wait: true }), 'utf8');
|
|
807
|
+
await timed(this.#logger, 'patchPoints', { collection: target, pointCount: points.length }, async () => {
|
|
808
|
+
for (const request of splitByRequestBytes(operations, MAX_UPSERT_REQUEST_BYTES - overhead)) {
|
|
809
|
+
await this.#client.batchUpdate(target, { wait: true, operations: request });
|
|
810
|
+
}
|
|
811
|
+
});
|
|
812
|
+
});
|
|
813
|
+
}
|
|
770
814
|
async retainPayload(point) {
|
|
771
815
|
const collection = collectionForAgent(String(point.payload.agentId ?? ''));
|
|
772
816
|
await this.#withCollectionRecovery(collection, async (target) => {
|
|
@@ -810,6 +854,8 @@ export class QdrantVectorIndex {
|
|
|
810
854
|
* write, never a loop.
|
|
811
855
|
*/
|
|
812
856
|
async #withCollectionRecovery(collection, write) {
|
|
857
|
+
await getActiveLock(resolveNeuralisHome().appRoot);
|
|
858
|
+
collection = currentCollection();
|
|
813
859
|
try {
|
|
814
860
|
await write(collection);
|
|
815
861
|
}
|
|
@@ -896,7 +942,9 @@ export class QdrantVectorIndex {
|
|
|
896
942
|
filterKeys: filterKeys(params.filter),
|
|
897
943
|
hasCursor: Boolean(params.cursor),
|
|
898
944
|
}, async () => {
|
|
899
|
-
|
|
945
|
+
// A read is idempotent: a scroll that meets a reset socket (the idle
|
|
946
|
+
// keep-alive window above) is repeated like a write.
|
|
947
|
+
const res = await retryOnSocketReset(() => this.#client.scroll(collection, {
|
|
900
948
|
limit: params.limit,
|
|
901
949
|
filter: toQdrantFilter(params.filter),
|
|
902
950
|
// Projected when the caller asked for specific fields — a folder-colouring
|
|
@@ -904,6 +952,10 @@ export class QdrantVectorIndex {
|
|
|
904
952
|
with_payload: params.payloadFields?.length ? params.payloadFields : true,
|
|
905
953
|
with_vector: false,
|
|
906
954
|
offset: params.cursor ? params.cursor : undefined,
|
|
955
|
+
}), {
|
|
956
|
+
logger: this.#logger,
|
|
957
|
+
event: 'vector.scroll.retry',
|
|
958
|
+
meta: { collection, filterKeys: filterKeys(params.filter) },
|
|
907
959
|
});
|
|
908
960
|
const pointsRaw = res?.points ?? res?.result?.points ?? [];
|
|
909
961
|
const nextOffset = res?.next_page_offset ?? res?.result?.next_page_offset ?? null;
|
|
@@ -1190,6 +1242,11 @@ class QdrantGenerationCollections {
|
|
|
1190
1242
|
await ensurePayloadIndexes(this.#client, collection, this.#logger);
|
|
1191
1243
|
this.#logger.info('vector.generation.created', { collection, dimension });
|
|
1192
1244
|
}
|
|
1245
|
+
async validate(collection, dimension) {
|
|
1246
|
+
const info = await this.#client.getCollection(collection);
|
|
1247
|
+
if (readCollectionVectorSize(info) !== dimension)
|
|
1248
|
+
throw new Error('SHADOW_COLLECTION_DIMENSION_MISMATCH');
|
|
1249
|
+
}
|
|
1193
1250
|
async drop(collection) {
|
|
1194
1251
|
await this.#client.deleteCollection(collection);
|
|
1195
1252
|
initializedCollections.delete(collection);
|
|
@@ -1211,6 +1268,10 @@ class QdrantGenerationCollections {
|
|
|
1211
1268
|
}));
|
|
1212
1269
|
await timed(this.#logger, 'generation.upsert', { collection, pointCount: points.length }, () => sendSplitUpsert(this.#client, collection, wire, { logger: this.#logger, ...(opts?.signal ? { signal: opts.signal } : {}) }), (sent) => sent);
|
|
1213
1270
|
}
|
|
1271
|
+
async writePayload(collection, point) {
|
|
1272
|
+
const textRanking = collectionFeatures.get(collection)?.textRanking ?? false;
|
|
1273
|
+
await timed(this.#logger, 'generation.writePayload', { collection, id: point.id }, () => writeNativePayload(this.#client, collection, point, textRanking));
|
|
1274
|
+
}
|
|
1214
1275
|
async retainPayload(collection, point) {
|
|
1215
1276
|
await timed(this.#logger, 'generation.retainPayload', { collection, id: point.id }, async () => {
|
|
1216
1277
|
await this.#client.upsert(collection, { wait: true, points: [{ id: point.id, vector: {}, payload: { ...point.payload, id: point.id } }] });
|
|
@@ -1379,6 +1440,9 @@ class QdrantCollectionMaintenance {
|
|
|
1379
1440
|
*/
|
|
1380
1441
|
async applyQuantization(mode) {
|
|
1381
1442
|
const collection = currentCollection();
|
|
1443
|
+
if (readCollectionVectorSize(await this.#client.getCollection(collection)) === null) {
|
|
1444
|
+
return { applied: { applicable: false, reason: 'dense_schema_missing' } };
|
|
1445
|
+
}
|
|
1382
1446
|
const applied = {
|
|
1383
1447
|
vectors: { '': { on_disk: mode !== 'off' } },
|
|
1384
1448
|
quantization_config: quantizationConfig(mode),
|
|
@@ -1389,6 +1453,24 @@ class QdrantCollectionMaintenance {
|
|
|
1389
1453
|
this.#logger.info('vector.collection.quantization', { collection, mode });
|
|
1390
1454
|
return { applied };
|
|
1391
1455
|
}
|
|
1456
|
+
async clearDense(params) {
|
|
1457
|
+
const collection = currentCollection();
|
|
1458
|
+
if (!params.cursor && readCollectionVectorSize(await this.#client.getCollection(collection)) === null)
|
|
1459
|
+
return { processed: 0, applicable: false };
|
|
1460
|
+
const page = await this.#client.scroll(collection, {
|
|
1461
|
+
limit: Math.max(1, Math.floor(params.limit)), with_payload: false, with_vector: false,
|
|
1462
|
+
...(params.cursor ? { offset: params.cursor } : {}),
|
|
1463
|
+
});
|
|
1464
|
+
const ids = page.points.map(point => point.id);
|
|
1465
|
+
if (ids.length) {
|
|
1466
|
+
await this.#client.batchUpdate(collection, { wait: true, operations: [
|
|
1467
|
+
{ set_payload: { points: ids, payload: { embedding_status: 'missing' } } },
|
|
1468
|
+
{ delete_vectors: { points: ids, vector: [''] } },
|
|
1469
|
+
] });
|
|
1470
|
+
}
|
|
1471
|
+
const next = page.next_page_offset;
|
|
1472
|
+
return { processed: ids.length, applicable: true, ...(next === undefined || next === null ? {} : { nextCursor: String(next) }) };
|
|
1473
|
+
}
|
|
1392
1474
|
/** The BM25 sparse vector, added to an OLDER collection (server >= 1.18; no re-create); a new one is created with it. */
|
|
1393
1475
|
async enableTextRanking() {
|
|
1394
1476
|
const collection = currentCollection();
|
|
@@ -1445,4 +1527,41 @@ class QdrantCollectionMaintenance {
|
|
|
1445
1527
|
return features;
|
|
1446
1528
|
}
|
|
1447
1529
|
}
|
|
1530
|
+
/** Native payload replacement never transfers dense floats through this process. */
|
|
1531
|
+
async function writeNativePayload(client, collection, point, textRanking) {
|
|
1532
|
+
await writeNativePayloads(client, collection, [point], textRanking, KEEP_PAYLOAD);
|
|
1533
|
+
}
|
|
1534
|
+
/** The identity derivation: the caller's payload is written as given. */
|
|
1535
|
+
const KEEP_PAYLOAD = { readFields: [], derive: point => point.payload };
|
|
1536
|
+
/** A batch is ordered durable requests, never a transaction or rollback guarantee. */
|
|
1537
|
+
async function writeNativePayloads(client, collection, points, textRanking, derivation) {
|
|
1538
|
+
const hits = await client.retrieve(collection, { ids: points.map(point => point.id), with_payload: [TEXT_RANKING_FIELD, 'sparse_status', ...derivation.readFields], with_vector: false });
|
|
1539
|
+
const existing = new Map(hits.map(hit => [String(hit.id), hit]));
|
|
1540
|
+
const operations = [];
|
|
1541
|
+
for (const point of points) {
|
|
1542
|
+
const current = existing.get(point.id);
|
|
1543
|
+
const stored = current ? Object.fromEntries(derivation.readFields.filter(field => current.payload && field in current.payload).map(field => [field, current.payload[field]])) : undefined;
|
|
1544
|
+
const payload = { ...derivation.derive(point, stored), id: point.id };
|
|
1545
|
+
const text = textRankingText(payload);
|
|
1546
|
+
const sparseChanged = textRanking && (!current || current.payload?.[TEXT_RANKING_FIELD] !== payload[TEXT_RANKING_FIELD] || current.payload?.sparse_status === 'missing');
|
|
1547
|
+
const storedPayload = sparseChanged ? { ...payload, sparse_status: 'missing' } : payload;
|
|
1548
|
+
if (sparseChanged && current)
|
|
1549
|
+
operations.push({ delete_vectors: { points: [point.id], vector: [TEXT_RANKING_VECTOR] } });
|
|
1550
|
+
if (current)
|
|
1551
|
+
operations.push({ overwrite_payload: { points: [point.id], payload: storedPayload } });
|
|
1552
|
+
else
|
|
1553
|
+
operations.push({ upsert: { points: [{ id: point.id, vector: {}, payload: storedPayload }] } });
|
|
1554
|
+
if (sparseChanged && text) {
|
|
1555
|
+
operations.push({ update_vectors: { points: [{ id: point.id, vector: { [TEXT_RANKING_VECTOR]: { text, model: TEXT_RANKING_MODEL } } }] } });
|
|
1556
|
+
operations.push({ set_payload: { points: [point.id], payload: { sparse_status: 'current' } } });
|
|
1557
|
+
}
|
|
1558
|
+
}
|
|
1559
|
+
// Validate EVERY operation before sending the first. A runtime404 leaves a
|
|
1560
|
+
// durable prefix; retries re-read payload state and reconcile, never recreate
|
|
1561
|
+
// a point from a stale overwrite request. Only known-new points use upsert.
|
|
1562
|
+
const overhead = Buffer.byteLength(JSON.stringify({ operations: [], wait: true }), 'utf8');
|
|
1563
|
+
const requests = splitByRequestBytes(operations, MAX_UPSERT_REQUEST_BYTES - overhead);
|
|
1564
|
+
for (const operations of requests)
|
|
1565
|
+
await client.batchUpdate(collection, { wait: true, operations });
|
|
1566
|
+
}
|
|
1448
1567
|
//# sourceMappingURL=QdrantVectorIndex.js.map
|