@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
@@ -0,0 +1,187 @@
1
+ import { StorageManifest } from '../manifest/base.js';
2
+ import { resolveAdapterOrderBySource, resolveScopeForSource, resolveSourceFromAdapter } from '../manifest/source-policy.js';
3
+ export class StorageBackedResolver {
4
+ context;
5
+ manifestId;
6
+ manifestKind;
7
+ targetKind;
8
+ constructor(descriptor, context) {
9
+ this.context = context;
10
+ this.manifestId = descriptor.manifestId;
11
+ this.manifestKind = descriptor.manifestKind ?? 'storage/manifest';
12
+ this.targetKind = descriptor.targetKind;
13
+ }
14
+ async fetch(id, options) {
15
+ const cached = options?.cache?.getDescriptors()?.find((descriptor) => descriptor.id === id);
16
+ if (cached)
17
+ return cached;
18
+ const bridgeConfig = this.getBridgeConfig();
19
+ if (!bridgeConfig)
20
+ return null;
21
+ const items = await this.loadItems(bridgeConfig);
22
+ if (!items)
23
+ return null;
24
+ let resolved = null;
25
+ for (const sourced of items) {
26
+ if (bridgeConfig.filter && !bridgeConfig.filter(sourced.item))
27
+ continue;
28
+ const descriptor = bridgeConfig.toDescriptor(sourced.item);
29
+ if (descriptor.id === id) {
30
+ resolved = this.withRuntimeSource(descriptor, sourced.source);
31
+ }
32
+ }
33
+ if (resolved && options?.cache) {
34
+ const cacheLimit = options.maxCacheSize ?? 1000;
35
+ const descriptors = await this.fetchAll({ maxCacheSize: cacheLimit });
36
+ if (descriptors.length <= cacheLimit)
37
+ options.cache.setDescriptors(descriptors);
38
+ }
39
+ return resolved;
40
+ }
41
+ async fetchAll(options) {
42
+ const cached = options?.cache?.getDescriptors();
43
+ if (cached)
44
+ return this.applyLimit(cached, options?.limit);
45
+ const bridgeConfig = this.getBridgeConfig();
46
+ if (!bridgeConfig)
47
+ return [];
48
+ const items = await this.loadItems(bridgeConfig);
49
+ if (!items)
50
+ return [];
51
+ const descriptorsById = new Map();
52
+ for (const sourced of items) {
53
+ if (bridgeConfig.filter && !bridgeConfig.filter(sourced.item))
54
+ continue;
55
+ const descriptor = bridgeConfig.toDescriptor(sourced.item);
56
+ descriptorsById.set(descriptor.id, this.withRuntimeSource(descriptor, sourced.source));
57
+ }
58
+ const descriptors = [...descriptorsById.values()];
59
+ const cacheLimit = options?.maxCacheSize ?? 1000;
60
+ if (options?.cache && descriptors.length <= cacheLimit) {
61
+ options.cache.setDescriptors(descriptors);
62
+ }
63
+ return this.applyLimit(descriptors, options?.limit);
64
+ }
65
+ applyLimit(descriptors, limit) {
66
+ if (!limit || limit < 1)
67
+ return descriptors;
68
+ return descriptors.slice(0, limit);
69
+ }
70
+ async loadItems(_bridgeConfig) {
71
+ const manifestDescriptor = this.getManifestDescriptor();
72
+ if (!manifestDescriptor)
73
+ return null;
74
+ const adapterIds = this.getOrderedAdapters(manifestDescriptor);
75
+ if (adapterIds.length === 0)
76
+ return null;
77
+ const sourceData = await Promise.all(adapterIds.map(async (adapterId) => ({
78
+ source: resolveSourceFromAdapter(adapterId),
79
+ data: await this.loadFromAdapter(manifestDescriptor, adapterId)
80
+ })));
81
+ const items = this.mergeSourcedItems(sourceData);
82
+ if (items.length === 0)
83
+ return null;
84
+ return items;
85
+ }
86
+ getManifestDescriptor() {
87
+ const runtime = this.context.runtime;
88
+ if (!runtime.hasKind(this.manifestKind))
89
+ return null;
90
+ const descriptor = runtime.assets(this.manifestKind).descriptor(this.manifestId);
91
+ if (!descriptor || typeof descriptor !== 'object')
92
+ return null;
93
+ return descriptor;
94
+ }
95
+ getOrderedAdapters(descriptor) {
96
+ return resolveAdapterOrderBySource(Array.isArray(descriptor.allowedAdapters) ? descriptor.allowedAdapters : []);
97
+ }
98
+ async loadFromAdapter(descriptor, adapterId) {
99
+ try {
100
+ const patched = this.patchDescriptorForAdapter(descriptor, adapterId);
101
+ const manifest = new StorageManifest(patched, this.context);
102
+ return await manifest.load();
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }
108
+ patchDescriptorForAdapter(descriptor, adapterId) {
109
+ const source = resolveSourceFromAdapter(adapterId);
110
+ const allowedAdapters = [
111
+ adapterId,
112
+ ...(descriptor.allowedAdapters ?? []).filter((id) => id !== adapterId)
113
+ ];
114
+ const adapterConfig = { ...descriptor.adapterConfig };
115
+ if (adapterId === 'storage.json') {
116
+ const jsonConfig = adapterConfig['storage.json'];
117
+ if (!jsonConfig || typeof jsonConfig !== 'object') {
118
+ adapterConfig['storage.json'] = { filename: `${descriptor.namespace}.json` };
119
+ }
120
+ }
121
+ const scopePaths = descriptor.scopePaths ? { ...descriptor.scopePaths } : undefined;
122
+ if (source === 'project-file' && adapterId === 'storage.json') {
123
+ const nextScopePaths = scopePaths ?? {};
124
+ nextScopePaths.project = '{workspace}';
125
+ nextScopePaths.local = '{workspace}';
126
+ return {
127
+ ...descriptor,
128
+ allowedAdapters,
129
+ defaultAdapter: adapterId,
130
+ scope: resolveScopeForSource(source, descriptor.scope),
131
+ scopePaths: nextScopePaths,
132
+ adapterConfig
133
+ };
134
+ }
135
+ return {
136
+ ...descriptor,
137
+ allowedAdapters,
138
+ defaultAdapter: adapterId,
139
+ scope: source ? resolveScopeForSource(source, descriptor.scope) : descriptor.scope,
140
+ scopePaths,
141
+ adapterConfig
142
+ };
143
+ }
144
+ mergeSourcedItems(values) {
145
+ const byId = new Map();
146
+ const loose = [];
147
+ for (const entry of values) {
148
+ if (entry.data === null || entry.data === undefined)
149
+ continue;
150
+ for (const item of this.asItems(entry.data)) {
151
+ if (item && typeof item === 'object' && typeof item.id === 'string') {
152
+ const id = item.id;
153
+ if (!byId.has(id))
154
+ byId.set(id, { item, source: entry.source });
155
+ continue;
156
+ }
157
+ loose.push({ item, source: entry.source });
158
+ }
159
+ }
160
+ return [...loose, ...byId.values()];
161
+ }
162
+ asItems(data) {
163
+ if (!data)
164
+ return [];
165
+ if (Array.isArray(data))
166
+ return data;
167
+ if (typeof data === 'object' && data !== null && data.constructor === Object) {
168
+ return Object.values(data);
169
+ }
170
+ return [data];
171
+ }
172
+ withRuntimeSource(descriptor, source) {
173
+ if (!source)
174
+ return descriptor;
175
+ return Object.assign({}, descriptor, { runtimeSource: source });
176
+ }
177
+ getBridgeConfig() {
178
+ const runtime = this.context.runtime;
179
+ if (!runtime.hasKind(this.manifestKind))
180
+ return null;
181
+ const manifestDescriptor = runtime.assets(this.manifestKind).descriptor(this.manifestId);
182
+ if (!manifestDescriptor?.providesRuntimeKinds)
183
+ return null;
184
+ return (manifestDescriptor.providesRuntimeKinds[this.targetKind] ?? null);
185
+ }
186
+ }
187
+ //# sourceMappingURL=storage-backed-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-backed-resolver.js","sourceRoot":"","sources":["../../src/resolver/storage-backed-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Storage Adapter Descriptor Schema
3
+ *
4
+ * Schema for storage/adapter kind descriptors.
5
+ * Extends base descriptor with storage-specific fields.
6
+ */
7
+ import * as z from 'zod/v4';
8
+ /**
9
+ * Storage protocols supported by adapters
10
+ */
11
+ export declare const StorageProtocolSchema: z.ZodEnum<{
12
+ document: "document";
13
+ keyvalue: "keyvalue";
14
+ repository: "repository";
15
+ record: "record";
16
+ }>;
17
+ /**
18
+ * Coarse-grained adapter capabilities surfaced to consumers.
19
+ *
20
+ * - `list` — adapter can enumerate items in a container (document protocol's `list()`).
21
+ * - `read` — adapter can read existing items.
22
+ * - `write` — adapter can create / update / delete items.
23
+ * - `browse` — adapter implements `list(driveId, path) → StorageEntry[]` and
24
+ * `listDrives() → StorageDrive[]` for foldered cloud-storage browsing
25
+ * (SharePoint, OneDrive, Google Drive, etc.). Consumers like the
26
+ * AI model-source picker filter on this capability to surface
27
+ * browsable backends.
28
+ */
29
+ export declare const StorageCapabilitySchema: z.ZodEnum<{
30
+ list: "list";
31
+ read: "read";
32
+ write: "write";
33
+ browse: "browse";
34
+ }>;
35
+ /**
36
+ * Storage adapter descriptor schema
37
+ */
38
+ export declare const StorageAdapterDescriptorSchema: z.ZodObject<{
39
+ id: z.ZodString;
40
+ name: z.ZodOptional<z.ZodString>;
41
+ description: z.ZodOptional<z.ZodString>;
42
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
+ enabled: z.ZodOptional<z.ZodBoolean>;
45
+ priority: z.ZodOptional<z.ZodNumber>;
46
+ requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
47
+ optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
+ kind: z.ZodLiteral<"storage/adapter">;
50
+ protocols: z.ZodArray<z.ZodEnum<{
51
+ document: "document";
52
+ keyvalue: "keyvalue";
53
+ repository: "repository";
54
+ record: "record";
55
+ }>>;
56
+ capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
57
+ list: "list";
58
+ read: "read";
59
+ write: "write";
60
+ browse: "browse";
61
+ }>>>;
62
+ requiresPairSchema: z.ZodDefault<z.ZodBoolean>;
63
+ supportsTransactions: z.ZodDefault<z.ZodBoolean>;
64
+ supportsTTL: z.ZodDefault<z.ZodBoolean>;
65
+ supportsSearch: z.ZodDefault<z.ZodBoolean>;
66
+ supportsFTS: z.ZodDefault<z.ZodBoolean>;
67
+ persistent: z.ZodDefault<z.ZodBoolean>;
68
+ supportsSubscription: z.ZodDefault<z.ZodBoolean>;
69
+ supportsHierarchy: z.ZodDefault<z.ZodBoolean>;
70
+ supportsComputedFields: z.ZodDefault<z.ZodBoolean>;
71
+ supportsSideEffects: z.ZodDefault<z.ZodBoolean>;
72
+ supportsRawQueries: z.ZodDefault<z.ZodBoolean>;
73
+ }, z.core.$strip>;
74
+ export type StorageProtocol = z.infer<typeof StorageProtocolSchema>;
75
+ export type StorageCapability = z.infer<typeof StorageCapabilitySchema>;
76
+ export type StorageAdapterDescriptor = z.infer<typeof StorageAdapterDescriptorSchema>;
77
+ /**
78
+ * A logical "drive" inside a browsable storage adapter — a top-level
79
+ * container the consumer picks before drilling into folders.
80
+ *
81
+ * For SharePoint: a `site`. For OneDrive: the user's default drive.
82
+ * For Google Drive (future): a "My Drive" or "Shared Drive" entry.
83
+ *
84
+ * Returned by `adapter.listDrives()`.
85
+ */
86
+ export declare const StorageDriveSchema: z.ZodObject<{
87
+ id: z.ZodString;
88
+ name: z.ZodString;
89
+ kind: z.ZodString;
90
+ }, z.core.$strip>;
91
+ export type StorageDrive = z.infer<typeof StorageDriveSchema>;
92
+ /**
93
+ * A single entry returned by `adapter.list(driveId, path)` —
94
+ * a file or directory inside a browsable storage adapter.
95
+ */
96
+ export declare const StorageEntrySchema: z.ZodObject<{
97
+ id: z.ZodString;
98
+ name: z.ZodString;
99
+ path: z.ZodString;
100
+ kind: z.ZodEnum<{
101
+ file: "file";
102
+ directory: "directory";
103
+ }>;
104
+ sizeBytes: z.ZodOptional<z.ZodNumber>;
105
+ modifiedAt: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>;
107
+ export type StorageEntry = z.infer<typeof StorageEntrySchema>;
108
+ //# sourceMappingURL=adapter-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-descriptor.d.ts","sourceRoot":"","sources":["../../src/schemas/adapter-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;EAA2D,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;;;;;EAA8C,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6CzC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAItF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;iBAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Storage Adapter Descriptor Schema
3
+ *
4
+ * Schema for storage/adapter kind descriptors.
5
+ * Extends base descriptor with storage-specific fields.
6
+ */
7
+ import * as z from 'zod/v4';
8
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
9
+ /**
10
+ * Storage protocols supported by adapters
11
+ */
12
+ export const StorageProtocolSchema = z.enum(['document', 'keyvalue', 'repository', 'record']);
13
+ /**
14
+ * Coarse-grained adapter capabilities surfaced to consumers.
15
+ *
16
+ * - `list` — adapter can enumerate items in a container (document protocol's `list()`).
17
+ * - `read` — adapter can read existing items.
18
+ * - `write` — adapter can create / update / delete items.
19
+ * - `browse` — adapter implements `list(driveId, path) → StorageEntry[]` and
20
+ * `listDrives() → StorageDrive[]` for foldered cloud-storage browsing
21
+ * (SharePoint, OneDrive, Google Drive, etc.). Consumers like the
22
+ * AI model-source picker filter on this capability to surface
23
+ * browsable backends.
24
+ */
25
+ export const StorageCapabilitySchema = z.enum(['list', 'read', 'write', 'browse']);
26
+ /**
27
+ * Storage adapter descriptor schema
28
+ */
29
+ export const StorageAdapterDescriptorSchema = RuntimeDescriptorSchema.extend({
30
+ kind: z.literal('storage/adapter'),
31
+ /** Storage protocols supported by this adapter */
32
+ protocols: z.array(StorageProtocolSchema),
33
+ /**
34
+ * Coarse-grained capability flags consumed by clients that
35
+ * want to filter adapters by what they can do. `browse` implies the
36
+ * adapter implements `list(driveId, path)` + `listDrives()`.
37
+ */
38
+ capabilities: z.array(StorageCapabilitySchema).default(['read', 'write']),
39
+ /** Whether adapter requires pair schema (key + value) for main storage */
40
+ requiresPairSchema: z.boolean().default(false),
41
+ /** Whether adapter supports transactions */
42
+ supportsTransactions: z.boolean().default(false),
43
+ /** Whether adapter supports TTL (for caches) */
44
+ supportsTTL: z.boolean().default(false),
45
+ /** Whether adapter supports full-text search */
46
+ supportsSearch: z.boolean().default(false),
47
+ /** Whether adapter supports full-text search (alias for supportsSearch) */
48
+ supportsFTS: z.boolean().default(false),
49
+ /** Whether adapter is persistent (survives restarts) */
50
+ persistent: z.boolean().default(false),
51
+ /** Whether adapter supports change subscriptions */
52
+ supportsSubscription: z.boolean().default(false),
53
+ /** Whether adapter supports hierarchical/recursive queries */
54
+ supportsHierarchy: z.boolean().default(false),
55
+ /** Whether adapter supports computed fields (aggregations) */
56
+ supportsComputedFields: z.boolean().default(false),
57
+ /** Whether adapter supports cross-table side effects */
58
+ supportsSideEffects: z.boolean().default(false),
59
+ /** Whether adapter supports raw SQL queries */
60
+ supportsRawQueries: z.boolean().default(false)
61
+ });
62
+ // Browse — drive + entry shapes for `browse`-capable adapters
63
+ /**
64
+ * A logical "drive" inside a browsable storage adapter — a top-level
65
+ * container the consumer picks before drilling into folders.
66
+ *
67
+ * For SharePoint: a `site`. For OneDrive: the user's default drive.
68
+ * For Google Drive (future): a "My Drive" or "Shared Drive" entry.
69
+ *
70
+ * Returned by `adapter.listDrives()`.
71
+ */
72
+ export const StorageDriveSchema = z.object({
73
+ /** Stable provider-side identifier for the drive (site id, drive id, etc.). */
74
+ id: z.string(),
75
+ /** Human-readable name. */
76
+ name: z.string(),
77
+ /**
78
+ * Provider-specific drive kind. Free-form by design — consumers do
79
+ * not match on this. Example values: `'site'`, `'drive'`, `'shared'`.
80
+ */
81
+ kind: z.string()
82
+ });
83
+ /**
84
+ * A single entry returned by `adapter.list(driveId, path)` —
85
+ * a file or directory inside a browsable storage adapter.
86
+ */
87
+ export const StorageEntrySchema = z.object({
88
+ /** Stable provider-side identifier (drive item id, blob id, etc.). */
89
+ id: z.string(),
90
+ /** Display name (e.g. `Quarterly Report.pdf`). */
91
+ name: z.string(),
92
+ /** Path relative to the drive root, including the entry's own name. */
93
+ path: z.string(),
94
+ /** File vs directory discriminator. */
95
+ kind: z.enum(['file', 'directory']),
96
+ /** Size in bytes when known (directories omit this). */
97
+ sizeBytes: z.number().int().optional(),
98
+ /** Last modified timestamp (ISO 8601, when known). */
99
+ modifiedAt: z.string().optional()
100
+ });
101
+ //# sourceMappingURL=adapter-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-descriptor.js","sourceRoot":"","sources":["../../src/schemas/adapter-descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Storage Schemas
3
+ *
4
+ * Export all storage-related schemas and types.
5
+ */
6
+ export { StorageProtocolSchema, StorageCapabilitySchema, StorageAdapterDescriptorSchema, StorageDriveSchema, StorageEntrySchema } from './adapter-descriptor';
7
+ export type { StorageProtocol, StorageCapability, StorageAdapterDescriptor, StorageDrive, StorageEntry } from './adapter-descriptor';
8
+ export { StorageScopeSchema, StorageDataTypeSchema, StorageCloudApiAdapterConfigSchema, StorageManifestDescriptorSchema, } from './manifest-descriptor';
9
+ export type { StorageScope, StorageDataType, StorageCloudApiAdapterConfig, StorageManifestDescriptor } from './manifest-descriptor';
10
+ export { StorageRecordDescriptorSchema, StorageSyncConfigSchema, StorageRemoteCrudSchema, StorageRemoteConfigSchema, StoragePersistenceModeSchema, StoragePersistencePolicySchema, StorageOwnershipFilterSchema, StorageRelationTypeSchema, StorageRelationSchema, StorageIndexSchema, StorageMigrationSchema, StorageFieldConfigSchema, StorageFtsConfigSchema, StorageComputedFieldSchema, StorageHierarchyConfigSchema, StorageSideEffectOperationSchema, StorageSideEffectSchema, StorageSideEffectsConfigSchema } from './record';
11
+ export type { StorageRecordDescriptor, StorageRecordDescriptorInput, StorageSyncConfig, StorageRemoteCrud, StorageRemoteConfig, StoragePersistenceMode, StoragePersistencePolicy, StorageOwnershipFilter, StorageSyncContext, StorageRecordLocalSyncContext, StorageRecordRemoteSyncContext, StorageRecordSyncHooks, StorageRelationType, StorageRelation, StorageIndex, StorageIndexInput, StorageMigration, StorageMigrationInput, StorageFieldConfig, StorageFieldConfigInput, StorageFtsConfig, StorageFtsConfigInput, StorageComputedField, StorageComputedFieldInput, StorageHierarchyConfig, StorageHierarchyConfigInput, StorageSideEffectOperation, StorageSideEffect, StorageSideEffectInput, StorageSideEffectsConfig, StorageSideEffectsConfigInput } from './record';
12
+ export { StorageSchemaDescriptorSchema, StorageTableDefinitionSchema, MigrationSourceSchema } from './schema';
13
+ export type { StorageSchemaDescriptor, StorageTableDefinition, MigrationSource } from './schema';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,kBAAkB,EAClB,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACX,YAAY,EACZ,eAAe,EACf,4BAA4B,EAC5B,yBAAyB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACN,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAElB,YAAY,EACX,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,UAAU,CAAC;AAElB,YAAY,EACX,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,MAAM,UAAU,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Storage Schemas
3
+ *
4
+ * Export all storage-related schemas and types.
5
+ */
6
+ export { StorageProtocolSchema, StorageCapabilitySchema, StorageAdapterDescriptorSchema, StorageDriveSchema, StorageEntrySchema } from './adapter-descriptor.js';
7
+ export { StorageScopeSchema, StorageDataTypeSchema, StorageCloudApiAdapterConfigSchema, StorageManifestDescriptorSchema, } from './manifest-descriptor.js';
8
+ // Storage record kind (single table CRUD operations)
9
+ export { StorageRecordDescriptorSchema, StorageSyncConfigSchema, StorageRemoteCrudSchema, StorageRemoteConfigSchema, StoragePersistenceModeSchema, StoragePersistencePolicySchema, StorageOwnershipFilterSchema, StorageRelationTypeSchema, StorageRelationSchema, StorageIndexSchema, StorageMigrationSchema, StorageFieldConfigSchema, StorageFtsConfigSchema, StorageComputedFieldSchema, StorageHierarchyConfigSchema, StorageSideEffectOperationSchema, StorageSideEffectSchema, StorageSideEffectsConfigSchema } from './record';
10
+ // Storage schema kind (multi-table schemas with relations)
11
+ export { StorageSchemaDescriptorSchema, StorageTableDefinitionSchema, MigrationSourceSchema } from './schema';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACN,kBAAkB,EAClB,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAS/B,qDAAqD;AACrD,OAAO,EACN,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAoClB,2DAA2D;AAC3D,OAAO,EACN,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Storage Manifest Descriptor Schema
3
+ *
4
+ * Schema for storage/manifest kind descriptors.
5
+ * Describes a data type that can be stored.
6
+ */
7
+ import * as z from 'zod/v4';
8
+ /**
9
+ * Storage scope for path resolution
10
+ */
11
+ export declare const StorageScopeSchema: z.ZodEnum<{
12
+ global: "global";
13
+ project: "project";
14
+ local: "local";
15
+ auto: "auto";
16
+ }>;
17
+ /**
18
+ * Canonical storage data shape.
19
+ *
20
+ * - raw: keyed raw text values
21
+ * - records: structured row collection with CRUD semantics
22
+ * - objects: keyed JSON/blob objects or a whole document object
23
+ */
24
+ export declare const StorageDataTypeSchema: z.ZodEnum<{
25
+ raw: "raw";
26
+ records: "records";
27
+ objects: "objects";
28
+ }>;
29
+ /**
30
+ * Per-scope path configuration
31
+ * Allows manifests to customize base paths for each scope
32
+ */
33
+ export declare const ScopePathConfigSchema: z.ZodOptional<z.ZodObject<{
34
+ global: z.ZodOptional<z.ZodString>;
35
+ project: z.ZodOptional<z.ZodString>;
36
+ local: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strip>>;
38
+ /**
39
+ * Adapter-specific configuration
40
+ * Each adapter can define its own config shape
41
+ *
42
+ * Examples:
43
+ * - storage.drizzle: { tableName: 'ai_models', transforms: { toDb, fromDb } }
44
+ * - storage.localdb: { tableName: 'ai_models', createTable: 'CREATE TABLE...', dbName: 'custom.db', migrationKey: 'my-migrations' }
45
+ * - storage.json: { filename: 'ai-models.json' }
46
+ * - storage.cloud-api: { endpoint: '/api/models', ownerApp: 'ai' }
47
+ */
48
+ export declare const StorageAdapterConfigSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
49
+ export declare const StorageCloudApiAdapterConfigSchema: z.ZodObject<{
50
+ ownerApp: z.ZodOptional<z.ZodString>;
51
+ endpoint: z.ZodOptional<z.ZodString>;
52
+ apiEndpoint: z.ZodOptional<z.ZodString>;
53
+ idField: z.ZodDefault<z.ZodString>;
54
+ transform: z.ZodOptional<z.ZodObject<{
55
+ from: z.ZodOptional<z.ZodString>;
56
+ to: z.ZodOptional<z.ZodString>;
57
+ }, z.core.$strip>>;
58
+ }, z.core.$strip>;
59
+ /**
60
+ * Storage manifest descriptor schema
61
+ */
62
+ export declare const StorageManifestDescriptorSchema: z.ZodObject<{
63
+ id: z.ZodString;
64
+ name: z.ZodOptional<z.ZodString>;
65
+ description: z.ZodOptional<z.ZodString>;
66
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
67
+ hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
68
+ enabled: z.ZodOptional<z.ZodBoolean>;
69
+ priority: z.ZodOptional<z.ZodNumber>;
70
+ requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
71
+ optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
72
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
73
+ kind: z.ZodLiteral<"storage/manifest">;
74
+ namespace: z.ZodString;
75
+ schema: z.ZodUnknown;
76
+ dataType: z.ZodOptional<z.ZodEnum<{
77
+ raw: "raw";
78
+ records: "records";
79
+ objects: "objects";
80
+ }>>;
81
+ idField: z.ZodOptional<z.ZodDefault<z.ZodString>>;
82
+ collectionField: z.ZodOptional<z.ZodString>;
83
+ allowedAdapters: z.ZodArray<z.ZodString>;
84
+ defaultAdapter: z.ZodOptional<z.ZodString>;
85
+ adapterConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
86
+ scope: z.ZodDefault<z.ZodEnum<{
87
+ global: "global";
88
+ project: "project";
89
+ local: "local";
90
+ auto: "auto";
91
+ }>>;
92
+ scopePaths: z.ZodOptional<z.ZodObject<{
93
+ global: z.ZodOptional<z.ZodString>;
94
+ project: z.ZodOptional<z.ZodString>;
95
+ local: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strip>>;
97
+ sensitiveFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ customTables: z.ZodDefault<z.ZodBoolean>;
99
+ migrationKey: z.ZodOptional<z.ZodString>;
100
+ version: z.ZodDefault<z.ZodNumber>;
101
+ internal: z.ZodDefault<z.ZodBoolean>;
102
+ configManifestId: z.ZodOptional<z.ZodString>;
103
+ providesRuntimeKinds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
+ }, z.core.$strip>;
105
+ export type StorageScope = z.infer<typeof StorageScopeSchema>;
106
+ export type StorageDataType = z.infer<typeof StorageDataTypeSchema>;
107
+ export type ScopePathConfig = z.infer<typeof ScopePathConfigSchema>;
108
+ export type StorageCloudApiAdapterConfig = z.infer<typeof StorageCloudApiAdapterConfigSchema>;
109
+ export type StorageManifestDescriptor = z.infer<typeof StorageManifestDescriptorSchema>;
110
+ //# sourceMappingURL=manifest-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-descriptor.d.ts","sourceRoot":"","sources":["../../src/schemas/manifest-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;EAAiD,CAAC;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;EAAwC,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;kBAMtB,CAAC;AAEb;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,wCAAoC,CAAC;AAE5E,eAAO,MAAM,kCAAkC;;;;;;;;;iBAgB7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmE1C,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}