@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
|
@@ -3,8 +3,10 @@ import { BrainError } from '../domain/BrainError.js';
|
|
|
3
3
|
import { createEmptyUsage, mergeUsage } from '../domain/usage.js';
|
|
4
4
|
import { sourceFromUri } from '../domain/uri.js';
|
|
5
5
|
import { extractIndexText } from '../domain/text.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { embeddingUnavailableReason } from '../embeddings/factory.js';
|
|
7
|
+
import { requireEmbeddingEnabled } from '../config/env.js';
|
|
8
|
+
import { peekActiveLock } from '../embeddings/lock.js';
|
|
9
|
+
import { embedModelMarker } from '../embeddings/models.js';
|
|
8
10
|
import { runLocalTextSearch, hydrateGrepContext } from '../search/localTextEngine.js';
|
|
9
11
|
import { getBrainConfigNumber } from '../config/env.js';
|
|
10
12
|
/**
|
|
@@ -122,7 +124,7 @@ node) {
|
|
|
122
124
|
* the 200-character preview are cut from it, and no backend can slice a string
|
|
123
125
|
* server-side.
|
|
124
126
|
*/
|
|
125
|
-
const DOCUMENT_PAYLOAD_FIELDS = ['uri', 'os_uri', 'category', 'pinned', 'status', 'content', 'version', 'agentId', 'modality'];
|
|
127
|
+
const DOCUMENT_PAYLOAD_FIELDS = ['uri', 'os_uri', 'category', 'pinned', 'status', 'content', 'version', 'agentId', 'modality', 'embed_model', 'embedding_status', 'embedding_generation'];
|
|
126
128
|
/**
|
|
127
129
|
* The same set plus what the AGGREGATION step reads off a raw hit: `parent_id`
|
|
128
130
|
* (chunk → document), `metadata` (the chunk's start/end offsets) and `page`
|
|
@@ -207,6 +209,7 @@ async function buildResult(agg, vector, matchType, parentCache) {
|
|
|
207
209
|
chunk_start: chunkMeta?.chunk_start,
|
|
208
210
|
chunk_end: chunkMeta?.chunk_end,
|
|
209
211
|
match_type: matchType,
|
|
212
|
+
embedding_status: embeddingStatus(chunk?.payload ?? docPayload),
|
|
210
213
|
...(version ? { version } : {}),
|
|
211
214
|
error: undefined,
|
|
212
215
|
};
|
|
@@ -361,44 +364,42 @@ async function semanticSearch(deps, ctx, req, usage) {
|
|
|
361
364
|
const parentCache = new Map();
|
|
362
365
|
// Sort by best score descending
|
|
363
366
|
const sortedGroups = [...grouped.values()].sort((a, b) => b.bestScore - a.bestScore);
|
|
364
|
-
//
|
|
365
|
-
//
|
|
366
|
-
//
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
results.push(result);
|
|
367
|
+
// Cut BEFORE build: groups are hydrated, built and read-gated in score order,
|
|
368
|
+
// one window of `limit + 1` at a time, until one row past the limit survives
|
|
369
|
+
// (`truncated`) or the groups run out. `total_seen` is then a lower bound —
|
|
370
|
+
// the tool renders it as "N+ seen".
|
|
371
|
+
const gated = [];
|
|
372
|
+
for (let next = 0; gated.length <= limit && next < sortedGroups.length; next += limit + 1) {
|
|
373
|
+
const window = sortedGroups.slice(next, next + limit + 1);
|
|
374
|
+
// Hydrate the parents that were not themselves hits, one batch per window.
|
|
375
|
+
const missingParentIds = window.filter((agg) => !agg.documentHit).map((agg) => agg.parentId);
|
|
376
|
+
if (missingParentIds.length > 0) {
|
|
377
|
+
await hydrateMissingParents(deps.vector, ctx, missingParentIds, parentCache, DOCUMENT_PAYLOAD_FIELDS, deps.logger);
|
|
378
|
+
}
|
|
379
|
+
const results = [];
|
|
380
|
+
for (const agg of window) {
|
|
381
|
+
// Visibility check on the document (not chunk)
|
|
382
|
+
const docPayload = agg.documentHit?.payload ?? parentCache.get(agg.parentId);
|
|
383
|
+
if (docPayload && !isVisibleSearchNode(ctx, req, docPayload))
|
|
384
|
+
continue;
|
|
385
|
+
const result = await buildResult(agg, deps.vector, matchType, parentCache);
|
|
386
|
+
if (!result)
|
|
387
|
+
continue;
|
|
388
|
+
// Belt check on the BUILT row — with the doc payload's agentId, because
|
|
389
|
+
// result rows deliberately carry no agentId. (Passing the bare row here
|
|
390
|
+
// used to fail the brain check for the caller's OWN rows and silently
|
|
391
|
+
// banned brain:// results from semantic mode altogether.)
|
|
392
|
+
if (!isVisibleSearchNode(ctx, req, { uri: result.uri, agentId: docPayload?.agentId }))
|
|
393
|
+
continue;
|
|
394
|
+
results.push(result);
|
|
395
|
+
}
|
|
396
|
+
gated.push(...await filterByReadPolicy(deps, results));
|
|
395
397
|
}
|
|
396
|
-
const gated = await filterByReadPolicy(deps, results);
|
|
397
398
|
return {
|
|
398
|
-
results: gated,
|
|
399
|
-
count: { found: gated.length, errors: 0 },
|
|
400
|
-
truncated:
|
|
401
|
-
total_seen:
|
|
399
|
+
results: gated.slice(0, limit),
|
|
400
|
+
count: { found: Math.min(gated.length, limit), errors: 0 },
|
|
401
|
+
truncated: gated.length > limit,
|
|
402
|
+
total_seen: gated.length,
|
|
402
403
|
usage,
|
|
403
404
|
};
|
|
404
405
|
}
|
|
@@ -593,6 +594,7 @@ async function filterSearch(deps, ctx, req, usage) {
|
|
|
593
594
|
category: node.category,
|
|
594
595
|
pinned: node.pinned === true,
|
|
595
596
|
status: node.status,
|
|
597
|
+
embedding_status: embeddingStatus(node),
|
|
596
598
|
content_preview: snippet ?? contentPreview(node),
|
|
597
599
|
snippet,
|
|
598
600
|
match_type: hasKeyword ? 'keyword' : undefined,
|
|
@@ -653,7 +655,7 @@ export async function searchFilesUseCase(deps, ctx, req) {
|
|
|
653
655
|
return {
|
|
654
656
|
results: [{ uri: '', error: 'grep search requires a connector resolver' }],
|
|
655
657
|
count: { found: 0, errors: 1 },
|
|
656
|
-
usage,
|
|
658
|
+
usage, requested_mode: searchMode, effective_mode: 'grep',
|
|
657
659
|
};
|
|
658
660
|
}
|
|
659
661
|
const res = await runLocalTextSearch({ getConnector: deps.getConnector }, ctx, req);
|
|
@@ -665,39 +667,35 @@ export async function searchFilesUseCase(deps, ctx, req) {
|
|
|
665
667
|
// row the caller may not read must not be opened to decorate a row that is
|
|
666
668
|
// about to be dropped.
|
|
667
669
|
const withContext = await hydrateGrepContext({ getConnector: deps.getConnector }, gated, req.context ?? 0);
|
|
668
|
-
return { ...res, results: withContext, count: { ...res.count, found: withContext.length } };
|
|
670
|
+
return { ...res, results: withContext, count: { ...res.count, found: withContext.length }, total_seen: withContext.length, requested_mode: searchMode, effective_mode: 'grep' };
|
|
669
671
|
}
|
|
670
672
|
if (searchMode === 'filter') {
|
|
671
|
-
return filterSearch(deps, ctx, req, usage);
|
|
673
|
+
return { ...await filterSearch(deps, ctx, req, usage), requested_mode: searchMode, effective_mode: 'filter' };
|
|
672
674
|
}
|
|
673
675
|
try {
|
|
674
|
-
|
|
676
|
+
requireEmbeddingEnabled();
|
|
677
|
+
const res = await semanticSearch(deps, ctx, req, usage);
|
|
678
|
+
const older = res.results.some(row => row.embedding_status !== 'current');
|
|
679
|
+
return { ...res, requested_mode: searchMode, effective_mode: 'semantic', ...(older ? { warning: 'Semantic results may reflect stale or unknown embeddings; indexed content is current.' } : {}) };
|
|
675
680
|
}
|
|
676
681
|
catch (error) {
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
// provider's account is out of credit, the active model's `embedding.*`
|
|
680
|
-
// key is not set, or the active model is no longer defined (an endpoint
|
|
681
|
-
// removed under the index). Soft-degrade to the full-text filter search
|
|
682
|
-
// with a warning that names the cause — blocking `fs_search` hard would
|
|
683
|
-
// break the product, and full-text still ANSWERS where a 5xx returns
|
|
684
|
-
// nothing at all.
|
|
685
|
-
//
|
|
686
|
-
// Still scoped to TYPED codes only: every other embed error keeps the
|
|
687
|
-
// deliberate propagate-don't-mask behaviour, and a transient 429 never
|
|
688
|
-
// reaches here — the embedder retries those itself. This degrade also
|
|
689
|
-
// covers the `fs_search` TOOL path, which bypasses the route entirely.
|
|
690
|
-
const code = error?.code;
|
|
691
|
-
if (!isEmbeddingBudgetStopError(error)
|
|
692
|
-
&& !isProviderQuotaExhaustedError(error)
|
|
693
|
-
&& code !== 'active_model_unresolvable'
|
|
694
|
-
&& code !== 'embedding_credential_missing')
|
|
682
|
+
const reason = embeddingUnavailableReason(error);
|
|
683
|
+
if (!reason)
|
|
695
684
|
throw error;
|
|
696
685
|
const res = await filterSearch(deps, ctx, req, usage);
|
|
697
|
-
return {
|
|
698
|
-
|
|
699
|
-
warning: `semantic search degraded to full-text: ${error instanceof Error ? error.message : 'embeddings unavailable'}`,
|
|
686
|
+
return { ...res, requested_mode: searchMode, effective_mode: 'filter', embedding_degraded: reason,
|
|
687
|
+
warning: `Semantic search unavailable (${reason}); current indexed text and fields were searched.`,
|
|
700
688
|
};
|
|
701
689
|
}
|
|
702
690
|
}
|
|
691
|
+
function embeddingStatus(payload) {
|
|
692
|
+
if (payload.embedding_status === 'missing')
|
|
693
|
+
return 'missing';
|
|
694
|
+
if (!payload.embedding_status || payload.embedding_generation === undefined)
|
|
695
|
+
return 'unknown';
|
|
696
|
+
const lock = peekActiveLock();
|
|
697
|
+
return payload.embedding_status === 'current' && lock?.mode === 'dense'
|
|
698
|
+
&& payload.embedding_generation === lock.generation
|
|
699
|
+
&& payload.embed_model === embedModelMarker(lock.modelId, lock.dimension, lock.embedRecipe) ? 'current' : 'stale';
|
|
700
|
+
}
|
|
703
701
|
//# sourceMappingURL=searchFiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchFiles.js","sourceRoot":"","sources":["../../../src/usecases/searchFiles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"searchFiles.js","sourceRoot":"","sources":["../../../src/usecases/searchFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ConnectorDeltaItem } from '@neuralis/package-system/contracts';
|
|
2
|
+
import type { FilesystemNode } from '../domain/types.js';
|
|
3
|
+
import type { SyncJob } from '../domain/syncTypes.js';
|
|
4
|
+
import type { VectorIndexPort, VectorPoint } from '../vector/types.js';
|
|
5
|
+
import type { EmbedderPort } from '../embeddings/types.js';
|
|
6
|
+
import type { MediaConnector } from './mediaLane.js';
|
|
7
|
+
export type SyncIndexedFileResult = {
|
|
8
|
+
action: 'skipped' | 'added' | 'updated';
|
|
9
|
+
chunksEmbedded: number;
|
|
10
|
+
chunksSkipped: number;
|
|
11
|
+
embeddingDegraded?: string;
|
|
12
|
+
};
|
|
13
|
+
/** One text file: chunk data -> parent payload -> independently conditional dense work. */
|
|
14
|
+
export declare function syncIndexedFile(deps: {
|
|
15
|
+
vector: VectorIndexPort<FilesystemNode>;
|
|
16
|
+
embedder: EmbedderPort;
|
|
17
|
+
}, input: {
|
|
18
|
+
job: SyncJob;
|
|
19
|
+
connector: MediaConnector & {
|
|
20
|
+
resolveOsUri?(uri: string): string;
|
|
21
|
+
};
|
|
22
|
+
entry: ConnectorDeltaItem;
|
|
23
|
+
existing: VectorPoint<FilesystemNode> | null;
|
|
24
|
+
id: string;
|
|
25
|
+
filename: string;
|
|
26
|
+
content: string;
|
|
27
|
+
contentHash: string;
|
|
28
|
+
stored: string;
|
|
29
|
+
provenPrefixChars?: number;
|
|
30
|
+
now: string;
|
|
31
|
+
movedFrom?: string;
|
|
32
|
+
indexedAtUri: boolean;
|
|
33
|
+
}): Promise<SyncIndexedFileResult>;
|
|
34
|
+
/**
|
|
35
|
+
* A sync never indexes a binary file as text. The extension decides before
|
|
36
|
+
* the read; a file with an unknown or no extension is judged by its decoded
|
|
37
|
+
* content (`looksBinaryContent`, the `brainSyncBinarySniffChars` window) after it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isBinaryFile(filename: string): boolean;
|
|
40
|
+
/** Stop only the embedding lane after one typed stop; already-running calls can finish. */
|
|
41
|
+
export declare function createSyncJobEmbedder(inner: EmbedderPort): EmbedderPort;
|
|
42
|
+
//# sourceMappingURL=syncIndexedFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncIndexedFile.d.ts","sourceRoot":"","sources":["../../../src/usecases/syncIndexedFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,2FAA2F;AAC3F,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,EACzE,KAAK,EAAE;IACL,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,cAAc,GAAG;QAAE,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAuMhC;AAYD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAkBvE"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { resolveOsUri } from '../domain/paths.js';
|
|
2
|
+
import { uriAncestors } from '../domain/uri.js';
|
|
3
|
+
import { buildVersionInfo } from '../domain/versioning.js';
|
|
4
|
+
import { computeContributionEnrichment, resolveSyncCategory, buildEnrichmentRefresh, isEnrichmentCurrent } from '../sync/categoryInference.js';
|
|
5
|
+
import { upsertChunksForContent, relocateChunksForParent } from './chunkUpsert.js';
|
|
6
|
+
import { syncEmbeddingText, syncStoredText, storedVectorMatchesText, denseEmbeddingProof } from './syncPointWrites.js';
|
|
7
|
+
import { embeddingEnabled } from '../config/env.js';
|
|
8
|
+
import { embeddingUnavailableReason } from '../embeddings/factory.js';
|
|
9
|
+
/** One text file: chunk data -> parent payload -> independently conditional dense work. */
|
|
10
|
+
export async function syncIndexedFile(deps, input) {
|
|
11
|
+
const { job, connector, entry, existing, id, filename, content, contentHash: content_hash, stored, provenPrefixChars, now, movedFrom, indexedAtUri } = input;
|
|
12
|
+
const uri = entry.uri;
|
|
13
|
+
const skipped = { action: 'skipped', chunksEmbedded: 0, chunksSkipped: 0 };
|
|
14
|
+
const written = (action, chunks) => ({ action, chunksEmbedded: chunks.embedded, chunksSkipped: chunks.skipped });
|
|
15
|
+
const sourceChangedAt = entry.modifiedAt || now;
|
|
16
|
+
const restoringDraft = !movedFrom && existing?.payload.recovery_only === true
|
|
17
|
+
&& existing.payload.status === 'pending_review' && existing.payload.content_hash === content_hash;
|
|
18
|
+
// If the file currently has a pending draft, do NOT overwrite draft content or undo state.
|
|
19
|
+
// Only refresh the last known upstream/source version metadata behind the file.
|
|
20
|
+
if (!movedFrom && existing?.payload?.status === 'pending_review' && !restoringDraft) {
|
|
21
|
+
const payload = {
|
|
22
|
+
...existing.payload,
|
|
23
|
+
version: buildVersionInfo({
|
|
24
|
+
previous: existing.payload.version,
|
|
25
|
+
previousContent: existing.payload.content,
|
|
26
|
+
nextContent: existing.payload.content,
|
|
27
|
+
changedAt: existing.payload.version?.changedAt ?? existing.payload.updatedAt,
|
|
28
|
+
sourceChangedAt,
|
|
29
|
+
sourceVersion: content_hash,
|
|
30
|
+
indexedAt: now,
|
|
31
|
+
sync: {
|
|
32
|
+
...(existing.payload.version?.sync ?? {}),
|
|
33
|
+
sourceUpdatedAt: entry.modifiedAt,
|
|
34
|
+
sourceSize: entry.size,
|
|
35
|
+
syncedAt: now,
|
|
36
|
+
upstreamContentHash: content_hash,
|
|
37
|
+
lastSyncedAgentId: job.agentId,
|
|
38
|
+
status: 'stale',
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
status: 'pending_review',
|
|
42
|
+
updatedAt: now,
|
|
43
|
+
};
|
|
44
|
+
if (existing.payload.recovery_only === true) {
|
|
45
|
+
await deps.vector.retainPayload({ id, payload });
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
await deps.vector.writePayload({ id, payload });
|
|
49
|
+
}
|
|
50
|
+
return written('updated', { embedded: 0, skipped: 0 });
|
|
51
|
+
}
|
|
52
|
+
const enrichment = computeContributionEnrichment(entry.uri, content);
|
|
53
|
+
// The first reuse gate — an unchanged committed file only refreshes its
|
|
54
|
+
// payload. A forced re-embed skips it, and keeps that payload instead
|
|
55
|
+
// (below): an unchanged file must not read as changed.
|
|
56
|
+
const sameContent = !movedFrom && existing?.payload?.content_hash === content_hash && existing.payload.status === 'committed' && !existing.payload.recovery_only;
|
|
57
|
+
if (!job.force && sameContent) {
|
|
58
|
+
// Payload-only refresh BEFORE the content-hash skip: unchanged files
|
|
59
|
+
// still pick up new category/frontmatter/manifest enrichment after a
|
|
60
|
+
// deploy (the stored vector is kept). One sync pass migrates a source.
|
|
61
|
+
const refreshed = buildEnrichmentRefresh(existing.payload, entry.uri, content, enrichment);
|
|
62
|
+
// A hash-matched point that has NOT drifted still needs the stamp, or it
|
|
63
|
+
// stays a sweep candidate forever: the sweep skips it (it is in the
|
|
64
|
+
// changed set) and the next full pass no longer sees it as changed. One
|
|
65
|
+
// payload-only write here closes it in the same pass.
|
|
66
|
+
if (refreshed || !isEnrichmentCurrent(existing.payload)) {
|
|
67
|
+
await deps.vector.writePayload({ id, payload: refreshed ?? existing.payload });
|
|
68
|
+
}
|
|
69
|
+
return skipped;
|
|
70
|
+
}
|
|
71
|
+
// The parent vector is keyed on its embedding TEXT: when the stored one was
|
|
72
|
+
// built from the same text (an append past the text cap, a move that kept
|
|
73
|
+
// its filename), the parent write below is payload-only.
|
|
74
|
+
const embeddingText = syncEmbeddingText(filename, content);
|
|
75
|
+
const embedParent = () => deps.embedder.embedText(embeddingText, job.signal ? { signal: job.signal } : undefined);
|
|
76
|
+
// The second reuse gate — the stored parent vector was built from this
|
|
77
|
+
// exact text. A forced re-embed skips it too.
|
|
78
|
+
const reuseVector = !job.force && existing && !existing.payload.recovery_only ? storedVectorMatchesText(existing.payload, embeddingText) : false;
|
|
79
|
+
// A forced re-embed of UNCHANGED content writes the stored payload back as
|
|
80
|
+
// it is (`updatedAt`, `version`, `createdAt`, …) with the inline text it
|
|
81
|
+
// embeds; only the vector and the boundary's `embed_model` stamp move.
|
|
82
|
+
let payload = (sameContent || restoringDraft) && existing ? { ...existing.payload, content: stored } : {
|
|
83
|
+
id,
|
|
84
|
+
uri,
|
|
85
|
+
folder_ancestors: uriAncestors(uri),
|
|
86
|
+
filename,
|
|
87
|
+
os_uri: resolveOsUri(uri, connector),
|
|
88
|
+
userId: job.userId,
|
|
89
|
+
projectId: job.projectId,
|
|
90
|
+
agentId: job.agentId,
|
|
91
|
+
...(existing?.payload.userName ? { userName: existing.payload.userName } : {}),
|
|
92
|
+
// A payload-only write (the reused vector) keeps the stored marker; a
|
|
93
|
+
// vector write is re-stamped by the write boundary.
|
|
94
|
+
...(existing?.payload.embed_model ? { embed_model: existing.payload.embed_model } : {}),
|
|
95
|
+
pinned: existing?.payload.pinned === true,
|
|
96
|
+
status: 'committed',
|
|
97
|
+
category: resolveSyncCategory(existing?.payload.category, entry.uri, content),
|
|
98
|
+
tags: existing?.payload.tags ?? [],
|
|
99
|
+
metadata: {
|
|
100
|
+
...(existing?.payload.metadata ?? {}),
|
|
101
|
+
},
|
|
102
|
+
// Source-package enrichment (A3) — file points only, never chunks (F8).
|
|
103
|
+
...(enrichment.manifest_usable ? { manifest_usable: true } : {}),
|
|
104
|
+
...(enrichment.agent_owner ? { agent_owner: enrichment.agent_owner } : {}),
|
|
105
|
+
...(enrichment.frontmatter ? { frontmatter: enrichment.frontmatter } : {}),
|
|
106
|
+
content: stored, // the indexed prefix; `content_hash` stays the WHOLE file's
|
|
107
|
+
content_hash,
|
|
108
|
+
createdAt: existing?.payload.createdAt ?? now,
|
|
109
|
+
updatedAt: now,
|
|
110
|
+
version: buildVersionInfo({
|
|
111
|
+
previous: existing?.payload.version,
|
|
112
|
+
previousContent: typeof existing?.payload.content === 'string' ? syncStoredText(existing.payload.content) : undefined,
|
|
113
|
+
nextContent: stored,
|
|
114
|
+
previousChangedAt: existing?.payload.version?.changedAt ?? existing?.payload.updatedAt,
|
|
115
|
+
changedAt: now,
|
|
116
|
+
sourceChangedAt,
|
|
117
|
+
sourceVersion: content_hash,
|
|
118
|
+
indexedAt: now,
|
|
119
|
+
sync: {
|
|
120
|
+
sourceUpdatedAt: entry.modifiedAt,
|
|
121
|
+
sourceSize: entry.size,
|
|
122
|
+
syncedAt: now,
|
|
123
|
+
upstreamContentHash: content_hash,
|
|
124
|
+
lastSyncedAgentId: job.agentId,
|
|
125
|
+
status: 'synced',
|
|
126
|
+
},
|
|
127
|
+
}),
|
|
128
|
+
};
|
|
129
|
+
if (restoringDraft) {
|
|
130
|
+
const { recovery_only: ignored, ...ordinary } = payload;
|
|
131
|
+
payload = ordinary;
|
|
132
|
+
}
|
|
133
|
+
// Chunk ingestion BEFORE the parent upsert: the parent's content_hash is
|
|
134
|
+
// the convergence marker — if an abort lands mid-chunking, the parent
|
|
135
|
+
// still carries the OLD hash, so the next run reprocesses the file and
|
|
136
|
+
// the deterministic chunk ids converge. (Parent-first left a window where
|
|
137
|
+
// a hash-matched skip would never backfill the missing chunks.)
|
|
138
|
+
let chunksEmbedded = 0;
|
|
139
|
+
let chunksSkipped = 0;
|
|
140
|
+
let finishChunks;
|
|
141
|
+
let chunkResult;
|
|
142
|
+
{
|
|
143
|
+
// The chunks inherit the fields the parent point carries (a carried
|
|
144
|
+
// payload keeps its own writer's identity, so its chunks do too).
|
|
145
|
+
const parentFields = {
|
|
146
|
+
userId: payload.userId,
|
|
147
|
+
projectId: payload.projectId,
|
|
148
|
+
agentId: payload.agentId,
|
|
149
|
+
uri: payload.uri,
|
|
150
|
+
folder_ancestors: payload.folder_ancestors,
|
|
151
|
+
filename: payload.filename,
|
|
152
|
+
os_uri: payload.os_uri,
|
|
153
|
+
status: 'committed',
|
|
154
|
+
};
|
|
155
|
+
const chunkUsage = {};
|
|
156
|
+
chunkResult = await upsertChunksForContent({ vector: deps.vector, embedder: deps.embedder }, id, parentFields, content, entry.uri, chunkUsage, {
|
|
157
|
+
deferEmbedding: true,
|
|
158
|
+
...(job.signal ? { signal: job.signal } : {}),
|
|
159
|
+
...(provenPrefixChars !== undefined && !job.force ? { appendOf: { prefixChars: provenPrefixChars } } : {}),
|
|
160
|
+
...(job.force ? { force: true } : {}),
|
|
161
|
+
});
|
|
162
|
+
finishChunks = chunkResult.completeEmbedding;
|
|
163
|
+
chunksSkipped = chunkResult.skipped;
|
|
164
|
+
// A moved point's chunks kept their vectors (same ids, same text); only
|
|
165
|
+
// their denormalized location follows the parent, payload-only.
|
|
166
|
+
if (movedFrom)
|
|
167
|
+
await relocateChunksForParent({ vector: deps.vector }, id, parentFields);
|
|
168
|
+
}
|
|
169
|
+
await deps.vector.writePayload({ id, payload });
|
|
170
|
+
if (!deps.vector.conditionalUpsert || !deps.vector.writeEpoch)
|
|
171
|
+
throw new Error('FILESYSTEM_WRITE_BOUNDARY_REQUIRED');
|
|
172
|
+
const epoch = deps.vector.writeEpoch();
|
|
173
|
+
let embeddingDegraded;
|
|
174
|
+
if (!reuseVector && embeddingEnabled()) {
|
|
175
|
+
try {
|
|
176
|
+
const embedded = await embedParent();
|
|
177
|
+
await deps.vector.conditionalUpsert({
|
|
178
|
+
id, vector: embedded.embedding,
|
|
179
|
+
expected: { content_hash: payload.content_hash, updatedAt: payload.updatedAt },
|
|
180
|
+
patch: denseEmbeddingProof(embeddingText, now),
|
|
181
|
+
epoch,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
embeddingDegraded = embeddingUnavailableReason(error);
|
|
186
|
+
if (!embeddingDegraded)
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else if (!reuseVector)
|
|
191
|
+
embeddingDegraded = 'disabled';
|
|
192
|
+
if (!embeddingDegraded)
|
|
193
|
+
await finishChunks?.();
|
|
194
|
+
chunksEmbedded = chunkResult?.embedded ?? 0;
|
|
195
|
+
embeddingDegraded ??= chunkResult?.embeddingDegraded;
|
|
196
|
+
return { ...written(indexedAtUri ? 'updated' : 'added', { embedded: chunksEmbedded, skipped: chunksSkipped }), ...(embeddingDegraded ? { embeddingDegraded } : {}) };
|
|
197
|
+
}
|
|
198
|
+
const BINARY_EXTENSIONS = new Set([
|
|
199
|
+
'.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.ico', '.bmp',
|
|
200
|
+
'.mp4', '.webm', '.avi', '.mov', '.mkv',
|
|
201
|
+
'.mp3', '.wav', '.ogg', '.flac', '.aac',
|
|
202
|
+
'.zip', '.tar', '.gz', '.bz2', '.7z', '.rar',
|
|
203
|
+
'.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx',
|
|
204
|
+
'.exe', '.dll', '.so', '.dylib', '.wasm',
|
|
205
|
+
'.ttf', '.otf', '.woff', '.woff2', '.eot',
|
|
206
|
+
]);
|
|
207
|
+
/**
|
|
208
|
+
* A sync never indexes a binary file as text. The extension decides before
|
|
209
|
+
* the read; a file with an unknown or no extension is judged by its decoded
|
|
210
|
+
* content (`looksBinaryContent`, the `brainSyncBinarySniffChars` window) after it.
|
|
211
|
+
*/
|
|
212
|
+
export function isBinaryFile(filename) {
|
|
213
|
+
const dot = filename.lastIndexOf('.');
|
|
214
|
+
return dot >= 0 && BINARY_EXTENSIONS.has(filename.slice(dot).toLowerCase());
|
|
215
|
+
}
|
|
216
|
+
/** Stop only the embedding lane after one typed stop; already-running calls can finish. */
|
|
217
|
+
export function createSyncJobEmbedder(inner) {
|
|
218
|
+
let stopped;
|
|
219
|
+
let hasStopped = false;
|
|
220
|
+
async function call(run, signal) {
|
|
221
|
+
signal?.throwIfAborted();
|
|
222
|
+
if (hasStopped)
|
|
223
|
+
throw stopped;
|
|
224
|
+
try {
|
|
225
|
+
return await run();
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
if (embeddingUnavailableReason(error)) {
|
|
229
|
+
stopped = error;
|
|
230
|
+
hasStopped = true;
|
|
231
|
+
}
|
|
232
|
+
throw error;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return {
|
|
236
|
+
embedText: (text, opts) => call(() => inner.embedText(text, opts), opts?.signal),
|
|
237
|
+
...(inner.embedBatch ? { embedBatch: (texts, opts) => call(() => inner.embedBatch(texts, opts), opts?.signal) } : {}),
|
|
238
|
+
...(inner.embedContent ? { embedContent: (input, opts) => call(() => inner.embedContent(input, opts), opts?.signal) } : {}),
|
|
239
|
+
...(inner.modalities ? { modalities: () => inner.modalities() } : {}),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=syncIndexedFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncIndexedFile.js","sourceRoot":"","sources":["../../../src/usecases/syncIndexedFile.ts"],"names":[],"mappings":"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"}
|