@neuralis/brain-core 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -1417
- package/app/README.md +4 -4
- 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 +24 -2
- package/app/filesystem/README.md +1 -1
- package/app/filesystem/api/README.md +3 -3
- package/app/filesystem/api/index.ts +38 -14
- package/app/filesystem/api/projectPackages.ts +13 -102
- package/app/filesystem/domain/types.ts +30 -10
- package/app/filesystem/hooks/README.md +4 -4
- package/app/filesystem/hooks/useDiscoverableSources.ts +19 -30
- package/app/filesystem/hooks/useFilesystemSSE.ts +42 -2
- package/app/filesystem/host/README.md +6 -4
- package/app/filesystem/host/buildFilesystemHostValue.ts +28 -2
- package/app/filesystem/host/installFilesystemHostComponents.tsx +1 -1
- package/app/filesystem/lib/sourceKindForm.ts +210 -27
- package/app/filesystem/lib/treeVisualState.tsx +98 -4
- package/app/filesystem/store/README.md +1 -0
- package/app/filesystem/store/filesystemStore.ts +99 -8
- 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/DiscoverDock.tsx +5 -1
- package/app/filesystem/ui/FileEditor.tsx +15 -10
- package/app/filesystem/ui/FileTree.tsx +75 -24
- package/app/filesystem/ui/FilesystemWidget.tsx +10 -2
- package/app/filesystem/ui/FolderPicker.tsx +251 -0
- package/app/filesystem/ui/GitControlPanel.tsx +7 -2
- package/app/filesystem/ui/PackagesPanel.tsx +52 -374
- package/app/filesystem/ui/PendingChangesPanel.tsx +1 -1
- package/app/filesystem/ui/PolicyEditor.tsx +109 -24
- package/app/filesystem/ui/README.md +30 -23
- package/app/filesystem/ui/RawMediaPreview.tsx +58 -0
- package/app/filesystem/ui/SourceBranchHeader.tsx +4 -4
- package/app/filesystem/ui/SourcesPanel.tsx +502 -342
- package/app/filesystem/ui/Toolbar.tsx +1 -2
- package/app/filesystem/ui/VectorHealthPanel.tsx +2 -2
- package/app/shared/filesystem.png +0 -0
- package/dist/app/host.js +58 -46
- 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/channels/filesystem.d.ts +1 -1
- package/dist/src/channels/filesystem.js +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/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 +11 -19
- package/dist/src/domain/mime.d.ts.map +1 -1
- package/dist/src/domain/mime.js +13 -102
- 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/scopeAccessCtx.d.ts +2 -2
- package/dist/src/domain/scopeAccessCtx.js +2 -2
- 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 +32 -2
- 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 +1 -1
- package/dist/src/embeddings/models.d.ts.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/events/pending.d.ts +1 -1
- package/dist/src/events/pending.js +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 +33 -21
- package/dist/src/git/sourceGitControl.d.ts.map +1 -1
- package/dist/src/git/sourceGitControl.js +211 -95
- 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 +9 -12
- 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 +1 -1
- package/dist/src/routes/approve.js +1 -1
- package/dist/src/routes/events.d.ts +1 -1
- package/dist/src/routes/events.js +1 -1
- package/dist/src/routes/git.d.ts +7 -7
- package/dist/src/routes/git.d.ts.map +1 -1
- package/dist/src/routes/git.js +201 -72
- package/dist/src/routes/git.js.map +1 -1
- package/dist/src/routes/health.d.ts +6 -6
- package/dist/src/routes/health.js +12 -12
- package/dist/src/routes/helpers/sourceNotConfigured.d.ts +1 -1
- package/dist/src/routes/helpers/sourceNotConfigured.js +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 +11 -4
- package/dist/src/routes/helpers.d.ts.map +1 -1
- package/dist/src/routes/helpers.js +13 -6
- package/dist/src/routes/helpers.js.map +1 -1
- package/dist/src/routes/list.d.ts +1 -1
- package/dist/src/routes/list.d.ts.map +1 -1
- package/dist/src/routes/list.js +3 -4
- package/dist/src/routes/list.js.map +1 -1
- package/dist/src/routes/pending.d.ts +4 -4
- package/dist/src/routes/pending.js +9 -9
- package/dist/src/routes/policies.d.ts +10 -8
- package/dist/src/routes/policies.d.ts.map +1 -1
- package/dist/src/routes/policies.js +31 -25
- package/dist/src/routes/policies.js.map +1 -1
- package/dist/src/routes/raw.d.ts +1 -1
- package/dist/src/routes/raw.d.ts.map +1 -1
- package/dist/src/routes/raw.js +66 -12
- package/dist/src/routes/raw.js.map +1 -1
- package/dist/src/routes/read.d.ts +1 -1
- package/dist/src/routes/read.js +1 -1
- package/dist/src/routes/search.d.ts +1 -1
- package/dist/src/routes/search.js +1 -1
- package/dist/src/routes/sources.d.ts +63 -6
- package/dist/src/routes/sources.d.ts.map +1 -1
- package/dist/src/routes/sources.js +494 -382
- package/dist/src/routes/sources.js.map +1 -1
- package/dist/src/routes/upload.d.ts +1 -1
- package/dist/src/routes/upload.js +1 -1
- package/dist/src/routes/write.d.ts +2 -2
- package/dist/src/routes/write.js +2 -2
- package/dist/src/services/BridgeService.d.ts +21 -35
- package/dist/src/services/BridgeService.d.ts.map +1 -1
- package/dist/src/services/BridgeService.js +42 -88
- package/dist/src/services/BridgeService.js.map +1 -1
- package/dist/src/services/FilesystemService.d.ts +4 -3
- package/dist/src/services/FilesystemService.d.ts.map +1 -1
- package/dist/src/services/FilesystemService.js +112 -34
- 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 +66 -25
- 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 +37 -8
- 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 +132 -43
- package/dist/src/services/declaredSources.d.ts.map +1 -1
- package/dist/src/services/declaredSources.js +118 -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 +7 -2
- package/dist/src/sync/SyncJobQueue.d.ts.map +1 -1
- package/dist/src/sync/SyncJobQueue.js +16 -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 +2 -2
- package/dist/src/tools/execCtx.js +2 -2
- package/dist/src/tools/fs_read.d.ts.map +1 -1
- package/dist/src/tools/fs_read.js +5 -0
- package/dist/src/tools/fs_read.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/embeddingBacklog.js +1 -1
- package/dist/src/usecases/embeddingBacklog.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 +2 -5
- 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 +99 -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/syncPointWrites.d.ts +2 -0
- package/dist/src/usecases/syncPointWrites.d.ts.map +1 -1
- package/dist/src/usecases/syncPointWrites.js +5 -1
- package/dist/src/usecases/syncPointWrites.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/vectorMaintenance.js +1 -1
- package/dist/src/usecases/vectorMaintenance.js.map +1 -1
- package/dist/src/usecases/write/content.js +1 -1
- package/dist/src/vector/qdrantClient.d.ts +1 -1
- package/dist/src/vector/qdrantClient.js +1 -1
- package/dist/src/wiring.d.ts +3 -0
- package/dist/src/wiring.d.ts.map +1 -1
- package/dist/src/wiring.js +72 -6
- package/dist/src/wiring.js.map +1 -1
- package/dist/tools/fs_list.json +1 -1
- package/dist/tools/fs_read.json +1 -1
- package/dist/tools/fs_search.json +1 -1
- package/dist/tools/fs_write.json +1 -1
- package/instructions/brain-model.md +1 -1
- package/package.json +212 -114
- package/rules/brain-rules.md +2 -2
- package/skills/brain-start/SKILL.md +1 -1
- package/skills/connect-business-data/SKILL.md +3 -3
- package/skills/create-package/SKILL.md +26 -26
- package/skills/create-package/references/config-and-credentials.md +16 -13
- package/skills/create-package/references/connectors-and-uri-policies.md +39 -25
- package/skills/create-package/references/manifest-and-discovery.md +12 -12
- package/skills/create-package/references/runtime-and-build.md +19 -19
- package/skills/create-package/references/skills-and-context.md +36 -20
- 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 +21 -21
- package/skills/create-package/references/tools-and-schemas.md +5 -5
- package/skills/create-package/scripts/{check-package.sh → check-package.mjs} +79 -65
- package/skills/create-package/scripts/{verify-loaded.sh → verify-loaded.mjs} +156 -162
- package/skills/git/SKILL.md +53 -51
- package/skills/manage-files/SKILL.md +22 -25
- package/skills/manage-sources/SKILL.md +128 -87
- package/skills/manage-uri-policy/SKILL.md +18 -15
- package/skills/organize/SKILL.md +1 -1
- package/skills/sync/SKILL.md +3 -3
- package/tools/fs_list.json +1 -1
- package/tools/fs_read.json +1 -1
- package/tools/fs_search.json +1 -1
- package/tools/fs_write.json +1 -1
- package/workflows/sources-digest.json +1 -1
- 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/docs/drive-overview.md +0 -59
- 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,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
requiredFeatures: [
|
|
2
|
+
requiredFeatures: [sources.policy]
|
|
3
3
|
name: manage-uri-policy
|
|
4
|
-
description: "Inspect and patch role-aware read, write, and execute URI policy for any source. Use when a legitimate path is denied or access must be narrowed; patching needs the
|
|
4
|
+
description: "Inspect and patch role-aware read, write, and execute URI policy for any source. Use when a legitimate path is denied or access must be narrowed; patching needs the sources.policy feature, and prefer the smallest explicit exception over broad defaults."
|
|
5
5
|
allowed-tools: execute
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -66,22 +66,25 @@ undone.
|
|
|
66
66
|
# 0. Read the policy you are about to change, so you can prove you restored it.
|
|
67
67
|
neuralis request GET @neuralis/brain-core/policies/uri/data
|
|
68
68
|
# 1. Add the rule (LIVE — members lose read on this subtree immediately).
|
|
69
|
-
|
|
69
|
+
echo '{"source":"data","addPaths":[{"pattern":"data://agent-core/admin/**","permissions":{"read":false},"roles":["member"]}]}' | neuralis request POST @neuralis/brain-core/policies/uri --input -
|
|
70
70
|
# 2. Take it back — same source, same pattern, byte for byte.
|
|
71
|
-
|
|
71
|
+
echo '{"source":"data","removePatterns":["data://agent-core/admin/**"]}' | neuralis request POST @neuralis/brain-core/policies/uri --input -
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
To keep a rule, run step 1 and stop; step 2 exists so the example is reversible
|
|
75
75
|
rather than a permanent edit to a live source's access policy.
|
|
76
76
|
|
|
77
77
|
Body: `source` (slug, required) plus either `addPaths` — rules of `{pattern,
|
|
78
|
-
permissions, roles?}`, where `pattern` takes `**` wildcards, `permissions` maps
|
|
79
|
-
`read`/`write`/`exec` to `false` (deny) or `true` (allow)
|
|
80
|
-
rule
|
|
78
|
+
permissions, roles?, priority?, override?}`, where `pattern` takes `**` wildcards, `permissions` maps
|
|
79
|
+
`read`/`write`/`exec` to `false` (deny) or `true` (allow), `roles` scopes the
|
|
80
|
+
rule to named project roles (each must exist in the project, else 400) and
|
|
81
|
+
`priority: 2` to callers whose role priority is 2 or stronger — admin and owner,
|
|
82
|
+
lower = stronger (an integer 1..99, only on a grant row: `override: true` with every
|
|
83
|
+
listed bit `true`); present fields all apply — or `removePatterns` (the patterns to take back).
|
|
81
84
|
|
|
82
85
|
`exec` decides whether a shell may START in that directory — on an exec-capable
|
|
83
86
|
source (a virtual desktop or any other one whose connector runs commands) as
|
|
84
|
-
well as
|
|
87
|
+
well as on the app's own machine. A caller also needs that plane's entry feature; the
|
|
85
88
|
policy row alone does not grant one, and the entry alone does not grant the row.
|
|
86
89
|
So a source whose owner reports "I hold the feature and the shell is still
|
|
87
90
|
refused" usually needs an `exec` ALLOW row for their role or agent here.
|
|
@@ -100,24 +103,24 @@ package's seed.
|
|
|
100
103
|
|
|
101
104
|
- **Two arms, both keyed on FEATURES — there is no role-name check on this
|
|
102
105
|
route.** Reading (`GET policies/uri/...`) is
|
|
103
|
-
the module feature `
|
|
106
|
+
the module feature `files.read`, which every built-in role holds down to
|
|
104
107
|
`viewer`. Patching (`POST policies/uri`) escalates in-handler to
|
|
105
|
-
`
|
|
106
|
-
`403 Missing feature:
|
|
108
|
+
`sources.policy` and otherwise returns
|
|
109
|
+
`403 Missing feature: sources.policy (URI policy editing)`. `sources.policy` has
|
|
107
110
|
no grant below the `admin` tier (enumerated for `admin`, `'*'` for `owner`)
|
|
108
111
|
and is grantable to any custom role — so a custom role can hold it and a
|
|
109
112
|
built-in one can lack it.
|
|
110
113
|
- **Being able to SEE this skill is not the route gate.** Its
|
|
111
|
-
`requiredFeatures: [
|
|
114
|
+
`requiredFeatures: [sources.policy]` frontmatter hides the bundle from anyone
|
|
112
115
|
without that feature; that is the ADVERTISEMENT layer. The session ticket
|
|
113
116
|
carries your real identity to the route, and there is no synthetic owner
|
|
114
117
|
upgrade anywhere.
|
|
115
118
|
- **Patching SOMEONE ELSE'S user- or agent-scoped source additionally needs scope
|
|
116
119
|
WRITE.** The POST runs `canAccessScope(..., 'write')` on the owning scope, which
|
|
117
120
|
passes unconditionally for a project-scoped source and for your OWN user/agent
|
|
118
|
-
scope — so on the common path `
|
|
119
|
-
CROSS-scope patch consults `
|
|
120
|
-
`
|
|
121
|
+
scope — so on the common path `sources.policy` is the whole answer. Only a
|
|
122
|
+
CROSS-scope patch consults `files.writeOthers`; an
|
|
123
|
+
`files.readOthers`-but-not-`files.writeOthers` holder gets
|
|
121
124
|
`403 Forbidden for source scope` there.
|
|
122
125
|
- **Manifest baselines are not edited by this skill.** Package
|
|
123
126
|
manifests ship `permissions.uriPolicies` as the read-only baseline;
|
package/skills/organize/SKILL.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
requiredFeatures: [
|
|
2
|
+
requiredFeatures: [files.write]
|
|
3
3
|
name: organize
|
|
4
4
|
description: "Analyze a workspace for duplicate, misplaced, stale, or poorly indexed material and design a safer information architecture. Use when asked to clean up or reorganize; inspect references and propose or preview moves before mutating shared files."
|
|
5
5
|
allowed-tools: fs_search fs_write fs_list fs_read
|
package/skills/sync/SKILL.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
requiredFeatures: [
|
|
2
|
+
requiredFeatures: [sources.sync]
|
|
3
3
|
name: sync
|
|
4
4
|
description: "Run and verify brain-core delta synchronization for configured sources. Use when live connector content and the vector index may differ, files are stale or unindexed, or changes must become searchable; inspect completion and index state instead of trusting dispatch alone."
|
|
5
5
|
allowed-tools: fs_list fs_read execute
|
|
@@ -12,9 +12,9 @@ Trigger a delta sync for the brain-core filesystem.
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
14
14
|
1. Use `fs_list` with no `uri` first to identify configured sources, scopes, current sync status, and recent errors.
|
|
15
|
-
2. Call the brain-core source sync route for the intended source. The route answers 202 + a queue job snapshot — the sync runs in the background. Explicit sync requires `
|
|
15
|
+
2. Call the brain-core source sync route for the intended source. The route answers 202 + a queue job snapshot — the sync runs in the background. Explicit sync requires `sources.sync`; source create/update/delete uses `sources.mount`; file writes use `files.write`.
|
|
16
16
|
3. Poll `GET /sources/sync-status?source=<slug>` until the job finishes, then report the job `result` counts: `filesAdded`, `filesUpdated`, `filesRemoved`, `filesSkipped`, `filesMoved`, `chunksRemoved`, `chunksEmbedded` and `chunksSkipped` plus `embeddingDegraded` (safe, deduplicated embedding stop reasons). Payload indexing can succeed with missing/stale embeddings; report that debt separately. Read the two flags before interpreting completion. `cancelled: true` is not a failure, but the run stopped early: the counts are partial and a re-run converges. `truncated: true` means the walk stopped at `filesScanCap`, so files past the cap were never examined and no deletion or move was inferred — call that a partial pass, never a completed sync.
|
|
17
|
-
4. If any errors occur, list them clearly with the affected source, scope, and file path.
|
|
17
|
+
4. If any errors occur, list them clearly with the affected source, scope, and file path. Two job errors are fixed codes and removed nothing: `root_unreachable` (the source root cannot be reached — unmounted, renamed, device offline; fix the mount, then sync again) and `root_empty` (the root answers but holds no file while the index still holds some). Re-send `confirmEmpty:true` with the sync only after the user confirms the folder really is empty — that one pass removes its files from the index.
|
|
18
18
|
5. Distinguish live connector data, indexed payload and embedding freshness. Provider outage or disabled embedding preserves metadata/full-text indexing; semantic results may be old, or the response may fall back to filter search. Ordinary sync completion does not settle all embedding debt. Use `manage-sources` explicit debt catchup; terminal `paused` carries `result.embedding.pausedReason`, and Resume creates a new authorized job from durable debt.
|
|
19
19
|
|
|
20
20
|
## What a sync will and will not index
|
package/tools/fs_list.json
CHANGED
package/tools/fs_read.json
CHANGED
package/tools/fs_search.json
CHANGED
package/tools/fs_write.json
CHANGED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import type { ConnectorPort, ConnectorCapability, ConnectorListItem, ConnectorReadResult, ConnectorReadRawOpts, ConnectorReadRawResult, ConnectorStatResult, ConnectorMoveResult, ConnectorWriteResult, ConnectorDeltaRequest, ConnectorDeltaResult, ConnectorCountOpts, ConnectorWalkOpts, ScanContentOpts, ScanContentResult, ConnectorFactoryContext, ConnectorChangeEvent, ConnectorEventSubscription, ConnectorSubscribeOpts, ConnectorConnectionProbe } from '@neuralis/package-system/contracts';
|
|
2
|
-
import { ConnectorRootAccessError } from '@neuralis/package-system/contracts';
|
|
3
|
-
import { type OsMount } from '@neuralis/package-system/paths';
|
|
4
|
-
/**
|
|
5
|
-
* Concrete root-access error thrown by the local-disk connector. Routes +
|
|
6
|
-
* services catch the abstract base (`ConnectorRootAccessError`), not this
|
|
7
|
-
* class specifically — so every future connector that touches a real FS
|
|
8
|
-
* surface can share the same structured-warning pathway.
|
|
9
|
-
*/
|
|
10
|
-
export declare class LocalDiskRootAccessError extends ConnectorRootAccessError {
|
|
11
|
-
constructor(code: 'ROOT_MISSING' | 'ROOT_PERMISSION_DENIED', rootPath: string, uri: string, cause?: unknown);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* The capability set the local on-disk connector implements. This MUST stay
|
|
15
|
-
* byte-equal to the `local` connector's `capabilities` array in
|
|
16
|
-
* `package.json#neuralis.connectors` — `SourceLoader.instantiateConnector`
|
|
17
|
-
* fails closed (`ConnectorCapabilityMismatch`) on any divergence, and for a
|
|
18
|
-
* first-party connector `wiring.ts` now re-throws that (boot-fatal) instead of
|
|
19
|
-
* silently degrading the kind. `localDiskCapabilities.test.ts` is the
|
|
20
|
-
* derive-and-verify drift guard that catches a mismatch at TEST time.
|
|
21
|
-
*/
|
|
22
|
-
export declare const LOCAL_DISK_CAPABILITIES: readonly ConnectorCapability[];
|
|
23
|
-
/**
|
|
24
|
-
* Structured failure thrown by `LocalDiskConnector.resolveOsUri` when the
|
|
25
|
-
* connector is running inside a Docker container but no host-pair root has
|
|
26
|
-
* been configured. Returning a container-internal path here would corrupt
|
|
27
|
-
* vector payloads + filesystem-node `os_uri` fields with paths that do not
|
|
28
|
-
* exist on the host. Callers (sync runner, the write engine) catch this
|
|
29
|
-
* and either skip the upsert or persist `os_uri: undefined` instead.
|
|
30
|
-
*/
|
|
31
|
-
export declare class OsUriUnresolvableError extends Error {
|
|
32
|
-
readonly code: 'os_uri_host_pair_missing';
|
|
33
|
-
readonly source: string;
|
|
34
|
-
readonly uri: string;
|
|
35
|
-
constructor(params: {
|
|
36
|
-
source: string;
|
|
37
|
-
uri: string;
|
|
38
|
-
root?: string;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Connector for local filesystem access — URI-native.
|
|
43
|
-
*
|
|
44
|
-
* Contributed by brain-core via `neuralis.connectors[]` manifest entry
|
|
45
|
-
* `{ kind: 'local', configSchema: { root, hostRoot? } }`. The package loader
|
|
46
|
-
* instantiates it via `createLocalDiskConnector(ctx)` for each source binding.
|
|
47
|
-
*/
|
|
48
|
-
export declare class LocalDiskConnector implements ConnectorPort {
|
|
49
|
-
#private;
|
|
50
|
-
readonly kind = "local";
|
|
51
|
-
readonly source: string;
|
|
52
|
-
readonly portVersion: 4;
|
|
53
|
-
constructor(root: string, source: string, hostRoot?: string, isDocker?: boolean);
|
|
54
|
-
capabilities(): ReadonlySet<ConnectorCapability>;
|
|
55
|
-
/** Expose the resolved root path for diagnostics / wiring logs. */
|
|
56
|
-
get root(): string;
|
|
57
|
-
probeRoot(): Promise<{
|
|
58
|
-
rootPath: string;
|
|
59
|
-
exists: boolean;
|
|
60
|
-
readable: boolean;
|
|
61
|
-
error?: string;
|
|
62
|
-
}>;
|
|
63
|
-
/**
|
|
64
|
-
* Connector-owned liveness — whether the backing host directory is reachable.
|
|
65
|
-
* Wraps {@link probeRoot} but maps to the fixed `SourceLiveReason` enum and
|
|
66
|
-
* DISCARDS the raw `rootPath`/`error` (those carry the absolute host-mount
|
|
67
|
-
* path — leaking them to a member via the tone-title is a path-disclosure
|
|
68
|
-
* regression). UI-tone + `<runtime_stack>` signal only; never gates access.
|
|
69
|
-
*/
|
|
70
|
-
probeConnection(): Promise<ConnectorConnectionProbe>;
|
|
71
|
-
list(uri: string): Promise<ConnectorListItem[]>;
|
|
72
|
-
/**
|
|
73
|
-
* Existence + metadata, on the SAME guarded path as `read` and without
|
|
74
|
-
* transferring a byte of content. `null` = the path resolved but nothing is
|
|
75
|
-
* there (`ENOENT`, from either the guard's per-segment walk or the `lstat`);
|
|
76
|
-
* every other failure THROWS exactly as `read` would — a traversal/symlink
|
|
77
|
-
* refusal, an EACCES, a root-access error — so the caller's existing
|
|
78
|
-
* "gone vs. could-not-ask" split keeps working unchanged.
|
|
79
|
-
*
|
|
80
|
-
* `lstat`, never `stat`: `resolveAndGuard` REFUSES a symlink rather than
|
|
81
|
-
* resolving through it, so following one here would answer for a target the
|
|
82
|
-
* read path would never have served.
|
|
83
|
-
*/
|
|
84
|
-
stat(uri: string): Promise<ConnectorStatResult | null>;
|
|
85
|
-
/**
|
|
86
|
-
* The sync media lane's PDF read — NOT a kernel `ConnectorPort` member (only
|
|
87
|
-
* a connector that holds the file on its own disk can render it; the lane
|
|
88
|
-
* treats a connector without it as "unavailable"). The raw bytes' sha256
|
|
89
|
-
* (the point's `content_hash`) and pages `first..last` rendered by the ONE
|
|
90
|
-
* renderer — none when the hash equals `unlessHash`, so an unchanged PDF is
|
|
91
|
-
* never re-rendered. `null` when `pdftoppm` is not installed; the same
|
|
92
|
-
* containment and read cap as `read`.
|
|
93
|
-
*/
|
|
94
|
-
renderPdfPages(uri: string, opts: {
|
|
95
|
-
first: number;
|
|
96
|
-
last: number;
|
|
97
|
-
unlessHash?: string;
|
|
98
|
-
}): Promise<{
|
|
99
|
-
contentHash: string;
|
|
100
|
-
pages: Array<{
|
|
101
|
-
page: number;
|
|
102
|
-
png: Buffer;
|
|
103
|
-
}>;
|
|
104
|
-
} | null>;
|
|
105
|
-
/**
|
|
106
|
-
* The byte-exact read. Same guarded resolver as `read`; the cap is
|
|
107
|
-
* `min(opts.maxBytes, brainMaxReadFileMb)`, checked on the OPENED
|
|
108
|
-
* descriptor's size before any byte is buffered, and the read itself pulls
|
|
109
|
-
* at most that size+1 bytes — a file that grew after the size check is
|
|
110
|
-
* refused (over the cap: the too-large refusal), never cut.
|
|
111
|
-
*/
|
|
112
|
-
readRaw(uri: string, opts: ConnectorReadRawOpts): Promise<ConnectorReadRawResult>;
|
|
113
|
-
read(uri: string): Promise<ConnectorReadResult>;
|
|
114
|
-
write(uri: string, content: string | Uint8Array): Promise<ConnectorWriteResult>;
|
|
115
|
-
delete(uri: string): Promise<void>;
|
|
116
|
-
move(fromUri: string, toUri: string): Promise<ConnectorMoveResult>;
|
|
117
|
-
mkdir(uri: string): Promise<void>;
|
|
118
|
-
rmdir(uri: string): Promise<void>;
|
|
119
|
-
/**
|
|
120
|
-
* OS-level change events under `rootUri`, fed by the shared FsWatchHub
|
|
121
|
-
* (D6: ONE watcher substrate). Catches EVERY background change — shell
|
|
122
|
-
* writes, host edits, git checkouts, external programs — not just app
|
|
123
|
-
* writes. URI mapping happens here (the hub only knows absolute paths);
|
|
124
|
-
* exclude filtering and debounce are the SUBSCRIBER's job. An `overflow`
|
|
125
|
-
* event means "event delivery can no longer be trusted — full reconcile".
|
|
126
|
-
*/
|
|
127
|
-
subscribeEvents(rootUri: string, listener: (event: ConnectorChangeEvent) => void, opts?: ConnectorSubscribeOpts): ConnectorEventSubscription;
|
|
128
|
-
scanDelta(request: ConnectorDeltaRequest): Promise<ConnectorDeltaResult>;
|
|
129
|
-
resolveOsUri(uri: string): string;
|
|
130
|
-
peekCount(rootUri: string, opts?: ConnectorCountOpts): number | undefined;
|
|
131
|
-
walk(rootUri: string, opts?: ConnectorWalkOpts): Promise<ConnectorListItem[]>;
|
|
132
|
-
walkWithStatus(rootUri: string, opts?: ConnectorWalkOpts): Promise<{
|
|
133
|
-
items: ConnectorListItem[];
|
|
134
|
-
complete: boolean;
|
|
135
|
-
truncated: boolean;
|
|
136
|
-
}>;
|
|
137
|
-
count(rootUri: string, opts?: ConnectorCountOpts): Promise<number>;
|
|
138
|
-
scanContent(rootUri: string, query: string, opts?: ScanContentOpts): Promise<ScanContentResult[]>;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Factory: builds a LocalDiskConnector instance for a specific source binding.
|
|
142
|
-
*
|
|
143
|
-
* Resolves `config.root` against the current projectRoot
|
|
144
|
-
* (`resolveLocalRoot`): a relative path joins onto `ctx.projectRoot`, an
|
|
145
|
-
* absolute one is the container path as written.
|
|
146
|
-
*/
|
|
147
|
-
export declare function createLocalDiskConnector(ctx: ConnectorFactoryContext): ConnectorPort;
|
|
148
|
-
/**
|
|
149
|
-
* Derive a host-side root for `resolvedRoot` from the os-mount table. Returns
|
|
150
|
-
* the host path for the *longest* matching mount whose `containerPath` is the
|
|
151
|
-
* root itself or a path-boundary-correct ancestor (`/mounts/repo` matches
|
|
152
|
-
* `/mounts/repo` and `/mounts/repo/sub`, but NOT `/mounts/repo2`). Mounts
|
|
153
|
-
* without a `hostPath` (no `NEURALIS_MOUNT_HOST_*` pair) are skipped. Returns
|
|
154
|
-
* `undefined` when nothing matches, so the caller falls through to the
|
|
155
|
-
* fail-loud `OsUriUnresolvableError` path in Docker.
|
|
156
|
-
*/
|
|
157
|
-
export declare function deriveHostRootFromOsMounts(resolvedRoot: string, mounts: OsMount[]): string | undefined;
|
|
158
|
-
/**
|
|
159
|
-
* Canonical container-root resolution for a local source's configured root.
|
|
160
|
-
* Exported so the brain-core API can hand agent-core's shell uri-policy gate
|
|
161
|
-
* the SAME resolved roots the connector itself mounts — the two branches
|
|
162
|
-
* (relative under the project root, absolute as written) are never re-typed.
|
|
163
|
-
*/
|
|
164
|
-
export declare function resolveLocalRoot(params: {
|
|
165
|
-
configured: string;
|
|
166
|
-
projectRoot: string;
|
|
167
|
-
source: string;
|
|
168
|
-
}): {
|
|
169
|
-
resolvedRoot: string;
|
|
170
|
-
};
|
|
171
|
-
//# sourceMappingURL=LocalDiskConnector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDiskConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/LocalDiskConnector.ts"],"names":[],"mappings":"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"}
|