@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,516 @@
1
+ /**
2
+ * Storage Schema Interface
3
+ *
4
+ * Defines the interface for multi-table schemas with relations.
5
+ * This is what gets resolved when you query for a storage/schema descriptor.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const schema = await runtime
10
+ * .query('storage/schema')
11
+ * .withId('session')
12
+ * .resolve();
13
+ *
14
+ * // Access individual tables
15
+ * const sessions = schema.table('sessions');
16
+ * const todos = schema.table('todos');
17
+ *
18
+ * // Cross-table operations
19
+ * const sessionWithTodos = await schema.getTransaction(async (tx) => {
20
+ * const session = await sessions.create({ ... });
21
+ * await todos.create({ sessionId: session.id, title: 'First todo' });
22
+ * return session;
23
+ * });
24
+ *
25
+ * // Schema-level operations
26
+ * await schema.migrate();
27
+ * await schema.backup();
28
+ * ```
29
+ */
30
+ import type { z } from 'zod/v4';
31
+ import type { StorageRelation } from '../../schemas/record';
32
+ import type { StorageTableDefinition } from '../../schemas/schema';
33
+ import type { StorageTableInterface } from './table-interface';
34
+ import type { TransactionFn, TransactionContext } from '../record';
35
+ /**
36
+ * Migration status
37
+ */
38
+ export interface MigrationStatus {
39
+ /** Current schema version */
40
+ currentVersion: number;
41
+ /** Latest available version */
42
+ latestVersion: number;
43
+ /** Whether migrations are pending */
44
+ pending: boolean;
45
+ /** List of applied migrations */
46
+ applied: Array<{
47
+ version: number;
48
+ name?: string;
49
+ appliedAt: Date;
50
+ }>;
51
+ /** List of pending migrations */
52
+ pendingMigrations: Array<{
53
+ version: number;
54
+ name?: string;
55
+ }>;
56
+ }
57
+ /**
58
+ * Migration options
59
+ */
60
+ export interface MigrationOptions {
61
+ /** Target version (default: latest) */
62
+ targetVersion?: number;
63
+ /** Dry run (don't actually apply migrations) */
64
+ dryRun?: boolean;
65
+ /** Skip migrations that fail */
66
+ skipFailures?: boolean;
67
+ /** Force apply even if already applied */
68
+ force?: boolean;
69
+ }
70
+ /**
71
+ * Migration result
72
+ */
73
+ export interface MigrationResult {
74
+ /** Whether migration was successful */
75
+ success: boolean;
76
+ /** Applied migrations */
77
+ applied: Array<{
78
+ version: number;
79
+ name?: string;
80
+ duration: number;
81
+ }>;
82
+ /** Failed migrations */
83
+ failed: Array<{
84
+ version: number;
85
+ name?: string;
86
+ error: Error;
87
+ }>;
88
+ /** Total duration */
89
+ duration: number;
90
+ }
91
+ /**
92
+ * Backup options
93
+ */
94
+ export interface BackupOptions {
95
+ /** Backup name/identifier */
96
+ name?: string;
97
+ /** Tables to include (default: all) */
98
+ tables?: string[];
99
+ /** Tables to exclude */
100
+ excludeTables?: string[];
101
+ /** Include schema definition */
102
+ includeSchema?: boolean;
103
+ /** Compression algorithm */
104
+ compression?: 'none' | 'gzip' | 'brotli';
105
+ /** Output path */
106
+ path?: string;
107
+ }
108
+ /**
109
+ * Backup result
110
+ */
111
+ export interface BackupResult {
112
+ /** Backup ID */
113
+ id: string;
114
+ /** Backup name */
115
+ name: string;
116
+ /** Backup path */
117
+ path: string;
118
+ /** Backup size in bytes */
119
+ size: number;
120
+ /** Tables included */
121
+ tables: string[];
122
+ /** Backup timestamp */
123
+ createdAt: Date;
124
+ /** Checksum for verification */
125
+ checksum: string;
126
+ }
127
+ /**
128
+ * Restore options
129
+ */
130
+ export interface RestoreOptions {
131
+ /** Backup ID or path */
132
+ backup: string;
133
+ /** Tables to restore (default: all in backup) */
134
+ tables?: string[];
135
+ /** Drop existing tables before restore */
136
+ dropExisting?: boolean;
137
+ /** Verify checksum before restore */
138
+ verifyChecksum?: boolean;
139
+ /** Continue on errors */
140
+ continueOnError?: boolean;
141
+ }
142
+ /**
143
+ * Restore result
144
+ */
145
+ export interface RestoreResult {
146
+ /** Whether restore was successful */
147
+ success: boolean;
148
+ /** Restored tables */
149
+ tables: string[];
150
+ /** Number of records restored per table */
151
+ recordCounts: Record<string, number>;
152
+ /** Errors encountered */
153
+ errors: Array<{
154
+ table: string;
155
+ error: Error;
156
+ }>;
157
+ /** Duration in milliseconds */
158
+ duration: number;
159
+ }
160
+ /**
161
+ * Sync status
162
+ */
163
+ export interface SyncStatus {
164
+ /** Whether sync is enabled */
165
+ enabled: boolean;
166
+ /** Last sync time */
167
+ lastSync?: Date;
168
+ /** Sync direction */
169
+ direction: 'bidirectional' | 'to-cloud' | 'from-cloud';
170
+ /** Whether sync is in progress */
171
+ inProgress: boolean;
172
+ /** Number of pending changes */
173
+ pendingChanges: number;
174
+ /** Sync errors */
175
+ errors: Array<{
176
+ table: string;
177
+ error: Error;
178
+ timestamp: Date;
179
+ }>;
180
+ }
181
+ /**
182
+ * Sync options
183
+ */
184
+ export interface SyncOptions {
185
+ /** Force sync even if already in progress */
186
+ force?: boolean;
187
+ /** Tables to sync (default: all) */
188
+ tables?: string[];
189
+ /** Direction override */
190
+ direction?: 'bidirectional' | 'to-cloud' | 'from-cloud';
191
+ /** Dry run (don't actually sync) */
192
+ dryRun?: boolean;
193
+ }
194
+ /**
195
+ * Sync result
196
+ */
197
+ export interface SyncResult {
198
+ /** Whether sync was successful */
199
+ success: boolean;
200
+ /** Number of changes pushed */
201
+ pushed: number;
202
+ /** Number of changes pulled */
203
+ pulled: number;
204
+ /** Conflicts detected */
205
+ conflicts: Array<{
206
+ table: string;
207
+ id: string;
208
+ local: unknown;
209
+ remote: unknown;
210
+ }>;
211
+ /** Duration in milliseconds */
212
+ duration: number;
213
+ }
214
+ /**
215
+ * Cross-table query options
216
+ */
217
+ export interface CrossTableQueryOptions {
218
+ /** Tables to include */
219
+ tables: string[];
220
+ /** Join conditions */
221
+ joins: Array<{
222
+ from: {
223
+ table: string;
224
+ field: string;
225
+ };
226
+ to: {
227
+ table: string;
228
+ field: string;
229
+ };
230
+ type?: 'inner' | 'left' | 'right' | 'full';
231
+ }>;
232
+ /** Filter conditions */
233
+ where?: Record<string, unknown>;
234
+ /** Order by */
235
+ orderBy?: Array<{
236
+ table: string;
237
+ field: string;
238
+ direction: 'asc' | 'desc';
239
+ }>;
240
+ /** Limit */
241
+ limit?: number;
242
+ /** Offset */
243
+ offset?: number;
244
+ }
245
+ /**
246
+ * Schema statistics
247
+ */
248
+ export interface SchemaStatistics {
249
+ /** Table statistics */
250
+ tables: Record<string, {
251
+ /** Number of records */
252
+ recordCount: number;
253
+ /** Table size in bytes */
254
+ size: number;
255
+ /** Index size in bytes */
256
+ indexSize: number;
257
+ /** Last modified */
258
+ lastModified?: Date;
259
+ }>;
260
+ /** Total database size */
261
+ totalSize: number;
262
+ /** Database file path */
263
+ path: string;
264
+ }
265
+ /**
266
+ * Schema health status
267
+ */
268
+ export interface SchemaHealthStatus {
269
+ /** Whether schema is healthy */
270
+ healthy: boolean;
271
+ /** Database connection status */
272
+ connected: boolean;
273
+ /** Migration status */
274
+ migrations: MigrationStatus;
275
+ /** Integrity check result */
276
+ integrity: {
277
+ valid: boolean;
278
+ errors: string[];
279
+ };
280
+ /** Performance metrics */
281
+ performance: {
282
+ averageQueryTime: number;
283
+ slowQueries: number;
284
+ cacheHitRate: number;
285
+ };
286
+ }
287
+ /**
288
+ * Storage Schema Interface
289
+ *
290
+ * Provides access to multiple tables with cross-table operations.
291
+ */
292
+ export interface StorageSchemaInterface<TTables extends Record<string, StorageTableDefinition> = Record<string, StorageTableDefinition>> {
293
+ /** Schema ID */
294
+ readonly id: string;
295
+ /** Schema name */
296
+ readonly name: string;
297
+ /** Database name */
298
+ readonly dbName: string;
299
+ /** Available table names */
300
+ readonly tableNames: Extract<keyof TTables, string>[];
301
+ /** Zod schemas for all tables */
302
+ readonly schemas: {
303
+ [K in keyof TTables]: z.ZodType;
304
+ };
305
+ /** Relations between tables */
306
+ readonly relations: Record<string, Record<string, StorageRelation>>;
307
+ /**
308
+ * Get a table interface for operations
309
+ *
310
+ * @param tableName - Table name
311
+ * @returns Table interface
312
+ */
313
+ table<K extends Extract<keyof TTables, string>>(tableName: K): StorageTableInterface<z.infer<TTables[K]['schema']>, TTables[K]['relations'] extends Record<string, StorageRelation> ? TTables[K]['relations'] : Record<string, StorageRelation>>;
314
+ /**
315
+ * Check if table exists
316
+ *
317
+ * @param tableName - Table name
318
+ * @returns True if table exists
319
+ */
320
+ hasTable(tableName: string): boolean;
321
+ /**
322
+ * Get all table interfaces
323
+ *
324
+ * @returns Map of table name to interface
325
+ */
326
+ getTables(): Map<string, StorageTableInterface>;
327
+ /**
328
+ * Execute operations in a transaction
329
+ *
330
+ * @param fn - Transaction function
331
+ * @returns Transaction result
332
+ */
333
+ transaction<T>(fn: TransactionFn<T>): Promise<T>;
334
+ /**
335
+ * Begin a transaction explicitly
336
+ *
337
+ * @returns Transaction context
338
+ */
339
+ beginTransaction(): Promise<TransactionContext>;
340
+ /**
341
+ * Commit a transaction
342
+ *
343
+ * @param tx - Transaction context
344
+ */
345
+ commitTransaction(tx: TransactionContext): Promise<void>;
346
+ /**
347
+ * Rollback a transaction
348
+ *
349
+ * @param tx - Transaction context
350
+ */
351
+ rollbackTransaction(tx: TransactionContext): Promise<void>;
352
+ /**
353
+ * Execute a cross-table query with joins
354
+ *
355
+ * @param options - Query options
356
+ * @returns Query results
357
+ */
358
+ query(options: CrossTableQueryOptions): Promise<Record<string, unknown>[]>;
359
+ /**
360
+ * Batch operations across multiple tables
361
+ *
362
+ * @param operations - Array of operations
363
+ * @returns Array of results
364
+ */
365
+ batch(operations: Array<{
366
+ table: string;
367
+ operation: 'create' | 'update' | 'delete';
368
+ data?: unknown;
369
+ id?: string;
370
+ }>): Promise<unknown[]>;
371
+ /**
372
+ * Truncate multiple tables
373
+ *
374
+ * @param tables - Table names (default: all tables)
375
+ * @param options - Truncate options
376
+ */
377
+ truncate(tables?: string[], options?: {
378
+ restartIdentity?: boolean;
379
+ cascade?: boolean;
380
+ }): Promise<void>;
381
+ /**
382
+ * Run migrations
383
+ *
384
+ * @param options - Migration options
385
+ * @returns Migration result
386
+ */
387
+ migrate(options?: MigrationOptions): Promise<MigrationResult>;
388
+ /**
389
+ * Rollback migrations
390
+ *
391
+ * @param steps - Number of migrations to rollback (default: 1)
392
+ * @returns Migration result
393
+ */
394
+ rollback(steps?: number): Promise<MigrationResult>;
395
+ /**
396
+ * Get migration status
397
+ *
398
+ * @returns Migration status
399
+ */
400
+ getMigrationStatus(): Promise<MigrationStatus>;
401
+ /**
402
+ * Reset schema (drop all tables and re-run migrations)
403
+ *
404
+ * @param options - Reset options
405
+ */
406
+ reset(options?: {
407
+ seed?: boolean;
408
+ }): Promise<void>;
409
+ /**
410
+ * Create a backup
411
+ *
412
+ * @param options - Backup options
413
+ * @returns Backup result
414
+ */
415
+ backup(options?: BackupOptions): Promise<BackupResult>;
416
+ /**
417
+ * Restore from a backup
418
+ *
419
+ * @param options - Restore options
420
+ * @returns Restore result
421
+ */
422
+ restore(options: RestoreOptions): Promise<RestoreResult>;
423
+ /**
424
+ * List available backups
425
+ *
426
+ * @returns List of backups
427
+ */
428
+ listBackups(): Promise<Array<{
429
+ id: string;
430
+ name: string;
431
+ createdAt: Date;
432
+ size: number;
433
+ tables: string[];
434
+ }>>;
435
+ /**
436
+ * Delete a backup
437
+ *
438
+ * @param backupId - Backup ID
439
+ */
440
+ deleteBackup(backupId: string): Promise<void>;
441
+ /**
442
+ * Sync with remote storage
443
+ *
444
+ * @param options - Sync options
445
+ * @returns Sync result
446
+ */
447
+ sync(options?: SyncOptions): Promise<SyncResult>;
448
+ /**
449
+ * Get sync status
450
+ *
451
+ * @returns Sync status
452
+ */
453
+ getSyncStatus(): Promise<SyncStatus>;
454
+ /**
455
+ * Enable sync
456
+ */
457
+ enableSync(): Promise<void>;
458
+ /**
459
+ * Disable sync
460
+ */
461
+ disableSync(): Promise<void>;
462
+ /**
463
+ * Get schema statistics
464
+ *
465
+ * @returns Schema statistics
466
+ */
467
+ getStatistics(): Promise<SchemaStatistics>;
468
+ /**
469
+ * Get health status
470
+ *
471
+ * @returns Health status
472
+ */
473
+ getHealth(): Promise<SchemaHealthStatus>;
474
+ /**
475
+ * Check database integrity
476
+ *
477
+ * @returns Integrity check result
478
+ */
479
+ checkIntegrity(): Promise<{
480
+ valid: boolean;
481
+ errors: string[];
482
+ }>;
483
+ /**
484
+ * Optimize database (vacuum, analyze, etc.)
485
+ */
486
+ optimize(): Promise<void>;
487
+ /**
488
+ * Get adapter ID
489
+ *
490
+ * @returns Adapter ID
491
+ */
492
+ getAdapterId(): string;
493
+ /**
494
+ * Export schema definition
495
+ *
496
+ * @returns Schema definition
497
+ */
498
+ exportSchema(): Record<string, unknown>;
499
+ /**
500
+ * Validate data against table schema
501
+ *
502
+ * @param tableName - Table name
503
+ * @param data - Data to validate
504
+ * @returns Validation result
505
+ */
506
+ validate<K extends Extract<keyof TTables, string>>(tableName: K, data: unknown): Promise<{
507
+ success: boolean;
508
+ data?: unknown;
509
+ errors?: z.ZodError;
510
+ }>;
511
+ /**
512
+ * Close all connections and cleanup
513
+ */
514
+ close(): Promise<void>;
515
+ }
516
+ //# sourceMappingURL=schema-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/schema/schema-interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Storage Schema Interface
3
+ *
4
+ * Defines the interface for multi-table schemas with relations.
5
+ * This is what gets resolved when you query for a storage/schema descriptor.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const schema = await runtime
10
+ * .query('storage/schema')
11
+ * .withId('session')
12
+ * .resolve();
13
+ *
14
+ * // Access individual tables
15
+ * const sessions = schema.table('sessions');
16
+ * const todos = schema.table('todos');
17
+ *
18
+ * // Cross-table operations
19
+ * const sessionWithTodos = await schema.getTransaction(async (tx) => {
20
+ * const session = await sessions.create({ ... });
21
+ * await todos.create({ sessionId: session.id, title: 'First todo' });
22
+ * return session;
23
+ * });
24
+ *
25
+ * // Schema-level operations
26
+ * await schema.migrate();
27
+ * await schema.backup();
28
+ * ```
29
+ */
30
+ export {};
31
+ //# sourceMappingURL=schema-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-interface.js","sourceRoot":"","sources":["../../../src/interfaces/schema/schema-interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}