@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
@@ -4,6 +4,9 @@ import { nodeEmbeddingInputHash } from '../usecases/syncPointWrites.js';
4
4
  import { embedModelMarker, embeddingMarkerOf } from '../embeddings/models.js';
5
5
  import { peekActiveLock } from '../embeddings/lock.js';
6
6
  import { getGenerationMirror } from '../usecases/vector/rebuildGeneration.js';
7
+ import { VectorStoreUnavailableError } from '../domain/BrainError.js';
8
+ import { classifyQdrantFailure } from './qdrantClient.js';
9
+ import { sourceFromUri } from '../domain/uri.js';
7
10
  /** The dense proof a payload replacement carries forward from the stored point. */
8
11
  const PROOF_FIELDS = ['embed_model', 'embedding_status', 'embedding_input_hash', 'embedding_generation', 'embedding_updated_at'];
9
12
  /** What a late dense/proof commit re-reads: eligibility, the final authority and the proof — never the text. */
@@ -16,6 +19,11 @@ export class FilesystemVectorIndex {
16
19
  #sourceMutations;
17
20
  #discovery;
18
21
  #monitor;
22
+ #gate;
23
+ /** The availability gate, if one was wired (a Qdrant install). */
24
+ get gate() {
25
+ return this.#gate;
26
+ }
19
27
  /** The wrapped backend — read by the wiring-identity test, never by product code. */
20
28
  get backend() {
21
29
  return this.#inner;
@@ -28,7 +36,7 @@ export class FilesystemVectorIndex {
28
36
  get writeMonitor() {
29
37
  return this.#monitor;
30
38
  }
31
- constructor(inner, discovery, monitor) {
39
+ constructor(inner, discovery, monitor, gate) {
32
40
  // Never wrap a wrapper. A nested construction is COLLAPSED, not rejected:
33
41
  // `buildCommunityFilesystemInfra` adopts the shared infra's already-wrapped
34
42
  // port, and a second layer would stamp twice and make the identity test's
@@ -41,6 +49,7 @@ export class FilesystemVectorIndex {
41
49
  writeCoordinators.set(this.#inner, this.#coordinator);
42
50
  this.#discovery = discovery ?? (nested ? inner.discovery : undefined);
43
51
  this.#monitor = monitor ?? (nested ? inner.writeMonitor : undefined);
52
+ this.#gate = gate ?? (nested ? inner.gate : undefined);
44
53
  // The OPTIONAL members are mirrored only when the backend has them:
45
54
  // `chunkUpsert` branches on `vector.upsertBatch` and `searchFiles` on
46
55
  // `query`, so advertising a member the in-memory backend does not
@@ -49,7 +58,7 @@ export class FilesystemVectorIndex {
49
58
  if (backend.upsertBatch) {
50
59
  this.upsertBatch = async (points) => {
51
60
  let stamped = [];
52
- return this.#coordinator.lease(false, () => this.#coordinator.points(points.map(point => point.id), () => this.#mirrored(async () => {
61
+ return this.#gated(() => this.#coordinator.lease(false, () => this.#coordinator.points(points.map(point => point.id), () => this.#mirrored(async () => {
53
62
  stamped = points.map(stampPoint);
54
63
  this.#monitor?.record(stamped.map((p) => p.payload));
55
64
  await this.#observed(stamped.map((p) => p.payload), async () => {
@@ -65,37 +74,53 @@ export class FilesystemVectorIndex {
65
74
  for (const point of stamped)
66
75
  if (!point.vector && point.payload.recovery_only)
67
76
  mirror.afterRetention(point);
68
- }, points.map(point => point.id))));
77
+ }, points.map(point => point.id)))));
69
78
  };
70
79
  }
71
80
  if (backend.query) {
72
- this.query = (params) => backend.query({ ...params, filter: searchableFilter(params.filter), prefetch: params.prefetch.map(prefetch => ({ ...prefetch, filter: searchableFilter(prefetch.filter) })) });
81
+ this.query = (params) => this.#gated(() => backend.query({ ...params, filter: searchableFilter(params.filter), prefetch: params.prefetch.map(prefetch => ({ ...prefetch, filter: searchableFilter(prefetch.filter) })) }));
73
82
  }
74
83
  if (backend.countByFilter) {
75
- this.countByFilter = (filter) => backend.countByFilter(filter);
84
+ this.countByFilter = (filter) => this.#gated(() => backend.countByFilter(filter));
76
85
  }
77
86
  if (backend.facet) {
78
- this.facet = (params) => backend.facet(params);
87
+ this.facet = (params) => this.#gated(() => backend.facet(params));
79
88
  }
80
89
  // Collection work shares the exclusive epoch. Dense clear changes only
81
90
  // proof status; index/tuning/sparse work does not change file content.
91
+ // Every closure passes the gate except `generations` (the rebuild's shadow
92
+ // writes, which carry their own pause/resume).
82
93
  if (backend.maintenance) {
83
94
  const maintenance = backend.maintenance;
84
95
  this.maintenance = {
85
96
  generations: maintenance.generations,
86
97
  // Dense clear takes the exclusive epoch PER PAGE: writes run between pages,
87
98
  // and a late result embedded before a page was cleared is refused by its epoch.
88
- ...(maintenance.clearDense ? { clearDense: (params) => this.exclusive(() => maintenance.clearDense(params)) } : {}),
89
- report: params => maintenance.report({ filter: searchableFilter(params?.filter ?? {}) }),
90
- readOptimizations: params => maintenance.readOptimizations(params),
91
- migratePayloadIndexes: () => this.exclusive(() => maintenance.migratePayloadIndexes()),
92
- applyTuning: tuning => this.exclusive(() => maintenance.applyTuning(tuning)),
93
- applyQuantization: mode => this.exclusive(() => maintenance.applyQuantization(mode)),
94
- enableTextRanking: () => this.exclusive(() => maintenance.enableTextRanking()),
95
- backfillTextRanking: params => this.exclusive(() => maintenance.backfillTextRanking({ ...params, filter: searchableFilter(params.filter ?? {}) })),
99
+ ...(maintenance.clearDense ? { clearDense: (params) => this.#gated(() => this.exclusive(() => maintenance.clearDense(params))) } : {}),
100
+ report: params => this.#gated(() => maintenance.report({ filter: searchableFilter(params?.filter ?? {}) })),
101
+ readOptimizations: params => this.#gated(() => maintenance.readOptimizations(params)),
102
+ migratePayloadIndexes: () => this.#gated(() => this.exclusive(() => maintenance.migratePayloadIndexes())),
103
+ applyTuning: tuning => this.#gated(() => this.exclusive(() => maintenance.applyTuning(tuning))),
104
+ applyQuantization: mode => this.#gated(() => this.exclusive(() => maintenance.applyQuantization(mode))),
105
+ enableTextRanking: () => this.#gated(() => this.exclusive(() => maintenance.enableTextRanking())),
106
+ backfillTextRanking: params => this.#gated(() => this.exclusive(() => maintenance.backfillTextRanking({ ...params, filter: searchableFilter(params.filter ?? {}) }))),
96
107
  };
97
108
  }
98
109
  }
110
+ /**
111
+ * The availability gate around ONE store call: refused at once while the
112
+ * store is unavailable, and a store failure on the way back converted to the
113
+ * typed error. Without a gate (an in-memory install) the call runs as is.
114
+ */
115
+ #gated(run) {
116
+ const gate = this.#gate;
117
+ if (!gate)
118
+ return run();
119
+ const refusal = gate.refusal();
120
+ if (refusal)
121
+ return Promise.reject(refusal);
122
+ return run().catch((error) => { throw gate.convert(error); });
123
+ }
99
124
  /**
100
125
  * Raise the discovery generation on the way IN and again on the way OUT —
101
126
  * on success, throw and timeout alike. An in-flight build therefore cannot
@@ -135,18 +160,25 @@ export class FilesystemVectorIndex {
135
160
  mirror(active);
136
161
  });
137
162
  }
163
+ /**
164
+ * While the store is unavailable this RESOLVES with no network call and never
165
+ * throws: every use-site opens with it (and the boot step calls it with
166
+ * `void`), and the operation that follows refuses with the typed error itself.
167
+ */
138
168
  ensureAgentCollection(agentId) {
169
+ if (this.#gate && !this.#gate.available && !this.#gate.opening)
170
+ return Promise.resolve();
139
171
  return this.#inner.ensureAgentCollection(agentId);
140
172
  }
141
173
  async upsert(point) {
142
174
  if (!point.vector && point.payload.recovery_only)
143
175
  return this.retainPayload(point);
144
176
  let stamped = point;
145
- return this.#coordinator.lease(false, () => this.#coordinator.points([point.id], () => this.#mirrored(async () => {
177
+ return this.#gated(() => this.#coordinator.lease(false, () => this.#coordinator.points([point.id], () => this.#mirrored(async () => {
146
178
  stamped = stampPoint(point);
147
179
  this.#monitor?.record([stamped.payload]);
148
180
  await this.#observed([stamped.payload], () => this.#inner.upsert(stamped));
149
- }, (mirror) => mirror.afterUpsert([stamped]), [point.id])));
181
+ }, (mirror) => mirror.afterUpsert([stamped]), [point.id]))));
150
182
  }
151
183
  writeEpoch() { return this.#coordinator.epoch; }
152
184
  exclusive(run) {
@@ -161,7 +193,7 @@ export class FilesystemVectorIndex {
161
193
  async #writePayloads(points) {
162
194
  const ids = points.map(point => point.id);
163
195
  const written = new Map();
164
- await this.#coordinator.lease(false, () => this.#coordinator.points(ids, () => this.#mirrored(async () => {
196
+ await this.#gated(() => this.#coordinator.lease(false, () => this.#coordinator.points(ids, () => this.#mirrored(async () => {
165
197
  const enriched = points.map(point => stampPoint(point));
166
198
  this.#monitor?.record(enriched.map(point => point.payload));
167
199
  await this.#observed(enriched.map(point => point.payload), () => this.#inner.writePayloads(enriched, {
@@ -172,7 +204,7 @@ export class FilesystemVectorIndex {
172
204
  return stamped.payload;
173
205
  },
174
206
  }));
175
- }, mirror => mirror.afterUpsert([...written.values()]), ids)));
207
+ }, mirror => mirror.afterUpsert([...written.values()]), ids))));
176
208
  }
177
209
  /** Bind after project infra adopts the shared backend; all app stores share one coordinator. */
178
210
  bindSourceConfigs(store) {
@@ -218,7 +250,7 @@ export class FilesystemVectorIndex {
218
250
  throw new Error('INVALID_EMBEDDING_PROOF_PATCH');
219
251
  const written = points.map(() => false);
220
252
  const committed = [];
221
- await this.#coordinator.lease(false, () => this.#coordinator.points(points.map(point => point.id), () => this.#mirrored(() => {
253
+ await this.#gated(() => this.#coordinator.lease(false, () => this.#coordinator.points(points.map(point => point.id), () => this.#mirrored(() => {
222
254
  const commit = async () => {
223
255
  // A running rebuild mirrors the WHOLE point into its shadow; otherwise
224
256
  // the commit reads only what it judges and writes only vector + proof.
@@ -259,24 +291,24 @@ export class FilesystemVectorIndex {
259
291
  };
260
292
  return this.#sourceMutations ? this.#sourceMutations.exclusive(commit) : commit();
261
293
  }, mirror => { if (committed.length)
262
- mirror.afterUpsert(committed); }, points.map(point => point.id))));
294
+ mirror.afterUpsert(committed); }, points.map(point => point.id)))));
263
295
  return written;
264
296
  }
265
297
  async retainPayload(point) {
266
298
  point = { ...point, payload: { ...point.payload, embedding_status: 'missing' } };
267
- await this.#coordinator.lease(false, () => this.#coordinator.points([point.id], () => this.#mirrored(async () => {
299
+ await this.#gated(() => this.#coordinator.lease(false, () => this.#coordinator.points([point.id], () => this.#mirrored(async () => {
268
300
  this.#monitor?.record([point.payload]);
269
301
  await this.#observed([point.payload], () => this.#inner.retainPayload(point));
270
- }, mirror => mirror.afterRetention(point), [point.id])));
302
+ }, mirror => mirror.afterRetention(point), [point.id]))));
271
303
  }
272
304
  retrieve(id, projection) {
273
- return this.#inner.retrieve(id, projection);
305
+ return this.#gated(() => this.#inner.retrieve(id, projection));
274
306
  }
275
307
  scroll(params) {
276
- return this.#inner.scroll(params);
308
+ return this.#gated(() => this.#inner.scroll(params));
277
309
  }
278
310
  search(params) {
279
- return this.#inner.search({ ...params, filter: searchableFilter(params.filter) });
311
+ return this.#gated(() => this.#inner.search({ ...params, filter: searchableFilter(params.filter) }));
280
312
  }
281
313
  async deleteByFilter(filter) {
282
314
  let removed = 0;
@@ -292,7 +324,7 @@ export class FilesystemVectorIndex {
292
324
  };
293
325
  // Drains the collection but keeps the epoch: a late commit for a deleted
294
326
  // point already fails its re-read, and an unrelated in-flight one stays valid.
295
- await this.#coordinator.lease(true, () => this.#mirrored(async () => {
327
+ await this.#gated(() => this.#coordinator.lease(true, () => this.#mirrored(async () => {
296
328
  try {
297
329
  await run();
298
330
  }
@@ -300,7 +332,7 @@ export class FilesystemVectorIndex {
300
332
  getGenerationMirror()?.afterUncertainDelete(filter);
301
333
  throw error;
302
334
  }
303
- }, (mirror) => mirror.afterDelete(filter)), false);
335
+ }, (mirror) => mirror.afterDelete(filter)), false));
304
336
  return removed;
305
337
  }
306
338
  upsertBatch;
@@ -309,6 +341,158 @@ export class FilesystemVectorIndex {
309
341
  facet;
310
342
  maintenance;
311
343
  }
344
+ /**
345
+ * Can the vector store serve a call right now? ONE instance per Qdrant install,
346
+ * read by the wrapper above (refusal + conversion), driven by the reachability
347
+ * watch (the ONLY thing that opens it) and consulted by the sync queue (which
348
+ * holds jobs while it is closed).
349
+ *
350
+ * It closes on a connection-class failure of any call (`convert`) or on a
351
+ * failed probe; a close from open notifies `onLost` (the watch answers with one
352
+ * immediate probe). It opens only through `reachable()`, and only after every
353
+ * first-reachability step registered with `whenReachable` ran — each exactly
354
+ * once — so no request races the boot steps. While those steps run, only
355
+ * `ensureAgentCollection` passes (`opening`); a close landing meanwhile keeps
356
+ * the gate closed and the next probe decides.
357
+ */
358
+ export class VectorStoreGate {
359
+ #closed;
360
+ #opening = null;
361
+ #admitsEnsure = false;
362
+ #interrupted = false;
363
+ #first;
364
+ /** One `vector.qdrant.call-failed` warn per streak of converted failures; reset when the gate opens. */
365
+ #conversionWarned = false;
366
+ #steps = [];
367
+ #lost = new Set();
368
+ #availableListeners = new Set();
369
+ #logger;
370
+ /** `first` runs before any other step and before the collection ensure is admitted (the server-version read a create shapes itself on). */
371
+ constructor(initial, logger, first) {
372
+ this.#closed = initial;
373
+ this.#logger = logger;
374
+ this.#first = first;
375
+ }
376
+ get available() {
377
+ return this.#closed === null;
378
+ }
379
+ /** The registered steps are running: only the collection ensure reaches the store. */
380
+ get opening() {
381
+ return this.#admitsEnsure;
382
+ }
383
+ refusal() {
384
+ return this.#closed === null ? null : new VectorStoreUnavailableError(this.#closed);
385
+ }
386
+ /** A failed store call, as its caller sees it; a connection-class failure also closes the gate. */
387
+ convert(error) {
388
+ if (error instanceof VectorStoreUnavailableError)
389
+ return error;
390
+ const failure = classifyQdrantFailure(error);
391
+ if (failure === null)
392
+ return error;
393
+ if (!this.#conversionWarned) {
394
+ this.#conversionWarned = true;
395
+ // The class only — a status code and the error's NAME, never its message (a key or a path could ride it).
396
+ const status = error?.status;
397
+ this.#logger?.warn('vector.qdrant.call-failed', { failure, ...(typeof status === 'number' ? { status } : {}), errorName: error instanceof Error ? error.name : typeof error });
398
+ }
399
+ if (failure === 'connection')
400
+ this.close('unreachable');
401
+ return new VectorStoreUnavailableError(failure === 'unauthorized' ? 'unauthorized' : this.#closed ?? 'unreachable');
402
+ }
403
+ close(reason) {
404
+ if (this.#opening)
405
+ this.#interrupted = true;
406
+ if (this.#closed === reason)
407
+ return;
408
+ const wasOpen = this.#closed === null;
409
+ this.#closed = reason;
410
+ if (wasOpen)
411
+ notify(this.#lost, this.#logger);
412
+ }
413
+ /** Boot work that needs the store: runs now while it is available, else before the gate first opens. */
414
+ whenReachable(step) {
415
+ if (this.#closed === null)
416
+ void this.#runStep(step);
417
+ else
418
+ this.#steps.push(step);
419
+ }
420
+ /** The probe found the store answering: run the pending steps once, then open. */
421
+ reachable() {
422
+ if (this.#opening)
423
+ return this.#opening;
424
+ if (this.#closed === null)
425
+ return Promise.resolve();
426
+ this.#interrupted = false;
427
+ const opening = Promise.resolve().then(async () => {
428
+ const first = this.#first;
429
+ this.#first = undefined;
430
+ if (first)
431
+ await this.#runStep(first);
432
+ this.#admitsEnsure = true;
433
+ for (let step = this.#steps.shift(); step; step = this.#steps.shift())
434
+ await this.#runStep(step);
435
+ if (this.#interrupted)
436
+ return;
437
+ this.#closed = null;
438
+ this.#conversionWarned = false;
439
+ notify(this.#availableListeners, this.#logger);
440
+ }).finally(() => { this.#opening = null; this.#admitsEnsure = false; });
441
+ this.#opening = opening;
442
+ return opening;
443
+ }
444
+ onLost(listener) {
445
+ this.#lost.add(listener);
446
+ return () => { this.#lost.delete(listener); };
447
+ }
448
+ onAvailable(listener) {
449
+ this.#availableListeners.add(listener);
450
+ return () => { this.#availableListeners.delete(listener); };
451
+ }
452
+ /** A step never rejects: its outcome is one log line (the boot step is called with `void`). */
453
+ async #runStep(step) {
454
+ const startedAt = Date.now();
455
+ try {
456
+ await step.run();
457
+ this.#logger?.info('vector.qdrant.boot-step', { step: step.name, ok: true, durationMs: Date.now() - startedAt });
458
+ }
459
+ catch (error) {
460
+ this.#logger?.warn('vector.qdrant.boot-step', { step: step.name, ok: false, durationMs: Date.now() - startedAt, error: error instanceof Error ? error.message : String(error) });
461
+ }
462
+ }
463
+ }
464
+ function notify(listeners, logger) {
465
+ for (const listener of [...listeners]) {
466
+ try {
467
+ listener();
468
+ }
469
+ catch (error) {
470
+ logger?.warn('vector.gate.listener-failed', { error: error instanceof Error ? error.message : String(error) });
471
+ }
472
+ }
473
+ }
474
+ /**
475
+ * The refusal the shared index would answer right now, read without a call —
476
+ * for a caller that must not START work whose end needs the store (a provider
477
+ * embed before a search, a journal mark before its point delete). `null` when
478
+ * the store is available or no gate is wired (a configured in-memory install).
479
+ */
480
+ export function vectorStoreRefusal(vector) {
481
+ return vector instanceof FilesystemVectorIndex ? vector.gate?.refusal() ?? null : null;
482
+ }
483
+ /**
484
+ * The `.catch` of an index lookup that a CONNECTOR-BACKED uri can do without:
485
+ * while the store is unavailable it answers `unindexed` (the connector is that
486
+ * uri's physical truth); a `brain://` uri, whose content IS the index, and any
487
+ * other failure still reject.
488
+ */
489
+ export function unindexedWhileUnavailable(uri, unindexed) {
490
+ return (error) => {
491
+ if (error instanceof VectorStoreUnavailableError && sourceFromUri(uri) !== 'brain')
492
+ return unindexed;
493
+ throw error;
494
+ };
495
+ }
312
496
  /** A vector embedded by a model that is no longer the active one. */
313
497
  export class EmbeddingGenerationChangedError extends Error {
314
498
  pointId;
@@ -1 +1 @@
1
- {"version":3,"file":"FilesystemVectorIndex.js","sourceRoot":"","sources":["../../../src/vector/FilesystemVectorIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilesystemVectorIndex.js","sourceRoot":"","sources":["../../../src/vector/FilesystemVectorIndex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryVectorIndex.d.ts","sourceRoot":"","sources":["../../../src/vector/InMemoryVectorIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyIrJ,qBAAa,mBAAmB,CAAC,QAAQ,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAE,YAAW,aAAa,CAAC,QAAQ,CAAC;;IAG5F,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAEzD,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAEK,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;IAEK,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;IAEK,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxI;IAEK,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3G;IAEK,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAWnG;IAEK,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CA2B/K;IAEK,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAMzD;IAED;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAejI;IAEK,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1D;IAEK,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAWnJ;CACF"}
1
+ {"version":3,"file":"InMemoryVectorIndex.d.ts","sourceRoot":"","sources":["../../../src/vector/InMemoryVectorIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgJrJ,qBAAa,mBAAmB,CAAC,QAAQ,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAE,YAAW,aAAa,CAAC,QAAQ,CAAC;;IAiC5F,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAEzD,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAEK,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;IAEK,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;IAEK,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxI;IAEK,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3G;IAEK,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAWnG;IAEK,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CA6B/K;IAWK,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAMzD;IAED;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAejI;IAEK,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1D;IAEK,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAWnJ;CACF"}
@@ -22,7 +22,7 @@ function getFieldValue(payload, field) {
22
22
  * Mirror of the Qdrant `word` tokenizer + `lowercase:true` text-index config:
23
23
  * split on every non-alphanumeric rune, compare lowercased whole tokens. The
24
24
  * min/max token-length bounds are deliberately not emulated — this impl is the
25
- * test double / Qdrant-unreachable fallback, and matching slightly MORE than
25
+ * test double / the configured in-memory backend, and matching slightly MORE than
26
26
  * the bounded index is the safe direction.
27
27
  */
28
28
  function textTokens(value) {
@@ -49,7 +49,7 @@ function matchesFilter(payload, filter, vector, compiled) {
49
49
  // exactly as `must` and `mustNot` below already branch it. Comparing the array
50
50
  // ITSELF against the value list (what this did) can never be true, which made
51
51
  // every array-field match-any silently empty on this backend: the live cost is
52
- // the Files-tree folder colouring in degraded mode, where `folder_ancestors`
52
+ // the Files-tree folder colouring on this backend, where `folder_ancestors`
53
53
  // match-any left every walked folder `unindexed`. Separate clauses stay AND-ed.
54
54
  const mustMatchAny = filter.mustMatchAny ?? [];
55
55
  for (const clause of mustMatchAny) {
@@ -121,6 +121,13 @@ function matchesFilter(payload, filter, vector, compiled) {
121
121
  }
122
122
  return true;
123
123
  }
124
+ /** The `parent_id` values a payload is indexed under — the same array branching `must` applies. */
125
+ function parentValues(payload) {
126
+ const value = getFieldValue(payload, 'parent_id');
127
+ if (value === undefined)
128
+ return [];
129
+ return Array.isArray(value) ? value : [value];
130
+ }
124
131
  /**
125
132
  * Mirror the backend's PAYLOAD projection for real, so a caller that reads a
126
133
  * field it did not request fails HERE — in a unit test — instead of only
@@ -158,19 +165,48 @@ function projectPayload(payload, fields) {
158
165
  }
159
166
  export class InMemoryVectorIndex {
160
167
  #points = new Map();
168
+ /**
169
+ * `parent_id` value → the ids that carry it: the per-file chunk scrolls read
170
+ * k points instead of sorting and filtering all N. Kept by `#set`/`#delete`,
171
+ * the ONLY two writers of `#points`.
172
+ */
173
+ #byParent = new Map();
174
+ #set(point) {
175
+ this.#unindexParent(point.id);
176
+ this.#points.set(point.id, point);
177
+ for (const value of parentValues(point.payload)) {
178
+ let ids = this.#byParent.get(value);
179
+ if (!ids)
180
+ this.#byParent.set(value, ids = new Set());
181
+ ids.add(point.id);
182
+ }
183
+ }
184
+ #delete(id) {
185
+ this.#unindexParent(id);
186
+ this.#points.delete(id);
187
+ }
188
+ #unindexParent(id) {
189
+ const stored = this.#points.get(id);
190
+ for (const value of stored ? parentValues(stored.payload) : []) {
191
+ const ids = this.#byParent.get(value);
192
+ ids?.delete(id);
193
+ if (ids?.size === 0)
194
+ this.#byParent.delete(value);
195
+ }
196
+ }
161
197
  async ensureAgentCollection(_agentId) { }
162
198
  async upsert(point) {
163
199
  // Payload-only upserts preserve the stored vector (port contract — the
164
200
  // sync runner's enrichment refreshes rely on it; the Qdrant impl matches).
165
201
  const existing = this.#points.get(point.id);
166
- this.#points.set(point.id, {
202
+ this.#set({
167
203
  ...point,
168
204
  vector: point.vector ?? existing?.vector,
169
205
  payload: { ...point.payload, id: point.id },
170
206
  });
171
207
  }
172
208
  async retainPayload(point) {
173
- this.#points.set(point.id, { id: point.id, payload: { ...point.payload, id: point.id } });
209
+ this.#set({ id: point.id, payload: { ...point.payload, id: point.id } });
174
210
  }
175
211
  async writePayload(point) {
176
212
  await this.upsert(point);
@@ -186,7 +222,7 @@ export class InMemoryVectorIndex {
186
222
  const stored = this.#points.get(point.id);
187
223
  if (!stored)
188
224
  throw new Error(`VECTOR_MISSING_FOR_UPSERT:${point.id}`);
189
- this.#points.set(point.id, { id: point.id, vector: point.vector ?? stored.vector, payload: { ...stored.payload, ...point.patch, id: point.id } });
225
+ this.#set({ id: point.id, vector: point.vector ?? stored.vector, payload: { ...stored.payload, ...point.patch, id: point.id } });
190
226
  }
191
227
  }
192
228
  async retrieve(id, projection) {
@@ -204,7 +240,9 @@ export class InMemoryVectorIndex {
204
240
  }
205
241
  async scroll(params) {
206
242
  const compiled = new Map((params.filter.mustMatchAny ?? []).map(clause => [clause, new Set(clause.values)]));
207
- const ids = Array.from(this.#points.keys()).sort();
243
+ // A filter that pins the id set or one parent reads only those candidates
244
+ // (sorted, so the page sequence is the linear walk's); everything else walks all ids.
245
+ const ids = (this.#candidates(params.filter, compiled) ?? Array.from(this.#points.keys())).sort();
208
246
  const successor = params.cursor ? ids.findIndex((id) => id > params.cursor) : 0;
209
247
  const startIndex = successor < 0 ? ids.length : successor;
210
248
  const out = [];
@@ -230,6 +268,16 @@ export class InMemoryVectorIndex {
230
268
  const nextCursor = lastScanned < ids.length - 1 ? ids[lastScanned] : undefined;
231
269
  return { points: out, nextCursor };
232
270
  }
271
+ /** The ids a filter can match at most, when it names them: an `id` match-any, or one `parent_id`. */
272
+ #candidates(filter, compiled) {
273
+ const byId = (filter.mustMatchAny ?? []).find(clause => clause.field === 'id');
274
+ if (byId)
275
+ return [...compiled.get(byId)].filter((id) => typeof id === 'string' && this.#points.has(id));
276
+ const byParent = (filter.must ?? []).find(clause => clause.field === 'parent_id');
277
+ if (byParent)
278
+ return [...(this.#byParent.get(byParent.equals) ?? [])];
279
+ return null;
280
+ }
233
281
  async countByFilter(filter) {
234
282
  let n = 0;
235
283
  for (const p of this.#points.values()) {
@@ -266,7 +314,7 @@ export class InMemoryVectorIndex {
266
314
  let deleted = 0;
267
315
  for (const [id, p] of this.#points) {
268
316
  if (matchesFilter(p.payload, filter, p.vector)) {
269
- this.#points.delete(id);
317
+ this.#delete(id);
270
318
  deleted++;
271
319
  }
272
320
  }