@vibesdotdev/storage 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/README.md +75 -0
  2. package/SPEC.md +60 -0
  3. package/dist/adapters/index.d.ts +14 -0
  4. package/dist/adapters/index.d.ts.map +1 -0
  5. package/dist/adapters/index.js +15 -0
  6. package/dist/adapters/index.js.map +1 -0
  7. package/dist/bridge/index.d.ts +3 -0
  8. package/dist/bridge/index.d.ts.map +1 -0
  9. package/dist/bridge/index.js +2 -0
  10. package/dist/bridge/index.js.map +1 -0
  11. package/dist/bridge/storage-kind-bridge.d.ts +27 -0
  12. package/dist/bridge/storage-kind-bridge.d.ts.map +1 -0
  13. package/dist/bridge/storage-kind-bridge.js +110 -0
  14. package/dist/bridge/storage-kind-bridge.js.map +1 -0
  15. package/dist/bridge/types.d.ts +45 -0
  16. package/dist/bridge/types.d.ts.map +1 -0
  17. package/dist/bridge/types.js +8 -0
  18. package/dist/bridge/types.js.map +1 -0
  19. package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts +4 -0
  20. package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts.map +1 -0
  21. package/dist/cli/commands/list/storage.list.cli-command.descriptor.js +18 -0
  22. package/dist/cli/commands/list/storage.list.cli-command.descriptor.js.map +1 -0
  23. package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts +11 -0
  24. package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts.map +1 -0
  25. package/dist/cli/commands/list/storage.list.cli-command.impl.js +48 -0
  26. package/dist/cli/commands/list/storage.list.cli-command.impl.js.map +1 -0
  27. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts +4 -0
  28. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts.map +1 -0
  29. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.js +26 -0
  30. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.js.map +1 -0
  31. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts +13 -0
  32. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts.map +1 -0
  33. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js +136 -0
  34. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js.map +1 -0
  35. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts +4 -0
  36. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts.map +1 -0
  37. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.js +26 -0
  38. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.js.map +1 -0
  39. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts +13 -0
  40. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts.map +1 -0
  41. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js +165 -0
  42. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js.map +1 -0
  43. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts +4 -0
  44. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts.map +1 -0
  45. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.js +20 -0
  46. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.js.map +1 -0
  47. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts +12 -0
  48. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts.map +1 -0
  49. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js +95 -0
  50. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js.map +1 -0
  51. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts +4 -0
  52. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts.map +1 -0
  53. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.js +15 -0
  54. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.js.map +1 -0
  55. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts +13 -0
  56. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts.map +1 -0
  57. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js +150 -0
  58. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js.map +1 -0
  59. package/dist/cli/context.consumer.d.ts +26 -0
  60. package/dist/cli/context.consumer.d.ts.map +1 -0
  61. package/dist/cli/context.consumer.js +164 -0
  62. package/dist/cli/context.consumer.js.map +1 -0
  63. package/dist/cli/storage.cli-group.descriptor.d.ts +4 -0
  64. package/dist/cli/storage.cli-group.descriptor.d.ts.map +1 -0
  65. package/dist/cli/storage.cli-group.descriptor.js +11 -0
  66. package/dist/cli/storage.cli-group.descriptor.js.map +1 -0
  67. package/dist/cli/storage.sync.cli-group.descriptor.d.ts +4 -0
  68. package/dist/cli/storage.sync.cli-group.descriptor.d.ts.map +1 -0
  69. package/dist/cli/storage.sync.cli-group.descriptor.js +12 -0
  70. package/dist/cli/storage.sync.cli-group.descriptor.js.map +1 -0
  71. package/dist/cli/types.d.ts +26 -0
  72. package/dist/cli/types.d.ts.map +1 -0
  73. package/dist/cli/types.js +11 -0
  74. package/dist/cli/types.js.map +1 -0
  75. package/dist/client/index.d.ts +10 -0
  76. package/dist/client/index.d.ts.map +1 -0
  77. package/dist/client/index.js +10 -0
  78. package/dist/client/index.js.map +1 -0
  79. package/dist/client/list-browsable-adapters.d.ts +31 -0
  80. package/dist/client/list-browsable-adapters.d.ts.map +1 -0
  81. package/dist/client/list-browsable-adapters.js +40 -0
  82. package/dist/client/list-browsable-adapters.js.map +1 -0
  83. package/dist/daemon/commands/sync.d.ts +23 -0
  84. package/dist/daemon/commands/sync.d.ts.map +1 -0
  85. package/dist/daemon/commands/sync.js +169 -0
  86. package/dist/daemon/commands/sync.js.map +1 -0
  87. package/dist/docs/adapters.docs.descriptor.d.ts +4 -0
  88. package/dist/docs/adapters.docs.descriptor.d.ts.map +1 -0
  89. package/dist/docs/adapters.docs.descriptor.js +223 -0
  90. package/dist/docs/adapters.docs.descriptor.js.map +1 -0
  91. package/dist/docs/manifests.docs.descriptor.d.ts +4 -0
  92. package/dist/docs/manifests.docs.descriptor.d.ts.map +1 -0
  93. package/dist/docs/manifests.docs.descriptor.js +316 -0
  94. package/dist/docs/manifests.docs.descriptor.js.map +1 -0
  95. package/dist/docs/records.docs.descriptor.d.ts +4 -0
  96. package/dist/docs/records.docs.descriptor.d.ts.map +1 -0
  97. package/dist/docs/records.docs.descriptor.js +269 -0
  98. package/dist/docs/records.docs.descriptor.js.map +1 -0
  99. package/dist/docs/sync.docs.descriptor.d.ts +4 -0
  100. package/dist/docs/sync.docs.descriptor.d.ts.map +1 -0
  101. package/dist/docs/sync.docs.descriptor.js +279 -0
  102. package/dist/docs/sync.docs.descriptor.js.map +1 -0
  103. package/dist/index.d.ts +27 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +29 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/interfaces/adapter.d.ts +382 -0
  108. package/dist/interfaces/adapter.d.ts.map +1 -0
  109. package/dist/interfaces/adapter.js +11 -0
  110. package/dist/interfaces/adapter.js.map +1 -0
  111. package/dist/interfaces/document-store.d.ts +62 -0
  112. package/dist/interfaces/document-store.d.ts.map +1 -0
  113. package/dist/interfaces/document-store.js +8 -0
  114. package/dist/interfaces/document-store.js.map +1 -0
  115. package/dist/interfaces/index.d.ts +17 -0
  116. package/dist/interfaces/index.d.ts.map +1 -0
  117. package/dist/interfaces/index.js +24 -0
  118. package/dist/interfaces/index.js.map +1 -0
  119. package/dist/interfaces/key-value.d.ts +95 -0
  120. package/dist/interfaces/key-value.d.ts.map +1 -0
  121. package/dist/interfaces/key-value.js +8 -0
  122. package/dist/interfaces/key-value.js.map +1 -0
  123. package/dist/interfaces/query-builder.d.ts +31 -0
  124. package/dist/interfaces/query-builder.d.ts.map +1 -0
  125. package/dist/interfaces/query-builder.js +11 -0
  126. package/dist/interfaces/query-builder.js.map +1 -0
  127. package/dist/interfaces/record/index.d.ts +7 -0
  128. package/dist/interfaces/record/index.d.ts.map +1 -0
  129. package/dist/interfaces/record/index.js +7 -0
  130. package/dist/interfaces/record/index.js.map +1 -0
  131. package/dist/interfaces/record/interface.d.ts +593 -0
  132. package/dist/interfaces/record/interface.d.ts.map +1 -0
  133. package/dist/interfaces/record/interface.js +49 -0
  134. package/dist/interfaces/record/interface.js.map +1 -0
  135. package/dist/interfaces/repository.d.ts +262 -0
  136. package/dist/interfaces/repository.d.ts.map +1 -0
  137. package/dist/interfaces/repository.js +8 -0
  138. package/dist/interfaces/repository.js.map +1 -0
  139. package/dist/interfaces/schema/index.d.ts +8 -0
  140. package/dist/interfaces/schema/index.d.ts.map +1 -0
  141. package/dist/interfaces/schema/index.js +10 -0
  142. package/dist/interfaces/schema/index.js.map +1 -0
  143. package/dist/interfaces/schema/schema-interface.d.ts +516 -0
  144. package/dist/interfaces/schema/schema-interface.d.ts.map +1 -0
  145. package/dist/interfaces/schema/schema-interface.js +31 -0
  146. package/dist/interfaces/schema/schema-interface.js.map +1 -0
  147. package/dist/interfaces/schema/table-interface.d.ts +250 -0
  148. package/dist/interfaces/schema/table-interface.d.ts.map +1 -0
  149. package/dist/interfaces/schema/table-interface.js +31 -0
  150. package/dist/interfaces/schema/table-interface.js.map +1 -0
  151. package/dist/interfaces/storage-consumer-fs.d.ts +40 -0
  152. package/dist/interfaces/storage-consumer-fs.d.ts.map +1 -0
  153. package/dist/interfaces/storage-consumer-fs.js +42 -0
  154. package/dist/interfaces/storage-consumer-fs.js.map +1 -0
  155. package/dist/manifest/base.d.ts +187 -0
  156. package/dist/manifest/base.d.ts.map +1 -0
  157. package/dist/manifest/base.js +516 -0
  158. package/dist/manifest/base.js.map +1 -0
  159. package/dist/manifest/cloud-sync.consumer.d.ts +7 -0
  160. package/dist/manifest/cloud-sync.consumer.d.ts.map +1 -0
  161. package/dist/manifest/cloud-sync.consumer.js +82 -0
  162. package/dist/manifest/cloud-sync.consumer.js.map +1 -0
  163. package/dist/manifest/index.d.ts +7 -0
  164. package/dist/manifest/index.d.ts.map +1 -0
  165. package/dist/manifest/index.js +7 -0
  166. package/dist/manifest/index.js.map +1 -0
  167. package/dist/manifest/source-policy.d.ts +8 -0
  168. package/dist/manifest/source-policy.d.ts.map +1 -0
  169. package/dist/manifest/source-policy.js +62 -0
  170. package/dist/manifest/source-policy.js.map +1 -0
  171. package/dist/paths.d.ts +6 -0
  172. package/dist/paths.d.ts.map +1 -0
  173. package/dist/paths.js +152 -0
  174. package/dist/paths.js.map +1 -0
  175. package/dist/policy/context.d.ts +9 -0
  176. package/dist/policy/context.d.ts.map +1 -0
  177. package/dist/policy/context.js +29 -0
  178. package/dist/policy/context.js.map +1 -0
  179. package/dist/policy/index.d.ts +4 -0
  180. package/dist/policy/index.d.ts.map +1 -0
  181. package/dist/policy/index.js +4 -0
  182. package/dist/policy/index.js.map +1 -0
  183. package/dist/policy/overrides.d.ts +40 -0
  184. package/dist/policy/overrides.d.ts.map +1 -0
  185. package/dist/policy/overrides.js +37 -0
  186. package/dist/policy/overrides.js.map +1 -0
  187. package/dist/policy/persistence.d.ts +38 -0
  188. package/dist/policy/persistence.d.ts.map +1 -0
  189. package/dist/policy/persistence.js +65 -0
  190. package/dist/policy/persistence.js.map +1 -0
  191. package/dist/policy/types.d.ts +21 -0
  192. package/dist/policy/types.d.ts.map +1 -0
  193. package/dist/policy/types.js +7 -0
  194. package/dist/policy/types.js.map +1 -0
  195. package/dist/record/base.d.ts +186 -0
  196. package/dist/record/base.d.ts.map +1 -0
  197. package/dist/record/base.js +1437 -0
  198. package/dist/record/base.js.map +1 -0
  199. package/dist/record/events.d.ts +71 -0
  200. package/dist/record/events.d.ts.map +1 -0
  201. package/dist/record/events.js +52 -0
  202. package/dist/record/events.js.map +1 -0
  203. package/dist/record/extensions.d.ts +51 -0
  204. package/dist/record/extensions.d.ts.map +1 -0
  205. package/dist/record/extensions.js +222 -0
  206. package/dist/record/extensions.js.map +1 -0
  207. package/dist/record/index.d.ts +7 -0
  208. package/dist/record/index.d.ts.map +1 -0
  209. package/dist/record/index.js +7 -0
  210. package/dist/record/index.js.map +1 -0
  211. package/dist/resolver/storage-backed-resolver.d.ts +23 -0
  212. package/dist/resolver/storage-backed-resolver.d.ts.map +1 -0
  213. package/dist/resolver/storage-backed-resolver.js +187 -0
  214. package/dist/resolver/storage-backed-resolver.js.map +1 -0
  215. package/dist/schemas/adapter-descriptor.d.ts +108 -0
  216. package/dist/schemas/adapter-descriptor.d.ts.map +1 -0
  217. package/dist/schemas/adapter-descriptor.js +101 -0
  218. package/dist/schemas/adapter-descriptor.js.map +1 -0
  219. package/dist/schemas/index.d.ts +14 -0
  220. package/dist/schemas/index.d.ts.map +1 -0
  221. package/dist/schemas/index.js +12 -0
  222. package/dist/schemas/index.js.map +1 -0
  223. package/dist/schemas/manifest-descriptor.d.ts +110 -0
  224. package/dist/schemas/manifest-descriptor.d.ts.map +1 -0
  225. package/dist/schemas/manifest-descriptor.js +114 -0
  226. package/dist/schemas/manifest-descriptor.js.map +1 -0
  227. package/dist/schemas/record/descriptor.d.ts +570 -0
  228. package/dist/schemas/record/descriptor.d.ts.map +1 -0
  229. package/dist/schemas/record/descriptor.js +389 -0
  230. package/dist/schemas/record/descriptor.js.map +1 -0
  231. package/dist/schemas/record/index.d.ts +8 -0
  232. package/dist/schemas/record/index.d.ts.map +1 -0
  233. package/dist/schemas/record/index.js +7 -0
  234. package/dist/schemas/record/index.js.map +1 -0
  235. package/dist/schemas/record/relation.d.ts +36 -0
  236. package/dist/schemas/record/relation.d.ts.map +1 -0
  237. package/dist/schemas/record/relation.js +37 -0
  238. package/dist/schemas/record/relation.js.map +1 -0
  239. package/dist/schemas/schema/descriptor.d.ts +231 -0
  240. package/dist/schemas/schema/descriptor.d.ts.map +1 -0
  241. package/dist/schemas/schema/descriptor.js +205 -0
  242. package/dist/schemas/schema/descriptor.js.map +1 -0
  243. package/dist/schemas/schema/index.d.ts +7 -0
  244. package/dist/schemas/schema/index.d.ts.map +1 -0
  245. package/dist/schemas/schema/index.js +7 -0
  246. package/dist/schemas/schema/index.js.map +1 -0
  247. package/dist/schemas/sync-bridge-descriptor.d.ts +124 -0
  248. package/dist/schemas/sync-bridge-descriptor.d.ts.map +1 -0
  249. package/dist/schemas/sync-bridge-descriptor.js +67 -0
  250. package/dist/schemas/sync-bridge-descriptor.js.map +1 -0
  251. package/dist/server/manifest-route.d.ts +92 -0
  252. package/dist/server/manifest-route.d.ts.map +1 -0
  253. package/dist/server/manifest-route.js +226 -0
  254. package/dist/server/manifest-route.js.map +1 -0
  255. package/dist/storage-policy.context.descriptor.d.ts +16 -0
  256. package/dist/storage-policy.context.descriptor.d.ts.map +1 -0
  257. package/dist/storage-policy.context.descriptor.js +16 -0
  258. package/dist/storage-policy.context.descriptor.js.map +1 -0
  259. package/dist/storage-policy.context.server.d.ts +14 -0
  260. package/dist/storage-policy.context.server.d.ts.map +1 -0
  261. package/dist/storage-policy.context.server.js +27 -0
  262. package/dist/storage-policy.context.server.js.map +1 -0
  263. package/dist/storage.plugin.d.ts +38 -0
  264. package/dist/storage.plugin.d.ts.map +1 -0
  265. package/dist/storage.plugin.js +204 -0
  266. package/dist/storage.plugin.js.map +1 -0
  267. package/dist/sync/cloud-pull.d.ts +15 -0
  268. package/dist/sync/cloud-pull.d.ts.map +1 -0
  269. package/dist/sync/cloud-pull.js +130 -0
  270. package/dist/sync/cloud-pull.js.map +1 -0
  271. package/dist/sync/cloud-record-crud-config.d.ts +19 -0
  272. package/dist/sync/cloud-record-crud-config.d.ts.map +1 -0
  273. package/dist/sync/cloud-record-crud-config.js +22 -0
  274. package/dist/sync/cloud-record-crud-config.js.map +1 -0
  275. package/dist/sync/record-sync-bridge.d.ts +5 -0
  276. package/dist/sync/record-sync-bridge.d.ts.map +1 -0
  277. package/dist/sync/record-sync-bridge.js +121 -0
  278. package/dist/sync/record-sync-bridge.js.map +1 -0
  279. package/dist/sync/resolve-sync-target.d.ts +23 -0
  280. package/dist/sync/resolve-sync-target.d.ts.map +1 -0
  281. package/dist/sync/resolve-sync-target.js +45 -0
  282. package/dist/sync/resolve-sync-target.js.map +1 -0
  283. package/dist/sync/schemas/cloud-pull.d.ts +25 -0
  284. package/dist/sync/schemas/cloud-pull.d.ts.map +1 -0
  285. package/dist/sync/schemas/cloud-pull.js +7 -0
  286. package/dist/sync/schemas/cloud-pull.js.map +1 -0
  287. package/dist/sync/schemas/index.d.ts +9 -0
  288. package/dist/sync/schemas/index.d.ts.map +1 -0
  289. package/dist/sync/schemas/index.js +9 -0
  290. package/dist/sync/schemas/index.js.map +1 -0
  291. package/dist/sync/schemas/sync-helpers.d.ts +17 -0
  292. package/dist/sync/schemas/sync-helpers.d.ts.map +1 -0
  293. package/dist/sync/schemas/sync-helpers.js +7 -0
  294. package/dist/sync/schemas/sync-helpers.js.map +1 -0
  295. package/dist/sync/schemas/sync-state.d.ts +65 -0
  296. package/dist/sync/schemas/sync-state.d.ts.map +1 -0
  297. package/dist/sync/schemas/sync-state.js +32 -0
  298. package/dist/sync/schemas/sync-state.js.map +1 -0
  299. package/dist/sync/sync-bridge.d.ts +80 -0
  300. package/dist/sync/sync-bridge.d.ts.map +1 -0
  301. package/dist/sync/sync-bridge.js +617 -0
  302. package/dist/sync/sync-bridge.js.map +1 -0
  303. package/dist/sync/sync-manifest.d.ts +20 -0
  304. package/dist/sync/sync-manifest.d.ts.map +1 -0
  305. package/dist/sync/sync-manifest.js +140 -0
  306. package/dist/sync/sync-manifest.js.map +1 -0
  307. package/dist/sync/sync-state.consumer.d.ts +23 -0
  308. package/dist/sync/sync-state.consumer.d.ts.map +1 -0
  309. package/dist/sync/sync-state.consumer.js +111 -0
  310. package/dist/sync/sync-state.consumer.js.map +1 -0
  311. package/dist/transform/index.d.ts +75 -0
  312. package/dist/transform/index.d.ts.map +1 -0
  313. package/dist/transform/index.js +81 -0
  314. package/dist/transform/index.js.map +1 -0
  315. package/dist/transform/transform-descriptor.d.ts +51 -0
  316. package/dist/transform/transform-descriptor.d.ts.map +1 -0
  317. package/dist/transform/transform-descriptor.js +30 -0
  318. package/dist/transform/transform-descriptor.js.map +1 -0
  319. package/dist/tui/storage-explorer.descriptor.d.ts +14 -0
  320. package/dist/tui/storage-explorer.descriptor.d.ts.map +1 -0
  321. package/dist/tui/storage-explorer.descriptor.js +29 -0
  322. package/dist/tui/storage-explorer.descriptor.js.map +1 -0
  323. package/dist/tui/storage-explorer.impl.consumer.d.ts +11 -0
  324. package/dist/tui/storage-explorer.impl.consumer.d.ts.map +1 -0
  325. package/dist/tui/storage-explorer.impl.consumer.js +13 -0
  326. package/dist/tui/storage-explorer.impl.consumer.js.map +1 -0
  327. package/dist/tui/storage-open.descriptor.d.ts +14 -0
  328. package/dist/tui/storage-open.descriptor.d.ts.map +1 -0
  329. package/dist/tui/storage-open.descriptor.js +28 -0
  330. package/dist/tui/storage-open.descriptor.js.map +1 -0
  331. package/dist/tui/storage-open.impl.consumer.d.ts +11 -0
  332. package/dist/tui/storage-open.impl.consumer.d.ts.map +1 -0
  333. package/dist/tui/storage-open.impl.consumer.js +13 -0
  334. package/dist/tui/storage-open.impl.consumer.js.map +1 -0
  335. package/dist/utils/error-context.d.ts +2 -0
  336. package/dist/utils/error-context.d.ts.map +1 -0
  337. package/dist/utils/error-context.js +17 -0
  338. package/dist/utils/error-context.js.map +1 -0
  339. package/package.json +241 -0
  340. package/src/adapters/index.ts +13 -0
  341. package/src/bridge/index.ts +2 -0
  342. package/src/bridge/storage-kind-bridge.ts +131 -0
  343. package/src/bridge/types.ts +46 -0
  344. package/src/cli/commands/list/storage.list.cli-command.descriptor.ts +20 -0
  345. package/src/cli/commands/list/storage.list.cli-command.impl.ts +72 -0
  346. package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.ts +28 -0
  347. package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.ts +171 -0
  348. package/src/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.ts +28 -0
  349. package/src/cli/commands/sync/push/storage.sync.push.cli-command.impl.ts +213 -0
  350. package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.ts +22 -0
  351. package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.ts +129 -0
  352. package/src/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.ts +17 -0
  353. package/src/cli/commands/sync/status/storage.sync.status.cli-command.impl.ts +192 -0
  354. package/src/cli/context.consumer.ts +195 -0
  355. package/src/cli/storage.cli-group.descriptor.ts +13 -0
  356. package/src/cli/storage.sync.cli-group.descriptor.ts +14 -0
  357. package/src/cli/types.ts +25 -0
  358. package/src/client/index.ts +10 -0
  359. package/src/client/list-browsable-adapters.ts +42 -0
  360. package/src/daemon/commands/sync.ts +225 -0
  361. package/src/docs/adapters.docs.descriptor.ts +225 -0
  362. package/src/docs/manifests.docs.descriptor.ts +318 -0
  363. package/src/docs/records.docs.descriptor.ts +271 -0
  364. package/src/docs/sync.docs.descriptor.ts +281 -0
  365. package/src/index.ts +109 -0
  366. package/src/interfaces/adapter.ts +451 -0
  367. package/src/interfaces/document-store.ts +74 -0
  368. package/src/interfaces/index.ts +117 -0
  369. package/src/interfaces/key-value.ts +112 -0
  370. package/src/interfaces/query-builder.ts +31 -0
  371. package/src/interfaces/record/index.ts +58 -0
  372. package/src/interfaces/record/interface.ts +723 -0
  373. package/src/interfaces/repository.ts +300 -0
  374. package/src/interfaces/schema/index.ts +37 -0
  375. package/src/interfaces/schema/schema-interface.ts +586 -0
  376. package/src/interfaces/schema/table-interface.ts +314 -0
  377. package/src/interfaces/storage-consumer-fs.ts +66 -0
  378. package/src/manifest/base.ts +594 -0
  379. package/src/manifest/cloud-sync.consumer.ts +120 -0
  380. package/src/manifest/index.ts +7 -0
  381. package/src/manifest/source-policy.ts +74 -0
  382. package/src/paths.ts +171 -0
  383. package/src/policy/context.ts +30 -0
  384. package/src/policy/index.ts +20 -0
  385. package/src/policy/overrides.ts +46 -0
  386. package/src/policy/persistence.ts +117 -0
  387. package/src/policy/types.ts +28 -0
  388. package/src/record/base.ts +1872 -0
  389. package/src/record/events.ts +56 -0
  390. package/src/record/extensions.ts +308 -0
  391. package/src/record/index.ts +7 -0
  392. package/src/resolver/storage-backed-resolver.ts +255 -0
  393. package/src/schemas/adapter-descriptor.ts +128 -0
  394. package/src/schemas/index.ts +104 -0
  395. package/src/schemas/manifest-descriptor.ts +143 -0
  396. package/src/schemas/record/descriptor.ts +621 -0
  397. package/src/schemas/record/index.ts +60 -0
  398. package/src/schemas/record/relation.ts +49 -0
  399. package/src/schemas/schema/descriptor.ts +278 -0
  400. package/src/schemas/schema/index.ts +14 -0
  401. package/src/schemas/sync-bridge-descriptor.ts +143 -0
  402. package/src/server/manifest-route.ts +319 -0
  403. package/src/storage-policy.context.descriptor.ts +17 -0
  404. package/src/storage-policy.context.server.ts +34 -0
  405. package/src/storage.plugin.ts +264 -0
  406. package/src/sync/cloud-pull.ts +202 -0
  407. package/src/sync/cloud-record-crud-config.ts +41 -0
  408. package/src/sync/record-sync-bridge.ts +183 -0
  409. package/src/sync/resolve-sync-target.ts +57 -0
  410. package/src/sync/schemas/cloud-pull.ts +26 -0
  411. package/src/sync/schemas/index.ts +18 -0
  412. package/src/sync/schemas/sync-helpers.ts +18 -0
  413. package/src/sync/schemas/sync-state.ts +41 -0
  414. package/src/sync/sync-bridge.ts +763 -0
  415. package/src/sync/sync-manifest.ts +212 -0
  416. package/src/sync/sync-state.consumer.ts +144 -0
  417. package/src/transform/index.ts +130 -0
  418. package/src/transform/transform-descriptor.ts +53 -0
  419. package/src/tui/storage-explorer.descriptor.ts +32 -0
  420. package/src/tui/storage-explorer.impl.consumer.ts +14 -0
  421. package/src/tui/storage-open.descriptor.ts +31 -0
  422. package/src/tui/storage-open.impl.consumer.ts +14 -0
  423. package/src/utils/error-context.ts +19 -0
package/README.md ADDED
@@ -0,0 +1,75 @@
1
+ # @vibesdotdev/storage
2
+
3
+ Universal storage primitive. Defines `storage/manifest` and `storage/adapter`
4
+ runtime kinds, the `StorageManifest<T>` base, and the sync/policy/record
5
+ abstractions. Adapters live in sibling packages and register themselves.
6
+
7
+ ## Quickstart
8
+
9
+ ### Define a storage manifest
10
+
11
+ ```ts
12
+ import { z } from 'zod';
13
+ import { createStorageManifest } from '@vibesdotdev/storage/manifest';
14
+
15
+ export const sessions = createStorageManifest({
16
+ id: 'auth.sessions',
17
+ namespace: 'auth',
18
+ schema: z.object({
19
+ id: z.string(),
20
+ userId: z.string(),
21
+ expiresAt: z.string().datetime(),
22
+ }),
23
+ adapters: ['localdb', 'cloud-api'],
24
+ });
25
+ ```
26
+
27
+ ### Load + save through the runtime
28
+
29
+ ```ts
30
+ import { StorageManifest } from '@vibesdotdev/storage';
31
+
32
+ const sessions = new StorageManifest('auth.sessions');
33
+ await sessions.put({ id: 's1', userId: 'u1', expiresAt: '2026-12-31T00:00:00Z' });
34
+ const session = await sessions.get('s1');
35
+ ```
36
+
37
+ The runtime selects the adapter (`localdb` consumer-side, `cloud-api`
38
+ cloud-side) based on scope. Feature code never branches on hardware.
39
+
40
+ ### Sync (local-first)
41
+
42
+ When sync is enabled in runtime config, consumer writes mirror to the cloud
43
+ adapter via `cloud-sync.consumer`. Sync state is tracked in a separate
44
+ manifest so divergent writes are reconciled rather than silently merged.
45
+
46
+ ## Adapters
47
+
48
+ Storage core ships zero adapter implementations. Apps load the adapter
49
+ packages their scope can support:
50
+
51
+ - [`@vibesdotdev/storage-adapter-memory`](../storage-adapter-memory/) — tests/ephemeral
52
+ - [`@vibesdotdev/storage-adapter-json`](../storage-adapter-json/) — local file-backed
53
+ - [`@vibesdotdev/storage-adapter-localdb`](../storage-adapter-localdb/) — SQLite (Bun)
54
+ - [`@vibesdotdev/storage-adapter-cloud-api`](../storage-adapter-cloud-api/) — hosted
55
+ - [`@vibesdotdev/storage-adapter-drizzle`](../storage-adapter-drizzle/) — SQL via Drizzle
56
+ - External integrations (SharePoint, etc.) → [`platform`](../platform/SPEC.md)
57
+
58
+ ## CLI
59
+
60
+ ```bash
61
+ vibes storage list
62
+ vibes storage status
63
+ vibes storage sync run
64
+ ```
65
+
66
+ ## Test
67
+
68
+ ```bash
69
+ bun run test
70
+ ```
71
+
72
+ ## Docs
73
+
74
+ - [SPEC.md](./SPEC.md) — package contract, owned surfaces, hard rules
75
+ - [runtime](../runtime/SPEC.md), [config](../config/SPEC.md)
package/SPEC.md ADDED
@@ -0,0 +1,60 @@
1
+ # @vibesdotdev/storage
2
+
3
+ Runtime-resolved persistence. Universal core: defines the kinds, manifest base, sync/policy/record abstractions. Adapters live in sibling packages and register themselves.
4
+
5
+ ## Owns
6
+
7
+ - **Runtime kinds:**
8
+ - `storage/adapter` — storage backends (impls live in sibling adapter packages). Descriptors carry a coarse-grained `capabilities: ('list'|'read'|'write'|'browse')[]` array (default `['read','write']`); adapters declaring `'browse'` implement `listDrives() → StorageDrive[]` + `list(driveId, path) → StorageEntry[]`.
9
+ - `storage/manifest` — storable data type definitions; default impl `StorageManifest`
10
+ - `storage/record` — single-table CRUD with relations, indexes, FTS, migrations, computed fields, hierarchy, and side effects
11
+ - `storage/sync-bridge` — declarative runtime-kind ↔ cloud-CRUD sync wiring (server/CLI only; no default impl)
12
+ - **`StorageManifest<T>`** (`./manifest`): base manifest, source-policy, cloud-sync handoff (`cloud-sync.consumer` — universal; uses runtime to resolve cloud adapter)
13
+ - **Interfaces** (`./interfaces`): adapter, document-store, key-value, repository, record, schema, and `StorageConsumerFs` TS contracts. `StorageAdapterInterface` declares optional `listDrives()` and `list(driveId, path)` methods for `browse`-capable adapters.
14
+ - **Schemas** (`./schemas`): Zod schemas for adapter / manifest / record / schema / sync-bridge descriptors, plus the rich record-descriptor surface (relations, indexes, FTS, migrations, computed fields, hierarchy, side effects) and the multi-table `StorageSchemaDescriptor`. Also exports `StorageEntrySchema`, `StorageDriveSchema`, and `StorageCapabilitySchema` for use by browse-capable adapters and consumers.
15
+ - **Client surface** (`./client`): `listBrowsableStorageAdapters()` — synchronous helper that queries the runtime for every `storage/adapter` descriptor with `'browse'` in `capabilities`. Consumed by picker UIs (AI model sources, knowledge corpora, etc.). Does not load implementations.
16
+ - **Record events** (`./record/events`): `storage.record.afterCreate`, `storage.record.afterUpdate`, `storage.record.afterDelete` — registered as descriptors by the plugin
17
+ - **Sync** (`./sync`): sync-bridge, record-sync-bridge, cloud-pull, sync-manifest, sync-state, resolve-sync-target — all runtime-resolved, no adapter imports
18
+ - **Policy** (`./policy`): storage policy / overrides / persistence / context / types, plus `storage-policy.context.descriptor` (universal descriptor) and `storage-policy.context.server` (server-side loader; registered via plugin `onRegister`)
19
+ - **Record** (`./record`): base record class (`StorageRecord`), events, extensions
20
+ - **Resolver** (`./resolver/storage-backed-resolver`): resolves arbitrary kinds whose data lives in either a `storage/manifest` or a `config/manifest`
21
+ - **Bridge** (`./bridge`): `storage-kind-bridge` + `bridgeStorageKinds` helper that hydrates feature kinds from their backing storage manifests
22
+ - **CLI** (`./cli`): `vibes storage` and `vibes storage sync` groups; commands `storage list`, `storage sync pull`, `storage sync push`, `storage sync status`, `storage sync resolve` — all query the runtime, never import adapters
23
+ - **TUI** (`./tui`): `storage.explorer` (`tui/app`) and `storage.open` (`tui/command`) — registered conditionally by plugin `onRegister` when the `tui/*` kinds are loaded
24
+ - **Daemon commands** (`./daemon/commands`): storage RPC verbs `sync.status`, `sync.trigger`, `sync.resolve` using runtime-plugin types, self-contained implementations
25
+ - **Paths** (`./paths`): canonical storage path resolution (string-only, no FS)
26
+ - **Plugin** (`./storage.plugin` = `./plugin`): registers the four runtime kinds, the CLI groups + commands, and the record-event descriptors. `onRegister` additionally wires the storage-policy context loader and (when `tui/app` / `tui/command` are present) the TUI explorer + open implementations.
27
+
28
+ ## Does not own
29
+
30
+ - **Adapter implementations.** Each adapter is its own package: [`storage-adapter-json`](../storage-adapter-json/), [`storage-adapter-localdb`](../storage-adapter-localdb/), [`storage-adapter-memory`](../storage-adapter-memory/), [`storage-adapter-cloud-api`](../storage-adapter-cloud-api/), [`storage-adapter-drizzle`](../storage-adapter-drizzle/). They each register `storage/adapter` descriptors when imported.
31
+ - **External-integration adapters** (SharePoint, etc.) → the owning integration package (e.g. [`integrations-microsoft`](../integrations-microsoft/SPEC.md) registers the `sharepoint` adapter alongside the Microsoft 365 integration providers).
32
+ - **Server DB connection helper.** Lives in [`storage-adapter-drizzle`](../storage-adapter-drizzle/SPEC.md) (`./db` subpath), co-located with the Drizzle persistence factory.
33
+ - **Encryption primitive** → [`config/services`](../config/SPEC.md). Encrypted adapters consume it.
34
+ - **Configuration modeling** → [`config`](../config/SPEC.md).
35
+ - **Domain-specific manifests** (chat history, AI artifacts, knowledge sources, account tables, etc.). Each owning module declares its own `storage/manifest` descriptors.
36
+ - **Module-level client** (`runtime/client`). Storage is consumed via `StorageManifest<T>` instances and runtime kind resolution directly.
37
+
38
+ ## Hard rules
39
+
40
+ - **The core package is universal.** No Node/Bun/SQL/HTTP imports in core. Anything that breaks browser or Cloudflare bundles belongs in an adapter package.
41
+ - **All persistence goes through `StorageManifest<T>`.** No direct adapter calls in features.
42
+ - **Adapter selection is runtime-resolved.** Manifests declare allowed adapters; runtime picks one via scope (`hardware`, `qualifiers: { storage }`). Features do not branch on `isCloud`/`connectionMode`.
43
+ - **Local-first writes can mirror to cloud** when sync is enabled. Sync state is tracked separately; do not silently merge divergent writes.
44
+ - **Adapter package contract:** each `storage-adapter-{name}` package exports a plugin that registers a `storage/adapter` descriptor + impl. Apps load the adapter packages their scope can support. The core never imports adapter packages.
45
+ - **CLI / TUI / daemon descriptors here query the runtime; they do not import adapters.**
46
+
47
+ ## Public entrypoints
48
+
49
+ Canonical entrypoints: `.`, `./manifest`, `./manifest/*`, `./interfaces`, `./interfaces/record`, `./interfaces/schema`, `./interfaces/*`, `./schemas`, `./schemas/record`, `./schemas/schema`, `./schemas/*`, `./sync`, `./sync/*`, `./record`, `./record/base`, `./record/*`, `./bridge`, `./bridge/types`, `./client`, `./client/*`, `./resolver/*`, `./cli/*`, `./tui/*`, `./daemon/commands/*`, `./paths`, `./plugin` (= `./storage.plugin`).
50
+
51
+ ## Verification
52
+
53
+ `bun run test` from package root (runs `test:isolated` + `test:main`). Covers manifest base, sync state + bridge, policy, record, resolver, schemas, interfaces, and TUI descriptors. Adapter-specific tests live in each adapter package.
54
+
55
+ ## Links
56
+
57
+ - [runtime/SPEC.md](../runtime/SPEC.md)
58
+ - [config/SPEC.md](../config/SPEC.md)
59
+ - [storage-adapter-drizzle](../storage-adapter-drizzle/)
60
+ - [platform/SPEC.md](../platform/SPEC.md)
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Storage Adapters
3
+ *
4
+ * Concrete adapter implementations are resolved through the vibes runtime.
5
+ * Feature packages must NEVER import adapter packages directly.
6
+ *
7
+ * Adapters register themselves via runtime plugins; consumers query them
8
+ * through `runtime.query('storage/adapter')` or use the StorageManifest
9
+ * abstraction which handles adapter resolution internally.
10
+ *
11
+ * External integrations (SharePoint, etc.) live in their owning integration
12
+ * package (e.g. `@vibesdotdev/integrations-microsoft/sharepoint`).
13
+ */
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Storage Adapters
4
+ *
5
+ * Concrete adapter implementations are resolved through the vibes runtime.
6
+ * Feature packages must NEVER import adapter packages directly.
7
+ *
8
+ * Adapters register themselves via runtime plugins; consumers query them
9
+ * through `runtime.query('storage/adapter')` or use the StorageManifest
10
+ * abstraction which handles adapter resolution internally.
11
+ *
12
+ * External integrations (SharePoint, etc.) live in their owning integration
13
+ * package (e.g. `@vibesdotdev/integrations-microsoft/sharepoint`).
14
+ */
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,3 @@
1
+ export { bridgeStorageKinds } from './storage-kind-bridge';
2
+ export type { StorageKindBridgeConfig } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { bridgeStorageKinds } from './storage-kind-bridge.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Storage Kind Bridge
3
+ *
4
+ * Hydrates runtime kind registries from storage manifest data.
5
+ * Storage manifests that declare `providesRuntimeKinds` will have their
6
+ * stored items loaded and registered as runtime descriptors (and optionally
7
+ * implementation loaders) so they are discoverable via `runtime.query()`.
8
+ *
9
+ * This runs at boot after discovery completes and storage adapters are available.
10
+ */
11
+ import type { VibesRuntime } from '@vibesdotdev/runtime/api/runtime';
12
+ /**
13
+ * Bridge storage manifest items into runtime kind registries.
14
+ *
15
+ * For each storage manifest with `providesRuntimeKinds`:
16
+ * 1. Loads stored data via the manifest's resolved adapter
17
+ * 2. Transforms each item into a runtime descriptor
18
+ * 3. Registers the descriptor (makes it queryable)
19
+ * 4. Optionally registers an implementation loader
20
+ *
21
+ * @returns Count of bridged items and any errors encountered
22
+ */
23
+ export declare function bridgeStorageKinds(runtime: VibesRuntime): Promise<{
24
+ bridged: number;
25
+ errors: string[];
26
+ }>;
27
+ //# sourceMappingURL=storage-kind-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-kind-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/storage-kind-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMrE;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoGhD"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Storage Kind Bridge
3
+ *
4
+ * Hydrates runtime kind registries from storage manifest data.
5
+ * Storage manifests that declare `providesRuntimeKinds` will have their
6
+ * stored items loaded and registered as runtime descriptors (and optionally
7
+ * implementation loaders) so they are discoverable via `runtime.query()`.
8
+ *
9
+ * This runs at boot after discovery completes and storage adapters are available.
10
+ */
11
+ import { StorageManifest } from '../manifest/base.js';
12
+ import { createTracer } from '@vibesdotdev/runtime/debug';
13
+ /**
14
+ * Bridge storage manifest items into runtime kind registries.
15
+ *
16
+ * For each storage manifest with `providesRuntimeKinds`:
17
+ * 1. Loads stored data via the manifest's resolved adapter
18
+ * 2. Transforms each item into a runtime descriptor
19
+ * 3. Registers the descriptor (makes it queryable)
20
+ * 4. Optionally registers an implementation loader
21
+ *
22
+ * @returns Count of bridged items and any errors encountered
23
+ */
24
+ export async function bridgeStorageKinds(runtime) {
25
+ const bridgeTracer = createTracer('bridgeStorageKinds');
26
+ bridgeTracer.start();
27
+ if (!runtime.hasKind('storage/manifest')) {
28
+ bridgeTracer.end('no storage/manifest kind');
29
+ return { bridged: 0, errors: [] };
30
+ }
31
+ const manifests = runtime.assets('storage/manifest').descriptors();
32
+ let bridged = 0;
33
+ const errors = [];
34
+ // Process manifests in parallel to reduce I/O wait time
35
+ const manifestPromises = manifests.map(async (manifest) => {
36
+ const storageManifest = manifest;
37
+ const bridgeConfig = storageManifest.providesRuntimeKinds;
38
+ if (!bridgeConfig)
39
+ return { bridged: 0, errors: [] };
40
+ const manifestTracer = createTracer(`manifest:${manifest.id}`);
41
+ manifestTracer.start();
42
+ let items;
43
+ try {
44
+ const storage = StorageManifest.fromId(manifest.id);
45
+ const data = await storage.load();
46
+ if (!data) {
47
+ manifestTracer.end('no data');
48
+ return { bridged: 0, errors: [] };
49
+ }
50
+ if (Array.isArray(data)) {
51
+ items = data;
52
+ }
53
+ else if (typeof data === 'object' && data !== null) {
54
+ // Record/object storage: extract values as individual items
55
+ items = Object.values(data);
56
+ }
57
+ else {
58
+ items = [data];
59
+ }
60
+ manifestTracer.end(`loaded ${items.length} items`);
61
+ }
62
+ catch (err) {
63
+ manifestTracer.end('failed');
64
+ return {
65
+ bridged: 0,
66
+ errors: [
67
+ `Failed to load storage '${manifest.id}': ${err instanceof Error ? err.message : String(err)}`
68
+ ]
69
+ };
70
+ }
71
+ let manifestBridged = 0;
72
+ const manifestErrors = [];
73
+ for (const [kindId, rawConfig] of Object.entries(bridgeConfig)) {
74
+ if (!runtime.hasKind(kindId)) {
75
+ manifestErrors.push(`Storage '${manifest.id}' declares providesRuntimeKinds for unregistered kind '${kindId}'`);
76
+ continue;
77
+ }
78
+ const config = rawConfig;
79
+ for (const item of items) {
80
+ try {
81
+ if (config.filter && !config.filter(item))
82
+ continue;
83
+ const descriptor = config.toDescriptor(item);
84
+ runtime.registerDescriptor(kindId, descriptor);
85
+ if (config.implementation) {
86
+ const ImplClass = config.implementation;
87
+ runtime.registerLoader(kindId, descriptor.id, async () => ({
88
+ meta: { id: descriptor.id, kind: kindId, priority: 0 },
89
+ impl: ImplClass
90
+ }));
91
+ }
92
+ manifestBridged++;
93
+ }
94
+ catch (err) {
95
+ manifestErrors.push(`Failed to bridge item from '${manifest.id}' to '${kindId}': ${err instanceof Error ? err.message : String(err)}`);
96
+ }
97
+ }
98
+ }
99
+ return { bridged: manifestBridged, errors: manifestErrors };
100
+ });
101
+ // Wait for all manifest processing to complete
102
+ const results = await Promise.all(manifestPromises);
103
+ for (const result of results) {
104
+ bridged += result.bridged;
105
+ errors.push(...result.errors);
106
+ }
107
+ bridgeTracer.end(`bridged ${bridged} items`);
108
+ return { bridged, errors };
109
+ }
110
+ //# sourceMappingURL=storage-kind-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-kind-bridge.js","sourceRoot":"","sources":["../../src/bridge/storage-kind-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Storage Kind Bridge Types
3
+ *
4
+ * Type-safe configuration for bridging storage manifest items
5
+ * into runtime kind queries.
6
+ */
7
+ import type { RuntimeDescriptor } from '@vibesdotdev/runtime/schemas/descriptor';
8
+ /**
9
+ * Configuration for bridging stored items to a runtime kind.
10
+ *
11
+ * Declared on a StorageManifestDescriptor via `providesRuntimeKinds`.
12
+ * The bridge utility reads this config to register descriptors and
13
+ * optional implementation loaders with the runtime.
14
+ *
15
+ * @template TStored - The shape of individual stored items
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const config: StorageKindBridgeConfig<AgentConfig> = {
20
+ * toDescriptor: (item) => createAIAgentDescriptor({ ... }),
21
+ * implementation: ReactAgent,
22
+ * filter: (item) => item.enabled !== false
23
+ * };
24
+ * ```
25
+ */
26
+ export interface StorageKindBridgeConfig<TStored = unknown> {
27
+ /** Transform a stored item into a runtime descriptor for this kind */
28
+ toDescriptor: (item: TStored) => RuntimeDescriptor;
29
+ /**
30
+ * Implementation class to register as a loader.
31
+ * If provided, the runtime will instantiate it with (descriptor, context)
32
+ * when the asset is resolved. If omitted, the kind's defaultImplementation
33
+ * is used instead.
34
+ */
35
+ implementation?: new (descriptor: RuntimeDescriptor, context: {
36
+ runtime: unknown;
37
+ }) => unknown;
38
+ /**
39
+ * Filter which stored items to bridge.
40
+ * Return true to include the item, false to skip.
41
+ * If omitted, all items are bridged.
42
+ */
43
+ filter?: (item: TStored) => boolean;
44
+ }
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,uBAAuB,CAAC,OAAO,GAAG,OAAO;IACzD,sEAAsE;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,iBAAiB,CAAC;IAEnD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;IAE/F;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;CACpC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Storage Kind Bridge Types
3
+ *
4
+ * Type-safe configuration for bridging storage manifest items
5
+ * into runtime kind queries.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,4 @@
1
+ import type { CLICommandAssetDescriptor } from '@vibesdotdev/runtime/schemas/asset';
2
+ declare const descriptor: CLICommandAssetDescriptor;
3
+ export default descriptor;
4
+ //# sourceMappingURL=storage.list.cli-command.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.list.cli-command.descriptor.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/list/storage.list.cli-command.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,QAAA,MAAM,UAAU,EAAE,yBAejB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ const descriptor = {
2
+ kind: 'cli/command',
3
+ id: 'storage.list',
4
+ name: 'list',
5
+ description: 'List all registered storage manifests',
6
+ group: 'storage',
7
+ arguments: [],
8
+ options: [
9
+ { flags: '--json', description: 'Output as JSON' },
10
+ { flags: '--sync-only', description: 'Only show manifests with cloud sync enabled' }
11
+ ],
12
+ aliases: ['ls'],
13
+ surfaces: ['cli'],
14
+ hardware: ['consumer'],
15
+ enabled: true
16
+ };
17
+ export default descriptor;
18
+ //# sourceMappingURL=storage.list.cli-command.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.list.cli-command.descriptor.js","sourceRoot":"","sources":["../../../../src/cli/commands/list/storage.list.cli-command.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA8B;IAC7C,IAAI,EAAE,aAAa;IACnB,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;QAClD,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,6CAA6C,EAAE;KACpF;IACD,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * vibes storage list
3
+ *
4
+ * Lists all registered storage manifests with their adapter configuration,
5
+ * custom table status, and sync eligibility.
6
+ */
7
+ declare const _default: {
8
+ execute(_args: Record<string, unknown>, opts: Record<string, unknown>): Promise<void>;
9
+ };
10
+ export default _default;
11
+ //# sourceMappingURL=storage.list.cli-command.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.list.cli-command.impl.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/list/storage.list.cli-command.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;mBAiBmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD5F,wBAkDE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * vibes storage list
3
+ *
4
+ * Lists all registered storage manifests with their adapter configuration,
5
+ * custom table status, and sync eligibility.
6
+ */
7
+ import { getVibesRuntime } from '@vibesdotdev/runtime';
8
+ export default {
9
+ async execute(_args, opts) {
10
+ const runtime = getVibesRuntime();
11
+ const ui = (await runtime.context('cli/ui'));
12
+ try {
13
+ const descriptors = runtime.query('storage/manifest').descriptors();
14
+ let manifests = descriptors.filter((d) => d.enabled !== false);
15
+ if (opts.syncOnly) {
16
+ manifests = manifests.filter((d) => d.allowedAdapters?.includes('storage.cloud-api'));
17
+ }
18
+ if (opts.json) {
19
+ ui.render(manifests.map((d) => ({
20
+ id: d.id,
21
+ namespace: d.namespace,
22
+ defaultAdapter: d.defaultAdapter,
23
+ customTables: d.customTables ?? false,
24
+ syncEnabled: d.allowedAdapters?.includes('storage.cloud-api') ?? false,
25
+ scope: d.scope ?? 'global'
26
+ })), { format: 'json' });
27
+ return;
28
+ }
29
+ if (manifests.length === 0) {
30
+ ui.info('No storage manifests registered.');
31
+ return;
32
+ }
33
+ ui.table(manifests.map((d) => ({
34
+ ID: d.id,
35
+ Namespace: d.namespace,
36
+ Adapter: d.defaultAdapter ?? '—',
37
+ 'Custom Tables': d.customTables ? 'yes' : 'no',
38
+ 'Cloud Sync': d.allowedAdapters?.includes('storage.cloud-api') ? 'yes' : 'no',
39
+ Scope: d.scope ?? 'global'
40
+ })), ['ID', 'Namespace', 'Adapter', 'Custom Tables', 'Cloud Sync', 'Scope']);
41
+ }
42
+ catch (e) {
43
+ ui.error(`Failed to list manifests: ${e}`);
44
+ process.exit(1);
45
+ }
46
+ }
47
+ };
48
+ //# sourceMappingURL=storage.list.cli-command.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.list.cli-command.impl.js","sourceRoot":"","sources":["../../../../src/cli/commands/list/storage.list.cli-command.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,eAAe;IACd,KAAK,CAAC,OAAO,CAAC,KAA8B,EAAE,IAA6B;QAC1E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAc,CAAC;QAE1D,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAqC,CAAC;YAEvG,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;YAE/D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,EAAE,CAAC,MAAM,CACR,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,KAAK;oBACrC,WAAW,EAAE,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK;oBACtE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ;iBAC1B,CAAC,CAAC,EACH,EAAE,MAAM,EAAE,MAAM,EAAE,CAClB,CAAC;gBACF,OAAO;YACR,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAC5C,OAAO;YACR,CAAC;YAED,EAAE,CAAC,KAAK,CACP,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,cAAc,IAAI,GAAG;gBAChC,eAAe,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC9C,YAAY,EAAE,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC7E,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ;aAC1B,CAAC,CAAC,EACH,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC,CACtE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CLICommandAssetDescriptor } from '@vibesdotdev/runtime/schemas/asset';
2
+ declare const descriptor: CLICommandAssetDescriptor;
3
+ export default descriptor;
4
+ //# sourceMappingURL=storage.sync.pull.cli-command.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.sync.pull.cli-command.descriptor.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,QAAA,MAAM,UAAU,EAAE,yBAuBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,26 @@
1
+ const descriptor = {
2
+ kind: 'cli/command',
3
+ id: 'storage.sync.pull',
4
+ name: 'pull',
5
+ description: 'Pull cloud storage manifests to local',
6
+ group: 'storage.sync',
7
+ arguments: [
8
+ {
9
+ name: 'manifest-id',
10
+ description: 'Manifest ID to pull (omit for all)',
11
+ required: false,
12
+ variadic: false
13
+ }
14
+ ],
15
+ options: [
16
+ { flags: '--force', description: 'Force overwrite local even if local has changes' },
17
+ { flags: '--dry-run', description: 'Show what would be synced without making changes' },
18
+ { flags: '--json', description: 'Output results as JSON' }
19
+ ],
20
+ aliases: [],
21
+ surfaces: ['cli'],
22
+ hardware: ['consumer'],
23
+ enabled: true
24
+ };
25
+ export default descriptor;
26
+ //# sourceMappingURL=storage.sync.pull.cli-command.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.sync.pull.cli-command.descriptor.js","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA8B;IAC7C,IAAI,EAAE,aAAa;IACnB,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE;QACV;YACC,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;SACf;KACD;IACD,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iDAAiD,EAAE;QACpF,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kDAAkD,EAAE;QACvF,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;KAC1D;IACD,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * vibes storage sync pull [manifest-id]
3
+ *
4
+ * Pulls cloud data to local for storage manifests AND sync-bridges.
5
+ * Uses pullFromCloud() for storage manifests and SyncBridge.execute() for bridges.
6
+ *
7
+ * The manifest-id argument matches both manifest IDs and bridge IDs.
8
+ */
9
+ declare const _default: {
10
+ execute(args: Record<string, unknown>, opts: Record<string, unknown>): Promise<void>;
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=storage.sync.pull.cli-command.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.sync.pull.cli-command.impl.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;kBAgBkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD3F,wBAoJE"}