@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
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@neuralis/brain-core",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "license": "FSL-1.1-ALv2",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "engines": {
10
- "node": ">=22.22.2"
10
+ "node": ">=26"
11
11
  },
12
12
  "main": "./dist/src/index.js",
13
13
  "types": "./dist/src/index.d.ts",
@@ -24,6 +24,14 @@
24
24
  "./runtime": {
25
25
  "types": "./dist/src/lifecycle.d.ts",
26
26
  "default": "./dist/src/lifecycle.js"
27
+ },
28
+ "./upgrade": {
29
+ "types": "./dist/scripts/embeddingLockV3.d.ts",
30
+ "default": "./dist/scripts/embeddingLockV3.js"
31
+ },
32
+ "./upgrade/vector-proof": {
33
+ "types": "./dist/scripts/vectorProofV1.d.ts",
34
+ "default": "./dist/scripts/vectorProofV1.js"
27
35
  }
28
36
  },
29
37
  "typesVersions": {
@@ -55,19 +63,19 @@
55
63
  "@codemirror/view": "^6.43.13",
56
64
  "@iconify-json/vscode-icons": "^1.2.81",
57
65
  "@iconify/react": "^6.0.2",
58
- "@neuralis/package-system": "0.1.0",
66
+ "@neuralis/package-system": "0.2.0",
59
67
  "@qdrant/js-client-rest": "1.19.0",
60
68
  "@shikijs/engine-javascript": "^4.4.3",
61
69
  "@shikijs/langs": "^4.4.3",
62
70
  "@shikijs/themes": "^4.4.3",
63
71
  "react-diff-view": "^3.3.3",
64
72
  "shiki": "^4.4.3",
65
- "simple-git": "^3.36.0"
73
+ "simple-git": "^4.0.2"
66
74
  },
67
75
  "peerDependencies": {
68
76
  "@aws-sdk/client-s3": "^3.975.0",
69
77
  "@aws-sdk/s3-request-presigner": "^3.975.0",
70
- "@neuralis/agent-core": "0.1.0",
78
+ "@neuralis/agent-core": "0.2.0",
71
79
  "@tanstack/react-virtual": "^3.13.0",
72
80
  "lucide-react": "^1.47.0",
73
81
  "react": "^19.0.0",
@@ -248,7 +256,9 @@
248
256
  ".DS_Store",
249
257
  "**/.DS_Store",
250
258
  "**/logs/**",
251
- "**/_summary-revisions/**"
259
+ "**/_summary-revisions/**",
260
+ "_cacache/**",
261
+ "**/_cacache/**"
252
262
  ],
253
263
  "defaultPermissions": {
254
264
  "default": {
@@ -574,10 +584,28 @@
574
584
  "envFallback": "BRAIN_DEBUG",
575
585
  "category": "brain"
576
586
  },
587
+ {
588
+ "key": "embeddingEnabled",
589
+ "label": "Embedding Enabled",
590
+ "description": "Allow embedding provider calls. Disabled mode keeps payload indexing and full-text search available; dense activation/backfill remains explicit.",
591
+ "type": "boolean",
592
+ "default": true,
593
+ "category": "brain"
594
+ },
595
+ {
596
+ "key": "embeddingRequestTimeoutMs",
597
+ "label": "Embedding Request Timeout (ms)",
598
+ "description": "Maximum time for an embedding response including its body. Raise this for slower local servers or large batches; timeout preserves payload indexing.",
599
+ "type": "number",
600
+ "default": 30000,
601
+ "category": "brain",
602
+ "min": 1000,
603
+ "max": 600000
604
+ },
577
605
  {
578
606
  "key": "embeddingModelId",
579
607
  "label": "Embedding Model",
580
- "description": "Registry id of the active embedding model (see Vector sub-section)",
608
+ "description": "Registry id of the target embedding model; changing it requires an explicit generation rebuild",
581
609
  "type": "string",
582
610
  "default": "ollama:nomic-embed-text",
583
611
  "category": "vector"
@@ -799,6 +827,16 @@
799
827
  "min": 1,
800
828
  "max": 100
801
829
  },
830
+ {
831
+ "key": "brainSyncBinarySniffChars",
832
+ "label": "Sync Binary Sniff Window (chars)",
833
+ "description": "How many leading characters of a file without a known binary extension the sync checks for a NUL byte (git's binary rule). A file that has one is not indexed as text and is counted on the source's last-sync line; a point it left from an earlier sync is withdrawn on the next full sync. 0 turns the check off.",
834
+ "type": "number",
835
+ "default": 8192,
836
+ "category": "brain",
837
+ "min": 0,
838
+ "max": 1048576
839
+ },
802
840
  {
803
841
  "key": "brainSyncMaxMediaMb",
804
842
  "label": "Sync Max Media File Size (MB)",
@@ -1137,6 +1175,36 @@
1137
1175
  "min": 1000,
1138
1176
  "max": 60000
1139
1177
  },
1178
+ {
1179
+ "key": "brainSourcePackageReconcileMaxRoots",
1180
+ "label": "Package Reconciliation Roots",
1181
+ "description": "Maximum stored missing package roots physically verified per agent configuration request. Overflow remains unknown and preserves restrictions.",
1182
+ "type": "number",
1183
+ "default": 32,
1184
+ "category": "brain",
1185
+ "min": 1,
1186
+ "max": 1000
1187
+ },
1188
+ {
1189
+ "key": "brainSourcePackageReconcileMaxEntries",
1190
+ "label": "Package Reconciliation Entries",
1191
+ "description": "Maximum visited filesystem entries per package verification. Every directory and skipped entry consumes the budget; incomplete traversal never confirms deletion.",
1192
+ "type": "number",
1193
+ "default": 2000,
1194
+ "category": "brain",
1195
+ "min": 1,
1196
+ "max": 100000
1197
+ },
1198
+ {
1199
+ "key": "brainSourcePackageReconcileConcurrency",
1200
+ "label": "Package Reconciliation Concurrency",
1201
+ "description": "Maximum concurrent physical package-root verification probes. This maintenance runs from agent configuration, never at stream start.",
1202
+ "type": "number",
1203
+ "default": 2,
1204
+ "category": "brain",
1205
+ "min": 1,
1206
+ "max": 16
1207
+ },
1140
1208
  {
1141
1209
  "key": "brainDiscoveryInventoryTtlMs",
1142
1210
  "label": "Source-Package Inventory TTL (ms)",
@@ -1170,7 +1238,7 @@
1170
1238
  {
1171
1239
  "key": "vectorStoreWriteMaxRetries",
1172
1240
  "label": "Vector Store Write Max Retries",
1173
- "description": "How many times one Qdrant upsert request is repeated after a socket reset (ECONNRESET, UND_ERR_SOCKET, EPIPE, UND_ERR_CLOSED) — same points, nothing re-embedded. HTTP status, auth and size errors are never repeated. Read per write.",
1241
+ "description": "How many times one Qdrant multi-point upsert request or scroll read is repeated after a socket reset (ECONNRESET, UND_ERR_SOCKET, EPIPE, UND_ERR_CLOSED) — same request, nothing re-embedded. HTTP status, auth and size errors are never repeated. Read per request.",
1174
1242
  "type": "number",
1175
1243
  "default": 2,
1176
1244
  "category": "brain",
@@ -1180,7 +1248,7 @@
1180
1248
  {
1181
1249
  "key": "vectorStoreWriteRetryDelayMs",
1182
1250
  "label": "Vector Store Write Retry Delay (ms)",
1183
- "description": "First backoff before repeating a reset Qdrant upsert; each further attempt waits 4x longer (250 → 1000 ms by default). Read per write.",
1251
+ "description": "First backoff before repeating a reset Qdrant upsert or scroll; each further attempt waits 4x longer (250 → 1000 ms by default). Read per request.",
1184
1252
  "type": "number",
1185
1253
  "default": 250,
1186
1254
  "category": "brain",
@@ -1426,13 +1494,16 @@
1426
1494
  {
1427
1495
  "id": "source.sync.failed",
1428
1496
  "title": "Source sync failed",
1429
- "description": "A sync of a source you can read did not complete.",
1497
+ "description": "A sync of a source you can read did not complete; the Sources panel names the source.",
1430
1498
  "subject": "source",
1431
1499
  "dataSchema": {
1432
1500
  "type": "object",
1433
1501
  "additionalProperties": false,
1434
1502
  "required": [
1435
1503
  "sourceSlug",
1504
+ "title",
1505
+ "nav",
1506
+ "mode",
1436
1507
  "failureClass"
1437
1508
  ],
1438
1509
  "properties": {
@@ -1441,11 +1512,635 @@
1441
1512
  "minLength": 1,
1442
1513
  "maxLength": 200
1443
1514
  },
1515
+ "title": {
1516
+ "type": "string",
1517
+ "minLength": 1,
1518
+ "maxLength": 200
1519
+ },
1520
+ "mode": {
1521
+ "type": "string",
1522
+ "enum": [
1523
+ "full",
1524
+ "targeted",
1525
+ "embedding"
1526
+ ]
1527
+ },
1444
1528
  "failureClass": {
1445
1529
  "type": "string",
1446
1530
  "enum": [
1447
1531
  "sync_failed"
1448
1532
  ]
1533
+ },
1534
+ "nav": {
1535
+ "type": "object",
1536
+ "additionalProperties": false,
1537
+ "required": [
1538
+ "widgetType",
1539
+ "initialState"
1540
+ ],
1541
+ "properties": {
1542
+ "widgetType": {
1543
+ "type": "string",
1544
+ "enum": [
1545
+ "filesystem"
1546
+ ]
1547
+ },
1548
+ "initialState": {
1549
+ "type": "object",
1550
+ "additionalProperties": false,
1551
+ "required": [
1552
+ "nav"
1553
+ ],
1554
+ "properties": {
1555
+ "nav": {
1556
+ "type": "object"
1557
+ }
1558
+ }
1559
+ }
1560
+ }
1561
+ }
1562
+ }
1563
+ },
1564
+ "requires": {
1565
+ "features": [
1566
+ "drive.read"
1567
+ ]
1568
+ },
1569
+ "notify": {
1570
+ "default": "on",
1571
+ "tone": "warning"
1572
+ },
1573
+ "dock": "brain-core.filesystem"
1574
+ },
1575
+ {
1576
+ "id": "source.sync.recovered",
1577
+ "title": "Source sync recovered",
1578
+ "description": "A source whose sync had failed completed again; it resolves the failure.",
1579
+ "subject": "source",
1580
+ "dataSchema": {
1581
+ "type": "object",
1582
+ "additionalProperties": false,
1583
+ "required": [
1584
+ "sourceSlug",
1585
+ "title",
1586
+ "nav",
1587
+ "mode"
1588
+ ],
1589
+ "properties": {
1590
+ "sourceSlug": {
1591
+ "type": "string",
1592
+ "minLength": 1,
1593
+ "maxLength": 200
1594
+ },
1595
+ "title": {
1596
+ "type": "string",
1597
+ "minLength": 1,
1598
+ "maxLength": 200
1599
+ },
1600
+ "mode": {
1601
+ "type": "string",
1602
+ "enum": [
1603
+ "full",
1604
+ "targeted",
1605
+ "embedding"
1606
+ ]
1607
+ },
1608
+ "nav": {
1609
+ "type": "object",
1610
+ "additionalProperties": false,
1611
+ "required": [
1612
+ "widgetType",
1613
+ "initialState"
1614
+ ],
1615
+ "properties": {
1616
+ "widgetType": {
1617
+ "type": "string",
1618
+ "enum": [
1619
+ "filesystem"
1620
+ ]
1621
+ },
1622
+ "initialState": {
1623
+ "type": "object",
1624
+ "additionalProperties": false,
1625
+ "required": [
1626
+ "nav"
1627
+ ],
1628
+ "properties": {
1629
+ "nav": {
1630
+ "type": "object"
1631
+ }
1632
+ }
1633
+ }
1634
+ }
1635
+ }
1636
+ }
1637
+ },
1638
+ "requires": {
1639
+ "features": [
1640
+ "drive.read"
1641
+ ]
1642
+ },
1643
+ "notify": {
1644
+ "default": "off",
1645
+ "tone": "success",
1646
+ "clears": [
1647
+ "source.sync.failed"
1648
+ ]
1649
+ },
1650
+ "dock": "brain-core.filesystem"
1651
+ },
1652
+ {
1653
+ "id": "source.sync.completed",
1654
+ "title": "Source sync completed",
1655
+ "description": "A full sync of a source you can read completed.",
1656
+ "subject": "source",
1657
+ "dataSchema": {
1658
+ "type": "object",
1659
+ "additionalProperties": false,
1660
+ "required": [
1661
+ "sourceSlug",
1662
+ "title",
1663
+ "nav",
1664
+ "mode"
1665
+ ],
1666
+ "properties": {
1667
+ "sourceSlug": {
1668
+ "type": "string",
1669
+ "minLength": 1,
1670
+ "maxLength": 200
1671
+ },
1672
+ "title": {
1673
+ "type": "string",
1674
+ "minLength": 1,
1675
+ "maxLength": 200
1676
+ },
1677
+ "mode": {
1678
+ "type": "string",
1679
+ "enum": [
1680
+ "full",
1681
+ "targeted",
1682
+ "embedding"
1683
+ ]
1684
+ },
1685
+ "nav": {
1686
+ "type": "object",
1687
+ "additionalProperties": false,
1688
+ "required": [
1689
+ "widgetType",
1690
+ "initialState"
1691
+ ],
1692
+ "properties": {
1693
+ "widgetType": {
1694
+ "type": "string",
1695
+ "enum": [
1696
+ "filesystem"
1697
+ ]
1698
+ },
1699
+ "initialState": {
1700
+ "type": "object",
1701
+ "additionalProperties": false,
1702
+ "required": [
1703
+ "nav"
1704
+ ],
1705
+ "properties": {
1706
+ "nav": {
1707
+ "type": "object"
1708
+ }
1709
+ }
1710
+ }
1711
+ }
1712
+ }
1713
+ }
1714
+ },
1715
+ "requires": {
1716
+ "features": [
1717
+ "drive.read"
1718
+ ]
1719
+ },
1720
+ "notify": {
1721
+ "default": "off",
1722
+ "tone": "success"
1723
+ },
1724
+ "dock": "brain-core.filesystem"
1725
+ },
1726
+ {
1727
+ "id": "source.sync.cancelled",
1728
+ "title": "Source sync cancelled",
1729
+ "description": "A sync of a source you can read was cancelled.",
1730
+ "subject": "source",
1731
+ "dataSchema": {
1732
+ "type": "object",
1733
+ "additionalProperties": false,
1734
+ "required": [
1735
+ "sourceSlug",
1736
+ "title",
1737
+ "nav",
1738
+ "mode"
1739
+ ],
1740
+ "properties": {
1741
+ "sourceSlug": {
1742
+ "type": "string",
1743
+ "minLength": 1,
1744
+ "maxLength": 200
1745
+ },
1746
+ "title": {
1747
+ "type": "string",
1748
+ "minLength": 1,
1749
+ "maxLength": 200
1750
+ },
1751
+ "mode": {
1752
+ "type": "string",
1753
+ "enum": [
1754
+ "full",
1755
+ "targeted",
1756
+ "embedding"
1757
+ ]
1758
+ },
1759
+ "nav": {
1760
+ "type": "object",
1761
+ "additionalProperties": false,
1762
+ "required": [
1763
+ "widgetType",
1764
+ "initialState"
1765
+ ],
1766
+ "properties": {
1767
+ "widgetType": {
1768
+ "type": "string",
1769
+ "enum": [
1770
+ "filesystem"
1771
+ ]
1772
+ },
1773
+ "initialState": {
1774
+ "type": "object",
1775
+ "additionalProperties": false,
1776
+ "required": [
1777
+ "nav"
1778
+ ],
1779
+ "properties": {
1780
+ "nav": {
1781
+ "type": "object"
1782
+ }
1783
+ }
1784
+ }
1785
+ }
1786
+ }
1787
+ }
1788
+ },
1789
+ "requires": {
1790
+ "features": [
1791
+ "drive.read"
1792
+ ]
1793
+ },
1794
+ "notify": {
1795
+ "default": "off",
1796
+ "tone": "info"
1797
+ },
1798
+ "dock": "brain-core.filesystem"
1799
+ },
1800
+ {
1801
+ "id": "source.reindex.completed",
1802
+ "title": "Source re-embed completed",
1803
+ "description": "A forced re-embed of a source you can read completed.",
1804
+ "subject": "source",
1805
+ "dataSchema": {
1806
+ "type": "object",
1807
+ "additionalProperties": false,
1808
+ "required": [
1809
+ "sourceSlug",
1810
+ "title",
1811
+ "nav",
1812
+ "mode"
1813
+ ],
1814
+ "properties": {
1815
+ "sourceSlug": {
1816
+ "type": "string",
1817
+ "minLength": 1,
1818
+ "maxLength": 200
1819
+ },
1820
+ "title": {
1821
+ "type": "string",
1822
+ "minLength": 1,
1823
+ "maxLength": 200
1824
+ },
1825
+ "mode": {
1826
+ "type": "string",
1827
+ "enum": [
1828
+ "full",
1829
+ "targeted",
1830
+ "embedding"
1831
+ ]
1832
+ },
1833
+ "nav": {
1834
+ "type": "object",
1835
+ "additionalProperties": false,
1836
+ "required": [
1837
+ "widgetType",
1838
+ "initialState"
1839
+ ],
1840
+ "properties": {
1841
+ "widgetType": {
1842
+ "type": "string",
1843
+ "enum": [
1844
+ "filesystem"
1845
+ ]
1846
+ },
1847
+ "initialState": {
1848
+ "type": "object",
1849
+ "additionalProperties": false,
1850
+ "required": [
1851
+ "nav"
1852
+ ],
1853
+ "properties": {
1854
+ "nav": {
1855
+ "type": "object"
1856
+ }
1857
+ }
1858
+ }
1859
+ }
1860
+ }
1861
+ }
1862
+ },
1863
+ "requires": {
1864
+ "features": [
1865
+ "drive.read"
1866
+ ]
1867
+ },
1868
+ "notify": {
1869
+ "default": "off",
1870
+ "tone": "success"
1871
+ },
1872
+ "dock": "brain-core.filesystem"
1873
+ },
1874
+ {
1875
+ "id": "source.embedding.degraded",
1876
+ "title": "Semantic embedding pending",
1877
+ "description": "A source's files are indexed and text-searchable, but their semantic embedding is owed (the provider was unavailable).",
1878
+ "subject": "source",
1879
+ "dataSchema": {
1880
+ "type": "object",
1881
+ "additionalProperties": false,
1882
+ "required": [
1883
+ "sourceSlug",
1884
+ "title",
1885
+ "nav"
1886
+ ],
1887
+ "properties": {
1888
+ "sourceSlug": {
1889
+ "type": "string",
1890
+ "minLength": 1,
1891
+ "maxLength": 200
1892
+ },
1893
+ "title": {
1894
+ "type": "string",
1895
+ "minLength": 1,
1896
+ "maxLength": 200
1897
+ },
1898
+ "nav": {
1899
+ "type": "object",
1900
+ "additionalProperties": false,
1901
+ "required": [
1902
+ "widgetType",
1903
+ "initialState"
1904
+ ],
1905
+ "properties": {
1906
+ "widgetType": {
1907
+ "type": "string",
1908
+ "enum": [
1909
+ "filesystem"
1910
+ ]
1911
+ },
1912
+ "initialState": {
1913
+ "type": "object",
1914
+ "additionalProperties": false,
1915
+ "required": [
1916
+ "nav"
1917
+ ],
1918
+ "properties": {
1919
+ "nav": {
1920
+ "type": "object"
1921
+ }
1922
+ }
1923
+ }
1924
+ }
1925
+ }
1926
+ }
1927
+ },
1928
+ "requires": {
1929
+ "features": [
1930
+ "drive.read"
1931
+ ]
1932
+ },
1933
+ "notify": {
1934
+ "default": "on",
1935
+ "tone": "warning"
1936
+ },
1937
+ "dock": "brain-core.filesystem"
1938
+ },
1939
+ {
1940
+ "id": "source.embedding.recovered",
1941
+ "title": "Semantic embedding caught up",
1942
+ "description": "A source owes no semantic embedding any more; it resolves the pending warning.",
1943
+ "subject": "source",
1944
+ "dataSchema": {
1945
+ "type": "object",
1946
+ "additionalProperties": false,
1947
+ "required": [
1948
+ "sourceSlug",
1949
+ "title",
1950
+ "nav"
1951
+ ],
1952
+ "properties": {
1953
+ "sourceSlug": {
1954
+ "type": "string",
1955
+ "minLength": 1,
1956
+ "maxLength": 200
1957
+ },
1958
+ "title": {
1959
+ "type": "string",
1960
+ "minLength": 1,
1961
+ "maxLength": 200
1962
+ },
1963
+ "nav": {
1964
+ "type": "object",
1965
+ "additionalProperties": false,
1966
+ "required": [
1967
+ "widgetType",
1968
+ "initialState"
1969
+ ],
1970
+ "properties": {
1971
+ "widgetType": {
1972
+ "type": "string",
1973
+ "enum": [
1974
+ "filesystem"
1975
+ ]
1976
+ },
1977
+ "initialState": {
1978
+ "type": "object",
1979
+ "additionalProperties": false,
1980
+ "required": [
1981
+ "nav"
1982
+ ],
1983
+ "properties": {
1984
+ "nav": {
1985
+ "type": "object"
1986
+ }
1987
+ }
1988
+ }
1989
+ }
1990
+ }
1991
+ }
1992
+ },
1993
+ "requires": {
1994
+ "features": [
1995
+ "drive.read"
1996
+ ]
1997
+ },
1998
+ "notify": {
1999
+ "default": "off",
2000
+ "tone": "success",
2001
+ "clears": [
2002
+ "source.embedding.degraded"
2003
+ ]
2004
+ },
2005
+ "dock": "brain-core.filesystem"
2006
+ },
2007
+ {
2008
+ "id": "source.deleted",
2009
+ "title": "Source removed",
2010
+ "description": "A source was removed from the project; it resolves every notification still open about it.",
2011
+ "subject": "source",
2012
+ "dataSchema": {
2013
+ "type": "object",
2014
+ "additionalProperties": false,
2015
+ "required": [
2016
+ "sourceSlug",
2017
+ "title"
2018
+ ],
2019
+ "properties": {
2020
+ "sourceSlug": {
2021
+ "type": "string",
2022
+ "minLength": 1,
2023
+ "maxLength": 200
2024
+ },
2025
+ "title": {
2026
+ "type": "string",
2027
+ "minLength": 1,
2028
+ "maxLength": 200
2029
+ }
2030
+ }
2031
+ },
2032
+ "requires": {
2033
+ "features": [
2034
+ "drive.read"
2035
+ ]
2036
+ },
2037
+ "notify": {
2038
+ "default": "off",
2039
+ "tone": "info",
2040
+ "clears": [
2041
+ "source.sync.failed",
2042
+ "source.sync.recovered",
2043
+ "source.sync.completed",
2044
+ "source.sync.cancelled",
2045
+ "source.reindex.completed",
2046
+ "source.embedding.degraded",
2047
+ "source.embedding.recovered"
2048
+ ]
2049
+ },
2050
+ "dock": "brain-core.filesystem"
2051
+ },
2052
+ {
2053
+ "id": "pending.review.required",
2054
+ "title": "Changes are waiting for review",
2055
+ "description": "Files written in this project wait for review in the Changes view.",
2056
+ "subject": "pending",
2057
+ "dataSchema": {
2058
+ "type": "object",
2059
+ "additionalProperties": false,
2060
+ "required": [
2061
+ "nav"
2062
+ ],
2063
+ "properties": {
2064
+ "nav": {
2065
+ "type": "object",
2066
+ "additionalProperties": false,
2067
+ "required": [
2068
+ "widgetType",
2069
+ "initialState"
2070
+ ],
2071
+ "properties": {
2072
+ "widgetType": {
2073
+ "type": "string",
2074
+ "enum": [
2075
+ "filesystem"
2076
+ ]
2077
+ },
2078
+ "initialState": {
2079
+ "type": "object",
2080
+ "additionalProperties": false,
2081
+ "required": [
2082
+ "nav"
2083
+ ],
2084
+ "properties": {
2085
+ "nav": {
2086
+ "type": "object"
2087
+ }
2088
+ }
2089
+ }
2090
+ }
2091
+ }
2092
+ }
2093
+ },
2094
+ "requires": {
2095
+ "features": [
2096
+ "drive.read"
2097
+ ]
2098
+ },
2099
+ "notify": {
2100
+ "default": "on",
2101
+ "tone": "info"
2102
+ },
2103
+ "dock": "brain-core.filesystem"
2104
+ },
2105
+ {
2106
+ "id": "pending.review.resolved",
2107
+ "title": "Reviews were resolved",
2108
+ "description": "Pending changes in this project were approved, dismissed, discarded or reverted.",
2109
+ "subject": "pending",
2110
+ "dataSchema": {
2111
+ "type": "object",
2112
+ "additionalProperties": false,
2113
+ "required": [
2114
+ "nav"
2115
+ ],
2116
+ "properties": {
2117
+ "nav": {
2118
+ "type": "object",
2119
+ "additionalProperties": false,
2120
+ "required": [
2121
+ "widgetType",
2122
+ "initialState"
2123
+ ],
2124
+ "properties": {
2125
+ "widgetType": {
2126
+ "type": "string",
2127
+ "enum": [
2128
+ "filesystem"
2129
+ ]
2130
+ },
2131
+ "initialState": {
2132
+ "type": "object",
2133
+ "additionalProperties": false,
2134
+ "required": [
2135
+ "nav"
2136
+ ],
2137
+ "properties": {
2138
+ "nav": {
2139
+ "type": "object"
2140
+ }
2141
+ }
2142
+ }
2143
+ }
1449
2144
  }
1450
2145
  }
1451
2146
  },
@@ -1454,11 +2149,305 @@
1454
2149
  "drive.read"
1455
2150
  ]
1456
2151
  },
2152
+ "notify": {
2153
+ "default": "off",
2154
+ "tone": "success"
2155
+ },
2156
+ "dock": "brain-core.filesystem"
2157
+ },
2158
+ {
2159
+ "id": "vector.rebuild.completed",
2160
+ "title": "Embedding rebuild completed",
2161
+ "description": "The rebuild you started switched the index to the target embedding model.",
2162
+ "subject": "vector",
2163
+ "dataSchema": {
2164
+ "type": "object",
2165
+ "additionalProperties": false,
2166
+ "required": [
2167
+ "action",
2168
+ "title",
2169
+ "nav"
2170
+ ],
2171
+ "properties": {
2172
+ "action": {
2173
+ "type": "string",
2174
+ "enum": [
2175
+ "dense-clear",
2176
+ "migrate-indexes",
2177
+ "apply-tuning",
2178
+ "apply-quantization",
2179
+ "enable-text-ranking",
2180
+ "backfill-text-ranking",
2181
+ "rebuild-generation"
2182
+ ]
2183
+ },
2184
+ "title": {
2185
+ "type": "string",
2186
+ "minLength": 1,
2187
+ "maxLength": 40
2188
+ },
2189
+ "nav": {
2190
+ "type": "object",
2191
+ "additionalProperties": false,
2192
+ "required": [
2193
+ "widgetType",
2194
+ "initialState"
2195
+ ],
2196
+ "properties": {
2197
+ "widgetType": {
2198
+ "type": "string",
2199
+ "enum": [
2200
+ "filesystem"
2201
+ ]
2202
+ },
2203
+ "initialState": {
2204
+ "type": "object",
2205
+ "additionalProperties": false,
2206
+ "required": [
2207
+ "nav"
2208
+ ],
2209
+ "properties": {
2210
+ "nav": {
2211
+ "type": "object"
2212
+ }
2213
+ }
2214
+ }
2215
+ }
2216
+ }
2217
+ }
2218
+ },
2219
+ "requires": {
2220
+ "features": [
2221
+ "platform.vector.maintain"
2222
+ ]
2223
+ },
2224
+ "notify": {
2225
+ "default": "on",
2226
+ "tone": "success",
2227
+ "clears": [
2228
+ "vector.rebuild.paused"
2229
+ ]
2230
+ },
2231
+ "dock": "brain-core.filesystem"
2232
+ },
2233
+ {
2234
+ "id": "vector.rebuild.paused",
2235
+ "title": "Embedding rebuild paused",
2236
+ "description": "The rebuild you started paused; Vector Health shows why and can resume it.",
2237
+ "subject": "vector",
2238
+ "dataSchema": {
2239
+ "type": "object",
2240
+ "additionalProperties": false,
2241
+ "required": [
2242
+ "action",
2243
+ "title",
2244
+ "nav"
2245
+ ],
2246
+ "properties": {
2247
+ "action": {
2248
+ "type": "string",
2249
+ "enum": [
2250
+ "dense-clear",
2251
+ "migrate-indexes",
2252
+ "apply-tuning",
2253
+ "apply-quantization",
2254
+ "enable-text-ranking",
2255
+ "backfill-text-ranking",
2256
+ "rebuild-generation"
2257
+ ]
2258
+ },
2259
+ "title": {
2260
+ "type": "string",
2261
+ "minLength": 1,
2262
+ "maxLength": 40
2263
+ },
2264
+ "nav": {
2265
+ "type": "object",
2266
+ "additionalProperties": false,
2267
+ "required": [
2268
+ "widgetType",
2269
+ "initialState"
2270
+ ],
2271
+ "properties": {
2272
+ "widgetType": {
2273
+ "type": "string",
2274
+ "enum": [
2275
+ "filesystem"
2276
+ ]
2277
+ },
2278
+ "initialState": {
2279
+ "type": "object",
2280
+ "additionalProperties": false,
2281
+ "required": [
2282
+ "nav"
2283
+ ],
2284
+ "properties": {
2285
+ "nav": {
2286
+ "type": "object"
2287
+ }
2288
+ }
2289
+ }
2290
+ }
2291
+ }
2292
+ }
2293
+ },
2294
+ "requires": {
2295
+ "features": [
2296
+ "platform.vector.maintain"
2297
+ ]
2298
+ },
1457
2299
  "notify": {
1458
2300
  "default": "on",
1459
2301
  "tone": "warning"
1460
2302
  },
1461
2303
  "dock": "brain-core.filesystem"
2304
+ },
2305
+ {
2306
+ "id": "vector.maintenance.completed",
2307
+ "title": "Vector maintenance completed",
2308
+ "description": "A collection action you started completed.",
2309
+ "subject": "vector",
2310
+ "dataSchema": {
2311
+ "type": "object",
2312
+ "additionalProperties": false,
2313
+ "required": [
2314
+ "action",
2315
+ "title",
2316
+ "nav"
2317
+ ],
2318
+ "properties": {
2319
+ "action": {
2320
+ "type": "string",
2321
+ "enum": [
2322
+ "dense-clear",
2323
+ "migrate-indexes",
2324
+ "apply-tuning",
2325
+ "apply-quantization",
2326
+ "enable-text-ranking",
2327
+ "backfill-text-ranking",
2328
+ "rebuild-generation"
2329
+ ]
2330
+ },
2331
+ "title": {
2332
+ "type": "string",
2333
+ "minLength": 1,
2334
+ "maxLength": 40
2335
+ },
2336
+ "nav": {
2337
+ "type": "object",
2338
+ "additionalProperties": false,
2339
+ "required": [
2340
+ "widgetType",
2341
+ "initialState"
2342
+ ],
2343
+ "properties": {
2344
+ "widgetType": {
2345
+ "type": "string",
2346
+ "enum": [
2347
+ "filesystem"
2348
+ ]
2349
+ },
2350
+ "initialState": {
2351
+ "type": "object",
2352
+ "additionalProperties": false,
2353
+ "required": [
2354
+ "nav"
2355
+ ],
2356
+ "properties": {
2357
+ "nav": {
2358
+ "type": "object"
2359
+ }
2360
+ }
2361
+ }
2362
+ }
2363
+ }
2364
+ }
2365
+ },
2366
+ "requires": {
2367
+ "features": [
2368
+ "platform.vector.maintain"
2369
+ ]
2370
+ },
2371
+ "notify": {
2372
+ "default": "off",
2373
+ "tone": "success",
2374
+ "clears": [
2375
+ "vector.maintenance.failed"
2376
+ ]
2377
+ },
2378
+ "dock": "brain-core.filesystem"
2379
+ },
2380
+ {
2381
+ "id": "vector.maintenance.failed",
2382
+ "title": "Vector maintenance failed",
2383
+ "description": "A collection action you started did not complete.",
2384
+ "subject": "vector",
2385
+ "dataSchema": {
2386
+ "type": "object",
2387
+ "additionalProperties": false,
2388
+ "required": [
2389
+ "action",
2390
+ "title",
2391
+ "nav"
2392
+ ],
2393
+ "properties": {
2394
+ "action": {
2395
+ "type": "string",
2396
+ "enum": [
2397
+ "dense-clear",
2398
+ "migrate-indexes",
2399
+ "apply-tuning",
2400
+ "apply-quantization",
2401
+ "enable-text-ranking",
2402
+ "backfill-text-ranking",
2403
+ "rebuild-generation"
2404
+ ]
2405
+ },
2406
+ "title": {
2407
+ "type": "string",
2408
+ "minLength": 1,
2409
+ "maxLength": 40
2410
+ },
2411
+ "nav": {
2412
+ "type": "object",
2413
+ "additionalProperties": false,
2414
+ "required": [
2415
+ "widgetType",
2416
+ "initialState"
2417
+ ],
2418
+ "properties": {
2419
+ "widgetType": {
2420
+ "type": "string",
2421
+ "enum": [
2422
+ "filesystem"
2423
+ ]
2424
+ },
2425
+ "initialState": {
2426
+ "type": "object",
2427
+ "additionalProperties": false,
2428
+ "required": [
2429
+ "nav"
2430
+ ],
2431
+ "properties": {
2432
+ "nav": {
2433
+ "type": "object"
2434
+ }
2435
+ }
2436
+ }
2437
+ }
2438
+ }
2439
+ }
2440
+ },
2441
+ "requires": {
2442
+ "features": [
2443
+ "platform.vector.maintain"
2444
+ ]
2445
+ },
2446
+ "notify": {
2447
+ "default": "on",
2448
+ "tone": "error"
2449
+ },
2450
+ "dock": "brain-core.filesystem"
1462
2451
  }
1463
2452
  ],
1464
2453
  "access": {