@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.
Files changed (388) hide show
  1. package/README.md +80 -1410
  2. package/app/README.md +1 -1
  3. package/app/cards/FilesystemCardShell.tsx +42 -4
  4. package/app/cards/FilesystemChangeCard.tsx +34 -11
  5. package/app/cards/README.md +6 -5
  6. package/app/cards/diffUtils.ts +99 -1
  7. package/app/filesystem/FilesystemHost.tsx +17 -2
  8. package/app/filesystem/api/README.md +3 -3
  9. package/app/filesystem/api/index.ts +35 -11
  10. package/app/filesystem/api/projectPackages.ts +13 -102
  11. package/app/filesystem/domain/types.ts +30 -10
  12. package/app/filesystem/hooks/README.md +3 -3
  13. package/app/filesystem/hooks/useDiscoverableSources.ts +19 -30
  14. package/app/filesystem/hooks/useFilesystemSSE.ts +1 -1
  15. package/app/filesystem/host/README.md +5 -3
  16. package/app/filesystem/host/buildFilesystemHostValue.ts +19 -0
  17. package/app/filesystem/host/installFilesystemHostComponents.tsx +1 -1
  18. package/app/filesystem/lib/sourceKindForm.ts +118 -39
  19. package/app/filesystem/lib/treeVisualState.tsx +98 -4
  20. package/app/filesystem/store/README.md +1 -0
  21. package/app/filesystem/store/filesystemStore.ts +86 -5
  22. package/app/filesystem/store/gitSlice.ts +5 -0
  23. package/app/filesystem/store/helpers.ts +17 -0
  24. package/app/filesystem/store/listSlice.ts +8 -0
  25. package/app/filesystem/ui/CodeEditor.tsx +18 -3
  26. package/app/filesystem/ui/FileEditor.tsx +15 -10
  27. package/app/filesystem/ui/FileTree.tsx +41 -16
  28. package/app/filesystem/ui/FolderPicker.tsx +251 -0
  29. package/app/filesystem/ui/GitControlPanel.tsx +5 -0
  30. package/app/filesystem/ui/PackagesPanel.tsx +52 -374
  31. package/app/filesystem/ui/PolicyEditor.tsx +109 -24
  32. package/app/filesystem/ui/README.md +17 -11
  33. package/app/filesystem/ui/RawMediaPreview.tsx +58 -0
  34. package/app/filesystem/ui/SourceBranchHeader.tsx +4 -4
  35. package/app/filesystem/ui/SourcesPanel.tsx +420 -360
  36. package/app/filesystem/ui/Toolbar.tsx +1 -2
  37. package/app/shared/filesystem.png +0 -0
  38. package/dist/app/host.js +53 -48
  39. package/dist/scripts/sourceRootPairV1.d.ts +47 -0
  40. package/dist/scripts/sourceRootPairV1.d.ts.map +1 -0
  41. package/dist/scripts/sourceRootPairV1.js +147 -0
  42. package/dist/scripts/sourceRootPairV1.js.map +1 -0
  43. package/dist/scripts/sourceToFolderV1.d.ts +56 -0
  44. package/dist/scripts/sourceToFolderV1.d.ts.map +1 -0
  45. package/dist/scripts/sourceToFolderV1.js +152 -0
  46. package/dist/scripts/sourceToFolderV1.js.map +1 -0
  47. package/dist/scripts/sourceToHostV1.d.ts +56 -0
  48. package/dist/scripts/sourceToHostV1.d.ts.map +1 -0
  49. package/dist/scripts/sourceToHostV1.js +132 -0
  50. package/dist/scripts/sourceToHostV1.js.map +1 -0
  51. package/dist/src/config/env.d.ts +8 -0
  52. package/dist/src/config/env.d.ts.map +1 -1
  53. package/dist/src/config/env.js +17 -6
  54. package/dist/src/config/env.js.map +1 -1
  55. package/dist/src/connectors/AppSourceConfigStore.d.ts +17 -3
  56. package/dist/src/connectors/AppSourceConfigStore.d.ts.map +1 -1
  57. package/dist/src/connectors/AppSourceConfigStore.js +46 -6
  58. package/dist/src/connectors/AppSourceConfigStore.js.map +1 -1
  59. package/dist/src/connectors/HostConnector.d.ts +201 -0
  60. package/dist/src/connectors/HostConnector.d.ts.map +1 -0
  61. package/dist/src/connectors/HostConnector.js +903 -0
  62. package/dist/src/connectors/HostConnector.js.map +1 -0
  63. package/dist/src/connectors/inProcessTransport.d.ts +131 -0
  64. package/dist/src/connectors/inProcessTransport.d.ts.map +1 -0
  65. package/dist/src/connectors/inProcessTransport.js +447 -0
  66. package/dist/src/connectors/inProcessTransport.js.map +1 -0
  67. package/dist/src/domain/BrainError.d.ts +14 -0
  68. package/dist/src/domain/BrainError.d.ts.map +1 -1
  69. package/dist/src/domain/BrainError.js +21 -0
  70. package/dist/src/domain/BrainError.js.map +1 -1
  71. package/dist/src/domain/access/callerPermissions.d.ts +29 -0
  72. package/dist/src/domain/access/callerPermissions.d.ts.map +1 -1
  73. package/dist/src/domain/access/callerPermissions.js +85 -5
  74. package/dist/src/domain/access/callerPermissions.js.map +1 -1
  75. package/dist/src/domain/access/nativeLocalFence.d.ts +65 -0
  76. package/dist/src/domain/access/nativeLocalFence.d.ts.map +1 -0
  77. package/dist/src/domain/access/nativeLocalFence.js +171 -0
  78. package/dist/src/domain/access/nativeLocalFence.js.map +1 -0
  79. package/dist/src/domain/access/uriPermission.js +3 -3
  80. package/dist/src/domain/access/uriPermission.js.map +1 -1
  81. package/dist/src/domain/byteRange.d.ts +15 -0
  82. package/dist/src/domain/byteRange.d.ts.map +1 -0
  83. package/dist/src/domain/byteRange.js +30 -0
  84. package/dist/src/domain/byteRange.js.map +1 -0
  85. package/dist/src/domain/defaultPermissions.d.ts.map +1 -1
  86. package/dist/src/domain/defaultPermissions.js +29 -0
  87. package/dist/src/domain/defaultPermissions.js.map +1 -1
  88. package/dist/src/domain/mime.d.ts +8 -16
  89. package/dist/src/domain/mime.d.ts.map +1 -1
  90. package/dist/src/domain/mime.js +10 -99
  91. package/dist/src/domain/mime.js.map +1 -1
  92. package/dist/src/domain/paths.d.ts.map +1 -1
  93. package/dist/src/domain/paths.js +5 -3
  94. package/dist/src/domain/paths.js.map +1 -1
  95. package/dist/src/domain/sourceConfig.d.ts +52 -19
  96. package/dist/src/domain/sourceConfig.d.ts.map +1 -1
  97. package/dist/src/domain/sourceConfig.js +103 -19
  98. package/dist/src/domain/sourceConfig.js.map +1 -1
  99. package/dist/src/domain/sourcePackages.d.ts +8 -8
  100. package/dist/src/domain/sourcePackages.d.ts.map +1 -1
  101. package/dist/src/domain/sourceRootPair.d.ts +88 -0
  102. package/dist/src/domain/sourceRootPair.d.ts.map +1 -0
  103. package/dist/src/domain/sourceRootPair.js +108 -0
  104. package/dist/src/domain/sourceRootPair.js.map +1 -0
  105. package/dist/src/domain/syncTypes.d.ts +8 -1
  106. package/dist/src/domain/syncTypes.d.ts.map +1 -1
  107. package/dist/src/domain/syncTypes.js +1 -0
  108. package/dist/src/domain/syncTypes.js.map +1 -1
  109. package/dist/src/domain/types.d.ts +29 -1
  110. package/dist/src/domain/types.d.ts.map +1 -1
  111. package/dist/src/domain/uri.d.ts.map +1 -1
  112. package/dist/src/domain/uri.js +3 -2
  113. package/dist/src/domain/uri.js.map +1 -1
  114. package/dist/src/embeddings/clients/GeminiEmbedder.d.ts.map +1 -1
  115. package/dist/src/embeddings/clients/GeminiEmbedder.js +2 -5
  116. package/dist/src/embeddings/clients/GeminiEmbedder.js.map +1 -1
  117. package/dist/src/embeddings/clients/OpenAIEmbedder.d.ts.map +1 -1
  118. package/dist/src/embeddings/clients/OpenAIEmbedder.js +2 -3
  119. package/dist/src/embeddings/clients/OpenAIEmbedder.js.map +1 -1
  120. package/dist/src/embeddings/clients/QwenEmbedder.d.ts +2 -0
  121. package/dist/src/embeddings/clients/QwenEmbedder.d.ts.map +1 -1
  122. package/dist/src/embeddings/clients/QwenEmbedder.js +10 -2
  123. package/dist/src/embeddings/clients/QwenEmbedder.js.map +1 -1
  124. package/dist/src/embeddings/clients/VoyageEmbedder.d.ts +2 -0
  125. package/dist/src/embeddings/clients/VoyageEmbedder.d.ts.map +1 -1
  126. package/dist/src/embeddings/clients/VoyageEmbedder.js +8 -1
  127. package/dist/src/embeddings/clients/VoyageEmbedder.js.map +1 -1
  128. package/dist/src/embeddings/factory.d.ts +5 -3
  129. package/dist/src/embeddings/factory.d.ts.map +1 -1
  130. package/dist/src/embeddings/factory.js +7 -3
  131. package/dist/src/embeddings/factory.js.map +1 -1
  132. package/dist/src/embeddings/models.d.ts +2 -3
  133. package/dist/src/embeddings/models.d.ts.map +1 -1
  134. package/dist/src/embeddings/models.js +1 -2
  135. package/dist/src/embeddings/models.js.map +1 -1
  136. package/dist/src/embeddings/retry.js +1 -1
  137. package/dist/src/embeddings/retry.js.map +1 -1
  138. package/dist/src/embeddings/types.d.ts +6 -0
  139. package/dist/src/embeddings/types.d.ts.map +1 -1
  140. package/dist/src/embeddings/types.js +11 -0
  141. package/dist/src/embeddings/types.js.map +1 -1
  142. package/dist/src/git/GitRunner.d.ts +110 -30
  143. package/dist/src/git/GitRunner.d.ts.map +1 -1
  144. package/dist/src/git/GitRunner.js +511 -199
  145. package/dist/src/git/GitRunner.js.map +1 -1
  146. package/dist/src/git/GitWatchRegistry.d.ts +41 -35
  147. package/dist/src/git/GitWatchRegistry.d.ts.map +1 -1
  148. package/dist/src/git/GitWatchRegistry.js +61 -79
  149. package/dist/src/git/GitWatchRegistry.js.map +1 -1
  150. package/dist/src/git/gitPlace.d.ts +61 -0
  151. package/dist/src/git/gitPlace.d.ts.map +1 -0
  152. package/dist/src/git/gitPlace.js +74 -0
  153. package/dist/src/git/gitPlace.js.map +1 -0
  154. package/dist/src/git/sourceGitControl.d.ts +31 -19
  155. package/dist/src/git/sourceGitControl.d.ts.map +1 -1
  156. package/dist/src/git/sourceGitControl.js +208 -92
  157. package/dist/src/git/sourceGitControl.js.map +1 -1
  158. package/dist/src/git/sourceGitStatus.js +1 -1
  159. package/dist/src/git/sourceGitStatus.js.map +1 -1
  160. package/dist/src/git/untrackedStats.js +1 -1
  161. package/dist/src/git/untrackedStats.js.map +1 -1
  162. package/dist/src/index.d.ts +2 -1
  163. package/dist/src/index.d.ts.map +1 -1
  164. package/dist/src/index.js +2 -1
  165. package/dist/src/index.js.map +1 -1
  166. package/dist/src/lifecycle.d.ts +12 -16
  167. package/dist/src/lifecycle.d.ts.map +1 -1
  168. package/dist/src/lifecycle.js +2 -1
  169. package/dist/src/lifecycle.js.map +1 -1
  170. package/dist/src/routes/approve.d.ts.map +1 -1
  171. package/dist/src/routes/approve.js +3 -3
  172. package/dist/src/routes/approve.js.map +1 -1
  173. package/dist/src/routes/git.d.ts.map +1 -1
  174. package/dist/src/routes/git.js +183 -54
  175. package/dist/src/routes/git.js.map +1 -1
  176. package/dist/src/routes/health.d.ts.map +1 -1
  177. package/dist/src/routes/health.js +8 -5
  178. package/dist/src/routes/health.js.map +1 -1
  179. package/dist/src/routes/helpers/uriGuard.d.ts +1 -1
  180. package/dist/src/routes/helpers/uriGuard.d.ts.map +1 -1
  181. package/dist/src/routes/helpers/uriGuard.js +3 -2
  182. package/dist/src/routes/helpers/uriGuard.js.map +1 -1
  183. package/dist/src/routes/helpers.d.ts +20 -4
  184. package/dist/src/routes/helpers.d.ts.map +1 -1
  185. package/dist/src/routes/helpers.js +38 -5
  186. package/dist/src/routes/helpers.js.map +1 -1
  187. package/dist/src/routes/list.d.ts.map +1 -1
  188. package/dist/src/routes/list.js +5 -6
  189. package/dist/src/routes/list.js.map +1 -1
  190. package/dist/src/routes/pending.d.ts.map +1 -1
  191. package/dist/src/routes/pending.js +5 -5
  192. package/dist/src/routes/pending.js.map +1 -1
  193. package/dist/src/routes/policies.d.ts +6 -4
  194. package/dist/src/routes/policies.d.ts.map +1 -1
  195. package/dist/src/routes/policies.js +22 -16
  196. package/dist/src/routes/policies.js.map +1 -1
  197. package/dist/src/routes/raw.d.ts.map +1 -1
  198. package/dist/src/routes/raw.js +68 -14
  199. package/dist/src/routes/raw.js.map +1 -1
  200. package/dist/src/routes/read.d.ts.map +1 -1
  201. package/dist/src/routes/read.js +3 -3
  202. package/dist/src/routes/read.js.map +1 -1
  203. package/dist/src/routes/search.d.ts.map +1 -1
  204. package/dist/src/routes/search.js +3 -3
  205. package/dist/src/routes/search.js.map +1 -1
  206. package/dist/src/routes/sources.d.ts +60 -18
  207. package/dist/src/routes/sources.d.ts.map +1 -1
  208. package/dist/src/routes/sources.js +420 -308
  209. package/dist/src/routes/sources.js.map +1 -1
  210. package/dist/src/routes/upload.d.ts.map +1 -1
  211. package/dist/src/routes/upload.js +3 -3
  212. package/dist/src/routes/upload.js.map +1 -1
  213. package/dist/src/services/BridgeService.d.ts +15 -35
  214. package/dist/src/services/BridgeService.d.ts.map +1 -1
  215. package/dist/src/services/BridgeService.js +30 -88
  216. package/dist/src/services/BridgeService.js.map +1 -1
  217. package/dist/src/services/FilesystemService.d.ts +3 -2
  218. package/dist/src/services/FilesystemService.d.ts.map +1 -1
  219. package/dist/src/services/FilesystemService.js +116 -32
  220. package/dist/src/services/FilesystemService.js.map +1 -1
  221. package/dist/src/services/FilesystemUiService.d.ts +4 -1
  222. package/dist/src/services/FilesystemUiService.d.ts.map +1 -1
  223. package/dist/src/services/FilesystemUiService.js +71 -27
  224. package/dist/src/services/FilesystemUiService.js.map +1 -1
  225. package/dist/src/services/SyncScheduler.d.ts +12 -4
  226. package/dist/src/services/SyncScheduler.d.ts.map +1 -1
  227. package/dist/src/services/SyncScheduler.js +45 -10
  228. package/dist/src/services/SyncScheduler.js.map +1 -1
  229. package/dist/src/services/baselineRepair.d.ts +13 -3
  230. package/dist/src/services/baselineRepair.d.ts.map +1 -1
  231. package/dist/src/services/baselineRepair.js +13 -3
  232. package/dist/src/services/baselineRepair.js.map +1 -1
  233. package/dist/src/services/declaredSources.d.ts +125 -42
  234. package/dist/src/services/declaredSources.d.ts.map +1 -1
  235. package/dist/src/services/declaredSources.js +117 -45
  236. package/dist/src/services/declaredSources.js.map +1 -1
  237. package/dist/src/store/dataFormats.d.ts +17 -2
  238. package/dist/src/store/dataFormats.d.ts.map +1 -1
  239. package/dist/src/store/dataFormats.js +18 -3
  240. package/dist/src/store/dataFormats.js.map +1 -1
  241. package/dist/src/sync/DeltaSyncRunner.d.ts.map +1 -1
  242. package/dist/src/sync/DeltaSyncRunner.js +144 -4
  243. package/dist/src/sync/DeltaSyncRunner.js.map +1 -1
  244. package/dist/src/sync/SyncJobQueue.d.ts +14 -2
  245. package/dist/src/sync/SyncJobQueue.d.ts.map +1 -1
  246. package/dist/src/sync/SyncJobQueue.js +56 -10
  247. package/dist/src/sync/SyncJobQueue.js.map +1 -1
  248. package/dist/src/sync/SyncWatchService.d.ts +21 -4
  249. package/dist/src/sync/SyncWatchService.d.ts.map +1 -1
  250. package/dist/src/sync/SyncWatchService.js +115 -10
  251. package/dist/src/sync/SyncWatchService.js.map +1 -1
  252. package/dist/src/sync/categoryInference.d.ts +1 -1
  253. package/dist/src/sync/categoryInference.js +1 -1
  254. package/dist/src/tools/execCtx.d.ts +6 -0
  255. package/dist/src/tools/execCtx.d.ts.map +1 -1
  256. package/dist/src/tools/execCtx.js +11 -0
  257. package/dist/src/tools/execCtx.js.map +1 -1
  258. package/dist/src/tools/fs_list.js +2 -2
  259. package/dist/src/tools/fs_list.js.map +1 -1
  260. package/dist/src/tools/fs_read.js +2 -2
  261. package/dist/src/tools/fs_read.js.map +1 -1
  262. package/dist/src/tools/fs_search.js +2 -2
  263. package/dist/src/tools/fs_search.js.map +1 -1
  264. package/dist/src/tools/fs_write.js +2 -2
  265. package/dist/src/tools/fs_write.js.map +1 -1
  266. package/dist/src/usecases/admitSourceRoot.d.ts +65 -0
  267. package/dist/src/usecases/admitSourceRoot.d.ts.map +1 -0
  268. package/dist/src/usecases/admitSourceRoot.js +85 -0
  269. package/dist/src/usecases/admitSourceRoot.js.map +1 -0
  270. package/dist/src/usecases/browseSourceFolders.d.ts +85 -0
  271. package/dist/src/usecases/browseSourceFolders.d.ts.map +1 -0
  272. package/dist/src/usecases/browseSourceFolders.js +210 -0
  273. package/dist/src/usecases/browseSourceFolders.js.map +1 -0
  274. package/dist/src/usecases/createDeclaredSources.d.ts +13 -2
  275. package/dist/src/usecases/createDeclaredSources.d.ts.map +1 -1
  276. package/dist/src/usecases/createDeclaredSources.js +39 -0
  277. package/dist/src/usecases/createDeclaredSources.js.map +1 -1
  278. package/dist/src/usecases/deprovisionProject.d.ts +4 -5
  279. package/dist/src/usecases/deprovisionProject.d.ts.map +1 -1
  280. package/dist/src/usecases/deprovisionProject.js +3 -8
  281. package/dist/src/usecases/deprovisionProject.js.map +1 -1
  282. package/dist/src/usecases/list.d.ts.map +1 -1
  283. package/dist/src/usecases/list.js +83 -26
  284. package/dist/src/usecases/list.js.map +1 -1
  285. package/dist/src/usecases/listAttachableDevices.d.ts +13 -0
  286. package/dist/src/usecases/listAttachableDevices.d.ts.map +1 -0
  287. package/dist/src/usecases/listAttachableDevices.js +10 -0
  288. package/dist/src/usecases/listAttachableDevices.js.map +1 -0
  289. package/dist/src/usecases/listSourcePackages.d.ts.map +1 -1
  290. package/dist/src/usecases/listSourcePackages.js +95 -79
  291. package/dist/src/usecases/listSourcePackages.js.map +1 -1
  292. package/dist/src/usecases/purgeExcludedPoints.d.ts.map +1 -1
  293. package/dist/src/usecases/purgeExcludedPoints.js +3 -2
  294. package/dist/src/usecases/purgeExcludedPoints.js.map +1 -1
  295. package/dist/src/usecases/readFiles.d.ts.map +1 -1
  296. package/dist/src/usecases/readFiles.js +17 -1
  297. package/dist/src/usecases/readFiles.js.map +1 -1
  298. package/dist/src/usecases/reconcileSourcePackageRoots.d.ts +1 -1
  299. package/dist/src/usecases/reconcileSourcePackageRoots.d.ts.map +1 -1
  300. package/dist/src/usecases/reconcileSourcePackageRoots.js +2 -1
  301. package/dist/src/usecases/reconcileSourcePackageRoots.js.map +1 -1
  302. package/dist/src/usecases/revokePrincipal.d.ts +7 -5
  303. package/dist/src/usecases/revokePrincipal.d.ts.map +1 -1
  304. package/dist/src/usecases/revokePrincipal.js +29 -7
  305. package/dist/src/usecases/revokePrincipal.js.map +1 -1
  306. package/dist/src/usecases/scheduleSourceSync.d.ts +7 -0
  307. package/dist/src/usecases/scheduleSourceSync.d.ts.map +1 -1
  308. package/dist/src/usecases/scheduleSourceSync.js +6 -5
  309. package/dist/src/usecases/scheduleSourceSync.js.map +1 -1
  310. package/dist/src/usecases/searchFiles.d.ts.map +1 -1
  311. package/dist/src/usecases/searchFiles.js +13 -3
  312. package/dist/src/usecases/searchFiles.js.map +1 -1
  313. package/dist/src/usecases/sourcePackageInventory.d.ts +10 -2
  314. package/dist/src/usecases/sourcePackageInventory.d.ts.map +1 -1
  315. package/dist/src/usecases/sourcePackageInventory.js +24 -7
  316. package/dist/src/usecases/sourcePackageInventory.js.map +1 -1
  317. package/dist/src/usecases/triggerSourceSync.d.ts +46 -0
  318. package/dist/src/usecases/triggerSourceSync.d.ts.map +1 -0
  319. package/dist/src/usecases/triggerSourceSync.js +75 -0
  320. package/dist/src/usecases/triggerSourceSync.js.map +1 -0
  321. package/dist/src/usecases/uploadBinary.d.ts +2 -1
  322. package/dist/src/usecases/uploadBinary.d.ts.map +1 -1
  323. package/dist/src/usecases/uploadBinary.js +2 -2
  324. package/dist/src/usecases/uploadBinary.js.map +1 -1
  325. package/dist/src/usecases/vector/endpointGuard.d.ts +1 -1
  326. package/dist/src/usecases/vector/endpointGuard.js +1 -1
  327. package/dist/src/usecases/vectorActivityWatch.d.ts +20 -13
  328. package/dist/src/usecases/vectorActivityWatch.d.ts.map +1 -1
  329. package/dist/src/usecases/vectorActivityWatch.js +61 -36
  330. package/dist/src/usecases/vectorActivityWatch.js.map +1 -1
  331. package/dist/src/usecases/vectorMaintenance.d.ts.map +1 -1
  332. package/dist/src/usecases/vectorMaintenance.js +16 -1
  333. package/dist/src/usecases/vectorMaintenance.js.map +1 -1
  334. package/dist/src/usecases/write/index.d.ts.map +1 -1
  335. package/dist/src/usecases/write/index.js +17 -2
  336. package/dist/src/usecases/write/index.js.map +1 -1
  337. package/dist/src/usecases/write/occupancy.d.ts +5 -1
  338. package/dist/src/usecases/write/occupancy.d.ts.map +1 -1
  339. package/dist/src/usecases/write/occupancy.js +13 -4
  340. package/dist/src/usecases/write/occupancy.js.map +1 -1
  341. package/dist/src/usecases/write/structure.d.ts.map +1 -1
  342. package/dist/src/usecases/write/structure.js +20 -5
  343. package/dist/src/usecases/write/structure.js.map +1 -1
  344. package/dist/src/vector/FilesystemVectorIndex.d.ts +72 -2
  345. package/dist/src/vector/FilesystemVectorIndex.d.ts.map +1 -1
  346. package/dist/src/vector/FilesystemVectorIndex.js +211 -27
  347. package/dist/src/vector/FilesystemVectorIndex.js.map +1 -1
  348. package/dist/src/vector/InMemoryVectorIndex.d.ts.map +1 -1
  349. package/dist/src/vector/InMemoryVectorIndex.js +55 -7
  350. package/dist/src/vector/InMemoryVectorIndex.js.map +1 -1
  351. package/dist/src/vector/qdrantClient.d.ts +18 -1
  352. package/dist/src/vector/qdrantClient.d.ts.map +1 -1
  353. package/dist/src/vector/qdrantClient.js +48 -6
  354. package/dist/src/vector/qdrantClient.js.map +1 -1
  355. package/dist/src/wiring.d.ts +10 -12
  356. package/dist/src/wiring.d.ts.map +1 -1
  357. package/dist/src/wiring.js +101 -61
  358. package/dist/src/wiring.js.map +1 -1
  359. package/package.json +166 -54
  360. package/skills/connect-business-data/SKILL.md +2 -2
  361. package/skills/create-package/SKILL.md +18 -18
  362. package/skills/create-package/references/config-and-credentials.md +16 -13
  363. package/skills/create-package/references/connectors-and-uri-policies.md +36 -27
  364. package/skills/create-package/references/manifest-and-discovery.md +12 -12
  365. package/skills/create-package/references/runtime-and-build.md +18 -18
  366. package/skills/create-package/references/skills-and-context.md +35 -19
  367. package/skills/create-package/references/surfaces-and-design.md +16 -16
  368. package/skills/create-package/references/team-and-workflows.md +2 -2
  369. package/skills/create-package/references/test-and-ship.md +17 -17
  370. package/skills/create-package/references/tools-and-schemas.md +5 -5
  371. package/skills/create-package/scripts/{check-package.sh → check-package.mjs} +78 -64
  372. package/skills/create-package/scripts/{verify-loaded.sh → verify-loaded.mjs} +156 -162
  373. package/skills/git/SKILL.md +31 -29
  374. package/skills/manage-files/SKILL.md +11 -14
  375. package/skills/manage-sources/SKILL.md +85 -45
  376. package/skills/manage-uri-policy/SKILL.md +9 -6
  377. package/skills/sync/SKILL.md +2 -2
  378. package/dist/src/connectors/LocalDiskConnector.d.ts +0 -171
  379. package/dist/src/connectors/LocalDiskConnector.d.ts.map +0 -1
  380. package/dist/src/connectors/LocalDiskConnector.js +0 -1233
  381. package/dist/src/connectors/LocalDiskConnector.js.map +0 -1
  382. package/skills/manage-files/scripts/copy.sh +0 -7
  383. package/skills/manage-files/scripts/create.sh +0 -7
  384. package/skills/manage-files/scripts/mkdir.sh +0 -7
  385. package/skills/manage-files/scripts/modify.sh +0 -7
  386. package/skills/manage-files/scripts/upload.sh +0 -16
  387. package/skills/manage-files/scripts/write.sh +0 -29
  388. package/skills/manage-sources/scripts/reembed.sh +0 -23
@@ -16,7 +16,8 @@
16
16
  * occupancy probe, so a write-only drop-box never becomes an existence
17
17
  * oracle.
18
18
  */
19
- import { BrainError } from '../../domain/BrainError.js';
19
+ import { BrainError, VectorStoreUnavailableError } from '../../domain/BrainError.js';
20
+ import { unindexedWhileUnavailable } from '../../vector/FilesystemVectorIndex.js';
20
21
  import { guardPendingRevert } from '../pendingReview.js';
21
22
  import { computeContentHash } from '../../domain/contentHash.js';
22
23
  import { normalizeNodeMetadataMime } from '../../domain/mime.js';
@@ -227,6 +228,8 @@ async function copyFile(lane, srcUri, destUri, opts) {
227
228
  };
228
229
  }
229
230
  async function readCopySource(ports, ctx, uri, usage) {
231
+ // For a connector-backed source the point only decorates the copy (category,
232
+ // tags, metadata); the connector read below is the content.
230
233
  const { points } = await ports.vector.scroll({
231
234
  filter: {
232
235
  must: [
@@ -237,7 +240,7 @@ async function readCopySource(ports, ctx, uri, usage) {
237
240
  mustNot: [{ field: 'category', equals: 'chunk' }],
238
241
  },
239
242
  limit: 5,
240
- });
243
+ }).catch(unindexedWhileUnavailable(uri, { points: [] }));
241
244
  usage.vectorQueries = (usage.vectorQueries ?? 0) + 1;
242
245
  // A tombstone beside a re-created file must never be what a `brain://` copy copies.
243
246
  const node = pickUriNode(points)?.payload ?? null;
@@ -310,8 +313,11 @@ async function copyFolder(lane, srcRoot, destRoot) {
310
313
  else
311
314
  failed.push(extractFilename(item.uri) || item.uri);
312
315
  }
313
- catch {
314
- // A per-file read/write deny must not abort the whole folder copy.
316
+ catch (error) {
317
+ // A store that cannot take the very first file refuses the whole copy (a
318
+ // `brain://` destination); a per-file read/write deny never aborts it.
319
+ if (error instanceof VectorStoreUnavailableError && copied === 0)
320
+ throw error;
315
321
  failed.push(extractFilename(item.uri) || item.uri);
316
322
  }
317
323
  }
@@ -876,7 +882,7 @@ async function explainUnresolved(lane, uri) {
876
882
  },
877
883
  limit: 5,
878
884
  payloadFields: ['uri', 'userId'],
879
- });
885
+ }).catch(unindexedWhileUnavailable(uri, { points: [] }));
880
886
  usage.vectorQueries = (usage.vectorQueries ?? 0) + 1;
881
887
  const foreign = points.some((p) => p.payload?.userId && p.payload.userId !== ctx.userId);
882
888
  if (!foreign)
@@ -1082,6 +1088,15 @@ async function deleteFolder(lane, root) {
1082
1088
  }
1083
1089
  }
1084
1090
  catch (error) {
1091
+ // The index lookup IS the file's identity and revert baseline: never
1092
+ // raw-delete around an unavailable store. Before anything was deleted
1093
+ // the whole call refuses; after, the rest land in `failed[]`.
1094
+ if (error instanceof VectorStoreUnavailableError) {
1095
+ if (deleted === 0)
1096
+ throw error;
1097
+ failed.push(extractFilename(file.uri) || file.uri);
1098
+ continue;
1099
+ }
1085
1100
  if (error instanceof SourcePermissionDeniedError
1086
1101
  || error instanceof SourceNotConfiguredError
1087
1102
  || error instanceof SourceDisabledError) {
@@ -1 +1 @@
1
- {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../../src/usecases/write/structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../../src/usecases/write/structure.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,13 @@ import type { SourceConfigPort } from '../connectors/types.js';
41
41
  * provider — and every active write, its stamp (4) and its shadow enqueue
42
42
  * run inside the swap gate, so none straddles the swap.
43
43
  *
44
- * The five are INDEPENDENT. Observation reads the payload that is actually
44
+ * 6. the availability GATE (`VectorStoreGate`, Qdrant installs only). While
45
+ * the store is unavailable every call is refused at once with
46
+ * `VectorStoreUnavailableError` — no network call — and
47
+ * `ensureAgentCollection` resolves without one; a store failure on the way
48
+ * back is converted to the same error (`classifyQdrantFailure`).
49
+ *
50
+ * The six are INDEPENDENT. Observation reads the payload that is actually
45
51
  * written — the STAMPED one, since the stamp can re-derive a category — and it
46
52
  * must never change what gets stamped or what a caller can detect.
47
53
  *
@@ -53,16 +59,24 @@ import type { SourceConfigPort } from '../connectors/types.js';
53
59
  import type { FilesystemNode } from '../domain/types.js';
54
60
  import type { WriteMonitor } from '../usecases/writeMonitor.js';
55
61
  import type { DiscoveryInvalidation } from './discoveryInvalidation.js';
62
+ import { VectorStoreUnavailableError, type VectorStoreUnavailableReason } from '../domain/BrainError.js';
56
63
  import type { QueryPrefetch, VectorBackend, VectorFilter, VectorIndexPort, VectorPoint, VectorReadProjection, VectorSearchHit } from './types.js';
57
64
  export declare class FilesystemVectorIndex implements VectorIndexPort<FilesystemNode> {
58
65
  #private;
66
+ /** The availability gate, if one was wired (a Qdrant install). */
67
+ get gate(): VectorStoreGate | undefined;
59
68
  /** The wrapped backend — read by the wiring-identity test, never by product code. */
60
69
  get backend(): VectorBackend<FilesystemNode>;
61
70
  /** The discovery generation registry, if one was wired. Read by the wiring test. */
62
71
  get discovery(): DiscoveryInvalidation | undefined;
63
72
  /** The per-uri write monitor, if one was wired. Read by the health route's usecase. */
64
73
  get writeMonitor(): WriteMonitor | undefined;
65
- constructor(inner: VectorBackend<FilesystemNode> | FilesystemVectorIndex, discovery?: DiscoveryInvalidation, monitor?: WriteMonitor);
74
+ constructor(inner: VectorBackend<FilesystemNode> | FilesystemVectorIndex, discovery?: DiscoveryInvalidation, monitor?: WriteMonitor, gate?: VectorStoreGate);
75
+ /**
76
+ * While the store is unavailable this RESOLVES with no network call and never
77
+ * throws: every use-site opens with it (and the boot step calls it with
78
+ * `void`), and the operation that follows refuses with the typed error itself.
79
+ */
66
80
  ensureAgentCollection(agentId: string): Promise<void>;
67
81
  upsert(point: VectorPoint<FilesystemNode>): Promise<void>;
68
82
  writeEpoch(): number;
@@ -125,6 +139,61 @@ export declare class FilesystemVectorIndex implements VectorIndexPort<Filesystem
125
139
  facet?: VectorIndexPort<FilesystemNode>['facet'];
126
140
  maintenance?: VectorIndexPort<FilesystemNode>['maintenance'];
127
141
  }
142
+ type GateLogger = {
143
+ info(message: string, data?: Record<string, unknown>): void;
144
+ warn(message: string, data?: Record<string, unknown>): void;
145
+ };
146
+ /** One piece of boot work that needs the store; it runs exactly once. */
147
+ export type GateStep = {
148
+ name: string;
149
+ run: () => Promise<void>;
150
+ };
151
+ /**
152
+ * Can the vector store serve a call right now? ONE instance per Qdrant install,
153
+ * read by the wrapper above (refusal + conversion), driven by the reachability
154
+ * watch (the ONLY thing that opens it) and consulted by the sync queue (which
155
+ * holds jobs while it is closed).
156
+ *
157
+ * It closes on a connection-class failure of any call (`convert`) or on a
158
+ * failed probe; a close from open notifies `onLost` (the watch answers with one
159
+ * immediate probe). It opens only through `reachable()`, and only after every
160
+ * first-reachability step registered with `whenReachable` ran — each exactly
161
+ * once — so no request races the boot steps. While those steps run, only
162
+ * `ensureAgentCollection` passes (`opening`); a close landing meanwhile keeps
163
+ * the gate closed and the next probe decides.
164
+ */
165
+ export declare class VectorStoreGate {
166
+ #private;
167
+ /** `first` runs before any other step and before the collection ensure is admitted (the server-version read a create shapes itself on). */
168
+ constructor(initial: VectorStoreUnavailableReason | null, logger?: GateLogger, first?: GateStep);
169
+ get available(): boolean;
170
+ /** The registered steps are running: only the collection ensure reaches the store. */
171
+ get opening(): boolean;
172
+ refusal(): VectorStoreUnavailableError | null;
173
+ /** A failed store call, as its caller sees it; a connection-class failure also closes the gate. */
174
+ convert(error: unknown): unknown;
175
+ close(reason: VectorStoreUnavailableReason): void;
176
+ /** Boot work that needs the store: runs now while it is available, else before the gate first opens. */
177
+ whenReachable(step: GateStep): void;
178
+ /** The probe found the store answering: run the pending steps once, then open. */
179
+ reachable(): Promise<void>;
180
+ onLost(listener: () => void): () => void;
181
+ onAvailable(listener: () => void): () => void;
182
+ }
183
+ /**
184
+ * The refusal the shared index would answer right now, read without a call —
185
+ * for a caller that must not START work whose end needs the store (a provider
186
+ * embed before a search, a journal mark before its point delete). `null` when
187
+ * the store is available or no gate is wired (a configured in-memory install).
188
+ */
189
+ export declare function vectorStoreRefusal(vector: unknown): VectorStoreUnavailableError | null;
190
+ /**
191
+ * The `.catch` of an index lookup that a CONNECTOR-BACKED uri can do without:
192
+ * while the store is unavailable it answers `unindexed` (the connector is that
193
+ * uri's physical truth); a `brain://` uri, whose content IS the index, and any
194
+ * other failure still reject.
195
+ */
196
+ export declare function unindexedWhileUnavailable<T>(uri: string, unindexed: T): (error: unknown) => T;
128
197
  /** A vector embedded by a model that is no longer the active one. */
129
198
  export declare class EmbeddingGenerationChangedError extends Error {
130
199
  readonly pointId: string;
@@ -133,4 +202,5 @@ export declare class EmbeddingGenerationChangedError extends Error {
133
202
  readonly code: 'embedding_generation_changed';
134
203
  constructor(pointId: string, producedBy: string, active: string);
135
204
  }
205
+ export {};
136
206
  //# sourceMappingURL=FilesystemVectorIndex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemVectorIndex.d.ts","sourceRoot":"","sources":["../../../src/vector/FilesystemVectorIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilesystemVectorIndex.d.ts","sourceRoot":"","sources":["../../../src/vector/FilesystemVectorIndex.ts"],"names":[],"mappings":"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"}