@neuralis/brain-core 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/README.md +26 -35
  2. package/app/cards/DiffView.tsx +9 -7
  3. package/app/cards/README.md +1 -1
  4. package/app/cards/diffLine.tsx +2 -4
  5. package/app/filesystem/README.md +1 -1
  6. package/app/filesystem/api/index.ts +14 -5
  7. package/app/filesystem/domain/types.ts +24 -5
  8. package/app/filesystem/store/filesystemStore.ts +20 -1
  9. package/app/filesystem/store/listSlice.ts +2 -0
  10. package/app/filesystem/store/searchSlice.ts +24 -1
  11. package/app/filesystem/ui/FileTreeSearch.tsx +29 -2
  12. package/app/filesystem/ui/PendingChangesPanel.tsx +74 -17
  13. package/app/filesystem/ui/PendingReviewDialog.tsx +45 -20
  14. package/app/filesystem/ui/README.md +8 -7
  15. package/app/filesystem/ui/ReembedDialog.tsx +20 -9
  16. package/app/filesystem/ui/SourceDeleteConfirm.tsx +1 -1
  17. package/app/filesystem/ui/SourcesPanel.tsx +110 -17
  18. package/app/filesystem/ui/VectorHealthPanel.tsx +14 -0
  19. package/app/filesystem/ui/pendingChangesModel.ts +9 -5
  20. package/dist/app/chunks/{astro-LRAFGXNX.js → astro-B2J4AS2D.js} +1 -1
  21. package/dist/app/chunks/bash-KY6SAQTH.js +1 -0
  22. package/dist/app/chunks/c-OBOPYVZ7.js +1 -0
  23. package/dist/app/chunks/{chunk-5H7ZCOD3.js → chunk-2X3GNKJ3.js} +1 -1
  24. package/dist/app/chunks/{chunk-XIFGTNRM.js → chunk-JPJIVRFI.js} +1 -1
  25. package/dist/app/chunks/{chunk-RH3QY5LF.js → chunk-LEFIFWND.js} +1 -1
  26. package/dist/app/chunks/{chunk-G4RZ3UNX.js → chunk-N6RXX3PH.js} +1 -1
  27. package/dist/app/chunks/{chunk-QXXJ73P5.js → chunk-PZAW4HPB.js} +1 -1
  28. package/dist/app/chunks/{chunk-3QLE7Y4L.js → chunk-ZBYWWTO6.js} +1 -1
  29. package/dist/app/chunks/cpp-TVWVOTEQ.js +1 -0
  30. package/dist/app/chunks/css-MANZBYA4.js +1 -0
  31. package/dist/app/chunks/{elixir-M36XROA6.js → elixir-S725Z7EH.js} +1 -1
  32. package/dist/app/chunks/{elm-7BG6QAIK.js → elm-5WUUSTNB.js} +1 -1
  33. package/dist/app/chunks/graphql-UGOPR3WU.js +1 -0
  34. package/dist/app/chunks/html-F6FWTBSG.js +1 -0
  35. package/dist/app/chunks/java-ANIVV5H5.js +1 -0
  36. package/dist/app/chunks/javascript-IH374YWG.js +1 -0
  37. package/dist/app/chunks/json-WGGVVXSB.js +1 -0
  38. package/dist/app/chunks/jsx-OTXJQD32.js +1 -0
  39. package/dist/app/chunks/{latex-ZWK7SXB6.js → latex-QCZNITGN.js} +1 -1
  40. package/dist/app/chunks/lua-4CRZ64PU.js +1 -0
  41. package/dist/app/chunks/{nginx-2L6VRV3A.js → nginx-V4CYS7WR.js} +1 -1
  42. package/dist/app/chunks/{perl-PBUAXXK6.js → perl-BHTX7F5B.js} +1 -1
  43. package/dist/app/chunks/{php-QJX57PA6.js → php-AYGJ5WYZ.js} +1 -1
  44. package/dist/app/chunks/r-4YFCFA4B.js +1 -0
  45. package/dist/app/chunks/{ruby-RLOWMVPO.js → ruby-42NMJWAL.js} +1 -1
  46. package/dist/app/chunks/{scss-B5CAI3HR.js → scss-XD7VU2CU.js} +1 -1
  47. package/dist/app/chunks/sql-B55MH6JJ.js +1 -0
  48. package/dist/app/chunks/{svelte-GT3D4C44.js → svelte-WR3QPIJU.js} +1 -1
  49. package/dist/app/chunks/tsx-S73GAE2L.js +1 -0
  50. package/dist/app/chunks/typescript-NEWOAB5Z.js +1 -0
  51. package/dist/app/chunks/{vue-JOW62MHD.js → vue-CCDS4VZK.js} +1 -1
  52. package/dist/app/chunks/xml-UXKAGLDR.js +1 -0
  53. package/dist/app/chunks/yaml-UMWKDTK7.js +1 -0
  54. package/dist/app/host.js +40 -40
  55. package/dist/scripts/embeddingLockV3.d.ts +30 -0
  56. package/dist/scripts/embeddingLockV3.d.ts.map +1 -0
  57. package/dist/scripts/embeddingLockV3.js +100 -0
  58. package/dist/scripts/embeddingLockV3.js.map +1 -0
  59. package/dist/scripts/vectorProofV1.d.ts +90 -0
  60. package/dist/scripts/vectorProofV1.d.ts.map +1 -0
  61. package/dist/scripts/vectorProofV1.js +220 -0
  62. package/dist/scripts/vectorProofV1.js.map +1 -0
  63. package/dist/src/config/env.d.ts +21 -0
  64. package/dist/src/config/env.d.ts.map +1 -1
  65. package/dist/src/config/env.js +55 -0
  66. package/dist/src/config/env.js.map +1 -1
  67. package/dist/src/connectors/AppSourceConfigStore.d.ts +12 -2
  68. package/dist/src/connectors/AppSourceConfigStore.d.ts.map +1 -1
  69. package/dist/src/connectors/AppSourceConfigStore.js +48 -40
  70. package/dist/src/connectors/AppSourceConfigStore.js.map +1 -1
  71. package/dist/src/connectors/LocalDiskConnector.d.ts +11 -14
  72. package/dist/src/connectors/LocalDiskConnector.d.ts.map +1 -1
  73. package/dist/src/connectors/LocalDiskConnector.js +87 -107
  74. package/dist/src/connectors/LocalDiskConnector.js.map +1 -1
  75. package/dist/src/connectors/sourceConfigMutation.d.ts +11 -1
  76. package/dist/src/connectors/sourceConfigMutation.d.ts.map +1 -1
  77. package/dist/src/connectors/sourceConfigMutation.js +36 -3
  78. package/dist/src/connectors/sourceConfigMutation.js.map +1 -1
  79. package/dist/src/domain/chunker.js +8 -3
  80. package/dist/src/domain/chunker.js.map +1 -1
  81. package/dist/src/domain/healthTypes.d.ts +11 -0
  82. package/dist/src/domain/healthTypes.d.ts.map +1 -1
  83. package/dist/src/domain/mime.d.ts +1 -0
  84. package/dist/src/domain/mime.d.ts.map +1 -1
  85. package/dist/src/domain/mime.js +48 -0
  86. package/dist/src/domain/mime.js.map +1 -1
  87. package/dist/src/domain/pendingChange.d.ts +7 -0
  88. package/dist/src/domain/pendingChange.d.ts.map +1 -1
  89. package/dist/src/domain/pendingChange.js +11 -0
  90. package/dist/src/domain/pendingChange.js.map +1 -1
  91. package/dist/src/domain/sourceConfig.d.ts +7 -14
  92. package/dist/src/domain/sourceConfig.d.ts.map +1 -1
  93. package/dist/src/domain/sourceConfig.js +1 -13
  94. package/dist/src/domain/sourceConfig.js.map +1 -1
  95. package/dist/src/domain/sourcePackages.d.ts +11 -2
  96. package/dist/src/domain/sourcePackages.d.ts.map +1 -1
  97. package/dist/src/domain/syncTrigger.d.ts +2 -3
  98. package/dist/src/domain/syncTrigger.d.ts.map +1 -1
  99. package/dist/src/domain/syncTrigger.js +2 -3
  100. package/dist/src/domain/syncTrigger.js.map +1 -1
  101. package/dist/src/domain/syncTypes.d.ts +21 -4
  102. package/dist/src/domain/syncTypes.d.ts.map +1 -1
  103. package/dist/src/domain/syncTypes.js.map +1 -1
  104. package/dist/src/domain/text.d.ts +3 -0
  105. package/dist/src/domain/text.d.ts.map +1 -1
  106. package/dist/src/domain/text.js +5 -0
  107. package/dist/src/domain/text.js.map +1 -1
  108. package/dist/src/domain/types.d.ts +9 -0
  109. package/dist/src/domain/types.d.ts.map +1 -1
  110. package/dist/src/embeddings/clients/GeminiEmbedder.d.ts.map +1 -1
  111. package/dist/src/embeddings/clients/GeminiEmbedder.js +11 -5
  112. package/dist/src/embeddings/clients/GeminiEmbedder.js.map +1 -1
  113. package/dist/src/embeddings/clients/OllamaEmbedder.d.ts.map +1 -1
  114. package/dist/src/embeddings/clients/OllamaEmbedder.js +13 -6
  115. package/dist/src/embeddings/clients/OllamaEmbedder.js.map +1 -1
  116. package/dist/src/embeddings/clients/OpenAIEmbedder.d.ts.map +1 -1
  117. package/dist/src/embeddings/clients/OpenAIEmbedder.js +12 -9
  118. package/dist/src/embeddings/clients/OpenAIEmbedder.js.map +1 -1
  119. package/dist/src/embeddings/clients/QwenEmbedder.d.ts.map +1 -1
  120. package/dist/src/embeddings/clients/QwenEmbedder.js +12 -5
  121. package/dist/src/embeddings/clients/QwenEmbedder.js.map +1 -1
  122. package/dist/src/embeddings/clients/VoyageEmbedder.d.ts.map +1 -1
  123. package/dist/src/embeddings/clients/VoyageEmbedder.js +12 -5
  124. package/dist/src/embeddings/clients/VoyageEmbedder.js.map +1 -1
  125. package/dist/src/embeddings/factory.d.ts +2 -0
  126. package/dist/src/embeddings/factory.d.ts.map +1 -1
  127. package/dist/src/embeddings/factory.js +23 -3
  128. package/dist/src/embeddings/factory.js.map +1 -1
  129. package/dist/src/embeddings/lock.d.ts +22 -11
  130. package/dist/src/embeddings/lock.d.ts.map +1 -1
  131. package/dist/src/embeddings/lock.js +47 -29
  132. package/dist/src/embeddings/lock.js.map +1 -1
  133. package/dist/src/embeddings/retry.d.ts +5 -0
  134. package/dist/src/embeddings/retry.d.ts.map +1 -1
  135. package/dist/src/embeddings/retry.js +35 -0
  136. package/dist/src/embeddings/retry.js.map +1 -1
  137. package/dist/src/events/pending.d.ts +56 -0
  138. package/dist/src/events/pending.d.ts.map +1 -0
  139. package/dist/src/events/pending.js +108 -0
  140. package/dist/src/events/pending.js.map +1 -0
  141. package/dist/src/events/source.d.ts +60 -14
  142. package/dist/src/events/source.d.ts.map +1 -1
  143. package/dist/src/events/source.js +149 -31
  144. package/dist/src/events/source.js.map +1 -1
  145. package/dist/src/events/vector.d.ts +33 -0
  146. package/dist/src/events/vector.d.ts.map +1 -0
  147. package/dist/src/events/vector.js +57 -0
  148. package/dist/src/events/vector.js.map +1 -0
  149. package/dist/src/git/GitRunner.d.ts.map +1 -1
  150. package/dist/src/git/GitRunner.js +11 -8
  151. package/dist/src/git/GitRunner.js.map +1 -1
  152. package/dist/src/git/sourceGitControl.d.ts.map +1 -1
  153. package/dist/src/git/sourceGitControl.js +2 -1
  154. package/dist/src/git/sourceGitControl.js.map +1 -1
  155. package/dist/src/index.d.ts +5 -4
  156. package/dist/src/index.d.ts.map +1 -1
  157. package/dist/src/index.js +4 -3
  158. package/dist/src/index.js.map +1 -1
  159. package/dist/src/lifecycle.d.ts +20 -4
  160. package/dist/src/lifecycle.d.ts.map +1 -1
  161. package/dist/src/lifecycle.js +5 -1
  162. package/dist/src/lifecycle.js.map +1 -1
  163. package/dist/src/routes/health.js +6 -1
  164. package/dist/src/routes/health.js.map +1 -1
  165. package/dist/src/routes/pending.d.ts.map +1 -1
  166. package/dist/src/routes/pending.js +2 -1
  167. package/dist/src/routes/pending.js.map +1 -1
  168. package/dist/src/routes/sources.d.ts.map +1 -1
  169. package/dist/src/routes/sources.js +60 -11
  170. package/dist/src/routes/sources.js.map +1 -1
  171. package/dist/src/services/BridgeService.d.ts +2 -2
  172. package/dist/src/services/BridgeService.d.ts.map +1 -1
  173. package/dist/src/services/BridgeService.js +11 -2
  174. package/dist/src/services/BridgeService.js.map +1 -1
  175. package/dist/src/services/FilesystemService.d.ts +3 -1
  176. package/dist/src/services/FilesystemService.d.ts.map +1 -1
  177. package/dist/src/services/FilesystemService.js +3 -1
  178. package/dist/src/services/FilesystemService.js.map +1 -1
  179. package/dist/src/services/FilesystemUiService.js +1 -1
  180. package/dist/src/services/FilesystemUiService.js.map +1 -1
  181. package/dist/src/services/SyncScheduler.d.ts.map +1 -1
  182. package/dist/src/services/SyncScheduler.js +0 -14
  183. package/dist/src/services/SyncScheduler.js.map +1 -1
  184. package/dist/src/services/VectorHealthService.d.ts.map +1 -1
  185. package/dist/src/services/VectorHealthService.js +2 -46
  186. package/dist/src/services/VectorHealthService.js.map +1 -1
  187. package/dist/src/services/baselineRepair.d.ts +2 -2
  188. package/dist/src/services/baselineRepair.js +2 -2
  189. package/dist/src/services/declaredSources.d.ts +8 -1
  190. package/dist/src/services/declaredSources.d.ts.map +1 -1
  191. package/dist/src/services/declaredSources.js +19 -19
  192. package/dist/src/services/declaredSources.js.map +1 -1
  193. package/dist/src/store/dataFormats.d.ts +14 -3
  194. package/dist/src/store/dataFormats.d.ts.map +1 -1
  195. package/dist/src/store/dataFormats.js +15 -5
  196. package/dist/src/store/dataFormats.js.map +1 -1
  197. package/dist/src/sync/DeltaSyncRunner.d.ts.map +1 -1
  198. package/dist/src/sync/DeltaSyncRunner.js +78 -243
  199. package/dist/src/sync/DeltaSyncRunner.js.map +1 -1
  200. package/dist/src/sync/SyncJobQueue.d.ts +33 -4
  201. package/dist/src/sync/SyncJobQueue.d.ts.map +1 -1
  202. package/dist/src/sync/SyncJobQueue.js +179 -19
  203. package/dist/src/sync/SyncJobQueue.js.map +1 -1
  204. package/dist/src/sync/moveDetector.d.ts +2 -1
  205. package/dist/src/sync/moveDetector.d.ts.map +1 -1
  206. package/dist/src/sync/moveDetector.js +2 -1
  207. package/dist/src/sync/moveDetector.js.map +1 -1
  208. package/dist/src/tools/fs_search.d.ts.map +1 -1
  209. package/dist/src/tools/fs_search.js +8 -0
  210. package/dist/src/tools/fs_search.js.map +1 -1
  211. package/dist/src/tools/fs_write.js +3 -1
  212. package/dist/src/tools/fs_write.js.map +1 -1
  213. package/dist/src/usecases/chunkUpsert.d.ts +4 -0
  214. package/dist/src/usecases/chunkUpsert.d.ts.map +1 -1
  215. package/dist/src/usecases/chunkUpsert.js +103 -60
  216. package/dist/src/usecases/chunkUpsert.js.map +1 -1
  217. package/dist/src/usecases/embeddingBacklog.d.ts +31 -0
  218. package/dist/src/usecases/embeddingBacklog.d.ts.map +1 -0
  219. package/dist/src/usecases/embeddingBacklog.js +244 -0
  220. package/dist/src/usecases/embeddingBacklog.js.map +1 -0
  221. package/dist/src/usecases/listSourcePackages.js +17 -1
  222. package/dist/src/usecases/listSourcePackages.js.map +1 -1
  223. package/dist/src/usecases/mediaLane.d.ts +11 -4
  224. package/dist/src/usecases/mediaLane.d.ts.map +1 -1
  225. package/dist/src/usecases/mediaLane.js +67 -30
  226. package/dist/src/usecases/mediaLane.js.map +1 -1
  227. package/dist/src/usecases/pendingReview.d.ts.map +1 -1
  228. package/dist/src/usecases/pendingReview.js +24 -7
  229. package/dist/src/usecases/pendingReview.js.map +1 -1
  230. package/dist/src/usecases/purgeExcludedPoints.d.ts +2 -0
  231. package/dist/src/usecases/purgeExcludedPoints.d.ts.map +1 -1
  232. package/dist/src/usecases/purgeExcludedPoints.js +3 -2
  233. package/dist/src/usecases/purgeExcludedPoints.js.map +1 -1
  234. package/dist/src/usecases/readFiles.d.ts.map +1 -1
  235. package/dist/src/usecases/readFiles.js +33 -6
  236. package/dist/src/usecases/readFiles.js.map +1 -1
  237. package/dist/src/usecases/reconcileSourcePackageRoots.d.ts +31 -0
  238. package/dist/src/usecases/reconcileSourcePackageRoots.d.ts.map +1 -0
  239. package/dist/src/usecases/reconcileSourcePackageRoots.js +114 -0
  240. package/dist/src/usecases/reconcileSourcePackageRoots.js.map +1 -0
  241. package/dist/src/usecases/searchFiles.d.ts.map +1 -1
  242. package/dist/src/usecases/searchFiles.js +62 -64
  243. package/dist/src/usecases/searchFiles.js.map +1 -1
  244. package/dist/src/usecases/syncIndexedFile.d.ts +42 -0
  245. package/dist/src/usecases/syncIndexedFile.d.ts.map +1 -0
  246. package/dist/src/usecases/syncIndexedFile.js +242 -0
  247. package/dist/src/usecases/syncIndexedFile.js.map +1 -0
  248. package/dist/src/usecases/syncPointWrites.d.ts +5 -0
  249. package/dist/src/usecases/syncPointWrites.d.ts.map +1 -1
  250. package/dist/src/usecases/syncPointWrites.js +32 -5
  251. package/dist/src/usecases/syncPointWrites.js.map +1 -1
  252. package/dist/src/usecases/uploadBinary.d.ts.map +1 -1
  253. package/dist/src/usecases/uploadBinary.js +36 -49
  254. package/dist/src/usecases/uploadBinary.js.map +1 -1
  255. package/dist/src/usecases/vector/endpointGuard.js +2 -1
  256. package/dist/src/usecases/vector/endpointGuard.js.map +1 -1
  257. package/dist/src/usecases/vector/estimate.d.ts +7 -4
  258. package/dist/src/usecases/vector/estimate.d.ts.map +1 -1
  259. package/dist/src/usecases/vector/estimate.js +8 -5
  260. package/dist/src/usecases/vector/estimate.js.map +1 -1
  261. package/dist/src/usecases/vector/rebuildGeneration.d.ts +29 -5
  262. package/dist/src/usecases/vector/rebuildGeneration.d.ts.map +1 -1
  263. package/dist/src/usecases/vector/rebuildGeneration.js +224 -82
  264. package/dist/src/usecases/vector/rebuildGeneration.js.map +1 -1
  265. package/dist/src/usecases/vectorMaintenance.d.ts +46 -4
  266. package/dist/src/usecases/vectorMaintenance.d.ts.map +1 -1
  267. package/dist/src/usecases/vectorMaintenance.js +190 -11
  268. package/dist/src/usecases/vectorMaintenance.js.map +1 -1
  269. package/dist/src/usecases/write/commit.d.ts +6 -8
  270. package/dist/src/usecases/write/commit.d.ts.map +1 -1
  271. package/dist/src/usecases/write/commit.js +96 -112
  272. package/dist/src/usecases/write/commit.js.map +1 -1
  273. package/dist/src/usecases/write/content.js +1 -2
  274. package/dist/src/usecases/write/content.js.map +1 -1
  275. package/dist/src/usecases/write/ports.d.ts +1 -0
  276. package/dist/src/usecases/write/ports.d.ts.map +1 -1
  277. package/dist/src/vector/FilesystemVectorIndex.d.ts +34 -3
  278. package/dist/src/vector/FilesystemVectorIndex.d.ts.map +1 -1
  279. package/dist/src/vector/FilesystemVectorIndex.js +254 -20
  280. package/dist/src/vector/FilesystemVectorIndex.js.map +1 -1
  281. package/dist/src/vector/InMemoryVectorIndex.d.ts +9 -2
  282. package/dist/src/vector/InMemoryVectorIndex.d.ts.map +1 -1
  283. package/dist/src/vector/InMemoryVectorIndex.js +25 -6
  284. package/dist/src/vector/InMemoryVectorIndex.js.map +1 -1
  285. package/dist/src/vector/QdrantVectorIndex.d.ts +35 -9
  286. package/dist/src/vector/QdrantVectorIndex.d.ts.map +1 -1
  287. package/dist/src/vector/QdrantVectorIndex.js +209 -90
  288. package/dist/src/vector/QdrantVectorIndex.js.map +1 -1
  289. package/dist/src/vector/qdrantFilter.d.ts +3 -1
  290. package/dist/src/vector/qdrantFilter.d.ts.map +1 -1
  291. package/dist/src/vector/qdrantFilter.js +2 -0
  292. package/dist/src/vector/qdrantFilter.js.map +1 -1
  293. package/dist/src/vector/types.d.ts +81 -0
  294. package/dist/src/vector/types.d.ts.map +1 -1
  295. package/dist/src/vector/types.js +2 -0
  296. package/dist/src/vector/types.js.map +1 -1
  297. package/dist/src/wiring.d.ts +6 -0
  298. package/dist/src/wiring.d.ts.map +1 -1
  299. package/dist/src/wiring.js +62 -3
  300. package/dist/src/wiring.js.map +1 -1
  301. package/dist/tools/fs_search.json +2 -2
  302. package/docs/drive-overview.md +2 -2
  303. package/instructions/brain-model.md +1 -1
  304. package/package.json +999 -10
  305. package/rules/brain-rules.md +1 -1
  306. package/skills/connect-business-data/SKILL.md +6 -4
  307. package/skills/create-package/SKILL.md +14 -12
  308. package/skills/create-package/references/config-and-credentials.md +3 -3
  309. package/skills/create-package/references/connectors-and-uri-policies.md +5 -3
  310. package/skills/create-package/references/manifest-and-discovery.md +4 -3
  311. package/skills/create-package/references/runtime-and-build.md +9 -9
  312. package/skills/create-package/references/skills-and-context.md +3 -3
  313. package/skills/create-package/references/surfaces-and-design.md +2 -1
  314. package/skills/create-package/references/team-and-workflows.md +2 -2
  315. package/skills/create-package/references/test-and-ship.md +15 -15
  316. package/skills/create-package/references/tools-and-schemas.md +1 -1
  317. package/skills/create-package/scripts/check-package.sh +3 -3
  318. package/skills/create-package/scripts/verify-loaded.sh +16 -16
  319. package/skills/manage-files/SKILL.md +2 -2
  320. package/skills/manage-sources/SKILL.md +16 -15
  321. package/skills/manage-sources/scripts/reembed.sh +9 -3
  322. package/skills/sync/SKILL.md +4 -4
  323. package/tools/fs_search.json +2 -2
  324. package/dist/app/chunks/bash-M45GHPBQ.js +0 -1
  325. package/dist/app/chunks/c-X3REOAWD.js +0 -1
  326. package/dist/app/chunks/cpp-VOWI743W.js +0 -1
  327. package/dist/app/chunks/css-2ZVPHE25.js +0 -1
  328. package/dist/app/chunks/graphql-7V2NP54C.js +0 -1
  329. package/dist/app/chunks/html-UF3LFLNA.js +0 -1
  330. package/dist/app/chunks/java-PNTAU4L3.js +0 -1
  331. package/dist/app/chunks/javascript-4JJTQGEL.js +0 -1
  332. package/dist/app/chunks/json-VLQ6D3JH.js +0 -1
  333. package/dist/app/chunks/jsx-KQKSLAAH.js +0 -1
  334. package/dist/app/chunks/lua-UFPYUJ2O.js +0 -1
  335. package/dist/app/chunks/r-QEZB45SR.js +0 -1
  336. package/dist/app/chunks/sql-DTZHNUZP.js +0 -1
  337. package/dist/app/chunks/tsx-WPR2WRZD.js +0 -1
  338. package/dist/app/chunks/typescript-LWO362OA.js +0 -1
  339. package/dist/app/chunks/xml-A5H72RTS.js +0 -1
  340. package/dist/app/chunks/yaml-MXHSIJCI.js +0 -1
  341. package/dist/src/services/purgePendingNodes.d.ts +0 -32
  342. package/dist/src/services/purgePendingNodes.d.ts.map +0 -1
  343. package/dist/src/services/purgePendingNodes.js +0 -61
  344. package/dist/src/services/purgePendingNodes.js.map +0 -1
  345. /package/dist/app/chunks/{chunk-737Y24HS.js → chunk-3JASFUPF.js} +0 -0
  346. /package/dist/app/chunks/{chunk-DKD2L57N.js → chunk-6EYLOQ4F.js} +0 -0
  347. /package/dist/app/chunks/{chunk-KYH5EHHY.js → chunk-7YRZ5LOQ.js} +0 -0
  348. /package/dist/app/chunks/{chunk-6TC3DVWV.js → chunk-C7LU4RID.js} +0 -0
  349. /package/dist/app/chunks/{chunk-TY33BMKR.js → chunk-CD52YDZP.js} +0 -0
  350. /package/dist/app/chunks/{chunk-OLEIKJ3X.js → chunk-DCJKTCJ5.js} +0 -0
  351. /package/dist/app/chunks/{chunk-QLBZ4JR2.js → chunk-EXIU2KBV.js} +0 -0
  352. /package/dist/app/chunks/{chunk-SFUNBBEA.js → chunk-FDP4LO4P.js} +0 -0
  353. /package/dist/app/chunks/{chunk-BGRVFATT.js → chunk-HNETUS7U.js} +0 -0
  354. /package/dist/app/chunks/{chunk-4QNMHAIR.js → chunk-LBFZJEDR.js} +0 -0
  355. /package/dist/app/chunks/{chunk-TRRUHDPN.js → chunk-ULRXL5VM.js} +0 -0
  356. /package/dist/app/chunks/{chunk-S6B4WWIF.js → chunk-XJK47SMJ.js} +0 -0
  357. /package/dist/app/chunks/{chunk-DZ5C5FKI.js → chunk-YYAAIAU2.js} +0 -0
  358. /package/dist/app/chunks/{clojure-OC6KPSJO.js → clojure-4QCN4GHG.js} +0 -0
  359. /package/dist/app/chunks/{core-KGE7TQJ3.js → core-ZHTX3P2Q.js} +0 -0
  360. /package/dist/app/chunks/{csharp-E7VIFITL.js → csharp-HQWR4N52.js} +0 -0
  361. /package/dist/app/chunks/{dark-plus-BOSCZXE4.js → dark-plus-GYPKKZES.js} +0 -0
  362. /package/dist/app/chunks/{dart-6Y3X27SZ.js → dart-FO4TTVO2.js} +0 -0
  363. /package/dist/app/chunks/{diff-TR2NPA64.js → diff-SHANV4YC.js} +0 -0
  364. /package/dist/app/chunks/{dist-T32U2VVR.js → dist-WSDF34DM.js} +0 -0
  365. /package/dist/app/chunks/{docker-N33HOW54.js → docker-VX55HTDS.js} +0 -0
  366. /package/dist/app/chunks/{go-6DGG5UTP.js → go-5UCPEC6S.js} +0 -0
  367. /package/dist/app/chunks/{haskell-KK36PMMM.js → haskell-25PJ3OSG.js} +0 -0
  368. /package/dist/app/chunks/{ini-VHVQ5TPB.js → ini-BJIVD5MK.js} +0 -0
  369. /package/dist/app/chunks/{kotlin-44WS3JHE.js → kotlin-MNR6XOEQ.js} +0 -0
  370. /package/dist/app/chunks/{less-5WZ3KLAK.js → less-KA5JURX6.js} +0 -0
  371. /package/dist/app/chunks/{light-plus-HGGBC43G.js → light-plus-QXH2UUWZ.js} +0 -0
  372. /package/dist/app/chunks/{make-X7RXMVW7.js → make-LPD5KOCO.js} +0 -0
  373. /package/dist/app/chunks/{markdown-46IKUAIB.js → markdown-LMWF6MQR.js} +0 -0
  374. /package/dist/app/chunks/{mdx-DGLHDAO7.js → mdx-WPMNN5BS.js} +0 -0
  375. /package/dist/app/chunks/{nix-Q6FYQZLX.js → nix-QGWLUUMZ.js} +0 -0
  376. /package/dist/app/chunks/{powershell-L4KJJ6DK.js → powershell-7GSBBEFF.js} +0 -0
  377. /package/dist/app/chunks/{prisma-IKS4LVH2.js → prisma-FPMPQISO.js} +0 -0
  378. /package/dist/app/chunks/{proto-AYCDOTJO.js → proto-7KDX5Z2U.js} +0 -0
  379. /package/dist/app/chunks/{python-KXMCSAFQ.js → python-CFG4FTQW.js} +0 -0
  380. /package/dist/app/chunks/{rust-J3BC3P6V.js → rust-X7A37WU3.js} +0 -0
  381. /package/dist/app/chunks/{scala-AYIIHBJK.js → scala-OYHJSUG2.js} +0 -0
  382. /package/dist/app/chunks/{swift-QPHHCQD3.js → swift-PE7VNYW5.js} +0 -0
  383. /package/dist/app/chunks/{toml-UV7JK7K7.js → toml-ETQRDILP.js} +0 -0
@@ -3,8 +3,10 @@ import { BrainError } from '../domain/BrainError.js';
3
3
  import { createEmptyUsage, mergeUsage } from '../domain/usage.js';
4
4
  import { sourceFromUri } from '../domain/uri.js';
5
5
  import { extractIndexText } from '../domain/text.js';
6
- import { isEmbeddingBudgetStopError } from '../embeddings/usage.js';
7
- import { isProviderQuotaExhaustedError } from '../embeddings/providerQuota.js';
6
+ import { embeddingUnavailableReason } from '../embeddings/factory.js';
7
+ import { requireEmbeddingEnabled } from '../config/env.js';
8
+ import { peekActiveLock } from '../embeddings/lock.js';
9
+ import { embedModelMarker } from '../embeddings/models.js';
8
10
  import { runLocalTextSearch, hydrateGrepContext } from '../search/localTextEngine.js';
9
11
  import { getBrainConfigNumber } from '../config/env.js';
10
12
  /**
@@ -122,7 +124,7 @@ node) {
122
124
  * the 200-character preview are cut from it, and no backend can slice a string
123
125
  * server-side.
124
126
  */
125
- const DOCUMENT_PAYLOAD_FIELDS = ['uri', 'os_uri', 'category', 'pinned', 'status', 'content', 'version', 'agentId', 'modality'];
127
+ const DOCUMENT_PAYLOAD_FIELDS = ['uri', 'os_uri', 'category', 'pinned', 'status', 'content', 'version', 'agentId', 'modality', 'embed_model', 'embedding_status', 'embedding_generation'];
126
128
  /**
127
129
  * The same set plus what the AGGREGATION step reads off a raw hit: `parent_id`
128
130
  * (chunk → document), `metadata` (the chunk's start/end offsets) and `page`
@@ -207,6 +209,7 @@ async function buildResult(agg, vector, matchType, parentCache) {
207
209
  chunk_start: chunkMeta?.chunk_start,
208
210
  chunk_end: chunkMeta?.chunk_end,
209
211
  match_type: matchType,
212
+ embedding_status: embeddingStatus(chunk?.payload ?? docPayload),
210
213
  ...(version ? { version } : {}),
211
214
  error: undefined,
212
215
  };
@@ -361,44 +364,42 @@ async function semanticSearch(deps, ctx, req, usage) {
361
364
  const parentCache = new Map();
362
365
  // Sort by best score descending
363
366
  const sortedGroups = [...grouped.values()].sort((a, b) => b.bestScore - a.bestScore);
364
- // Hydrate the parents that were not themselves hits. (The old comment here
365
- // claimed parallel retrieves "avoid N+1" — they avoided the WAITING, not the
366
- // N calls.)
367
- const missingParentIds = sortedGroups
368
- .filter((agg) => !agg.documentHit)
369
- .map((agg) => agg.parentId);
370
- if (missingParentIds.length > 0) {
371
- await hydrateMissingParents(deps.vector, ctx, missingParentIds, parentCache, DOCUMENT_PAYLOAD_FIELDS, deps.logger);
372
- }
373
- const results = [];
374
- // Every aggregated parent the engine had in hand. `truncated` compares it
375
- // with what the limit let through, so "50 of 50" can never read like "50,
376
- // and that is all there is".
377
- const totalSeen = sortedGroups.length;
378
- for (const agg of sortedGroups) {
379
- if (results.length >= limit)
380
- break;
381
- // Visibility check on the document (not chunk)
382
- const docPayload = agg.documentHit?.payload ?? parentCache.get(agg.parentId);
383
- if (docPayload && !isVisibleSearchNode(ctx, req, docPayload))
384
- continue;
385
- const result = await buildResult(agg, deps.vector, matchType, parentCache);
386
- if (!result)
387
- continue;
388
- // Belt check on the BUILT row — with the doc payload's agentId, because
389
- // result rows deliberately carry no agentId. (Passing the bare row here
390
- // used to fail the brain check for the caller's OWN rows and silently
391
- // banned brain:// results from semantic mode altogether.)
392
- if (!isVisibleSearchNode(ctx, req, { uri: result.uri, agentId: docPayload?.agentId }))
393
- continue;
394
- results.push(result);
367
+ // Cut BEFORE build: groups are hydrated, built and read-gated in score order,
368
+ // one window of `limit + 1` at a time, until one row past the limit survives
369
+ // (`truncated`) or the groups run out. `total_seen` is then a lower bound —
370
+ // the tool renders it as "N+ seen".
371
+ const gated = [];
372
+ for (let next = 0; gated.length <= limit && next < sortedGroups.length; next += limit + 1) {
373
+ const window = sortedGroups.slice(next, next + limit + 1);
374
+ // Hydrate the parents that were not themselves hits, one batch per window.
375
+ const missingParentIds = window.filter((agg) => !agg.documentHit).map((agg) => agg.parentId);
376
+ if (missingParentIds.length > 0) {
377
+ await hydrateMissingParents(deps.vector, ctx, missingParentIds, parentCache, DOCUMENT_PAYLOAD_FIELDS, deps.logger);
378
+ }
379
+ const results = [];
380
+ for (const agg of window) {
381
+ // Visibility check on the document (not chunk)
382
+ const docPayload = agg.documentHit?.payload ?? parentCache.get(agg.parentId);
383
+ if (docPayload && !isVisibleSearchNode(ctx, req, docPayload))
384
+ continue;
385
+ const result = await buildResult(agg, deps.vector, matchType, parentCache);
386
+ if (!result)
387
+ continue;
388
+ // Belt check on the BUILT row — with the doc payload's agentId, because
389
+ // result rows deliberately carry no agentId. (Passing the bare row here
390
+ // used to fail the brain check for the caller's OWN rows and silently
391
+ // banned brain:// results from semantic mode altogether.)
392
+ if (!isVisibleSearchNode(ctx, req, { uri: result.uri, agentId: docPayload?.agentId }))
393
+ continue;
394
+ results.push(result);
395
+ }
396
+ gated.push(...await filterByReadPolicy(deps, results));
395
397
  }
396
- const gated = await filterByReadPolicy(deps, results);
397
398
  return {
398
- results: gated,
399
- count: { found: gated.length, errors: 0 },
400
- truncated: totalSeen > results.length,
401
- total_seen: totalSeen,
399
+ results: gated.slice(0, limit),
400
+ count: { found: Math.min(gated.length, limit), errors: 0 },
401
+ truncated: gated.length > limit,
402
+ total_seen: gated.length,
402
403
  usage,
403
404
  };
404
405
  }
@@ -593,6 +594,7 @@ async function filterSearch(deps, ctx, req, usage) {
593
594
  category: node.category,
594
595
  pinned: node.pinned === true,
595
596
  status: node.status,
597
+ embedding_status: embeddingStatus(node),
596
598
  content_preview: snippet ?? contentPreview(node),
597
599
  snippet,
598
600
  match_type: hasKeyword ? 'keyword' : undefined,
@@ -653,7 +655,7 @@ export async function searchFilesUseCase(deps, ctx, req) {
653
655
  return {
654
656
  results: [{ uri: '', error: 'grep search requires a connector resolver' }],
655
657
  count: { found: 0, errors: 1 },
656
- usage,
658
+ usage, requested_mode: searchMode, effective_mode: 'grep',
657
659
  };
658
660
  }
659
661
  const res = await runLocalTextSearch({ getConnector: deps.getConnector }, ctx, req);
@@ -665,39 +667,35 @@ export async function searchFilesUseCase(deps, ctx, req) {
665
667
  // row the caller may not read must not be opened to decorate a row that is
666
668
  // about to be dropped.
667
669
  const withContext = await hydrateGrepContext({ getConnector: deps.getConnector }, gated, req.context ?? 0);
668
- return { ...res, results: withContext, count: { ...res.count, found: withContext.length } };
670
+ return { ...res, results: withContext, count: { ...res.count, found: withContext.length }, total_seen: withContext.length, requested_mode: searchMode, effective_mode: 'grep' };
669
671
  }
670
672
  if (searchMode === 'filter') {
671
- return filterSearch(deps, ctx, req, usage);
673
+ return { ...await filterSearch(deps, ctx, req, usage), requested_mode: searchMode, effective_mode: 'filter' };
672
674
  }
673
675
  try {
674
- return await semanticSearch(deps, ctx, req, usage);
676
+ requireEmbeddingEnabled();
677
+ const res = await semanticSearch(deps, ctx, req, usage);
678
+ const older = res.results.some(row => row.embedding_status !== 'current');
679
+ return { ...res, requested_mode: searchMode, effective_mode: 'semantic', ...(older ? { warning: 'Semantic results may reflect stale or unknown embeddings; indexed content is current.' } : {}) };
675
680
  }
676
681
  catch (error) {
677
- // The query embed is unavailable for a reason that a WAIT will not fix:
678
- // our own credential-use limit or the embedding daily cap denied it, the
679
- // provider's account is out of credit, the active model's `embedding.*`
680
- // key is not set, or the active model is no longer defined (an endpoint
681
- // removed under the index). Soft-degrade to the full-text filter search
682
- // with a warning that names the cause — blocking `fs_search` hard would
683
- // break the product, and full-text still ANSWERS where a 5xx returns
684
- // nothing at all.
685
- //
686
- // Still scoped to TYPED codes only: every other embed error keeps the
687
- // deliberate propagate-don't-mask behaviour, and a transient 429 never
688
- // reaches here — the embedder retries those itself. This degrade also
689
- // covers the `fs_search` TOOL path, which bypasses the route entirely.
690
- const code = error?.code;
691
- if (!isEmbeddingBudgetStopError(error)
692
- && !isProviderQuotaExhaustedError(error)
693
- && code !== 'active_model_unresolvable'
694
- && code !== 'embedding_credential_missing')
682
+ const reason = embeddingUnavailableReason(error);
683
+ if (!reason)
695
684
  throw error;
696
685
  const res = await filterSearch(deps, ctx, req, usage);
697
- return {
698
- ...res,
699
- warning: `semantic search degraded to full-text: ${error instanceof Error ? error.message : 'embeddings unavailable'}`,
686
+ return { ...res, requested_mode: searchMode, effective_mode: 'filter', embedding_degraded: reason,
687
+ warning: `Semantic search unavailable (${reason}); current indexed text and fields were searched.`,
700
688
  };
701
689
  }
702
690
  }
691
+ function embeddingStatus(payload) {
692
+ if (payload.embedding_status === 'missing')
693
+ return 'missing';
694
+ if (!payload.embedding_status || payload.embedding_generation === undefined)
695
+ return 'unknown';
696
+ const lock = peekActiveLock();
697
+ return payload.embedding_status === 'current' && lock?.mode === 'dense'
698
+ && payload.embedding_generation === lock.generation
699
+ && payload.embed_model === embedModelMarker(lock.modelId, lock.dimension, lock.embedRecipe) ? 'current' : 'stale';
700
+ }
703
701
  //# sourceMappingURL=searchFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchFiles.js","sourceRoot":"","sources":["../../../src/usecases/searchFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchFiles.js","sourceRoot":"","sources":["../../../src/usecases/searchFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { ConnectorDeltaItem } from '@neuralis/package-system/contracts';
2
+ import type { FilesystemNode } from '../domain/types.js';
3
+ import type { SyncJob } from '../domain/syncTypes.js';
4
+ import type { VectorIndexPort, VectorPoint } from '../vector/types.js';
5
+ import type { EmbedderPort } from '../embeddings/types.js';
6
+ import type { MediaConnector } from './mediaLane.js';
7
+ export type SyncIndexedFileResult = {
8
+ action: 'skipped' | 'added' | 'updated';
9
+ chunksEmbedded: number;
10
+ chunksSkipped: number;
11
+ embeddingDegraded?: string;
12
+ };
13
+ /** One text file: chunk data -> parent payload -> independently conditional dense work. */
14
+ export declare function syncIndexedFile(deps: {
15
+ vector: VectorIndexPort<FilesystemNode>;
16
+ embedder: EmbedderPort;
17
+ }, input: {
18
+ job: SyncJob;
19
+ connector: MediaConnector & {
20
+ resolveOsUri?(uri: string): string;
21
+ };
22
+ entry: ConnectorDeltaItem;
23
+ existing: VectorPoint<FilesystemNode> | null;
24
+ id: string;
25
+ filename: string;
26
+ content: string;
27
+ contentHash: string;
28
+ stored: string;
29
+ provenPrefixChars?: number;
30
+ now: string;
31
+ movedFrom?: string;
32
+ indexedAtUri: boolean;
33
+ }): Promise<SyncIndexedFileResult>;
34
+ /**
35
+ * A sync never indexes a binary file as text. The extension decides before
36
+ * the read; a file with an unknown or no extension is judged by its decoded
37
+ * content (`looksBinaryContent`, the `brainSyncBinarySniffChars` window) after it.
38
+ */
39
+ export declare function isBinaryFile(filename: string): boolean;
40
+ /** Stop only the embedding lane after one typed stop; already-running calls can finish. */
41
+ export declare function createSyncJobEmbedder(inner: EmbedderPort): EmbedderPort;
42
+ //# sourceMappingURL=syncIndexedFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncIndexedFile.d.ts","sourceRoot":"","sources":["../../../src/usecases/syncIndexedFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,2FAA2F;AAC3F,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,EACzE,KAAK,EAAE;IACL,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,cAAc,GAAG;QAAE,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAuMhC;AAYD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAkBvE"}
@@ -0,0 +1,242 @@
1
+ import { resolveOsUri } from '../domain/paths.js';
2
+ import { uriAncestors } from '../domain/uri.js';
3
+ import { buildVersionInfo } from '../domain/versioning.js';
4
+ import { computeContributionEnrichment, resolveSyncCategory, buildEnrichmentRefresh, isEnrichmentCurrent } from '../sync/categoryInference.js';
5
+ import { upsertChunksForContent, relocateChunksForParent } from './chunkUpsert.js';
6
+ import { syncEmbeddingText, syncStoredText, storedVectorMatchesText, denseEmbeddingProof } from './syncPointWrites.js';
7
+ import { embeddingEnabled } from '../config/env.js';
8
+ import { embeddingUnavailableReason } from '../embeddings/factory.js';
9
+ /** One text file: chunk data -> parent payload -> independently conditional dense work. */
10
+ export async function syncIndexedFile(deps, input) {
11
+ const { job, connector, entry, existing, id, filename, content, contentHash: content_hash, stored, provenPrefixChars, now, movedFrom, indexedAtUri } = input;
12
+ const uri = entry.uri;
13
+ const skipped = { action: 'skipped', chunksEmbedded: 0, chunksSkipped: 0 };
14
+ const written = (action, chunks) => ({ action, chunksEmbedded: chunks.embedded, chunksSkipped: chunks.skipped });
15
+ const sourceChangedAt = entry.modifiedAt || now;
16
+ const restoringDraft = !movedFrom && existing?.payload.recovery_only === true
17
+ && existing.payload.status === 'pending_review' && existing.payload.content_hash === content_hash;
18
+ // If the file currently has a pending draft, do NOT overwrite draft content or undo state.
19
+ // Only refresh the last known upstream/source version metadata behind the file.
20
+ if (!movedFrom && existing?.payload?.status === 'pending_review' && !restoringDraft) {
21
+ const payload = {
22
+ ...existing.payload,
23
+ version: buildVersionInfo({
24
+ previous: existing.payload.version,
25
+ previousContent: existing.payload.content,
26
+ nextContent: existing.payload.content,
27
+ changedAt: existing.payload.version?.changedAt ?? existing.payload.updatedAt,
28
+ sourceChangedAt,
29
+ sourceVersion: content_hash,
30
+ indexedAt: now,
31
+ sync: {
32
+ ...(existing.payload.version?.sync ?? {}),
33
+ sourceUpdatedAt: entry.modifiedAt,
34
+ sourceSize: entry.size,
35
+ syncedAt: now,
36
+ upstreamContentHash: content_hash,
37
+ lastSyncedAgentId: job.agentId,
38
+ status: 'stale',
39
+ },
40
+ }),
41
+ status: 'pending_review',
42
+ updatedAt: now,
43
+ };
44
+ if (existing.payload.recovery_only === true) {
45
+ await deps.vector.retainPayload({ id, payload });
46
+ }
47
+ else {
48
+ await deps.vector.writePayload({ id, payload });
49
+ }
50
+ return written('updated', { embedded: 0, skipped: 0 });
51
+ }
52
+ const enrichment = computeContributionEnrichment(entry.uri, content);
53
+ // The first reuse gate — an unchanged committed file only refreshes its
54
+ // payload. A forced re-embed skips it, and keeps that payload instead
55
+ // (below): an unchanged file must not read as changed.
56
+ const sameContent = !movedFrom && existing?.payload?.content_hash === content_hash && existing.payload.status === 'committed' && !existing.payload.recovery_only;
57
+ if (!job.force && sameContent) {
58
+ // Payload-only refresh BEFORE the content-hash skip: unchanged files
59
+ // still pick up new category/frontmatter/manifest enrichment after a
60
+ // deploy (the stored vector is kept). One sync pass migrates a source.
61
+ const refreshed = buildEnrichmentRefresh(existing.payload, entry.uri, content, enrichment);
62
+ // A hash-matched point that has NOT drifted still needs the stamp, or it
63
+ // stays a sweep candidate forever: the sweep skips it (it is in the
64
+ // changed set) and the next full pass no longer sees it as changed. One
65
+ // payload-only write here closes it in the same pass.
66
+ if (refreshed || !isEnrichmentCurrent(existing.payload)) {
67
+ await deps.vector.writePayload({ id, payload: refreshed ?? existing.payload });
68
+ }
69
+ return skipped;
70
+ }
71
+ // The parent vector is keyed on its embedding TEXT: when the stored one was
72
+ // built from the same text (an append past the text cap, a move that kept
73
+ // its filename), the parent write below is payload-only.
74
+ const embeddingText = syncEmbeddingText(filename, content);
75
+ const embedParent = () => deps.embedder.embedText(embeddingText, job.signal ? { signal: job.signal } : undefined);
76
+ // The second reuse gate — the stored parent vector was built from this
77
+ // exact text. A forced re-embed skips it too.
78
+ const reuseVector = !job.force && existing && !existing.payload.recovery_only ? storedVectorMatchesText(existing.payload, embeddingText) : false;
79
+ // A forced re-embed of UNCHANGED content writes the stored payload back as
80
+ // it is (`updatedAt`, `version`, `createdAt`, …) with the inline text it
81
+ // embeds; only the vector and the boundary's `embed_model` stamp move.
82
+ let payload = (sameContent || restoringDraft) && existing ? { ...existing.payload, content: stored } : {
83
+ id,
84
+ uri,
85
+ folder_ancestors: uriAncestors(uri),
86
+ filename,
87
+ os_uri: resolveOsUri(uri, connector),
88
+ userId: job.userId,
89
+ projectId: job.projectId,
90
+ agentId: job.agentId,
91
+ ...(existing?.payload.userName ? { userName: existing.payload.userName } : {}),
92
+ // A payload-only write (the reused vector) keeps the stored marker; a
93
+ // vector write is re-stamped by the write boundary.
94
+ ...(existing?.payload.embed_model ? { embed_model: existing.payload.embed_model } : {}),
95
+ pinned: existing?.payload.pinned === true,
96
+ status: 'committed',
97
+ category: resolveSyncCategory(existing?.payload.category, entry.uri, content),
98
+ tags: existing?.payload.tags ?? [],
99
+ metadata: {
100
+ ...(existing?.payload.metadata ?? {}),
101
+ },
102
+ // Source-package enrichment (A3) — file points only, never chunks (F8).
103
+ ...(enrichment.manifest_usable ? { manifest_usable: true } : {}),
104
+ ...(enrichment.agent_owner ? { agent_owner: enrichment.agent_owner } : {}),
105
+ ...(enrichment.frontmatter ? { frontmatter: enrichment.frontmatter } : {}),
106
+ content: stored, // the indexed prefix; `content_hash` stays the WHOLE file's
107
+ content_hash,
108
+ createdAt: existing?.payload.createdAt ?? now,
109
+ updatedAt: now,
110
+ version: buildVersionInfo({
111
+ previous: existing?.payload.version,
112
+ previousContent: typeof existing?.payload.content === 'string' ? syncStoredText(existing.payload.content) : undefined,
113
+ nextContent: stored,
114
+ previousChangedAt: existing?.payload.version?.changedAt ?? existing?.payload.updatedAt,
115
+ changedAt: now,
116
+ sourceChangedAt,
117
+ sourceVersion: content_hash,
118
+ indexedAt: now,
119
+ sync: {
120
+ sourceUpdatedAt: entry.modifiedAt,
121
+ sourceSize: entry.size,
122
+ syncedAt: now,
123
+ upstreamContentHash: content_hash,
124
+ lastSyncedAgentId: job.agentId,
125
+ status: 'synced',
126
+ },
127
+ }),
128
+ };
129
+ if (restoringDraft) {
130
+ const { recovery_only: ignored, ...ordinary } = payload;
131
+ payload = ordinary;
132
+ }
133
+ // Chunk ingestion BEFORE the parent upsert: the parent's content_hash is
134
+ // the convergence marker — if an abort lands mid-chunking, the parent
135
+ // still carries the OLD hash, so the next run reprocesses the file and
136
+ // the deterministic chunk ids converge. (Parent-first left a window where
137
+ // a hash-matched skip would never backfill the missing chunks.)
138
+ let chunksEmbedded = 0;
139
+ let chunksSkipped = 0;
140
+ let finishChunks;
141
+ let chunkResult;
142
+ {
143
+ // The chunks inherit the fields the parent point carries (a carried
144
+ // payload keeps its own writer's identity, so its chunks do too).
145
+ const parentFields = {
146
+ userId: payload.userId,
147
+ projectId: payload.projectId,
148
+ agentId: payload.agentId,
149
+ uri: payload.uri,
150
+ folder_ancestors: payload.folder_ancestors,
151
+ filename: payload.filename,
152
+ os_uri: payload.os_uri,
153
+ status: 'committed',
154
+ };
155
+ const chunkUsage = {};
156
+ chunkResult = await upsertChunksForContent({ vector: deps.vector, embedder: deps.embedder }, id, parentFields, content, entry.uri, chunkUsage, {
157
+ deferEmbedding: true,
158
+ ...(job.signal ? { signal: job.signal } : {}),
159
+ ...(provenPrefixChars !== undefined && !job.force ? { appendOf: { prefixChars: provenPrefixChars } } : {}),
160
+ ...(job.force ? { force: true } : {}),
161
+ });
162
+ finishChunks = chunkResult.completeEmbedding;
163
+ chunksSkipped = chunkResult.skipped;
164
+ // A moved point's chunks kept their vectors (same ids, same text); only
165
+ // their denormalized location follows the parent, payload-only.
166
+ if (movedFrom)
167
+ await relocateChunksForParent({ vector: deps.vector }, id, parentFields);
168
+ }
169
+ await deps.vector.writePayload({ id, payload });
170
+ if (!deps.vector.conditionalUpsert || !deps.vector.writeEpoch)
171
+ throw new Error('FILESYSTEM_WRITE_BOUNDARY_REQUIRED');
172
+ const epoch = deps.vector.writeEpoch();
173
+ let embeddingDegraded;
174
+ if (!reuseVector && embeddingEnabled()) {
175
+ try {
176
+ const embedded = await embedParent();
177
+ await deps.vector.conditionalUpsert({
178
+ id, vector: embedded.embedding,
179
+ expected: { content_hash: payload.content_hash, updatedAt: payload.updatedAt },
180
+ patch: denseEmbeddingProof(embeddingText, now),
181
+ epoch,
182
+ });
183
+ }
184
+ catch (error) {
185
+ embeddingDegraded = embeddingUnavailableReason(error);
186
+ if (!embeddingDegraded)
187
+ throw error;
188
+ }
189
+ }
190
+ else if (!reuseVector)
191
+ embeddingDegraded = 'disabled';
192
+ if (!embeddingDegraded)
193
+ await finishChunks?.();
194
+ chunksEmbedded = chunkResult?.embedded ?? 0;
195
+ embeddingDegraded ??= chunkResult?.embeddingDegraded;
196
+ return { ...written(indexedAtUri ? 'updated' : 'added', { embedded: chunksEmbedded, skipped: chunksSkipped }), ...(embeddingDegraded ? { embeddingDegraded } : {}) };
197
+ }
198
+ const BINARY_EXTENSIONS = new Set([
199
+ '.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.ico', '.bmp',
200
+ '.mp4', '.webm', '.avi', '.mov', '.mkv',
201
+ '.mp3', '.wav', '.ogg', '.flac', '.aac',
202
+ '.zip', '.tar', '.gz', '.bz2', '.7z', '.rar',
203
+ '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx',
204
+ '.exe', '.dll', '.so', '.dylib', '.wasm',
205
+ '.ttf', '.otf', '.woff', '.woff2', '.eot',
206
+ ]);
207
+ /**
208
+ * A sync never indexes a binary file as text. The extension decides before
209
+ * the read; a file with an unknown or no extension is judged by its decoded
210
+ * content (`looksBinaryContent`, the `brainSyncBinarySniffChars` window) after it.
211
+ */
212
+ export function isBinaryFile(filename) {
213
+ const dot = filename.lastIndexOf('.');
214
+ return dot >= 0 && BINARY_EXTENSIONS.has(filename.slice(dot).toLowerCase());
215
+ }
216
+ /** Stop only the embedding lane after one typed stop; already-running calls can finish. */
217
+ export function createSyncJobEmbedder(inner) {
218
+ let stopped;
219
+ let hasStopped = false;
220
+ async function call(run, signal) {
221
+ signal?.throwIfAborted();
222
+ if (hasStopped)
223
+ throw stopped;
224
+ try {
225
+ return await run();
226
+ }
227
+ catch (error) {
228
+ if (embeddingUnavailableReason(error)) {
229
+ stopped = error;
230
+ hasStopped = true;
231
+ }
232
+ throw error;
233
+ }
234
+ }
235
+ return {
236
+ embedText: (text, opts) => call(() => inner.embedText(text, opts), opts?.signal),
237
+ ...(inner.embedBatch ? { embedBatch: (texts, opts) => call(() => inner.embedBatch(texts, opts), opts?.signal) } : {}),
238
+ ...(inner.embedContent ? { embedContent: (input, opts) => call(() => inner.embedContent(input, opts), opts?.signal) } : {}),
239
+ ...(inner.modalities ? { modalities: () => inner.modalities() } : {}),
240
+ };
241
+ }
242
+ //# sourceMappingURL=syncIndexedFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncIndexedFile.js","sourceRoot":"","sources":["../../../src/usecases/syncIndexedFile.ts"],"names":[],"mappings":"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"}