@neuralis/brain-core 0.3.2 → 0.4.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 +80 -1410
- package/app/README.md +1 -1
- package/app/cards/FilesystemCardShell.tsx +42 -4
- package/app/cards/FilesystemChangeCard.tsx +34 -11
- package/app/cards/README.md +6 -5
- package/app/cards/diffUtils.ts +99 -1
- package/app/filesystem/FilesystemHost.tsx +17 -2
- package/app/filesystem/api/README.md +3 -3
- package/app/filesystem/api/index.ts +35 -11
- package/app/filesystem/api/projectPackages.ts +13 -102
- package/app/filesystem/domain/types.ts +30 -10
- package/app/filesystem/hooks/README.md +3 -3
- package/app/filesystem/hooks/useDiscoverableSources.ts +19 -30
- package/app/filesystem/hooks/useFilesystemSSE.ts +1 -1
- package/app/filesystem/host/README.md +5 -3
- package/app/filesystem/host/buildFilesystemHostValue.ts +19 -0
- package/app/filesystem/host/installFilesystemHostComponents.tsx +1 -1
- package/app/filesystem/lib/sourceKindForm.ts +118 -39
- package/app/filesystem/lib/treeVisualState.tsx +98 -4
- package/app/filesystem/store/README.md +1 -0
- package/app/filesystem/store/filesystemStore.ts +86 -5
- package/app/filesystem/store/gitSlice.ts +5 -0
- package/app/filesystem/store/helpers.ts +17 -0
- package/app/filesystem/store/listSlice.ts +8 -0
- package/app/filesystem/ui/CodeEditor.tsx +18 -3
- package/app/filesystem/ui/FileEditor.tsx +15 -10
- package/app/filesystem/ui/FileTree.tsx +41 -16
- package/app/filesystem/ui/FolderPicker.tsx +251 -0
- package/app/filesystem/ui/GitControlPanel.tsx +5 -0
- package/app/filesystem/ui/PackagesPanel.tsx +52 -374
- package/app/filesystem/ui/PolicyEditor.tsx +109 -24
- package/app/filesystem/ui/README.md +17 -11
- package/app/filesystem/ui/RawMediaPreview.tsx +58 -0
- package/app/filesystem/ui/SourceBranchHeader.tsx +4 -4
- package/app/filesystem/ui/SourcesPanel.tsx +420 -360
- package/app/filesystem/ui/Toolbar.tsx +1 -2
- package/app/shared/filesystem.png +0 -0
- package/dist/app/host.js +53 -48
- package/dist/scripts/sourceRootPairV1.d.ts +47 -0
- package/dist/scripts/sourceRootPairV1.d.ts.map +1 -0
- package/dist/scripts/sourceRootPairV1.js +147 -0
- package/dist/scripts/sourceRootPairV1.js.map +1 -0
- package/dist/scripts/sourceToFolderV1.d.ts +56 -0
- package/dist/scripts/sourceToFolderV1.d.ts.map +1 -0
- package/dist/scripts/sourceToFolderV1.js +152 -0
- package/dist/scripts/sourceToFolderV1.js.map +1 -0
- package/dist/scripts/sourceToHostV1.d.ts +56 -0
- package/dist/scripts/sourceToHostV1.d.ts.map +1 -0
- package/dist/scripts/sourceToHostV1.js +132 -0
- package/dist/scripts/sourceToHostV1.js.map +1 -0
- package/dist/src/config/env.d.ts +8 -0
- package/dist/src/config/env.d.ts.map +1 -1
- package/dist/src/config/env.js +17 -6
- package/dist/src/config/env.js.map +1 -1
- package/dist/src/connectors/AppSourceConfigStore.d.ts +17 -3
- package/dist/src/connectors/AppSourceConfigStore.d.ts.map +1 -1
- package/dist/src/connectors/AppSourceConfigStore.js +46 -6
- package/dist/src/connectors/AppSourceConfigStore.js.map +1 -1
- package/dist/src/connectors/HostConnector.d.ts +201 -0
- package/dist/src/connectors/HostConnector.d.ts.map +1 -0
- package/dist/src/connectors/HostConnector.js +903 -0
- package/dist/src/connectors/HostConnector.js.map +1 -0
- package/dist/src/connectors/inProcessTransport.d.ts +131 -0
- package/dist/src/connectors/inProcessTransport.d.ts.map +1 -0
- package/dist/src/connectors/inProcessTransport.js +447 -0
- package/dist/src/connectors/inProcessTransport.js.map +1 -0
- package/dist/src/domain/BrainError.d.ts +14 -0
- package/dist/src/domain/BrainError.d.ts.map +1 -1
- package/dist/src/domain/BrainError.js +21 -0
- package/dist/src/domain/BrainError.js.map +1 -1
- package/dist/src/domain/access/callerPermissions.d.ts +29 -0
- package/dist/src/domain/access/callerPermissions.d.ts.map +1 -1
- package/dist/src/domain/access/callerPermissions.js +85 -5
- package/dist/src/domain/access/callerPermissions.js.map +1 -1
- package/dist/src/domain/access/nativeLocalFence.d.ts +65 -0
- package/dist/src/domain/access/nativeLocalFence.d.ts.map +1 -0
- package/dist/src/domain/access/nativeLocalFence.js +171 -0
- package/dist/src/domain/access/nativeLocalFence.js.map +1 -0
- package/dist/src/domain/access/uriPermission.js +3 -3
- package/dist/src/domain/access/uriPermission.js.map +1 -1
- package/dist/src/domain/byteRange.d.ts +15 -0
- package/dist/src/domain/byteRange.d.ts.map +1 -0
- package/dist/src/domain/byteRange.js +30 -0
- package/dist/src/domain/byteRange.js.map +1 -0
- package/dist/src/domain/defaultPermissions.d.ts.map +1 -1
- package/dist/src/domain/defaultPermissions.js +29 -0
- package/dist/src/domain/defaultPermissions.js.map +1 -1
- package/dist/src/domain/mime.d.ts +8 -16
- package/dist/src/domain/mime.d.ts.map +1 -1
- package/dist/src/domain/mime.js +10 -99
- package/dist/src/domain/mime.js.map +1 -1
- package/dist/src/domain/paths.d.ts.map +1 -1
- package/dist/src/domain/paths.js +5 -3
- package/dist/src/domain/paths.js.map +1 -1
- package/dist/src/domain/sourceConfig.d.ts +52 -19
- package/dist/src/domain/sourceConfig.d.ts.map +1 -1
- package/dist/src/domain/sourceConfig.js +103 -19
- package/dist/src/domain/sourceConfig.js.map +1 -1
- package/dist/src/domain/sourcePackages.d.ts +8 -8
- package/dist/src/domain/sourcePackages.d.ts.map +1 -1
- package/dist/src/domain/sourceRootPair.d.ts +88 -0
- package/dist/src/domain/sourceRootPair.d.ts.map +1 -0
- package/dist/src/domain/sourceRootPair.js +108 -0
- package/dist/src/domain/sourceRootPair.js.map +1 -0
- package/dist/src/domain/syncTypes.d.ts +8 -1
- package/dist/src/domain/syncTypes.d.ts.map +1 -1
- package/dist/src/domain/syncTypes.js +1 -0
- package/dist/src/domain/syncTypes.js.map +1 -1
- package/dist/src/domain/types.d.ts +29 -1
- package/dist/src/domain/types.d.ts.map +1 -1
- package/dist/src/domain/uri.d.ts.map +1 -1
- package/dist/src/domain/uri.js +3 -2
- package/dist/src/domain/uri.js.map +1 -1
- package/dist/src/embeddings/clients/GeminiEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/GeminiEmbedder.js +2 -5
- package/dist/src/embeddings/clients/GeminiEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/OpenAIEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/OpenAIEmbedder.js +2 -3
- package/dist/src/embeddings/clients/OpenAIEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/QwenEmbedder.d.ts +2 -0
- package/dist/src/embeddings/clients/QwenEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/QwenEmbedder.js +10 -2
- package/dist/src/embeddings/clients/QwenEmbedder.js.map +1 -1
- package/dist/src/embeddings/clients/VoyageEmbedder.d.ts +2 -0
- package/dist/src/embeddings/clients/VoyageEmbedder.d.ts.map +1 -1
- package/dist/src/embeddings/clients/VoyageEmbedder.js +8 -1
- package/dist/src/embeddings/clients/VoyageEmbedder.js.map +1 -1
- package/dist/src/embeddings/factory.d.ts +5 -3
- package/dist/src/embeddings/factory.d.ts.map +1 -1
- package/dist/src/embeddings/factory.js +7 -3
- package/dist/src/embeddings/factory.js.map +1 -1
- package/dist/src/embeddings/models.d.ts +2 -3
- package/dist/src/embeddings/models.d.ts.map +1 -1
- package/dist/src/embeddings/models.js +1 -2
- package/dist/src/embeddings/models.js.map +1 -1
- package/dist/src/embeddings/retry.js +1 -1
- package/dist/src/embeddings/retry.js.map +1 -1
- package/dist/src/embeddings/types.d.ts +6 -0
- package/dist/src/embeddings/types.d.ts.map +1 -1
- package/dist/src/embeddings/types.js +11 -0
- package/dist/src/embeddings/types.js.map +1 -1
- package/dist/src/git/GitRunner.d.ts +110 -30
- package/dist/src/git/GitRunner.d.ts.map +1 -1
- package/dist/src/git/GitRunner.js +511 -199
- package/dist/src/git/GitRunner.js.map +1 -1
- package/dist/src/git/GitWatchRegistry.d.ts +41 -35
- package/dist/src/git/GitWatchRegistry.d.ts.map +1 -1
- package/dist/src/git/GitWatchRegistry.js +61 -79
- package/dist/src/git/GitWatchRegistry.js.map +1 -1
- package/dist/src/git/gitPlace.d.ts +61 -0
- package/dist/src/git/gitPlace.d.ts.map +1 -0
- package/dist/src/git/gitPlace.js +74 -0
- package/dist/src/git/gitPlace.js.map +1 -0
- package/dist/src/git/sourceGitControl.d.ts +31 -19
- package/dist/src/git/sourceGitControl.d.ts.map +1 -1
- package/dist/src/git/sourceGitControl.js +208 -92
- package/dist/src/git/sourceGitControl.js.map +1 -1
- package/dist/src/git/sourceGitStatus.js +1 -1
- package/dist/src/git/sourceGitStatus.js.map +1 -1
- package/dist/src/git/untrackedStats.js +1 -1
- package/dist/src/git/untrackedStats.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lifecycle.d.ts +12 -16
- package/dist/src/lifecycle.d.ts.map +1 -1
- package/dist/src/lifecycle.js +2 -1
- package/dist/src/lifecycle.js.map +1 -1
- package/dist/src/routes/approve.d.ts.map +1 -1
- package/dist/src/routes/approve.js +3 -3
- package/dist/src/routes/approve.js.map +1 -1
- package/dist/src/routes/git.d.ts.map +1 -1
- package/dist/src/routes/git.js +183 -54
- package/dist/src/routes/git.js.map +1 -1
- package/dist/src/routes/health.d.ts.map +1 -1
- package/dist/src/routes/health.js +8 -5
- package/dist/src/routes/health.js.map +1 -1
- package/dist/src/routes/helpers/uriGuard.d.ts +1 -1
- package/dist/src/routes/helpers/uriGuard.d.ts.map +1 -1
- package/dist/src/routes/helpers/uriGuard.js +3 -2
- package/dist/src/routes/helpers/uriGuard.js.map +1 -1
- package/dist/src/routes/helpers.d.ts +20 -4
- package/dist/src/routes/helpers.d.ts.map +1 -1
- package/dist/src/routes/helpers.js +38 -5
- package/dist/src/routes/helpers.js.map +1 -1
- package/dist/src/routes/list.d.ts.map +1 -1
- package/dist/src/routes/list.js +5 -6
- package/dist/src/routes/list.js.map +1 -1
- package/dist/src/routes/pending.d.ts.map +1 -1
- package/dist/src/routes/pending.js +5 -5
- package/dist/src/routes/pending.js.map +1 -1
- package/dist/src/routes/policies.d.ts +6 -4
- package/dist/src/routes/policies.d.ts.map +1 -1
- package/dist/src/routes/policies.js +22 -16
- package/dist/src/routes/policies.js.map +1 -1
- package/dist/src/routes/raw.d.ts.map +1 -1
- package/dist/src/routes/raw.js +68 -14
- package/dist/src/routes/raw.js.map +1 -1
- package/dist/src/routes/read.d.ts.map +1 -1
- package/dist/src/routes/read.js +3 -3
- package/dist/src/routes/read.js.map +1 -1
- package/dist/src/routes/search.d.ts.map +1 -1
- package/dist/src/routes/search.js +3 -3
- package/dist/src/routes/search.js.map +1 -1
- package/dist/src/routes/sources.d.ts +60 -18
- package/dist/src/routes/sources.d.ts.map +1 -1
- package/dist/src/routes/sources.js +420 -308
- package/dist/src/routes/sources.js.map +1 -1
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +3 -3
- package/dist/src/routes/upload.js.map +1 -1
- package/dist/src/services/BridgeService.d.ts +15 -35
- package/dist/src/services/BridgeService.d.ts.map +1 -1
- package/dist/src/services/BridgeService.js +30 -88
- package/dist/src/services/BridgeService.js.map +1 -1
- package/dist/src/services/FilesystemService.d.ts +3 -2
- package/dist/src/services/FilesystemService.d.ts.map +1 -1
- package/dist/src/services/FilesystemService.js +116 -32
- package/dist/src/services/FilesystemService.js.map +1 -1
- package/dist/src/services/FilesystemUiService.d.ts +4 -1
- package/dist/src/services/FilesystemUiService.d.ts.map +1 -1
- package/dist/src/services/FilesystemUiService.js +71 -27
- package/dist/src/services/FilesystemUiService.js.map +1 -1
- package/dist/src/services/SyncScheduler.d.ts +12 -4
- package/dist/src/services/SyncScheduler.d.ts.map +1 -1
- package/dist/src/services/SyncScheduler.js +45 -10
- package/dist/src/services/SyncScheduler.js.map +1 -1
- package/dist/src/services/baselineRepair.d.ts +13 -3
- package/dist/src/services/baselineRepair.d.ts.map +1 -1
- package/dist/src/services/baselineRepair.js +13 -3
- package/dist/src/services/baselineRepair.js.map +1 -1
- package/dist/src/services/declaredSources.d.ts +125 -42
- package/dist/src/services/declaredSources.d.ts.map +1 -1
- package/dist/src/services/declaredSources.js +117 -45
- package/dist/src/services/declaredSources.js.map +1 -1
- package/dist/src/store/dataFormats.d.ts +17 -2
- package/dist/src/store/dataFormats.d.ts.map +1 -1
- package/dist/src/store/dataFormats.js +18 -3
- 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 +144 -4
- package/dist/src/sync/DeltaSyncRunner.js.map +1 -1
- package/dist/src/sync/SyncJobQueue.d.ts +14 -2
- package/dist/src/sync/SyncJobQueue.d.ts.map +1 -1
- package/dist/src/sync/SyncJobQueue.js +56 -10
- package/dist/src/sync/SyncJobQueue.js.map +1 -1
- package/dist/src/sync/SyncWatchService.d.ts +21 -4
- package/dist/src/sync/SyncWatchService.d.ts.map +1 -1
- package/dist/src/sync/SyncWatchService.js +115 -10
- package/dist/src/sync/SyncWatchService.js.map +1 -1
- package/dist/src/sync/categoryInference.d.ts +1 -1
- package/dist/src/sync/categoryInference.js +1 -1
- package/dist/src/tools/execCtx.d.ts +6 -0
- package/dist/src/tools/execCtx.d.ts.map +1 -1
- package/dist/src/tools/execCtx.js +11 -0
- package/dist/src/tools/execCtx.js.map +1 -1
- package/dist/src/tools/fs_list.js +2 -2
- package/dist/src/tools/fs_list.js.map +1 -1
- package/dist/src/tools/fs_read.js +2 -2
- package/dist/src/tools/fs_read.js.map +1 -1
- package/dist/src/tools/fs_search.js +2 -2
- package/dist/src/tools/fs_search.js.map +1 -1
- package/dist/src/tools/fs_write.js +2 -2
- package/dist/src/tools/fs_write.js.map +1 -1
- package/dist/src/usecases/admitSourceRoot.d.ts +65 -0
- package/dist/src/usecases/admitSourceRoot.d.ts.map +1 -0
- package/dist/src/usecases/admitSourceRoot.js +85 -0
- package/dist/src/usecases/admitSourceRoot.js.map +1 -0
- package/dist/src/usecases/browseSourceFolders.d.ts +85 -0
- package/dist/src/usecases/browseSourceFolders.d.ts.map +1 -0
- package/dist/src/usecases/browseSourceFolders.js +210 -0
- package/dist/src/usecases/browseSourceFolders.js.map +1 -0
- package/dist/src/usecases/createDeclaredSources.d.ts +13 -2
- package/dist/src/usecases/createDeclaredSources.d.ts.map +1 -1
- package/dist/src/usecases/createDeclaredSources.js +39 -0
- package/dist/src/usecases/createDeclaredSources.js.map +1 -1
- package/dist/src/usecases/deprovisionProject.d.ts +4 -5
- package/dist/src/usecases/deprovisionProject.d.ts.map +1 -1
- package/dist/src/usecases/deprovisionProject.js +3 -8
- package/dist/src/usecases/deprovisionProject.js.map +1 -1
- package/dist/src/usecases/list.d.ts.map +1 -1
- package/dist/src/usecases/list.js +83 -26
- package/dist/src/usecases/list.js.map +1 -1
- package/dist/src/usecases/listAttachableDevices.d.ts +13 -0
- package/dist/src/usecases/listAttachableDevices.d.ts.map +1 -0
- package/dist/src/usecases/listAttachableDevices.js +10 -0
- package/dist/src/usecases/listAttachableDevices.js.map +1 -0
- package/dist/src/usecases/listSourcePackages.d.ts.map +1 -1
- package/dist/src/usecases/listSourcePackages.js +95 -79
- package/dist/src/usecases/listSourcePackages.js.map +1 -1
- 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 +17 -1
- package/dist/src/usecases/readFiles.js.map +1 -1
- package/dist/src/usecases/reconcileSourcePackageRoots.d.ts +1 -1
- package/dist/src/usecases/reconcileSourcePackageRoots.d.ts.map +1 -1
- package/dist/src/usecases/reconcileSourcePackageRoots.js +2 -1
- package/dist/src/usecases/reconcileSourcePackageRoots.js.map +1 -1
- package/dist/src/usecases/revokePrincipal.d.ts +7 -5
- package/dist/src/usecases/revokePrincipal.d.ts.map +1 -1
- package/dist/src/usecases/revokePrincipal.js +29 -7
- package/dist/src/usecases/revokePrincipal.js.map +1 -1
- package/dist/src/usecases/scheduleSourceSync.d.ts +7 -0
- package/dist/src/usecases/scheduleSourceSync.d.ts.map +1 -1
- package/dist/src/usecases/scheduleSourceSync.js +6 -5
- package/dist/src/usecases/scheduleSourceSync.js.map +1 -1
- package/dist/src/usecases/searchFiles.d.ts.map +1 -1
- package/dist/src/usecases/searchFiles.js +13 -3
- package/dist/src/usecases/searchFiles.js.map +1 -1
- package/dist/src/usecases/sourcePackageInventory.d.ts +10 -2
- package/dist/src/usecases/sourcePackageInventory.d.ts.map +1 -1
- package/dist/src/usecases/sourcePackageInventory.js +24 -7
- package/dist/src/usecases/sourcePackageInventory.js.map +1 -1
- package/dist/src/usecases/triggerSourceSync.d.ts +46 -0
- package/dist/src/usecases/triggerSourceSync.d.ts.map +1 -0
- package/dist/src/usecases/triggerSourceSync.js +75 -0
- package/dist/src/usecases/triggerSourceSync.js.map +1 -0
- package/dist/src/usecases/uploadBinary.d.ts +2 -1
- package/dist/src/usecases/uploadBinary.d.ts.map +1 -1
- package/dist/src/usecases/uploadBinary.js +2 -2
- package/dist/src/usecases/uploadBinary.js.map +1 -1
- package/dist/src/usecases/vector/endpointGuard.d.ts +1 -1
- package/dist/src/usecases/vector/endpointGuard.js +1 -1
- package/dist/src/usecases/vectorActivityWatch.d.ts +20 -13
- package/dist/src/usecases/vectorActivityWatch.d.ts.map +1 -1
- package/dist/src/usecases/vectorActivityWatch.js +61 -36
- package/dist/src/usecases/vectorActivityWatch.js.map +1 -1
- package/dist/src/usecases/vectorMaintenance.d.ts.map +1 -1
- package/dist/src/usecases/vectorMaintenance.js +16 -1
- package/dist/src/usecases/vectorMaintenance.js.map +1 -1
- package/dist/src/usecases/write/index.d.ts.map +1 -1
- package/dist/src/usecases/write/index.js +17 -2
- package/dist/src/usecases/write/index.js.map +1 -1
- package/dist/src/usecases/write/occupancy.d.ts +5 -1
- package/dist/src/usecases/write/occupancy.d.ts.map +1 -1
- package/dist/src/usecases/write/occupancy.js +13 -4
- package/dist/src/usecases/write/occupancy.js.map +1 -1
- package/dist/src/usecases/write/structure.d.ts.map +1 -1
- package/dist/src/usecases/write/structure.js +20 -5
- package/dist/src/usecases/write/structure.js.map +1 -1
- package/dist/src/vector/FilesystemVectorIndex.d.ts +72 -2
- package/dist/src/vector/FilesystemVectorIndex.d.ts.map +1 -1
- package/dist/src/vector/FilesystemVectorIndex.js +211 -27
- package/dist/src/vector/FilesystemVectorIndex.js.map +1 -1
- package/dist/src/vector/InMemoryVectorIndex.d.ts.map +1 -1
- package/dist/src/vector/InMemoryVectorIndex.js +55 -7
- package/dist/src/vector/InMemoryVectorIndex.js.map +1 -1
- package/dist/src/vector/qdrantClient.d.ts +18 -1
- package/dist/src/vector/qdrantClient.d.ts.map +1 -1
- package/dist/src/vector/qdrantClient.js +48 -6
- package/dist/src/vector/qdrantClient.js.map +1 -1
- package/dist/src/wiring.d.ts +10 -12
- package/dist/src/wiring.d.ts.map +1 -1
- package/dist/src/wiring.js +101 -61
- package/dist/src/wiring.js.map +1 -1
- package/package.json +166 -54
- package/skills/connect-business-data/SKILL.md +2 -2
- package/skills/create-package/SKILL.md +18 -18
- package/skills/create-package/references/config-and-credentials.md +16 -13
- package/skills/create-package/references/connectors-and-uri-policies.md +36 -27
- package/skills/create-package/references/manifest-and-discovery.md +12 -12
- package/skills/create-package/references/runtime-and-build.md +18 -18
- package/skills/create-package/references/skills-and-context.md +35 -19
- package/skills/create-package/references/surfaces-and-design.md +16 -16
- package/skills/create-package/references/team-and-workflows.md +2 -2
- package/skills/create-package/references/test-and-ship.md +17 -17
- package/skills/create-package/references/tools-and-schemas.md +5 -5
- package/skills/create-package/scripts/{check-package.sh → check-package.mjs} +78 -64
- package/skills/create-package/scripts/{verify-loaded.sh → verify-loaded.mjs} +156 -162
- package/skills/git/SKILL.md +31 -29
- package/skills/manage-files/SKILL.md +11 -14
- package/skills/manage-sources/SKILL.md +85 -45
- package/skills/manage-uri-policy/SKILL.md +9 -6
- package/skills/sync/SKILL.md +2 -2
- package/dist/src/connectors/LocalDiskConnector.d.ts +0 -171
- package/dist/src/connectors/LocalDiskConnector.d.ts.map +0 -1
- package/dist/src/connectors/LocalDiskConnector.js +0 -1233
- package/dist/src/connectors/LocalDiskConnector.js.map +0 -1
- package/skills/manage-files/scripts/copy.sh +0 -7
- package/skills/manage-files/scripts/create.sh +0 -7
- package/skills/manage-files/scripts/mkdir.sh +0 -7
- package/skills/manage-files/scripts/modify.sh +0 -7
- package/skills/manage-files/scripts/upload.sh +0 -16
- package/skills/manage-files/scripts/write.sh +0 -29
- package/skills/manage-sources/scripts/reembed.sh +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorActivityWatch.d.ts","sourceRoot":"","sources":["../../../src/usecases/vectorActivityWatch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vectorActivityWatch.d.ts","sourceRoot":"","sources":["../../../src/usecases/vectorActivityWatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,2BAA2B,EAAyB,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAG1E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AACpD,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,+EAA+E;IAC/E,kBAAkB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAChD,kFAAkF;IAClF,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IAClE,yFAAyF;IACzF,WAAW,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAC;IACrE,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,mBAAmB;;IAc9B,YAAY,IAAI,EAAE,uBAAuB,EAExC;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpB;IAED,2FAA2F;IAC3F,YAAY,IAAI,IAAI,CAInB;CA6DF;AAsBD,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,qGAAqG;AACrG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CA4B/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAO7H"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompositeLogger } from '@neuralis/package-system/data';
|
|
2
|
-
import { checkQdrantHealth
|
|
2
|
+
import { checkQdrantHealth } from '../wiring.js';
|
|
3
3
|
import { getBrainConfigNumber } from '../config/env.js';
|
|
4
4
|
export const OPTIMIZER_COMPLETED_LIMIT = 50;
|
|
5
5
|
export const OPTIMIZER_LONG_RUN_MS = 10 * 60 * 1000;
|
|
@@ -12,35 +12,60 @@ export class VectorActivityWatch {
|
|
|
12
12
|
#seeded = false;
|
|
13
13
|
/** A failing read warns once per streak — an older server without the endpoint fails every tick. */
|
|
14
14
|
#readFailing = false;
|
|
15
|
+
/** The probe in flight: a tick arriving meanwhile joins it. */
|
|
16
|
+
#inFlight = null;
|
|
17
|
+
/** A loss reported while a pass ran: ONE more probe follows that pass. */
|
|
18
|
+
#followUp = false;
|
|
19
|
+
/** The pass's own close is not a new loss to probe again. */
|
|
20
|
+
#closingFromProbe = false;
|
|
15
21
|
constructor(deps) {
|
|
16
22
|
this.#deps = deps;
|
|
17
23
|
}
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
tick() {
|
|
25
|
+
this.#inFlight ??= this.#pass().finally(() => {
|
|
26
|
+
this.#inFlight = null;
|
|
27
|
+
if (this.#followUp) {
|
|
28
|
+
this.#followUp = false;
|
|
29
|
+
void this.tick();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return this.#inFlight;
|
|
33
|
+
}
|
|
34
|
+
/** A call found the store gone: probe now, or once more right after the pass in flight. */
|
|
35
|
+
requestProbe() {
|
|
36
|
+
if (this.#closingFromProbe)
|
|
37
|
+
return;
|
|
38
|
+
if (this.#inFlight)
|
|
39
|
+
this.#followUp = true;
|
|
40
|
+
else
|
|
41
|
+
void this.tick();
|
|
42
|
+
}
|
|
43
|
+
async #pass() {
|
|
44
|
+
const probe = await this.#deps.probe();
|
|
45
|
+
const gate = this.#deps.gate;
|
|
46
|
+
if (probe === 'reachable')
|
|
47
|
+
await gate?.reachable();
|
|
48
|
+
else {
|
|
49
|
+
this.#closingFromProbe = true;
|
|
50
|
+
try {
|
|
51
|
+
gate?.close(probe);
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
this.#closingFromProbe = false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const reachable = gate ? gate.available : probe === 'reachable';
|
|
20
58
|
const was = this.#deps.recordReachability(reachable);
|
|
21
59
|
if (reachable !== was)
|
|
22
|
-
this.#logReachability(reachable);
|
|
60
|
+
this.#logReachability(reachable, probe);
|
|
23
61
|
if (reachable && this.#deps.maintenance)
|
|
24
62
|
await this.#readOptimizers(this.#deps.maintenance);
|
|
25
63
|
}
|
|
26
|
-
#logReachability(reachable) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
action: wiredBackend === 'inmemory'
|
|
32
|
-
? 'restart required to re-enable Qdrant-backed search'
|
|
33
|
-
: 'connectivity restored',
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.#deps.logger.warn('vector.qdrant.lost', {
|
|
38
|
-
wiredBackend,
|
|
39
|
-
impact: wiredBackend === 'qdrant'
|
|
40
|
-
? 'vector search/sync will fail until Qdrant returns'
|
|
41
|
-
: 'no impact (already in-memory)',
|
|
42
|
-
});
|
|
43
|
-
}
|
|
64
|
+
#logReachability(reachable, probe) {
|
|
65
|
+
if (reachable)
|
|
66
|
+
this.#deps.logger.info('vector.qdrant.recovered', { action: 'connectivity restored; held sync jobs run' });
|
|
67
|
+
else
|
|
68
|
+
this.#deps.logger.warn('vector.qdrant.lost', { reason: probe, impact: 'search, indexing and brain:// files wait until the vector store answers' });
|
|
44
69
|
}
|
|
45
70
|
async #readOptimizers(maintenance) {
|
|
46
71
|
let snapshot;
|
|
@@ -113,17 +138,16 @@ export const QDRANT_WATCH_INTERVAL_MS = 30_000;
|
|
|
113
138
|
* reachability transitions and the server's optimizer runs, logged to the
|
|
114
139
|
* console AND `vector.jsonl` — `vectorLogger` alone is file-only and never
|
|
115
140
|
* reaches `docker logs`. The probe itself stays on the file logger, so an
|
|
116
|
-
* unchanged probe adds no console line.
|
|
117
|
-
*
|
|
141
|
+
* unchanged probe adds no console line. Runs whenever the backend is Qdrant —
|
|
142
|
+
* the same predicate `describeVectorHealth` uses. A gate closing from open asks
|
|
143
|
+
* for ONE immediate probe through the same in-flight guard (no second timer).
|
|
118
144
|
*/
|
|
119
145
|
export function startQdrantWatch(state) {
|
|
120
|
-
if (state.qdrantWatch)
|
|
121
|
-
return;
|
|
122
|
-
if (inferInfraModeFromEnv(process.env) !== 'local')
|
|
146
|
+
if (state.qdrantWatch || state.vectorBackend === 'inmemory')
|
|
123
147
|
return;
|
|
124
148
|
const watch = new VectorActivityWatch({
|
|
125
|
-
wiredBackend: state.vectorBackend,
|
|
126
149
|
probe: () => checkQdrantHealth(state.vectorLogger),
|
|
150
|
+
...(state.vectorGate ? { gate: state.vectorGate } : {}),
|
|
127
151
|
recordReachability: (reachable) => {
|
|
128
152
|
const was = state.qdrantReachable;
|
|
129
153
|
state.qdrantReachable = reachable;
|
|
@@ -139,19 +163,20 @@ export function startQdrantWatch(state) {
|
|
|
139
163
|
const timer = setInterval(() => { void watch.tick(); }, watchIntervalMs);
|
|
140
164
|
timer.unref?.();
|
|
141
165
|
state.qdrantWatch = timer;
|
|
166
|
+
// `stop()` clears the timer; the listener then unsubscribes itself.
|
|
167
|
+
const offLost = state.vectorGate?.onLost(() => { if (state.qdrantWatch)
|
|
168
|
+
watch.requestProbe();
|
|
169
|
+
else
|
|
170
|
+
offLost?.(); });
|
|
142
171
|
}
|
|
143
172
|
/**
|
|
144
|
-
* The package `health` answer: ONE check, named after the
|
|
173
|
+
* The package `health` answer: ONE check, named after the configured backend
|
|
145
174
|
* (`vector.qdrant` | `vector.inmemory`), so the host can show which index
|
|
146
|
-
* serves without a free-text field. Qdrant
|
|
147
|
-
*
|
|
148
|
-
* `store_unreachable` — never `failed`: the in-memory index is a deliberate
|
|
149
|
-
* capability, and search keeps answering.
|
|
175
|
+
* serves without a free-text field. Qdrant not (yet) answering is `degraded` —
|
|
176
|
+
* `store_unreachable` — never `failed`: the host serves, only the index waits.
|
|
150
177
|
*/
|
|
151
178
|
export function describeVectorHealth(state) {
|
|
152
|
-
const degraded = state.vectorBackend
|
|
153
|
-
? !state.qdrantReachable
|
|
154
|
-
: inferInfraModeFromEnv(process.env) !== 'inmemory';
|
|
179
|
+
const degraded = state.vectorBackend !== 'inmemory' && !state.qdrantReachable;
|
|
155
180
|
const status = degraded ? 'degraded' : 'ok';
|
|
156
181
|
return {
|
|
157
182
|
status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorActivityWatch.js","sourceRoot":"","sources":["../../../src/usecases/vectorActivityWatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vectorActivityWatch.js","sourceRoot":"","sources":["../../../src/usecases/vectorActivityWatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorMaintenance.d.ts","sourceRoot":"","sources":["../../../src/usecases/vectorMaintenance.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"vectorMaintenance.d.ts","sourceRoot":"","sources":["../../../src/usecases/vectorMaintenance.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAML,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,uFAAuF;AACvF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,wBAAwB,GAAG;IAAE,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE;QAAE,MAAM,IAAI,MAAM,CAAA;KAAE,CAAA;CAAE,EAC9G,KAAK,EAAE,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,iBAAiB,CAAC,CA0D5B;AAED,MAAM,MAAM,iBAAiB,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,gFAAgF;IAChF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAA;CAAE,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAwBrD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,GACvE,OAAO,CAAC,YAAY,CAAC,CAEvB;AAyDD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,GAC9C,OAAO,CAAC,YAAY,CAAC,CAEvB;AAyDD,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,qBAAqB,EAAE,iBAAiB,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,4BAA4B,EAAE,iBAAiB,CAAC,CAAC;IAC5N,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GACrF,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAYD,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClE,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,GAC3D,wBAAwB,CAsB1B;AAMD,MAAM,MAAM,uBAAuB,GAAG;IACpC,iGAAiG;IACjG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,OAAO,CACL,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC5C,IAAI,EAAE;QAAE,GAAG,EAAE,cAAc,CAAA;KAAE,GAC5B,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,mBAAmB;;IAO9B,YAAY,IAAI,EAAE,uBAAuB,EAGxC;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAuD1B;CACF;AAID;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YAC7B,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,CACR,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAWnE,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,IAAI,EACT,gBAAgB,GAChB,iBAAiB,GACjB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,YAAY,CAAC,MAAM,CAAC;IAT1B,YACW,IAAI,EACT,gBAAgB,GAChB,iBAAiB,GACjB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,YAAY,CAAC,MAAM,CAAC,EACxB,OAAO,EAAE,MAAM,EAGhB;CACF;AAWD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAEzF;AAED,8FAA8F;AAC9F,wBAAsB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMrI;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IAA+B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS;IAAvI,YAAqB,OAAO,EAAE,MAAM,EAAE,EAAW,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAAW,KAAK,GAAE,QAAQ,GAAG,SAAoB,EAIjJ;CACF;AAED,2FAA2F;AAC3F,wBAAsB,qBAAqB,CACzC,KAAK,EAAE;IAAE,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EACjG,SAAS,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,GACjF,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBnB;AAWD,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yFAAyF;IACzF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;CAClE,CAAC;AAcF,0GAA0G;AAC1G,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,2BAA2B,EACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqClC;AAyHD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,2BAA2B,EACxC,IAAI,GAAE,WAAW,GAAG,IAA8B,GACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGlC"}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
* to change the key before a newly deployed schedule deletes anything.
|
|
25
25
|
*/
|
|
26
26
|
import { embeddingEnabled, getBrainConfigNumber, getBrainConfigString } from '../config/env.js';
|
|
27
|
+
import { VectorStoreUnavailableError } from '../domain/BrainError.js';
|
|
27
28
|
import { peekActiveLock } from '../embeddings/lock.js';
|
|
28
29
|
import { VECTOR_QUANTIZATION_MODES, } from '../vector/types.js';
|
|
29
30
|
import { scrollAllPoints } from '../vector/scrollUtils.js';
|
|
@@ -267,6 +268,8 @@ export class TombstoneGcSchedule {
|
|
|
267
268
|
#deps;
|
|
268
269
|
#lastRunAt;
|
|
269
270
|
#running = false;
|
|
271
|
+
/** One `vector.gc.waiting` line per vector-store outage streak. */
|
|
272
|
+
#waitingLogged = false;
|
|
270
273
|
constructor(deps) {
|
|
271
274
|
this.#deps = deps;
|
|
272
275
|
this.#lastRunAt = (deps.now ?? Date.now)();
|
|
@@ -288,6 +291,7 @@ export class TombstoneGcSchedule {
|
|
|
288
291
|
// A project whose GC is already running (a route pass) is skipped, and the
|
|
289
292
|
// interval is not consumed: the next tick runs the pass again.
|
|
290
293
|
let skipped = false;
|
|
294
|
+
let waiting = false;
|
|
291
295
|
const run = { principal: this.#deps.systemUserId, trigger: 'schedule' };
|
|
292
296
|
const fail = (err, projectId) => {
|
|
293
297
|
this.#deps.logger?.warn('vector.gc.failed', {
|
|
@@ -303,6 +307,15 @@ export class TombstoneGcSchedule {
|
|
|
303
307
|
await this.#deps.collect({ userId: this.#deps.systemUserId, projectId }, { run });
|
|
304
308
|
}
|
|
305
309
|
catch (err) {
|
|
310
|
+
if (err instanceof VectorStoreUnavailableError) {
|
|
311
|
+
// The pass waits for the store: the interval is not consumed, and an
|
|
312
|
+
// outage is ONE line however many ticks it spans.
|
|
313
|
+
waiting = true;
|
|
314
|
+
if (!this.#waitingLogged)
|
|
315
|
+
this.#deps.logger?.info('vector.gc.waiting', { principal: run.principal, trigger: run.trigger, reason: err.code });
|
|
316
|
+
this.#waitingLogged = true;
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
306
319
|
if (err instanceof CollectionActionError && err.code === 'action_in_progress') {
|
|
307
320
|
skipped = true;
|
|
308
321
|
this.#deps.logger?.info('vector.gc.skipped', {
|
|
@@ -322,8 +335,10 @@ export class TombstoneGcSchedule {
|
|
|
322
335
|
fail(err);
|
|
323
336
|
}
|
|
324
337
|
finally {
|
|
325
|
-
if (skipped)
|
|
338
|
+
if (skipped || waiting)
|
|
326
339
|
this.#lastRunAt = previousRunAt;
|
|
340
|
+
if (!waiting)
|
|
341
|
+
this.#waitingLogged = false;
|
|
327
342
|
this.#running = false;
|
|
328
343
|
}
|
|
329
344
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorMaintenance.js","sourceRoot":"","sources":["../../../src/usecases/vectorMaintenance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vectorMaintenance.js","sourceRoot":"","sources":["../../../src/usecases/vectorMaintenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecases/write/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAYzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAK7D,wBAAsB,SAAS,CAC7B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecases/write/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAYzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAK7D,wBAAsB,SAAS,CAC7B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,aAAa,CAAC,CA0ExB"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* 4. answer at HTTP 200: `ok:false` when nothing landed, `ok:true` with
|
|
15
15
|
* `refused[]` when something did.
|
|
16
16
|
*/
|
|
17
|
-
import { BrainError } from '../../domain/BrainError.js';
|
|
17
|
+
import { BrainError, VectorStoreUnavailableError } from '../../domain/BrainError.js';
|
|
18
18
|
import { validateUri } from '../../domain/uri.js';
|
|
19
19
|
import { createEmptyUsage } from '../../domain/usage.js';
|
|
20
20
|
import { planWrite } from './plan.js';
|
|
@@ -44,7 +44,13 @@ export async function writeFile(ports, ctx, req, opts) {
|
|
|
44
44
|
if (!request.uri && request.id) {
|
|
45
45
|
// Id-only targeting (the Files pending panel). Resolve the uri ONCE so every
|
|
46
46
|
// lane below works on a uri, and so the gates bind the RESOLVED path.
|
|
47
|
-
const located = await resolveWriteTarget(ports, ctx, { id: request.id }, usage, { allowScopedOwnerCrossUser: plan.kind === 'structure' && plan.verb === 'revert' })
|
|
47
|
+
const located = await resolveWriteTarget(ports, ctx, { id: request.id }, usage, { allowScopedOwnerCrossUser: plan.kind === 'structure' && plan.verb === 'revert' }).catch((error) => {
|
|
48
|
+
if (error instanceof VectorStoreUnavailableError)
|
|
49
|
+
return error;
|
|
50
|
+
throw error;
|
|
51
|
+
});
|
|
52
|
+
if (located instanceof VectorStoreUnavailableError)
|
|
53
|
+
return storeUnavailable('', located, usage);
|
|
48
54
|
if (!located)
|
|
49
55
|
return targetNotFound('', usage);
|
|
50
56
|
request = { ...request, uri: located.node.uri };
|
|
@@ -74,6 +80,8 @@ export async function writeFile(ports, ctx, req, opts) {
|
|
|
74
80
|
return await runContentLane(lane, plan.verbs);
|
|
75
81
|
}
|
|
76
82
|
catch (error) {
|
|
83
|
+
if (error instanceof VectorStoreUnavailableError)
|
|
84
|
+
return storeUnavailable(String(request.uri ?? ''), error, usage);
|
|
77
85
|
if (error instanceof BrainError && REFUSAL_CODES.has(error.code)) {
|
|
78
86
|
return {
|
|
79
87
|
ok: false,
|
|
@@ -88,6 +96,13 @@ export async function writeFile(ports, ctx, req, opts) {
|
|
|
88
96
|
throw error;
|
|
89
97
|
}
|
|
90
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* The vector store is away: an index lookup this call needed — a node's
|
|
101
|
+
* identity, a `brain://` file — was refused before anything was written.
|
|
102
|
+
*/
|
|
103
|
+
function storeUnavailable(uri, error, usage) {
|
|
104
|
+
return { ok: false, kind: 'filesystem.change', uri, error: 'VECTOR_STORE_UNAVAILABLE', code: error.code, message: error.message, usage };
|
|
105
|
+
}
|
|
91
106
|
/**
|
|
92
107
|
* Which content lane? `create` NEVER overwrites, so a call whose whole-content
|
|
93
108
|
* slot resolves to `create` always takes the create lane — where an occupied
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/usecases/write/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/usecases/write/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,10 @@ export declare function occupancyDepsFor(ports: WritePorts, uri: string): Occupa
|
|
|
21
21
|
* name is free for the next create. The tombstone and its journal stay, and
|
|
22
22
|
* its revert after a reuse answers `DESTINATION_EXISTS` (the new node's point
|
|
23
23
|
* and the file on disk occupy), so it never overwrites. `excludeId` drops the
|
|
24
|
-
* caller's own node so a revert or move is not refused by itself
|
|
24
|
+
* caller's own node so a revert or move is not refused by itself.
|
|
25
|
+
* `indexOptional` (the new-name loop only) skips this half for a
|
|
26
|
+
* connector-backed uri while the vector store is unavailable; a move or a
|
|
27
|
+
* revert, whose node identity lives on the index, still refuses;
|
|
25
28
|
* - for a non-brain source, the connector — physical truth (brain-core GR#8):
|
|
26
29
|
* `read` resolves ⇒ occupied; throws `ENOENT` ⇒ free; ANY other failure — a
|
|
27
30
|
* directory, an over-cap file, EACCES, a traversal block, a transport error
|
|
@@ -44,6 +47,7 @@ export declare function occupancyDepsFor(ports: WritePorts, uri: string): Occupa
|
|
|
44
47
|
*/
|
|
45
48
|
export declare function uriOccupied(deps: OccupancyDeps, ctx: ExecutionContext, uri: string, opts?: {
|
|
46
49
|
excludeId?: string;
|
|
50
|
+
indexOptional?: true;
|
|
47
51
|
}): Promise<boolean>;
|
|
48
52
|
/**
|
|
49
53
|
* The unique-name loop shared by every write that lands at a CALLER-CHOSEN uri
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"occupancy.d.ts","sourceRoot":"","sources":["../../../../src/usecases/write/occupancy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"occupancy.d.ts","sourceRoot":"","sources":["../../../../src/usecases/write/occupancy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,+EAA+E;IAC/E,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAM9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,OAAO,CAAC,CAmClB;AAmCD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;CAC1C,CAAC;AAEF,wBAAsB,eAAe,CACnC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
|
|
@@ -3,6 +3,9 @@ import { extractFilename, folderUri, sourceFromUri } from '../../domain/uri.js';
|
|
|
3
3
|
import { sanitizeFilename } from '../../domain/paths.js';
|
|
4
4
|
import { BrainError } from '../../domain/BrainError.js';
|
|
5
5
|
import { uriLogHash } from '../../domain/contentHash.js';
|
|
6
|
+
import { unindexedWhileUnavailable } from '../../vector/FilesystemVectorIndex.js';
|
|
7
|
+
const NO_POINTS = { points: [] };
|
|
8
|
+
const INDEX_OPTIONAL = { indexOptional: true };
|
|
6
9
|
/** The ONE construction of `OccupancyDeps` from the engine's ports. */
|
|
7
10
|
export function occupancyDepsFor(ports, uri) {
|
|
8
11
|
return {
|
|
@@ -21,7 +24,10 @@ export function occupancyDepsFor(ports, uri) {
|
|
|
21
24
|
* name is free for the next create. The tombstone and its journal stay, and
|
|
22
25
|
* its revert after a reuse answers `DESTINATION_EXISTS` (the new node's point
|
|
23
26
|
* and the file on disk occupy), so it never overwrites. `excludeId` drops the
|
|
24
|
-
* caller's own node so a revert or move is not refused by itself
|
|
27
|
+
* caller's own node so a revert or move is not refused by itself.
|
|
28
|
+
* `indexOptional` (the new-name loop only) skips this half for a
|
|
29
|
+
* connector-backed uri while the vector store is unavailable; a move or a
|
|
30
|
+
* revert, whose node identity lives on the index, still refuses;
|
|
25
31
|
* - for a non-brain source, the connector — physical truth (brain-core GR#8):
|
|
26
32
|
* `read` resolves ⇒ occupied; throws `ENOENT` ⇒ free; ANY other failure — a
|
|
27
33
|
* directory, an over-cap file, EACCES, a traversal block, a transport error
|
|
@@ -43,7 +49,7 @@ export function occupancyDepsFor(ports, uri) {
|
|
|
43
49
|
* `stat` without retiring this classification in the same edit.**
|
|
44
50
|
*/
|
|
45
51
|
export async function uriOccupied(deps, ctx, uri, opts) {
|
|
46
|
-
const
|
|
52
|
+
const lookup = deps.vector.scroll({
|
|
47
53
|
filter: {
|
|
48
54
|
must: [
|
|
49
55
|
{ field: 'userId', equals: ctx.userId },
|
|
@@ -57,6 +63,7 @@ export async function uriOccupied(deps, ctx, uri, opts) {
|
|
|
57
63
|
},
|
|
58
64
|
limit: 5,
|
|
59
65
|
});
|
|
66
|
+
const { points } = await (opts?.indexOptional ? lookup.catch(unindexedWhileUnavailable(uri, NO_POINTS)) : lookup);
|
|
60
67
|
const occupants = points.filter((point) => point.id !== opts?.excludeId);
|
|
61
68
|
if (occupants.length > 0) {
|
|
62
69
|
deps.logger?.info?.('write.occupancy.occupied', {
|
|
@@ -117,7 +124,9 @@ async function connectorHolds(connector, uri) {
|
|
|
117
124
|
}
|
|
118
125
|
}
|
|
119
126
|
export async function ensureUniqueUri(deps, ctx, uri, opts = {}) {
|
|
120
|
-
|
|
127
|
+
// A NEW name needs no index identity: while the vector store is unavailable
|
|
128
|
+
// the connector half alone decides (a `brain://` name still refuses).
|
|
129
|
+
if (!(await uriOccupied(deps, ctx, uri, INDEX_OPTIONAL)))
|
|
121
130
|
return uri;
|
|
122
131
|
const filename = extractFilename(uri);
|
|
123
132
|
const folder = folderUri(uri);
|
|
@@ -131,7 +140,7 @@ export async function ensureUniqueUri(deps, ctx, uri, opts = {}) {
|
|
|
131
140
|
for (let i = 2; i <= max; i++) {
|
|
132
141
|
const candidate = style === 'paren' ? `${stem} (${i})${ext}` : `${stem}-${i}${ext}`;
|
|
133
142
|
const candidateUri = join(candidate);
|
|
134
|
-
if (!(await uriOccupied(deps, ctx, candidateUri)))
|
|
143
|
+
if (!(await uriOccupied(deps, ctx, candidateUri, INDEX_OPTIONAL)))
|
|
135
144
|
return candidateUri;
|
|
136
145
|
}
|
|
137
146
|
if (opts.onExhausted === 'random-suffix') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"occupancy.js","sourceRoot":"","sources":["../../../../src/usecases/write/occupancy.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAMjC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"occupancy.js","sourceRoot":"","sources":["../../../../src/usecases/write/occupancy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../../src/usecases/write/structure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../../src/usecases/write/structure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAcH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AA0BnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5E,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,gBAAgB,CAAC;IACtB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAMF;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BzG;AAwBD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CA4BjE;AAMD,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAuBhE;AA+ND,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAmKhE;AAuBD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,SAAK,GAAG,aAAa,CAYlF;AAMD,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAyOlE;AAuJD,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAclE"}
|