@neuralis/brain-core 0.1.0 → 0.2.1
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/README.md +1 -1
- 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 +4 -4
- package/app/filesystem/api/README.md +3 -3
- package/app/filesystem/api/index.ts +137 -123
- package/app/filesystem/domain/types.ts +36 -5
- package/app/filesystem/hooks/README.md +5 -5
- package/app/filesystem/hooks/useDiscoverableSources.ts +4 -2
- package/app/filesystem/hooks/useFilesystemSSE.ts +31 -23
- package/app/filesystem/hooks/useGitChangesInventory.ts +4 -2
- package/app/filesystem/host/README.md +3 -2
- package/app/filesystem/host/installFilesystemHostComponents.tsx +22 -9
- package/app/filesystem/store/README.md +11 -7
- package/app/filesystem/store/filesystemStore.ts +454 -162
- package/app/filesystem/store/gitSlice.ts +6 -6
- package/app/filesystem/store/listSlice.ts +10 -6
- package/app/filesystem/store/searchSlice.ts +27 -4
- package/app/filesystem/ui/FileEditor.tsx +48 -35
- package/app/filesystem/ui/FileTree.tsx +10 -9
- package/app/filesystem/ui/FileTreeSearch.tsx +29 -2
- package/app/filesystem/ui/GitCommitChangesView.tsx +5 -3
- package/app/filesystem/ui/GitCommitGraph.tsx +6 -5
- package/app/filesystem/ui/GitControlPanel.tsx +14 -13
- package/app/filesystem/ui/GitDiffView.tsx +2 -1
- package/app/filesystem/ui/GitFileDiff.tsx +7 -6
- package/app/filesystem/ui/PendingChangesPanel.tsx +88 -28
- package/app/filesystem/ui/PendingReviewDialog.tsx +52 -24
- package/app/filesystem/ui/README.md +8 -7
- package/app/filesystem/ui/ReembedDialog.tsx +22 -9
- package/app/filesystem/ui/SourceDeleteConfirm.tsx +1 -1
- package/app/filesystem/ui/SourcesPanel.tsx +135 -42
- package/app/filesystem/ui/VectorHealthPanel.tsx +20 -4
- 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 +46 -46
- 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 +1000 -11
- 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 +5 -4
- 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 +9 -6
- 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 +50 -4
- 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/app/filesystem/hooks/useContainerWidth.ts +0 -39
- 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":"fs_write.js","sourceRoot":"","sources":["../../../src/tools/fs_write.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fs_write.js","sourceRoot":"","sources":["../../../src/tools/fs_write.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,GAAgB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACpD,MAAM,KAAK,GAAG,GAAqB,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACpF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC,CAAE,IAAgC;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAiB;YAC5B,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAsC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAsD,CAAC;QAC3E,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE;YAC9C,WAAW,EAAE,KAAK;YAClB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SAChE,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,MAA6C,CAAC;QACjF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,iBAAiB,EAAE,YAAkD;YACrE,0EAA0E;YAC1E,kEAAkE;YAClE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK;YAC5B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,wEAAwE;QACxE,4EAA4E;QAC5E,uEAAuE;QACvE,oBAAoB;QACpB,EAAE;QACF,4EAA4E;QAC5E,0EAA0E;QAC1E,mEAAmE;QACnE,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,MAAM,GAAG,GAAgE,CAAC;QAChF,IAAI,MAAM,EAAE,IAAI,KAAK,0BAA0B,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrF,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,SAAS,gBAAgB,MAAM,CAAC,MAAM,IAAI,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnD,iBAAiB,EAAE;oBACjB,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,mBAAmB;oBAC1B,IAAI,EAAE,0BAA0B;oBAChC,OAAO;iBACR;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACnD,iBAAiB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE;YAC9F,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC;AAEvB,2EAA2E;AAC3E,SAAS,QAAQ,CAAC,MAAqB;IACrC,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,kBAAkB,MAAM,CAAC,KAAK,IAAI,SAAS,MAAM,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM;QACpC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC;IAC3D,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,mDAAmD,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChH,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;AAC7F,CAAC"}
|
|
@@ -13,6 +13,8 @@ export type ChunkUpsertResult = {
|
|
|
13
13
|
embedded: number;
|
|
14
14
|
skipped: number;
|
|
15
15
|
orphansDeleted: number;
|
|
16
|
+
embeddingDegraded?: string;
|
|
17
|
+
completeEmbedding?: () => Promise<void>;
|
|
16
18
|
};
|
|
17
19
|
/**
|
|
18
20
|
* Smart chunk upsert: content-aware splitting, batch embedding, orphan cleanup.
|
|
@@ -35,6 +37,8 @@ export type ChunkUpsertResult = {
|
|
|
35
37
|
*/
|
|
36
38
|
export declare function upsertChunksForContent(deps: ChunkUpsertDeps, parentId: string, parentFields: ChunkParentFields, content: string, filename: string, usage: Usage, opts?: {
|
|
37
39
|
skipExistingFetch?: boolean;
|
|
40
|
+
/** Commit parent data before invoking the deferred dense completion. */
|
|
41
|
+
deferEmbedding?: boolean;
|
|
38
42
|
signal?: AbortSignal;
|
|
39
43
|
/**
|
|
40
44
|
* The stored file's length in chars, PROVEN a prefix of `content` by the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunkUpsert.d.ts","sourceRoot":"","sources":["../../../src/usecases/chunkUpsert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAgB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"chunkUpsert.d.ts","sourceRoot":"","sources":["../../../src/usecases/chunkUpsert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAgB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EACjD,QAAQ,GAAG,WAAW,GAAG,SAAS,GAClC,KAAK,GAAG,kBAAkB,GAC1B,UAAU,GAAG,QAAQ,GACrB,QAAQ,CACT,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE;IACJ,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,iBAAiB,CAAC,CA8I5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,KAAK,GAAG,kBAAkB,GAAG,UAAU,GAAG,QAAQ,CAAC,GAClG,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAiB7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAOjG;AASD;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,EACvC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -2,6 +2,9 @@ import { mergeUsage } from '../domain/usage.js';
|
|
|
2
2
|
import { chunkContent, isAppendShaped } from '../domain/chunker.js';
|
|
3
3
|
import { deriveChunkId } from '../domain/chunkId.js';
|
|
4
4
|
import { computeContentHash } from '../domain/contentHash.js';
|
|
5
|
+
import { denseEmbeddingProof } from './syncPointWrites.js';
|
|
6
|
+
import { embeddingEnabled } from '../config/env.js';
|
|
7
|
+
import { embeddingUnavailableReason } from '../embeddings/factory.js';
|
|
5
8
|
/**
|
|
6
9
|
* Smart chunk upsert: content-aware splitting, batch embedding, orphan cleanup.
|
|
7
10
|
*
|
|
@@ -55,65 +58,55 @@ export async function upsertChunksForContent(deps, parentId, parentFields, conte
|
|
|
55
58
|
toEmbed.push(c);
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
else {
|
|
69
|
-
// Fallback: sequential single embeds
|
|
70
|
-
for (const c of toEmbed) {
|
|
71
|
-
opts.signal?.throwIfAborted();
|
|
72
|
-
const result = await deps.embedder.embedText(c.text, embedOpts);
|
|
73
|
-
embeddings.push(result.embedding);
|
|
74
|
-
if (result.usage)
|
|
75
|
-
mergeUsage(usage, result.usage);
|
|
76
|
-
}
|
|
61
|
+
const forcedPayloads = new Map();
|
|
62
|
+
if (opts.force) {
|
|
63
|
+
for (let start = 0; start < toEmbed.length; start += 200) {
|
|
64
|
+
const ids = toEmbed.slice(start, start + 200).map(chunk => chunk.id);
|
|
65
|
+
const page = await deps.vector.scroll({ filter: {
|
|
66
|
+
must: [{ field: 'projectId', equals: parentFields.projectId }, { field: 'parent_id', equals: parentId }],
|
|
67
|
+
mustMatchAny: [{ field: 'id', values: ids }],
|
|
68
|
+
}, limit: ids.length });
|
|
69
|
+
for (const point of page.points)
|
|
70
|
+
forcedPayloads.set(point.id, point.payload);
|
|
77
71
|
}
|
|
78
|
-
usage.embeddingCalls = (usage.embeddingCalls ?? 0) + toEmbed.length;
|
|
79
72
|
}
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
// Chunk data converges before dense work; force on unchanged text preserves
|
|
74
|
+
// the original writer and version timestamps while only proof/vector moves.
|
|
75
|
+
const points = toEmbed.map(c => ({
|
|
76
|
+
id: c.id,
|
|
77
|
+
payload: forcedPayloads.get(c.id)?.content_hash === hashOf(c) ? forcedPayloads.get(c.id) : {
|
|
83
78
|
id: c.id,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
chunk_strategy: c.strategy,
|
|
104
|
-
},
|
|
79
|
+
userId: parentFields.userId,
|
|
80
|
+
projectId: parentFields.projectId,
|
|
81
|
+
agentId: parentFields.agentId,
|
|
82
|
+
uri: parentFields.uri,
|
|
83
|
+
folder_ancestors: parentFields.folder_ancestors,
|
|
84
|
+
filename: parentFields.filename,
|
|
85
|
+
os_uri: parentFields.os_uri,
|
|
86
|
+
status: 'active',
|
|
87
|
+
category: 'chunk',
|
|
88
|
+
parent_id: parentId,
|
|
89
|
+
content: c.text,
|
|
90
|
+
content_hash: hashOf(c),
|
|
91
|
+
createdAt: new Date().toISOString(),
|
|
92
|
+
updatedAt: new Date().toISOString(),
|
|
93
|
+
metadata: {
|
|
94
|
+
chunk_index: c.index,
|
|
95
|
+
chunk_start: c.startOffset,
|
|
96
|
+
chunk_end: c.endOffset,
|
|
97
|
+
chunk_strategy: c.strategy,
|
|
105
98
|
},
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
99
|
+
},
|
|
100
|
+
}));
|
|
101
|
+
opts.signal?.throwIfAborted();
|
|
102
|
+
if (deps.vector.writePayloadBatch)
|
|
103
|
+
await deps.vector.writePayloadBatch(points);
|
|
104
|
+
else
|
|
105
|
+
for (const point of points) {
|
|
106
|
+
opts.signal?.throwIfAborted();
|
|
107
|
+
await deps.vector.writePayload(point);
|
|
114
108
|
}
|
|
115
|
-
|
|
116
|
-
}
|
|
109
|
+
usage.vectorWrites = (usage.vectorWrites ?? 0) + points.length;
|
|
117
110
|
// Delete orphan chunks in single batch (IDs that existed before but are not in the new set)
|
|
118
111
|
const newIds = new Set(newChunks.map(c => c.id));
|
|
119
112
|
const orphanIds = [...existingMap.keys()].filter(id => !newIds.has(id));
|
|
@@ -129,12 +122,62 @@ export async function upsertChunksForContent(deps, parentId, parentFields, conte
|
|
|
129
122
|
});
|
|
130
123
|
orphansDeleted = orphanIds.length;
|
|
131
124
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
125
|
+
const result = { total: newChunks.length, embedded: 0, skipped: toSkip.length, orphansDeleted };
|
|
126
|
+
const completeEmbedding = async () => {
|
|
127
|
+
if (!points.length)
|
|
128
|
+
return;
|
|
129
|
+
if (!embeddingEnabled()) {
|
|
130
|
+
result.embeddingDegraded = 'disabled';
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
const epoch = deps.vector.writeEpoch?.();
|
|
134
|
+
const embedOpts = opts.signal ? { signal: opts.signal } : undefined;
|
|
135
|
+
let embeddings;
|
|
136
|
+
try {
|
|
137
|
+
if (deps.embedder.embedBatch && toEmbed.length > 1) {
|
|
138
|
+
const batch = await deps.embedder.embedBatch(toEmbed.map(c => c.text), embedOpts);
|
|
139
|
+
embeddings = batch.embeddings;
|
|
140
|
+
if (batch.usage)
|
|
141
|
+
mergeUsage(usage, batch.usage);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
embeddings = [];
|
|
145
|
+
for (const c of toEmbed) {
|
|
146
|
+
opts.signal?.throwIfAborted();
|
|
147
|
+
const embedded = await deps.embedder.embedText(c.text, embedOpts);
|
|
148
|
+
embeddings.push(embedded.embedding);
|
|
149
|
+
if (embedded.usage)
|
|
150
|
+
mergeUsage(usage, embedded.usage);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
const reason = embeddingUnavailableReason(error);
|
|
156
|
+
if (!reason)
|
|
157
|
+
throw error;
|
|
158
|
+
result.embeddingDegraded = reason;
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (embeddings.length !== points.length || embeddings.some(vector => !Array.isArray(vector) || vector.length === 0))
|
|
162
|
+
throw new Error('EMBEDDING_CHUNK_CARDINALITY_MISMATCH');
|
|
163
|
+
usage.embeddingCalls = (usage.embeddingCalls ?? 0) + embeddings.length;
|
|
164
|
+
opts.signal?.throwIfAborted();
|
|
165
|
+
if (!deps.vector.conditionalUpsertBatch)
|
|
166
|
+
throw new Error('FILESYSTEM_WRITE_BOUNDARY_REQUIRED');
|
|
167
|
+
const written = await deps.vector.conditionalUpsertBatch(points.map((point, index) => ({
|
|
168
|
+
id: point.id, vector: embeddings[index],
|
|
169
|
+
expected: { content_hash: point.payload.content_hash, parent_id: parentId, updatedAt: point.payload.updatedAt },
|
|
170
|
+
patch: denseEmbeddingProof(toEmbed[index].text),
|
|
171
|
+
...(epoch !== undefined ? { epoch } : {}),
|
|
172
|
+
})));
|
|
173
|
+
result.embedded = written.filter(Boolean).length;
|
|
174
|
+
usage.vectorWrites = (usage.vectorWrites ?? 0) + result.embedded;
|
|
137
175
|
};
|
|
176
|
+
if (opts.deferEmbedding)
|
|
177
|
+
result.completeEmbedding = completeEmbedding;
|
|
178
|
+
else
|
|
179
|
+
await completeEmbedding();
|
|
180
|
+
return result;
|
|
138
181
|
}
|
|
139
182
|
/**
|
|
140
183
|
* Relocate a parent's chunks after a MOVE / RENAME — refresh ONLY the
|
|
@@ -178,7 +221,7 @@ export async function relocateChunksForParent(deps, parentId, location) {
|
|
|
178
221
|
// would blow away the chunk vectors. Chunk counts per file are small, so the
|
|
179
222
|
// per-point round-trips are cheap for the (infrequent) move.
|
|
180
223
|
for (const p of refreshed)
|
|
181
|
-
await deps.vector.
|
|
224
|
+
await deps.vector.writePayload(p);
|
|
182
225
|
return refreshed.length;
|
|
183
226
|
}
|
|
184
227
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunkUpsert.js","sourceRoot":"","sources":["../../../src/usecases/chunkUpsert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,oBAAoB,CAAC;AAI5D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAsB9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAqB,EACrB,QAAgB,EAChB,YAA+B,EAC/B,OAAe,EACf,QAAgB,EAChB,KAAY,EACZ,IAAI,GAcA,EAAE;IAEN,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEhD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACpF,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACxE,CAAC;IAED,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,SAAS,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAErG,4EAA4E;IAC5E,gFAAgF;IAChF,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC;QAC/E,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClG,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB;QACxC,CAAC,CAAC,IAAI,GAAG,EAA4B;QACrC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,IAAI,EAAE,cAAc,IAAI,CAAC,CAAC;IAE/C,+CAA+C;IAC/C,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,UAAU,GAAe,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;YAClF,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,IAAI,KAAK,CAAC,KAAK;gBAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAChE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,MAAM,CAAC,KAAK;oBAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,KAAK,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACtE,CAAC;IAED,wEAAwE;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,EAAE;gBACP,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;gBAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,CAAC,CAAC,IAAI;gBACf,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBACvB,QAAQ,EAAE;oBACR,WAAW,EAAE,CAAC,CAAC,KAAK;oBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,QAAQ;iBAC3B;aAC2B;SAC/B,CAAC,CAAC,CAAC;QAEJ,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACjE,CAAC;IAED,4FAA4F;IAC5F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC/B,IAAI,EAAE;gBACJ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;gBACtD,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;gBACtC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;aACzC;YACD,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;SACnD,CAAC,CAAC;QACH,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAqC,EACrC,QAAgB,EAChB,QAAmG;IAEnG,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE;YACJ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;YACtC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;YACxC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE;SACnD;KACF,CAAC;IAEF,MAAM,SAAS,GAAuC,EAAE,CAAC;IACzD,IAAI,MAA0B,CAAC;IAC/B,GAAG,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAE,GAAI,CAAC,CAAC,OAAmC,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;YAC3B,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACrD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACrC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,uEAAuE;YACvE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAoC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC,QAAQ,MAAM,EAAE;IAEjB,+EAA+E;IAC/E,0EAA0E;IAC1E,+EAA+E;IAC/E,6EAA6E;IAC7E,6DAA6D;IAC7D,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAqC,EACrC,QAAgB,EAChB,SAAiB;IAEjB,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE;YACJ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;YACtC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;YACxC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;SAC1C;KACF,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuC,EACvC,SAAiB,EACjB,OAAe,EACf,EAAU;IAEV,MAAM,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;gBACzC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;aAC5B;YACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SAClD;QACD,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACjC,KAAK,CAAC,EAAE,KAAK,EAAE;WACZ,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;WACxB,KAAK,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAC1C,CAAC,IAAI,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAwC,MAAoB;IACrF,IAAI,IAAI,GAAa,IAAI,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,SAAS;QAC7B,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;YAAE,IAAI,GAAG,KAAK,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,CAAiB,EAAE,CAAiB;IACtD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;IACrC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAuC,EACvC,SAAiB,EACjB,EAAU;IAEV,MAAM,MAAM,CAAC,cAAc,CAAC;QAC1B,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACjD,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAMD,2EAA2E;AAC3E,SAAS,MAAM,CAAC,CAAgB;IAC9B,OAAO,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,uGAAuG;AACvG,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAuC,EACvC,QAAgB,EAChB,YAA6D,EAC7D,SAA0B,EAC1B,WAAmB;IAEnB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;gBACtC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACxC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE;gBAChD,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;aACvD;YACD,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC7C;QACD,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,aAAa,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAyE,CAAC;QAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,EAAE,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YAC1E,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;IAChG,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAuC,EACvC,QAAgB,EAChB,YAA6D;IAE7D,MAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;IAChD,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE;YACJ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;YACtC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;YACxC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE;YAChD,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;SACvD;KACF,CAAC;IAEF,IAAI,MAA0B,CAAC;IAC/B,uDAAuD;IACvD,GAAG,CAAC;QACF,wEAAwE;QACxE,8EAA8E;QAC9E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAClG,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAkC,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,IAAI,EAAE,CAAC,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;QACL,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"chunkUpsert.js","sourceRoot":"","sources":["../../../src/usecases/chunkUpsert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SessionContext } from '@neuralis/package-system/contracts';
|
|
2
|
+
import type { FilesystemInfra } from '../wiring.js';
|
|
3
|
+
import type { SyncJob, SyncResult } from '../domain/syncTypes.js';
|
|
4
|
+
import type { SyncQueueJobSnapshot, SyncQueuePort } from '../sync/SyncJobQueue.js';
|
|
5
|
+
export type EmbeddingQueueDeps = {
|
|
6
|
+
appRoot: string;
|
|
7
|
+
getInfra(projectId: string): Promise<Pick<FilesystemInfra, 'vector' | 'embedder' | 'sourceConfigs'>>;
|
|
8
|
+
pin(projectId: string): Promise<() => void>;
|
|
9
|
+
resolveMember(userId: string, projectId: string): Promise<SessionContext | null>;
|
|
10
|
+
verifyAgent(userId: string, projectId: string, agentId: string): Promise<boolean>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Explicit queue work; point debt is durable, this job/cursor is deliberately not.
|
|
14
|
+
* A `platform` job (gated on `platform.vector.maintain` at enqueue and again here)
|
|
15
|
+
* catches up EVERY writer's points of its project source — another member's, an
|
|
16
|
+
* agent's, `__system__`'s — under the floors, with no per-reader uri gate: the
|
|
17
|
+
* operator restores vectors and reads nothing.
|
|
18
|
+
*/
|
|
19
|
+
export declare function runQueuedEmbedding(job: SyncJob, deps: EmbeddingQueueDeps): Promise<SyncResult>;
|
|
20
|
+
/**
|
|
21
|
+
* The platform-scope catch-up of ONE source (admin `dense-backfill`): one
|
|
22
|
+
* embedding-mode job with `platform: true`, every writer's points of that
|
|
23
|
+
* source, on the ONE queue and its fairness.
|
|
24
|
+
*/
|
|
25
|
+
export declare function enqueuePlatformEmbeddingCatchup(queue: Pick<SyncQueuePort, 'enqueue'>, request: {
|
|
26
|
+
userId: string;
|
|
27
|
+
projectId: string;
|
|
28
|
+
agentId: string;
|
|
29
|
+
source: string;
|
|
30
|
+
}): SyncQueueJobSnapshot;
|
|
31
|
+
//# sourceMappingURL=embeddingBacklog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddingBacklog.d.ts","sourceRoot":"","sources":["../../../src/usecases/embeddingBacklog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAqBnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5C,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4KpG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EACrC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9E,oBAAoB,CAGtB"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { hasFeature } from '@neuralis/package-system/access';
|
|
2
|
+
import { VECTOR_WRITE_REQUEST_BYTES } from '../vector/types.js';
|
|
3
|
+
import { embeddingEnabled, getBrainConfigNumber } from '../config/env.js';
|
|
4
|
+
import { getActiveLock } from '../embeddings/lock.js';
|
|
5
|
+
import { embeddingUnavailableReason } from '../embeddings/factory.js';
|
|
6
|
+
import { embedModelMarker, supportsEmbedInput } from '../embeddings/models.js';
|
|
7
|
+
import { computeContentHash } from '../domain/contentHash.js';
|
|
8
|
+
import { canReadUri } from '../domain/access/uriReadable.js';
|
|
9
|
+
import { indexEligibilityReader } from './vector/indexEligibility.js';
|
|
10
|
+
import { embedInputs, getDefaultRebuildDeps, inputFor } from './vector/rebuildGeneration.js';
|
|
11
|
+
import { mediaEmbeddingInput } from './syncPointWrites.js';
|
|
12
|
+
import { isDenseClearRunning } from './vectorMaintenance.js';
|
|
13
|
+
const AUDIT_FIELDS = ['projectId', 'userId', 'agentId', 'uri', 'filename', 'category', 'status', 'content_hash',
|
|
14
|
+
'modality', 'page', 'parent_id', 'updatedAt', 'recovery_only', 'embedding_status', 'embedding_input_hash',
|
|
15
|
+
'embedding_generation', 'embedding_updated_at', 'embed_model'];
|
|
16
|
+
const INPUT_FIELDS = [...AUDIT_FIELDS, 'content'];
|
|
17
|
+
/**
|
|
18
|
+
* Explicit queue work; point debt is durable, this job/cursor is deliberately not.
|
|
19
|
+
* A `platform` job (gated on `platform.vector.maintain` at enqueue and again here)
|
|
20
|
+
* catches up EVERY writer's points of its project source — another member's, an
|
|
21
|
+
* agent's, `__system__`'s — under the floors, with no per-reader uri gate: the
|
|
22
|
+
* operator restores vectors and reads nothing.
|
|
23
|
+
*/
|
|
24
|
+
export async function runQueuedEmbedding(job, deps) {
|
|
25
|
+
const started = Date.now();
|
|
26
|
+
const progress = { audited: 0, enrolled: 0, embedded: 0, skipped: 0, settled: false, pausedReason: undefined };
|
|
27
|
+
const result = () => ({ jobId: job.id, source: job.source, ok: true,
|
|
28
|
+
filesAdded: 0, filesUpdated: 0, filesRemoved: 0, filesSkipped: progress.skipped, filesMoved: 0,
|
|
29
|
+
chunksEmbedded: 0, chunksSkipped: 0, durationMs: Date.now() - started, embedding: { ...progress },
|
|
30
|
+
...(job.signal?.aborted ? { cancelled: true } : {}),
|
|
31
|
+
...(progress.pausedReason ? { embeddingDegraded: [progress.pausedReason] } : {}),
|
|
32
|
+
});
|
|
33
|
+
if (!embeddingEnabled()) {
|
|
34
|
+
progress.pausedReason = 'disabled';
|
|
35
|
+
return result();
|
|
36
|
+
}
|
|
37
|
+
const lock = await getActiveLock(deps.appRoot);
|
|
38
|
+
if (lock?.mode !== 'dense') {
|
|
39
|
+
progress.pausedReason = 'metadata_only';
|
|
40
|
+
return result();
|
|
41
|
+
}
|
|
42
|
+
const release = await deps.pin(job.projectId);
|
|
43
|
+
try {
|
|
44
|
+
const infra = await deps.getInfra(job.projectId);
|
|
45
|
+
const vector = infra.vector;
|
|
46
|
+
if (!vector.conditionalProof || !vector.conditionalUpsertBatch || !vector.writeEpoch)
|
|
47
|
+
throw new Error('FILESYSTEM_WRITE_BOUNDARY_REQUIRED');
|
|
48
|
+
const classify = indexEligibilityReader(infra.sourceConfigs);
|
|
49
|
+
const marker = embedModelMarker(lock.modelId, lock.dimension, lock.embedRecipe);
|
|
50
|
+
const filter = {
|
|
51
|
+
must: [{ field: 'projectId', equals: job.projectId }, { field: 'folder_ancestors', equals: `${job.source}://` },
|
|
52
|
+
...(job.platform ? [] : [{ field: 'userId', equals: job.userId },
|
|
53
|
+
...(job.source === 'brain' ? [{ field: 'agentId', equals: job.agentId }] : [])])],
|
|
54
|
+
mustNot: [{ field: 'status', equals: 'deleted' }, { field: 'recovery_only', equals: true }],
|
|
55
|
+
...(job.targetUris?.length ? { mustMatchAny: [{ field: 'uri', values: job.targetUris }] } : {}),
|
|
56
|
+
};
|
|
57
|
+
const limit = Math.max(1, Math.floor(getBrainConfigNumber('vectorHealthBatchSize', undefined, 256)));
|
|
58
|
+
let modalities;
|
|
59
|
+
// The member/agent resolution runs once per page and once per final commit
|
|
60
|
+
// batch (inside the write exclusion); per point only the read gate + floors.
|
|
61
|
+
const authority = async () => {
|
|
62
|
+
if (job.signal?.aborted || isDenseClearRunning())
|
|
63
|
+
return null;
|
|
64
|
+
const session = await deps.resolveMember(job.userId, job.projectId);
|
|
65
|
+
if (!session || !(job.platform ? hasFeature(session, 'platform.vector.maintain')
|
|
66
|
+
: hasFeature(session, 'drive.sync') && hasFeature(session, 'drive.read')))
|
|
67
|
+
return null;
|
|
68
|
+
if (job.agentId && !(await deps.verifyAgent(job.userId, job.projectId, job.agentId)))
|
|
69
|
+
return null;
|
|
70
|
+
return { ...session, agentId: job.agentId };
|
|
71
|
+
};
|
|
72
|
+
const permits = async (ctx, payload) => (job.platform === true || await canReadUri(infra, ctx, payload.uri)) && (await classify(payload)).eligibility === 'eligible';
|
|
73
|
+
const authorizer = (resolved) => async (payload) => {
|
|
74
|
+
const ctx = await resolved;
|
|
75
|
+
return ctx !== null && await permits(ctx, payload);
|
|
76
|
+
};
|
|
77
|
+
const pageAuthority = async () => {
|
|
78
|
+
const ctx = await authority();
|
|
79
|
+
if (!ctx)
|
|
80
|
+
progress.pausedReason = isDenseClearRunning() ? 'maintenance_running' : 'unauthorized';
|
|
81
|
+
return ctx;
|
|
82
|
+
};
|
|
83
|
+
const source = getDefaultRebuildDeps();
|
|
84
|
+
const readInput = (payload) => inputFor({ readSource: async (point) => {
|
|
85
|
+
if (!source)
|
|
86
|
+
throw new Error('EMBEDDING_SOURCE_READER_REQUIRED');
|
|
87
|
+
return source.readSource(point);
|
|
88
|
+
} }, payload);
|
|
89
|
+
const expected = (payload) => ({
|
|
90
|
+
content_hash: payload.content_hash, updatedAt: payload.updatedAt, page: payload.page,
|
|
91
|
+
uri: payload.uri, filename: payload.filename, parent_id: payload.parent_id,
|
|
92
|
+
embedding_status: payload.embedding_status, embedding_input_hash: payload.embedding_input_hash,
|
|
93
|
+
embedding_generation: payload.embedding_generation, embed_model: payload.embed_model,
|
|
94
|
+
});
|
|
95
|
+
// A audits every eligible point, including contradictory complete proof and
|
|
96
|
+
// the explicit OR of missing status/hash/generation; no source checkpoint.
|
|
97
|
+
let cursor;
|
|
98
|
+
do {
|
|
99
|
+
job.signal?.throwIfAborted();
|
|
100
|
+
const page = await vector.scroll({ filter, limit, payloadFields: AUDIT_FIELDS, ...(cursor ? { cursor } : {}) });
|
|
101
|
+
const ctx = await pageAuthority();
|
|
102
|
+
if (!ctx)
|
|
103
|
+
return result();
|
|
104
|
+
const authorize = authorizer(Promise.resolve(ctx));
|
|
105
|
+
const dense = page.points.length ? await vector.scroll({ filter: {
|
|
106
|
+
...filter, mustHasVector: [''], mustMatchAny: [{ field: 'id', values: page.points.map(point => point.id) }],
|
|
107
|
+
}, limit: page.points.length, payloadFields: ['id'] }) : { points: [] };
|
|
108
|
+
const present = new Set(dense.points.map(point => point.id));
|
|
109
|
+
for (const point of page.points) {
|
|
110
|
+
job.signal?.throwIfAborted();
|
|
111
|
+
progress.audited += 1;
|
|
112
|
+
if (!(await permits(ctx, point.payload))) {
|
|
113
|
+
progress.skipped += 1;
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
const current = await vector.retrieve(point.id, { withVector: false, payloadFields: INPUT_FIELDS });
|
|
117
|
+
if (current?.payload.uri !== point.payload.uri)
|
|
118
|
+
continue;
|
|
119
|
+
const input = await readInput(current.payload);
|
|
120
|
+
const hash = input ? computeContentHash(input.kind === 'text' ? input.text : mediaEmbeddingInput(current.payload)) : undefined;
|
|
121
|
+
const proof = current.payload;
|
|
122
|
+
if (present.has(point.id) && hash && proof.embedding_status === 'current' && proof.embedding_input_hash === hash
|
|
123
|
+
&& proof.embedding_generation === lock.generation && proof.embed_model === marker)
|
|
124
|
+
continue;
|
|
125
|
+
const status = present.has(point.id) ? 'stale' : 'missing';
|
|
126
|
+
if (proof.embedding_status === status)
|
|
127
|
+
continue;
|
|
128
|
+
if (await vector.conditionalProof({ id: point.id, expected: expected(proof),
|
|
129
|
+
patch: { embedding_status: status },
|
|
130
|
+
activeGeneration: lock.generation, epoch: vector.writeEpoch(), authorize }))
|
|
131
|
+
progress.enrolled += 1;
|
|
132
|
+
}
|
|
133
|
+
job.onProgress?.({ phase: 'embedding-audit', processed: progress.audited, total: progress.audited });
|
|
134
|
+
cursor = page.nextCursor;
|
|
135
|
+
await job.yield?.();
|
|
136
|
+
} while (cursor);
|
|
137
|
+
// B restarts from the front after each pass to catch edits behind the cursor.
|
|
138
|
+
// A pass making no progress pauses rather than spinning on racing/unsupported work.
|
|
139
|
+
let again;
|
|
140
|
+
do {
|
|
141
|
+
again = false;
|
|
142
|
+
cursor = undefined;
|
|
143
|
+
let candidates = 0;
|
|
144
|
+
const before = progress.embedded;
|
|
145
|
+
do {
|
|
146
|
+
job.signal?.throwIfAborted();
|
|
147
|
+
const page = await vector.scroll({ filter: { ...filter,
|
|
148
|
+
mustMatchAny: [...(filter.mustMatchAny ?? []), { field: 'embedding_status', values: ['missing', 'stale'] }],
|
|
149
|
+
}, limit, payloadFields: AUDIT_FIELDS, ...(cursor ? { cursor } : {}) });
|
|
150
|
+
const ctx = await pageAuthority();
|
|
151
|
+
if (!ctx)
|
|
152
|
+
return result();
|
|
153
|
+
const work = [];
|
|
154
|
+
let bytes = 0;
|
|
155
|
+
const commit = async () => {
|
|
156
|
+
if (!work.length)
|
|
157
|
+
return;
|
|
158
|
+
job.signal?.throwIfAborted();
|
|
159
|
+
const vectors = await embedInputs(infra.embedder, work.map(item => item.input), job.signal);
|
|
160
|
+
job.signal?.throwIfAborted();
|
|
161
|
+
if (vectors.some(v => !v || v.length !== lock.dimension || v.some(n => !Number.isFinite(n)))) {
|
|
162
|
+
throw new Error('EMBEDDING_BATCH_INVALID');
|
|
163
|
+
}
|
|
164
|
+
// The FINAL authority: re-resolved for this batch inside the exclusion.
|
|
165
|
+
const authorize = authorizer(authority());
|
|
166
|
+
const accepted = await vector.conditionalUpsertBatch(work.map((item, index) => ({ id: item.id, vector: vectors[index],
|
|
167
|
+
expected: expected(item.payload), epoch: item.epoch, authorize,
|
|
168
|
+
patch: { embedding_status: 'current', embedding_input_hash: item.hash, embedding_generation: lock.generation,
|
|
169
|
+
embedding_updated_at: new Date().toISOString(), embed_model: marker }, })));
|
|
170
|
+
progress.embedded += accepted.filter(Boolean).length;
|
|
171
|
+
work.length = 0;
|
|
172
|
+
bytes = 0;
|
|
173
|
+
};
|
|
174
|
+
for (const point of page.points) {
|
|
175
|
+
job.signal?.throwIfAborted();
|
|
176
|
+
if (!(await permits(ctx, point.payload))) {
|
|
177
|
+
progress.skipped += 1;
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
candidates += 1;
|
|
181
|
+
const current = await vector.retrieve(point.id, { withVector: false, payloadFields: INPUT_FIELDS });
|
|
182
|
+
if (current?.payload.uri !== point.payload.uri)
|
|
183
|
+
continue;
|
|
184
|
+
const payload = current.payload;
|
|
185
|
+
const input = await readInput(payload);
|
|
186
|
+
if (!input) {
|
|
187
|
+
progress.skipped += 1;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (input.kind !== 'text') {
|
|
191
|
+
modalities ??= await infra.embedder.modalities?.() ?? ['text'];
|
|
192
|
+
if (!infra.embedder.embedContent || !supportsEmbedInput(modalities, input.kind)) {
|
|
193
|
+
progress.skipped += 1;
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const size = input.kind === 'text' ? Buffer.byteLength(input.text) : input.bytes.length;
|
|
198
|
+
if (work.length && bytes + size > VECTOR_WRITE_REQUEST_BYTES)
|
|
199
|
+
await commit();
|
|
200
|
+
// One supported large media input keeps the existing media/provider
|
|
201
|
+
// limits; it is never combined with another input above the ceiling.
|
|
202
|
+
work.push({ id: point.id, payload, input,
|
|
203
|
+
hash: computeContentHash(input.kind === 'text' ? input.text : mediaEmbeddingInput(payload)), epoch: vector.writeEpoch() });
|
|
204
|
+
bytes += size;
|
|
205
|
+
if (bytes >= VECTOR_WRITE_REQUEST_BYTES)
|
|
206
|
+
await commit();
|
|
207
|
+
}
|
|
208
|
+
await commit();
|
|
209
|
+
job.onProgress?.({ phase: 'embedding-catchup', processed: progress.embedded, total: candidates });
|
|
210
|
+
cursor = page.nextCursor;
|
|
211
|
+
await job.yield?.();
|
|
212
|
+
} while (cursor);
|
|
213
|
+
if (candidates === 0)
|
|
214
|
+
progress.settled = true;
|
|
215
|
+
else if (progress.embedded > before)
|
|
216
|
+
again = true;
|
|
217
|
+
else
|
|
218
|
+
progress.pausedReason = 'unresolved_debt';
|
|
219
|
+
} while (again);
|
|
220
|
+
return result();
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
if (job.signal?.aborted)
|
|
224
|
+
return result();
|
|
225
|
+
const reason = embeddingUnavailableReason(error);
|
|
226
|
+
if (!reason)
|
|
227
|
+
throw error;
|
|
228
|
+
progress.pausedReason = reason;
|
|
229
|
+
return result();
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
release();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* The platform-scope catch-up of ONE source (admin `dense-backfill`): one
|
|
237
|
+
* embedding-mode job with `platform: true`, every writer's points of that
|
|
238
|
+
* source, on the ONE queue and its fairness.
|
|
239
|
+
*/
|
|
240
|
+
export function enqueuePlatformEmbeddingCatchup(queue, request) {
|
|
241
|
+
return queue.enqueue({ scope: { userId: request.userId, projectId: request.projectId }, agentId: request.agentId,
|
|
242
|
+
source: request.source, mode: 'embedding', platform: true });
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=embeddingBacklog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddingBacklog.js","sourceRoot":"","sources":["../../../src/usecases/embeddingBacklog.ts"],"names":[],"mappings":"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"}
|