@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
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryVectorIndex.js","sourceRoot":"","sources":["../../../src/vector/InMemoryVectorIndex.ts"],"names":[],"mappings":"AAEA,SAAS,GAAG,CAAC,CAAW,EAAE,CAAW;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,CAAW;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,OAAY,EAAE,KAAa;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,KAAK,KAAK,kBAAkB;QAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC;IAClE,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5D,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,aAAa,CAAC,OAAY,EAAE,MAAoB,EAAE,MAAiB,EAAE,QAAoD;IAChI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,gFAAgF;IAChF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAc,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACtH,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClD,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;IACxB,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzC,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzE,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACjE,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACjE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAChE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAW,OAAiB,EAAE,MAAiB;IACpE,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,OAAO,CAAC;IACpC,MAAM,MAAM,GAAG,OAAkC,CAAC;IAClD,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QAC5F,IAAI,KAAK,GAAY,MAAM,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAAC,KAAK,GAAG,SAAS,CAAC;gBAAC,MAAM;YAAC,CAAC;YACpG,KAAK,GAAI,KAAiC,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAChE,MAAM,GAAG,MAAM,CAAC,GAAG,CAA4B,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,KAAK,CAAC;IACjD,CAAC;IACD,OAAO,SAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,mBAAmB;IACrB,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IAE5D,KAAK,CAAC,qBAAqB,CAAC,QAAgB,IAAkB,CAAC;IAE/D,KAAK,CAAC,MAAM,CAAC,KAA4B;QACvC,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;YACzB,GAAG,KAAK;YACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM;YACxC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAoD;QACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAoD;QACrE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA4D,EAAE,UAAuC;QACvH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAA0E;QAC1F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,UAAiC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,0EAA0E;QAC1E,uEAAuE;QACvE,0BAA0B;QAC1B,OAAO;YACL,GAAG,KAAK;YACR,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA0F;QACrG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,GAAG,CAAU,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,GAAG,GAAiC,EAAE,CAAC;QAC7C,IAAI,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1E,WAAW,GAAG,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAAE,SAAS;YAC3E,2DAA2D;YAC3D,0EAA0E;YAC1E,kBAAkB;YAClB,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,aAAa,EAAE,MAAM;gBAC1B,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;gBACpE,CAAC,CAAC,CAAC,CACN,CAAC;QACJ,CAAC;QACD,+EAA+E;QAC/E,8EAA8E;QAC9E,+EAA+E;QAC/E,8DAA8D;QAC9D,MAAM,UAAU,GAAG,WAAW,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAoB;QACtC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBAAE,CAAC,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAA4D;QACtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBAAE,SAAS;YACjE,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;oBAAE,SAAS;gBACnG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACnF,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAoB;QACvC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA2F;QACtG,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAqC,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBAAE,SAAS;YACjE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"InMemoryVectorIndex.js","sourceRoot":"","sources":["../../../src/vector/InMemoryVectorIndex.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { QdrantClient } from '@qdrant/js-client-rest';
5
5
  * `package.json` dependency by `test/vector/qdrantClientKey.test.ts` — a bump
6
6
  * that forgets it is a red test, never a silently wrong gap report.
7
7
  */
8
- export declare const QDRANT_CLIENT_VERSION = "1.19.0";
8
+ export declare const QDRANT_CLIENT_VERSION = "1.20.0";
9
9
  export type QdrantVersionGap = {
10
10
  client: string;
11
11
  server: string;
@@ -16,6 +16,23 @@ export type QdrantVersionGap = {
16
16
  };
17
17
  /** Client ↔ server version distance. A gap is REPORTED, never a reason to change backend. */
18
18
  export declare function qdrantVersionGap(server: string, client?: string): QdrantVersionGap;
19
+ /**
20
+ * A 401/403 from Qdrant is a CONFIG defect (QDRANT_API_KEY mismatch between
21
+ * .env and the server), not an outage — but both used to collapse into the
22
+ * same "unreachable" warn, so a key typo presented as "brain unavailable".
23
+ * The client throws two shapes: `ApiError` with a numeric `status`, and
24
+ * `QdrantClientUnexpectedResponseError` whose message embeds the status line.
25
+ */
26
+ export declare function isQdrantAuthError(err: unknown): boolean;
27
+ /**
28
+ * How a failed Qdrant call reads to the availability gate: `connection` (the
29
+ * store is not there — the gate closes), `unauthorized` (the key), `unavailable`
30
+ * (a request timeout or a 5xx — that ONE call is refused, the probe decides the
31
+ * state), or null (an ordinary error the caller keeps).
32
+ */
33
+ export declare function classifyQdrantFailure(err: unknown): 'connection' | 'unauthorized' | 'unavailable' | null;
19
34
  export declare function getQdrantClient(): QdrantClient;
35
+ /** A second client for the reachability probe only, bounded by `brainQdrantProbeTimeoutMs` (boot-read). */
36
+ export declare function getQdrantProbeClient(): QdrantClient;
20
37
  export declare function resetQdrantClientForTests(): void;
21
38
  //# sourceMappingURL=qdrantClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qdrantClient.d.ts","sourceRoot":"","sources":["../../../src/vector/qdrantClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAQF,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAA8B,GAAG,gBAAgB,CAMzG;AAID,wBAAgB,eAAe,IAAI,YAAY,CAQ9C;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
1
+ {"version":3,"file":"qdrantClient.d.ts","sourceRoot":"","sources":["../../../src/vector/qdrantClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAQF,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAA8B,GAAG,gBAAgB,CAMzG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,GAAG,IAAI,CAOxG;AAUD,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAED,2GAA2G;AAC3G,wBAAgB,oBAAoB,IAAI,YAAY,CAGnD;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}
@@ -1,12 +1,12 @@
1
1
  import { QdrantClient } from '@qdrant/js-client-rest';
2
- import { getNeuralisEnv } from '../config/env.js';
2
+ import { getBrainConfigNumber, getNeuralisEnv, isConnectionFailure } from '../config/env.js';
3
3
  /**
4
4
  * The `@qdrant/js-client-rest` version brain-core is built against. The client
5
5
  * does not export its own version, so this constant is pinned to the
6
6
  * `package.json` dependency by `test/vector/qdrantClientKey.test.ts` — a bump
7
7
  * that forgets it is a red test, never a silently wrong gap report.
8
8
  */
9
- export const QDRANT_CLIENT_VERSION = '1.19.0';
9
+ export const QDRANT_CLIENT_VERSION = '1.20.0';
10
10
  function parseMajorMinor(version) {
11
11
  const match = /^v?(\d+)\.(\d+)/.exec(version.trim());
12
12
  if (!match)
@@ -22,18 +22,60 @@ export function qdrantVersionGap(server, client = QDRANT_CLIENT_VERSION) {
22
22
  const minorGap = Math.abs(s.minor - c.minor);
23
23
  return { client, server, minorGap, compatible: minorGap <= 1 };
24
24
  }
25
+ /**
26
+ * A 401/403 from Qdrant is a CONFIG defect (QDRANT_API_KEY mismatch between
27
+ * .env and the server), not an outage — but both used to collapse into the
28
+ * same "unreachable" warn, so a key typo presented as "brain unavailable".
29
+ * The client throws two shapes: `ApiError` with a numeric `status`, and
30
+ * `QdrantClientUnexpectedResponseError` whose message embeds the status line.
31
+ */
32
+ export function isQdrantAuthError(err) {
33
+ const status = err?.status;
34
+ if (status === 401 || status === 403)
35
+ return true;
36
+ const message = err instanceof Error ? err.message : '';
37
+ if (/Unexpected Response: (?:401|403)\b/i.test(message))
38
+ return true;
39
+ return /must provide an api key/i.test(message);
40
+ }
41
+ /**
42
+ * How a failed Qdrant call reads to the availability gate: `connection` (the
43
+ * store is not there — the gate closes), `unauthorized` (the key), `unavailable`
44
+ * (a request timeout or a 5xx — that ONE call is refused, the probe decides the
45
+ * state), or null (an ordinary error the caller keeps).
46
+ */
47
+ export function classifyQdrantFailure(err) {
48
+ if (isConnectionFailure(err))
49
+ return 'connection';
50
+ if (isQdrantAuthError(err))
51
+ return 'unauthorized';
52
+ if (err instanceof Error && (err.name === 'QdrantClientTimeoutError' || err.name === 'TimeoutError' || err.name === 'AbortError'))
53
+ return 'unavailable';
54
+ const status = err?.status;
55
+ const code = typeof status === 'number' ? status : Number(/Unexpected Response: (\d{3})\b/.exec(err instanceof Error ? err.message : '')?.[1]);
56
+ return code >= 500 && code < 600 ? 'unavailable' : null;
57
+ }
25
58
  let cached = null;
26
- export function getQdrantClient() {
27
- if (cached)
28
- return cached;
59
+ let cachedProbe = null;
60
+ function createClient(timeout, checkCompatibility) {
29
61
  const env = getNeuralisEnv();
62
+ return new QdrantClient({ url: env.qdrant.url, apiKey: env.qdrant.apiKey, timeout, checkCompatibility });
63
+ }
64
+ export function getQdrantClient() {
30
65
  // checkCompatibility ON: the client asks the server's version once and warns
31
66
  // on a gap above one minor. The check never fails startup; boot also reads
32
67
  // the version itself (`checkQdrantVersion`) for the structured log line.
33
- cached = new QdrantClient({ url: env.qdrant.url, apiKey: env.qdrant.apiKey, checkCompatibility: true });
68
+ // The request bound is boot-read ("Applies on restart"): the client is built once.
69
+ cached ??= createClient(getBrainConfigNumber('brainQdrantRequestTimeoutMs', undefined, 300_000), true);
34
70
  return cached;
35
71
  }
72
+ /** A second client for the reachability probe only, bounded by `brainQdrantProbeTimeoutMs` (boot-read). */
73
+ export function getQdrantProbeClient() {
74
+ cachedProbe ??= createClient(getBrainConfigNumber('brainQdrantProbeTimeoutMs', undefined, 5_000), false);
75
+ return cachedProbe;
76
+ }
36
77
  export function resetQdrantClientForTests() {
37
78
  cached = null;
79
+ cachedProbe = null;
38
80
  }
39
81
  //# sourceMappingURL=qdrantClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"qdrantClient.js","sourceRoot":"","sources":["../../../src/vector/qdrantClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAW9C,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAM,GAAW,qBAAqB;IACrF,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEvC,MAAM,UAAU,eAAe;IAC7B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IACxG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"qdrantClient.js","sourceRoot":"","sources":["../../../src/vector/qdrantClient.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { SourceConfig } from './domain/sourceConfig.js';
5
5
  import { type SourceEnumerationDeps } from './services/declaredSources.js';
6
6
  import type { SourcePackageReconcileDeps } from './usecases/reconcileSourcePackageRoots.js';
7
7
  import { type InFlightWritesPort } from './sync/DirtyTracker.js';
8
+ import { type SourceRootPlane } from './domain/sourceRootPair.js';
8
9
  import { type Logger } from '@neuralis/package-system/data';
9
10
  import type { FilesystemNode } from './domain/types.js';
10
11
  import type { EmbedderPort } from './embeddings/types.js';
@@ -12,6 +13,7 @@ import type { EventBusPort } from './domain/events.js';
12
13
  import type { VectorIndexPort } from './vector/types.js';
13
14
  import type { ConnectorRegistryPort, PackagePlatformFacts, ProjectFactoryOptions, ProjectServiceFactory, SourceKindRegistry } from '@neuralis/package-system/contracts';
14
15
  import type { SourceConfigPort, SourceConfigScope } from './connectors/types.js';
16
+ import { VectorStoreGate } from './vector/FilesystemVectorIndex.js';
15
17
  import { SourcePackageInventoryCache } from './usecases/sourcePackageInventory.js';
16
18
  import { FilesystemService } from './services/FilesystemService.js';
17
19
  import { FilesystemUiService } from './services/FilesystemUiService.js';
@@ -52,7 +54,8 @@ export type InfraMode = 'inmemory' | 'local' | 'real';
52
54
  export type SharedInfra = {
53
55
  vector: FilesystemInfra['vector'];
54
56
  embedder: FilesystemInfra['embedder'];
55
- qdrantAvailable?: boolean;
57
+ /** The availability gate — present exactly when Qdrant is the intended backend. */
58
+ gate?: VectorStoreGate;
56
59
  sourcePackages?: SourcePackageInventoryCache;
57
60
  };
58
61
  export type ProjectServices = {
@@ -64,20 +67,13 @@ export type ProjectServices = {
64
67
  pendingStore: PendingChangeStore;
65
68
  };
66
69
  export declare function inferInfraModeFromEnv(env?: NodeJS.ProcessEnv): InfraMode;
67
- /**
68
- * A 401/403 from Qdrant is a CONFIG defect (QDRANT_API_KEY mismatch between
69
- * .env and the server), not an outage — but both used to collapse into the
70
- * same "unreachable" warn, so a key typo presented as "brain unavailable".
71
- * The client throws two shapes: `ApiError` with a numeric `status`, and
72
- * `QdrantClientUnexpectedResponseError` whose message embeds the status line.
73
- */
74
- export declare function isQdrantAuthError(err: unknown): boolean;
75
- export declare function checkQdrantHealth(logger?: Logger): Promise<boolean>;
70
+ /** One bounded reachability answer — the boot probe and the watch's. A key mismatch is not an outage. */
71
+ export type QdrantProbe = 'reachable' | 'unreachable' | 'unauthorized';
72
+ export declare function checkQdrantHealth(logger?: Logger): Promise<QdrantProbe>;
76
73
  /**
77
74
  * Boot reads the SERVER version and compares it with the client brain-core was
78
75
  * built against. A gap above one minor is a structured warn (the admin Vector
79
- * tab shows the same comparison) — never a reason to change backend: the
80
- * InMemory fallback is for an unreachable Qdrant, not an old one.
76
+ * tab shows the same comparison) — never a reason to change backend.
81
77
  */
82
78
  export declare function checkQdrantVersion(logger?: Logger): Promise<void>;
83
79
  export type BuildSharedInfraOptions = {
@@ -94,6 +90,8 @@ export type BuildCommunityFilesystemInfraOptions = {
94
90
  connectors: ConnectorRegistryPort;
95
91
  /** Host-provided source-kind metadata registry. */
96
92
  sourceKinds: SourceKindRegistry;
93
+ /** The plane facts the source-config store fills a missing root-pair half from. */
94
+ rootPlane?: () => SourceRootPlane | null;
97
95
  };
98
96
  export declare function buildCommunityFilesystemInfra(projectId: string, projectRoot: string, opts: BuildCommunityFilesystemInfraOptions, shared?: SharedInfra, logger?: ConnectorRegistrationLogger): Promise<FilesystemInfra>;
99
97
  export type CommunityInfraRegistries = {
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.d.ts","sourceRoot":"","sources":["../../src/wiring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAQ5F,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAcjF,OAAO,EAAmC,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAEV,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAMjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAWnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAMnE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE;QAAE,MAAM,IAAI,MAAM,CAAA;KAAE,CAAC;IAC5B,GAAG,EAAE;QAAE,IAAI,IAAI,MAAM,CAAA;KAAE,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;IACF,UAAU,EAAE,qBAAqB,CAAC;IAClC,WAAW,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,gBAAgB,CAAC;IAChC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,+DAA+D;IAC/D,YAAY,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAMF,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,SAAS,CAKrF;AAMD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BzE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvE;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC,CAkDtB;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,6EAA6E;IAC7E,UAAU,EAAE,qBAAqB,CAAC;IAClC,mDAAmD;IACnD,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,oCAAoC,EAC1C,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CAyH1B;AA2CD,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,qBAAqB,CAAC;IAClC,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,wBAAwB,CAGxH;AAED,oGAAoG;AACpG,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,oBAAoB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACtF,0GAA0G;IAC1G,aAAa,EAAE,MAAM,wBAAwB,CAAC;IAC9C,MAAM,CAAC,EAAE,2BAA2B,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,oCAAoC,EAAE,gCAAgC,CAAC,CAAC,CAAC;IAC5I,8GAA8G;IAC9G,eAAe,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACzF,oFAAoF;IACpF,YAAY,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;IACzC,2GAA2G;IAC3G,YAAY,CAAC,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC7C,+DAA+D;IAC/D,eAAe,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,cAAc,CAAC;IAC5D,iGAAiG;IACjG,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAYF,qBAAa,qBAAqB;;IAmBhC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAE1C;IAEF,YAAY,IAAI,EAAE,yBAAyB,EAO1C;IAWD,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB/E;IAEK,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAE1D;IAEK,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAW7D;IAED,qFAAqF;IAC/E,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAS/C;IAED;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CA4BhD;IAED,0EAA0E;IACpE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9E;IAED,4FAA4F;IACtF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAuB1G;IAED,kFAAkF;IAC5E,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAgBhD;IAED,uFAAuF;IACvF,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAEnE;IAED,wFAAwF;IACxF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CASlC;CAgGF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2JtF;AASD,wDAAwD;AACxD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,qBAAqB,CAWlF;AAED,sFAAsF;AACtF,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAkB9H"}
1
+ {"version":3,"file":"wiring.d.ts","sourceRoot":"","sources":["../../src/wiring.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { createPendingObserver } from './events/pending.js';
2
- import { isSentinelId } from '@neuralis/package-system/contracts';
2
+ import { isSentinelId, PlatformFactsNotReadyError } from '@neuralis/package-system/contracts';
3
3
  import { bindSourceConnector } from './usecases/bindSourceConnector.js';
4
+ import { HostConnector, deviceHostRoot } from './connectors/HostConnector.js';
4
5
  import { listPackageSourceRoots } from './services/declaredSources.js';
5
6
  import { checkUriPermission } from './domain/access/uriPermission.js';
6
7
  import { mkdir as fsMkdir } from 'node:fs/promises';
@@ -15,11 +16,12 @@ import { bindCollectionDrain, vectorHealthProjectPorts } from './usecases/vector
15
16
  import { runQueuedEmbedding } from './usecases/embeddingBacklog.js';
16
17
  import { resolveProjectRoot } from '@neuralis/package-system/paths';
17
18
  import { resolveNeuralisHome } from '@neuralis/package-system/paths';
19
+ import { sourceRootPlane } from './domain/sourceRootPair.js';
18
20
  import { PackageLogger, requireGlobalDir } from '@neuralis/package-system/data';
19
21
  import { instantiateConnector, ConnectorRegistry } from '@neuralis/package-system';
20
22
  import { ConnectorCapabilityMismatch } from '@neuralis/package-system/contracts';
21
23
  import { InMemoryVectorIndex } from './vector/InMemoryVectorIndex.js';
22
- import { FilesystemVectorIndex } from './vector/FilesystemVectorIndex.js';
24
+ import { FilesystemVectorIndex, VectorStoreGate } from './vector/FilesystemVectorIndex.js';
23
25
  import { DiscoveryInvalidation } from './vector/discoveryInvalidation.js';
24
26
  import { WriteMonitor } from './usecases/writeMonitor.js';
25
27
  import { SourcePackageInventoryCache } from './usecases/sourcePackageInventory.js';
@@ -30,7 +32,7 @@ import { UuidGenerator } from './domain/UuidGenerator.js';
30
32
  import { DeterministicEmbedder } from './embeddings/clients/DeterministicEmbedder.js';
31
33
  import { LazyEmbedder } from './embeddings/factory.js';
32
34
  import { QdrantVectorIndex, recordQdrantServerVersion } from './vector/QdrantVectorIndex.js';
33
- import { getQdrantClient, qdrantVersionGap } from './vector/qdrantClient.js';
35
+ import { getQdrantClient, getQdrantProbeClient, isQdrantAuthError, qdrantVersionGap } from './vector/qdrantClient.js';
34
36
  import { AppSourceConfigStore } from './connectors/AppSourceConfigStore.js';
35
37
  import { FilesystemService } from './services/FilesystemService.js';
36
38
  import { computeSourceGitStatus } from './git/sourceGitStatus.js';
@@ -50,59 +52,37 @@ export function inferInfraModeFromEnv(env = process.env) {
50
52
  return 'real';
51
53
  return 'inmemory';
52
54
  }
53
- // ---------------------------------------------------------------------------
54
- // Shared infra (Qdrant + embedder, reused across projects)
55
- // ---------------------------------------------------------------------------
56
- /**
57
- * A 401/403 from Qdrant is a CONFIG defect (QDRANT_API_KEY mismatch between
58
- * .env and the server), not an outage — but both used to collapse into the
59
- * same "unreachable" warn, so a key typo presented as "brain unavailable".
60
- * The client throws two shapes: `ApiError` with a numeric `status`, and
61
- * `QdrantClientUnexpectedResponseError` whose message embeds the status line.
62
- */
63
- export function isQdrantAuthError(err) {
64
- const status = err?.status;
65
- if (status === 401 || status === 403)
66
- return true;
67
- const message = err instanceof Error ? err.message : '';
68
- if (/Unexpected Response: (?:401|403)\b/i.test(message))
69
- return true;
70
- return /must provide an api key/i.test(message);
71
- }
72
55
  export async function checkQdrantHealth(logger) {
73
56
  const startedAt = Date.now();
74
57
  try {
75
- const client = getQdrantClient();
76
- await client.getCollections();
58
+ await getQdrantProbeClient().getCollections();
77
59
  logger?.info('vector.qdrant.health', { durationMs: Date.now() - startedAt, ok: true });
78
- return true;
60
+ return 'reachable';
79
61
  }
80
62
  catch (err) {
81
63
  if (isQdrantAuthError(err)) {
82
64
  // Distinguishable, structured, and value-free: the key itself never
83
- // enters a log line. The return value is unchanged on purpose — boot
84
- // still survives into the InMemory fallback; the admin Vector tab and
85
- // this log line are where the misconfiguration surfaces.
65
+ // enters a log line. The store stays wired; the gate refuses with the
66
+ // key sentence and the admin Vector tab shows the same misconfiguration.
86
67
  logger?.warn('vector.qdrant.unauthorized', {
87
68
  durationMs: Date.now() - startedAt,
88
69
  ok: false,
89
70
  hint: 'Qdrant rejected the API key — check QDRANT_API_KEY in .env against the server, then recreate the stack.',
90
71
  });
91
- return false;
72
+ return 'unauthorized';
92
73
  }
93
74
  logger?.warn('vector.qdrant.health', {
94
75
  durationMs: Date.now() - startedAt,
95
76
  ok: false,
96
77
  error: err instanceof Error ? err.message : String(err),
97
78
  });
98
- return false;
79
+ return 'unreachable';
99
80
  }
100
81
  }
101
82
  /**
102
83
  * Boot reads the SERVER version and compares it with the client brain-core was
103
84
  * built against. A gap above one minor is a structured warn (the admin Vector
104
- * tab shows the same comparison) — never a reason to change backend: the
105
- * InMemory fallback is for an unreachable Qdrant, not an old one.
85
+ * tab shows the same comparison) — never a reason to change backend.
106
86
  */
107
87
  export async function checkQdrantVersion(logger) {
108
88
  try {
@@ -141,31 +121,25 @@ export async function buildSharedInfra(env, options = {}) {
141
121
  return {
142
122
  vector: new FilesystemVectorIndex(new InMemoryVectorIndex(), discovery, monitor),
143
123
  embedder: new DeterministicEmbedder({ dimension: 384 }),
144
- qdrantAvailable: false,
145
124
  sourcePackages,
146
125
  };
147
126
  }
148
- const reachable = await checkQdrantHealth(vectorLogger);
149
- if (reachable) {
150
- vectorLogger?.info('vector.mode', { mode: 'qdrant' });
127
+ // Qdrant is intended, so it is wired whether or not it answers now: a store
128
+ // that is not there yet is the state of one lost at runtime — the gate refuses
129
+ // at once and the watch opens it, after the version read, when the store answers.
130
+ const probe = await checkQdrantHealth(vectorLogger);
131
+ if (probe === 'reachable')
151
132
  await checkQdrantVersion(vectorLogger);
152
- return {
153
- vector: new FilesystemVectorIndex(new QdrantVectorIndex({ logger: vectorLogger }), discovery, monitor),
154
- // LazyEmbedder defers construction until first use — at that point
155
- // the host has wired ConfigProvider (PlatformConfig + CredentialStore).
156
- embedder: new LazyEmbedder(),
157
- qdrantAvailable: true,
158
- sourcePackages,
159
- };
160
- }
161
- vectorLogger?.warn('vector.qdrant.unreachable.fallback', {
162
- mode: 'inmemory',
163
- impact: 'brain source (vector search, sync) unavailable; live sources unaffected',
164
- });
133
+ else
134
+ vectorLogger?.warn('vector.qdrant.unreachable.boot', { reason: probe, impact: 'search, indexing and brain:// files wait for the vector store' });
135
+ vectorLogger?.info('vector.mode', { mode: 'qdrant' });
136
+ const gate = new VectorStoreGate(probe === 'reachable' ? null : probe, vectorLogger, probe === 'reachable' ? undefined : { name: 'version', run: () => checkQdrantVersion(vectorLogger) });
165
137
  return {
166
- vector: new FilesystemVectorIndex(new InMemoryVectorIndex(), discovery, monitor),
167
- embedder: new DeterministicEmbedder({ dimension: 384 }),
168
- qdrantAvailable: false,
138
+ vector: new FilesystemVectorIndex(new QdrantVectorIndex({ logger: vectorLogger }), discovery, monitor, gate),
139
+ // LazyEmbedder defers construction until first use — at that point
140
+ // the host has wired ConfigProvider (PlatformConfig + CredentialStore).
141
+ embedder: new LazyEmbedder(),
142
+ gate,
169
143
  sourcePackages,
170
144
  };
171
145
  }
@@ -200,7 +174,7 @@ export async function buildCommunityFilesystemInfra(projectId, projectRoot, opts
200
174
  }
201
175
  }
202
176
  const { appRoot } = resolveNeuralisHome();
203
- const sourceConfigs = new AppSourceConfigStore(appRoot);
177
+ const sourceConfigs = new AppSourceConfigStore(appRoot, opts.rootPlane ? { rootPlane: opts.rootPlane } : {});
204
178
  if (!(vector instanceof FilesystemVectorIndex))
205
179
  throw new Error('FILESYSTEM_WRITE_BOUNDARY_REQUIRED');
206
180
  vector.bindSourceConfigs(sourceConfigs);
@@ -252,15 +226,15 @@ export async function buildCommunityFilesystemInfra(projectId, projectRoot, opts
252
226
  catch (err) {
253
227
  // A capability mismatch is a DETERMINISTIC contract bug — the package's
254
228
  // manifest-declared capability set doesn't match the connector's runtime
255
- // set (static data, never environmental). For a FIRST-PARTY connector
229
+ // set (static data, never environmental). For a NATIVE connector
256
230
  // this must never ship, so fail LOUD instead of degrading the kind to
257
231
  // silently-unavailable: a swallowed `local`-kind mismatch once killed
258
232
  // ALL local-filesystem WRITES platform-wide while reads still resolved
259
233
  // via the vector index, masking the outage as a mere warning. Third-party
260
234
  // / project connectors keep degrading gracefully — a malformed source
261
235
  // package must not be able to crash the multi-tenant host.
262
- if (err instanceof ConnectorCapabilityMismatch && metadata.packageTrust === 'first-party') {
263
- logger?.error?.('sources.kind.first-party-capability-mismatch', {
236
+ if (err instanceof ConnectorCapabilityMismatch && metadata.packageTrust === 'native') {
237
+ logger?.error?.('sources.kind.native-capability-mismatch', {
264
238
  projectId,
265
239
  source: config.source,
266
240
  kind,
@@ -548,6 +522,7 @@ export class CommunityInfraFactory {
548
522
  return buildCommunityFilesystemInfra(projectId, projectRoot, {
549
523
  connectors: registries.connectors,
550
524
  sourceKinds: registries.sourceKinds,
525
+ ...(this.#deps.getRuntimeStack ? { rootPlane: rootPlaneOf(this.#deps.getRuntimeStack) } : {}),
551
526
  }, this.#deps.shared, this.#deps.logger);
552
527
  }
553
528
  async #buildServices(infra) {
@@ -639,8 +614,8 @@ export async function buildBrainState(ctx) {
639
614
  const roots = resolveNeuralisHome();
640
615
  await primeEmbeddingState({ appRoot: roots.appRoot, credentialUse: ctx.credentialUse, configWriteGuards: ctx.configWriteGuards, logger: vectorLogger });
641
616
  const shared = await buildSharedInfra(process.env, { vectorLogger });
642
- if (!shared.qdrantAvailable) {
643
- ctx.logger.warn('Qdrant not available — brain-core running in degraded mode (in-memory vector index).');
617
+ if (shared.gate && !shared.gate.available) {
618
+ ctx.logger.warn('The vector store is not reachable yet — brain-core serves; search, indexing and brain:// files continue when it answers.');
644
619
  }
645
620
  // The ONE in-flight write registry, beside the ONE queue below: the write
646
621
  // engine holds a uri busy until its point lands, and every runner skips it.
@@ -676,7 +651,7 @@ export async function buildBrainState(ctx) {
676
651
  // Global SourceConfig store for the scheduler; per-project infra instances
677
652
  // each have their own AppSourceConfigStore pointer too, but the scheduler
678
653
  // needs a single cross-project view via listAll().
679
- const globalSourceConfigs = new AppSourceConfigStore(roots.appRoot, { logger: ctx.logger });
654
+ const globalSourceConfigs = new AppSourceConfigStore(roots.appRoot, { logger: ctx.logger, rootPlane: rootPlaneOf(() => ctx.platform.runtimeStack()) });
680
655
  // 5. The ONE sync queue. Runners resolve per-project infra lazily, so the
681
656
  // queue can dispatch any project's jobs; events route to that project's bus.
682
657
  const syncQueue = new SyncJobQueue({
@@ -694,6 +669,7 @@ export async function buildBrainState(ctx) {
694
669
  clock: new SystemClock(),
695
670
  ids: { uuid: () => crypto.randomUUID() },
696
671
  logger: syncLogger,
672
+ ...(shared.gate ? { vectorStore: shared.gate } : {}),
697
673
  eventBus: {
698
674
  publish: (event) => {
699
675
  const projectId = typeof event.projectId === 'string' ? event.projectId : null;
@@ -749,8 +725,9 @@ export async function buildBrainState(ctx) {
749
725
  ctx,
750
726
  verifyAgent,
751
727
  subscribeEvents,
752
- vectorBackend: shared.qdrantAvailable ? 'qdrant' : 'inmemory',
753
- qdrantReachable: Boolean(shared.qdrantAvailable),
728
+ vectorBackend: shared.gate ? 'qdrant' : 'inmemory',
729
+ qdrantReachable: shared.gate?.available ?? false,
730
+ vectorGate: shared.gate ?? null,
754
731
  vectorLastCheckedAt: new Date().toISOString(),
755
732
  qdrantWatch: null,
756
733
  vectorMaintenance: shared.vector.maintenance ?? null,
@@ -765,6 +742,10 @@ function requireProjectFactory(ctx) {
765
742
  throw new Error('[brain-core] ctx.sessions.createProjectFactory is missing — the loader did not provide the per-project cache');
766
743
  return (opts) => sessions.createProjectFactory(opts);
767
744
  }
745
+ /** Each (project, source, reason) a package-folder skip was logged for — once each. */
746
+ const packageFolderSkipsLogged = new Set();
747
+ /** Past this many distinct skips the set starts over (a skip is then logged once more). */
748
+ const MAX_LOGGED_PACKAGE_FOLDER_SKIPS = 1024;
768
749
  /** The enumerators' ports over this package's state. */
769
750
  export function sourceEnumerationDeps(state) {
770
751
  return {
@@ -776,6 +757,65 @@ export function sourceEnumerationDeps(state) {
776
757
  enabled: { isSourceRunning: state.infraFactory.isSourceRunning },
777
758
  packageSourceDeclarations: () => state.ctx.platform.packageSourceDeclarations(),
778
759
  appRoot: () => state.ctx.platform.runtimeStack().appRoot,
760
+ isDocker: () => state.ctx.platform.runtimeStack().isDocker,
761
+ // agent-core's device gate decides whether a device folder is this machine's own disk.
762
+ localDeviceFolder: async (input) => (await state.ctx.packages.getPackageApi('@neuralis/agent-core')?.devices?.localFolderRoot(input)) ?? { skipped: 'devices_unavailable' },
763
+ // A device folder's packages, read OVER ITS LINK through the same `host`
764
+ // connector a device source is served by — metadata and declarative
765
+ // contributions only, nothing on the device is imported or spawned here.
766
+ devicePackageFolder: (input) => {
767
+ const devices = state.ctx.packages.getPackageApi('@neuralis/agent-core')?.devices;
768
+ if (!devices)
769
+ return { skipped: 'devices_unavailable' };
770
+ const readable = devices.deviceFolderReadable(input.device);
771
+ if ('skipped' in readable)
772
+ return readable;
773
+ let connector;
774
+ try {
775
+ const root = deviceHostRoot(input.source, input.root);
776
+ // A PROJECT-scope folder carries its project: agent-core re-asks, at every
777
+ // read, whether the device's owner still holds `device.own` there.
778
+ const transport = devices.openTransport({
779
+ source: input.source,
780
+ device: input.device,
781
+ root,
782
+ ...(input.project ? { project: input.project } : {}),
783
+ });
784
+ connector = new HostConnector({ source: input.source, root, osRoot: root, transport });
785
+ }
786
+ catch {
787
+ return { skipped: 'bad_request' };
788
+ }
789
+ return { id: input.device, openReader: (folder) => connector.packageReader(folder, (listener) => devices.onLinkChange(input.device, listener)) };
790
+ },
791
+ describeDevice: async (deviceId) => (await state.ctx.packages.getPackageApi('@neuralis/agent-core')?.devices?.describe(deviceId)) ?? null,
792
+ packageFolderSkipped: (projectId, slug, reason) => {
793
+ const key = `${projectId}\0${slug}\0${reason}`;
794
+ if (packageFolderSkipsLogged.has(key))
795
+ return;
796
+ if (packageFolderSkipsLogged.size >= MAX_LOGGED_PACKAGE_FOLDER_SKIPS)
797
+ packageFolderSkipsLogged.clear();
798
+ packageFolderSkipsLogged.add(key);
799
+ state.ctx.logger.info('package.folder.skipped', { projectId, source: slug, reason });
800
+ },
801
+ };
802
+ }
803
+ /**
804
+ * The source-config store's plane facts, read at write time. A write before
805
+ * bootstrap published the runtime stack has no plane to derive from, so it
806
+ * stores the config as given — the store only ever FILLS a missing half.
807
+ */
808
+ function rootPlaneOf(stack) {
809
+ return () => {
810
+ try {
811
+ const current = stack();
812
+ return current ? sourceRootPlane(current) : null;
813
+ }
814
+ catch (error) {
815
+ if (error instanceof PlatformFactsNotReadyError)
816
+ return null;
817
+ throw error;
818
+ }
779
819
  };
780
820
  }
781
821
  /** The maintenance probe shares the persisted config store and ordinary read gate. */