@vibesdotdev/storage 0.0.1 → 1.0.0-rc.3

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 (1463) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +87 -63
  3. package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.d.ts +10 -0
  4. package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.d.ts.map +1 -0
  5. package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.js +40 -0
  6. package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.js.map +1 -0
  7. package/dist/adapters/cloud-api/cloud-api.adapter.impl.d.ts +93 -0
  8. package/dist/adapters/cloud-api/cloud-api.adapter.impl.d.ts.map +1 -0
  9. package/dist/adapters/cloud-api/cloud-api.adapter.impl.js +437 -0
  10. package/dist/adapters/cloud-api/cloud-api.adapter.impl.js.map +1 -0
  11. package/dist/adapters/cloud-api/cloud-api.fetch-client.d.ts +59 -0
  12. package/dist/adapters/cloud-api/cloud-api.fetch-client.d.ts.map +1 -0
  13. package/dist/adapters/cloud-api/cloud-api.fetch-client.js +357 -0
  14. package/dist/adapters/cloud-api/cloud-api.fetch-client.js.map +1 -0
  15. package/dist/adapters/cloud-api/cloud-api.record.d.ts +85 -0
  16. package/dist/adapters/cloud-api/cloud-api.record.d.ts.map +1 -0
  17. package/dist/adapters/cloud-api/cloud-api.record.helpers.d.ts +71 -0
  18. package/dist/adapters/cloud-api/cloud-api.record.helpers.d.ts.map +1 -0
  19. package/dist/adapters/cloud-api/cloud-api.record.helpers.js +270 -0
  20. package/dist/adapters/cloud-api/cloud-api.record.helpers.js.map +1 -0
  21. package/dist/adapters/cloud-api/cloud-api.record.js +351 -0
  22. package/dist/adapters/cloud-api/cloud-api.record.js.map +1 -0
  23. package/dist/adapters/cloud-api/cloud-api.test-utils.d.ts +38 -0
  24. package/dist/adapters/cloud-api/cloud-api.test-utils.d.ts.map +1 -0
  25. package/dist/adapters/cloud-api/cloud-api.test-utils.js +139 -0
  26. package/dist/adapters/cloud-api/cloud-api.test-utils.js.map +1 -0
  27. package/dist/adapters/cloud-api/index.d.ts +10 -0
  28. package/dist/adapters/cloud-api/index.d.ts.map +1 -0
  29. package/dist/adapters/cloud-api/index.js +10 -0
  30. package/dist/adapters/cloud-api/index.js.map +1 -0
  31. package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.d.ts +9 -0
  32. package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.d.ts.map +1 -0
  33. package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.js +21 -0
  34. package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.js.map +1 -0
  35. package/dist/adapters/drizzle/batch-type-proof.d.ts +21 -0
  36. package/dist/adapters/drizzle/batch-type-proof.d.ts.map +1 -0
  37. package/dist/adapters/drizzle/batch-type-proof.js +2 -0
  38. package/dist/adapters/drizzle/batch-type-proof.js.map +1 -0
  39. package/dist/adapters/drizzle/canonical.adapter.descriptor.d.ts +4 -0
  40. package/dist/adapters/drizzle/canonical.adapter.descriptor.d.ts.map +1 -0
  41. package/dist/adapters/drizzle/canonical.adapter.descriptor.js +29 -0
  42. package/dist/adapters/drizzle/canonical.adapter.descriptor.js.map +1 -0
  43. package/dist/adapters/drizzle/contracts.d.ts +24 -0
  44. package/dist/adapters/drizzle/contracts.d.ts.map +1 -0
  45. package/dist/adapters/drizzle/contracts.js +5 -0
  46. package/dist/adapters/drizzle/contracts.js.map +1 -0
  47. package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.d.ts +4 -0
  48. package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.d.ts.map +1 -0
  49. package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.js +187 -0
  50. package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.js.map +1 -0
  51. package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.d.ts +15 -0
  52. package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.d.ts.map +1 -0
  53. package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.js +59 -0
  54. package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.js.map +1 -0
  55. package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.d.ts +5 -0
  56. package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.d.ts.map +1 -0
  57. package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.js +27 -0
  58. package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.js.map +1 -0
  59. package/dist/adapters/drizzle/drizzle.adapter.descriptor.d.ts +2 -0
  60. package/dist/adapters/drizzle/drizzle.adapter.descriptor.d.ts.map +1 -0
  61. package/dist/adapters/drizzle/drizzle.adapter.descriptor.js +3 -0
  62. package/dist/adapters/drizzle/drizzle.adapter.descriptor.js.map +1 -0
  63. package/dist/adapters/drizzle/drizzle.adapter.impl.d.ts +37 -0
  64. package/dist/adapters/drizzle/drizzle.adapter.impl.d.ts.map +1 -0
  65. package/dist/adapters/drizzle/drizzle.adapter.impl.js +1163 -0
  66. package/dist/adapters/drizzle/drizzle.adapter.impl.js.map +1 -0
  67. package/dist/adapters/drizzle/extensions.d.ts +5 -0
  68. package/dist/adapters/drizzle/extensions.d.ts.map +1 -0
  69. package/dist/adapters/drizzle/extensions.js +30 -0
  70. package/dist/adapters/drizzle/extensions.js.map +1 -0
  71. package/dist/adapters/drizzle/index.d.ts +12 -0
  72. package/dist/adapters/drizzle/index.d.ts.map +1 -0
  73. package/dist/adapters/drizzle/index.js +12 -0
  74. package/dist/adapters/drizzle/index.js.map +1 -0
  75. package/dist/adapters/drizzle/libsql-migrator.d.ts +23 -0
  76. package/dist/adapters/drizzle/libsql-migrator.d.ts.map +1 -0
  77. package/dist/adapters/drizzle/libsql-migrator.js +67 -0
  78. package/dist/adapters/drizzle/libsql-migrator.js.map +1 -0
  79. package/dist/adapters/drizzle/libsql.d.ts +15 -0
  80. package/dist/adapters/drizzle/libsql.d.ts.map +1 -0
  81. package/dist/adapters/drizzle/libsql.js +19 -0
  82. package/dist/adapters/drizzle/libsql.js.map +1 -0
  83. package/dist/adapters/drizzle/migration-files.d.ts +15 -0
  84. package/dist/adapters/drizzle/migration-files.d.ts.map +1 -0
  85. package/dist/adapters/drizzle/migration-files.js +54 -0
  86. package/dist/adapters/drizzle/migration-files.js.map +1 -0
  87. package/dist/adapters/drizzle/migration-statements.d.ts +7 -0
  88. package/dist/adapters/drizzle/migration-statements.d.ts.map +1 -0
  89. package/dist/adapters/drizzle/migration-statements.js +14 -0
  90. package/dist/adapters/drizzle/migration-statements.js.map +1 -0
  91. package/dist/adapters/drizzle/persistence-errors.d.ts +33 -0
  92. package/dist/adapters/drizzle/persistence-errors.d.ts.map +1 -0
  93. package/dist/adapters/drizzle/persistence-errors.js +75 -0
  94. package/dist/adapters/drizzle/persistence-errors.js.map +1 -0
  95. package/dist/adapters/drizzle/persistence-factory.d.ts +100 -0
  96. package/dist/adapters/drizzle/persistence-factory.d.ts.map +1 -0
  97. package/dist/adapters/drizzle/persistence-factory.js +391 -0
  98. package/dist/adapters/drizzle/persistence-factory.js.map +1 -0
  99. package/dist/adapters/drizzle/persistence.client.d.ts +73 -0
  100. package/dist/adapters/drizzle/persistence.client.d.ts.map +1 -0
  101. package/dist/adapters/drizzle/persistence.client.js +238 -0
  102. package/dist/adapters/drizzle/persistence.client.js.map +1 -0
  103. package/dist/adapters/drizzle/providers.d.ts +19 -0
  104. package/dist/adapters/drizzle/providers.d.ts.map +1 -0
  105. package/dist/adapters/drizzle/providers.js +62 -0
  106. package/dist/adapters/drizzle/providers.js.map +1 -0
  107. package/dist/adapters/drizzle/record-ddl.d.ts +13 -0
  108. package/dist/adapters/drizzle/record-ddl.d.ts.map +1 -0
  109. package/dist/adapters/drizzle/record-ddl.js +70 -0
  110. package/dist/adapters/drizzle/record-ddl.js.map +1 -0
  111. package/dist/adapters/drizzle/record-table.d.ts +59 -0
  112. package/dist/adapters/drizzle/record-table.d.ts.map +1 -0
  113. package/dist/adapters/drizzle/record-table.js +87 -0
  114. package/dist/adapters/drizzle/record-table.js.map +1 -0
  115. package/dist/adapters/drizzle/schemas/record-migration.d.ts +30 -0
  116. package/dist/adapters/drizzle/schemas/record-migration.d.ts.map +1 -0
  117. package/dist/adapters/drizzle/schemas/record-migration.js +12 -0
  118. package/dist/adapters/drizzle/schemas/record-migration.js.map +1 -0
  119. package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.d.ts +26 -0
  120. package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.d.ts.map +1 -0
  121. package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.js +90 -0
  122. package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.js.map +1 -0
  123. package/dist/adapters/drizzle/storage-drizzle-db.context.d.ts +53 -0
  124. package/dist/adapters/drizzle/storage-drizzle-db.context.d.ts.map +1 -0
  125. package/dist/adapters/drizzle/storage-drizzle-db.context.js +8 -0
  126. package/dist/adapters/drizzle/storage-drizzle-db.context.js.map +1 -0
  127. package/dist/adapters/drizzle/test.d.ts +60 -0
  128. package/dist/adapters/drizzle/test.d.ts.map +1 -0
  129. package/dist/adapters/drizzle/test.js +49 -0
  130. package/dist/adapters/drizzle/test.js.map +1 -0
  131. package/dist/adapters/drizzle/transforms.d.ts +42 -0
  132. package/dist/adapters/drizzle/transforms.d.ts.map +1 -0
  133. package/dist/adapters/drizzle/transforms.js +147 -0
  134. package/dist/adapters/drizzle/transforms.js.map +1 -0
  135. package/dist/adapters/filesystem/filesystem.adapter.descriptor.d.ts +13 -0
  136. package/dist/adapters/filesystem/filesystem.adapter.descriptor.d.ts.map +1 -0
  137. package/dist/adapters/filesystem/filesystem.adapter.descriptor.js +34 -0
  138. package/dist/adapters/filesystem/filesystem.adapter.descriptor.js.map +1 -0
  139. package/dist/adapters/filesystem/filesystem.adapter.impl.d.ts +57 -0
  140. package/dist/adapters/filesystem/filesystem.adapter.impl.d.ts.map +1 -0
  141. package/dist/adapters/filesystem/filesystem.adapter.impl.js +257 -0
  142. package/dist/adapters/filesystem/filesystem.adapter.impl.js.map +1 -0
  143. package/dist/adapters/filesystem/index.d.ts +10 -0
  144. package/dist/adapters/filesystem/index.d.ts.map +1 -0
  145. package/dist/adapters/filesystem/index.js +10 -0
  146. package/dist/adapters/filesystem/index.js.map +1 -0
  147. package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.d.ts +11 -0
  148. package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.d.ts.map +1 -0
  149. package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.js +25 -0
  150. package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.js.map +1 -0
  151. package/dist/adapters/fixture/fixture.adapter.descriptor.d.ts +14 -0
  152. package/dist/adapters/fixture/fixture.adapter.descriptor.d.ts.map +1 -0
  153. package/dist/adapters/fixture/fixture.adapter.descriptor.js +35 -0
  154. package/dist/adapters/fixture/fixture.adapter.descriptor.js.map +1 -0
  155. package/dist/adapters/fixture/fixture.adapter.impl.d.ts +41 -0
  156. package/dist/adapters/fixture/fixture.adapter.impl.d.ts.map +1 -0
  157. package/dist/adapters/fixture/fixture.adapter.impl.js +162 -0
  158. package/dist/adapters/fixture/fixture.adapter.impl.js.map +1 -0
  159. package/dist/adapters/fixture/index.d.ts +9 -0
  160. package/dist/adapters/fixture/index.d.ts.map +1 -0
  161. package/dist/adapters/fixture/index.js +9 -0
  162. package/dist/adapters/fixture/index.js.map +1 -0
  163. package/dist/adapters/fixture/storage-adapter-fixture.plugin.d.ts +10 -0
  164. package/dist/adapters/fixture/storage-adapter-fixture.plugin.d.ts.map +1 -0
  165. package/dist/adapters/fixture/storage-adapter-fixture.plugin.js +21 -0
  166. package/dist/adapters/fixture/storage-adapter-fixture.plugin.js.map +1 -0
  167. package/dist/adapters/idb/idb-backend.d.ts +33 -0
  168. package/dist/adapters/idb/idb-backend.d.ts.map +1 -0
  169. package/dist/adapters/idb/idb-backend.js +217 -0
  170. package/dist/adapters/idb/idb-backend.js.map +1 -0
  171. package/dist/adapters/idb/idb.adapter.descriptor.d.ts +14 -0
  172. package/dist/adapters/idb/idb.adapter.descriptor.d.ts.map +1 -0
  173. package/dist/adapters/idb/idb.adapter.descriptor.js +35 -0
  174. package/dist/adapters/idb/idb.adapter.descriptor.js.map +1 -0
  175. package/dist/adapters/idb/idb.adapter.impl.d.ts +56 -0
  176. package/dist/adapters/idb/idb.adapter.impl.d.ts.map +1 -0
  177. package/dist/adapters/idb/idb.adapter.impl.js +227 -0
  178. package/dist/adapters/idb/idb.adapter.impl.js.map +1 -0
  179. package/dist/adapters/idb/index.d.ts +10 -0
  180. package/dist/adapters/idb/index.d.ts.map +1 -0
  181. package/dist/adapters/idb/index.js +10 -0
  182. package/dist/adapters/idb/index.js.map +1 -0
  183. package/dist/adapters/idb/storage-adapter-idb.plugin.d.ts +11 -0
  184. package/dist/adapters/idb/storage-adapter-idb.plugin.d.ts.map +1 -0
  185. package/dist/adapters/idb/storage-adapter-idb.plugin.js +22 -0
  186. package/dist/adapters/idb/storage-adapter-idb.plugin.js.map +1 -0
  187. package/dist/adapters/json/filesystem-binding.d.ts +14 -0
  188. package/dist/adapters/json/filesystem-binding.d.ts.map +1 -0
  189. package/dist/adapters/json/filesystem-binding.js +7 -0
  190. package/dist/adapters/json/filesystem-binding.js.map +1 -0
  191. package/dist/adapters/json/index.d.ts +10 -0
  192. package/dist/adapters/json/index.d.ts.map +1 -0
  193. package/dist/adapters/json/index.js +10 -0
  194. package/dist/adapters/json/index.js.map +1 -0
  195. package/dist/adapters/json/json.adapter.descriptor.d.ts +10 -0
  196. package/dist/adapters/json/json.adapter.descriptor.d.ts.map +1 -0
  197. package/dist/adapters/json/json.adapter.descriptor.js +38 -0
  198. package/dist/adapters/json/json.adapter.descriptor.js.map +1 -0
  199. package/dist/adapters/json/json.adapter.impl.d.ts +59 -0
  200. package/dist/adapters/json/json.adapter.impl.d.ts.map +1 -0
  201. package/dist/adapters/json/json.adapter.impl.js +395 -0
  202. package/dist/adapters/json/json.adapter.impl.js.map +1 -0
  203. package/dist/adapters/json/storage-adapter-json.plugin.d.ts +9 -0
  204. package/dist/adapters/json/storage-adapter-json.plugin.d.ts.map +1 -0
  205. package/dist/adapters/json/storage-adapter-json.plugin.js +21 -0
  206. package/dist/adapters/json/storage-adapter-json.plugin.js.map +1 -0
  207. package/dist/adapters/localdb/index.d.ts +9 -0
  208. package/dist/adapters/localdb/index.d.ts.map +1 -0
  209. package/dist/adapters/localdb/index.js +9 -0
  210. package/dist/adapters/localdb/index.js.map +1 -0
  211. package/dist/adapters/localdb/localdb.adapter.descriptor.d.ts +10 -0
  212. package/dist/adapters/localdb/localdb.adapter.descriptor.d.ts.map +1 -0
  213. package/dist/adapters/localdb/localdb.adapter.descriptor.js +37 -0
  214. package/dist/adapters/localdb/localdb.adapter.descriptor.js.map +1 -0
  215. package/dist/adapters/localdb/localdb.adapter.impl.d.ts +237 -0
  216. package/dist/adapters/localdb/localdb.adapter.impl.d.ts.map +1 -0
  217. package/dist/adapters/localdb/localdb.adapter.impl.js +1370 -0
  218. package/dist/adapters/localdb/localdb.adapter.impl.js.map +1 -0
  219. package/dist/adapters/localdb/localdb.adapter.loader.consumer.d.ts +2 -0
  220. package/dist/adapters/localdb/localdb.adapter.loader.consumer.d.ts.map +1 -0
  221. package/dist/adapters/localdb/localdb.adapter.loader.consumer.js +2 -0
  222. package/dist/adapters/localdb/localdb.adapter.loader.consumer.js.map +1 -0
  223. package/dist/adapters/localdb/localdb.inputs.d.ts +3 -0
  224. package/dist/adapters/localdb/localdb.inputs.d.ts.map +1 -0
  225. package/dist/adapters/localdb/localdb.inputs.js +3 -0
  226. package/dist/adapters/localdb/localdb.inputs.js.map +1 -0
  227. package/dist/adapters/localdb/migration-failure.d.ts +3 -0
  228. package/dist/adapters/localdb/migration-failure.d.ts.map +1 -0
  229. package/dist/adapters/localdb/migration-failure.js +16 -0
  230. package/dist/adapters/localdb/migration-failure.js.map +1 -0
  231. package/dist/adapters/localdb/outcome.d.ts +13 -0
  232. package/dist/adapters/localdb/outcome.d.ts.map +1 -0
  233. package/dist/adapters/localdb/outcome.js +12 -0
  234. package/dist/adapters/localdb/outcome.js.map +1 -0
  235. package/dist/adapters/localdb/repository-query.d.ts +19 -0
  236. package/dist/adapters/localdb/repository-query.d.ts.map +1 -0
  237. package/dist/adapters/localdb/repository-query.js +127 -0
  238. package/dist/adapters/localdb/repository-query.js.map +1 -0
  239. package/dist/adapters/localdb/storage-adapter-localdb.plugin.d.ts +14 -0
  240. package/dist/adapters/localdb/storage-adapter-localdb.plugin.d.ts.map +1 -0
  241. package/dist/adapters/localdb/storage-adapter-localdb.plugin.js +30 -0
  242. package/dist/adapters/localdb/storage-adapter-localdb.plugin.js.map +1 -0
  243. package/dist/adapters/memory/index.d.ts +9 -0
  244. package/dist/adapters/memory/index.d.ts.map +1 -0
  245. package/dist/adapters/memory/index.js +9 -0
  246. package/dist/adapters/memory/index.js.map +1 -0
  247. package/dist/adapters/memory/memory-root-store.d.ts +20 -0
  248. package/dist/adapters/memory/memory-root-store.d.ts.map +1 -0
  249. package/dist/adapters/memory/memory-root-store.js +49 -0
  250. package/dist/adapters/memory/memory-root-store.js.map +1 -0
  251. package/dist/adapters/memory/memory.adapter.impl.d.ts +61 -0
  252. package/dist/adapters/memory/memory.adapter.impl.d.ts.map +1 -0
  253. package/dist/adapters/memory/memory.adapter.impl.js +718 -0
  254. package/dist/adapters/memory/memory.adapter.impl.js.map +1 -0
  255. package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.d.ts +10 -0
  256. package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.d.ts.map +1 -0
  257. package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.js +37 -0
  258. package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.js.map +1 -0
  259. package/dist/adapters/memory/storage-adapter-memory.plugin.d.ts +9 -0
  260. package/dist/adapters/memory/storage-adapter-memory.plugin.d.ts.map +1 -0
  261. package/dist/adapters/memory/storage-adapter-memory.plugin.js +44 -0
  262. package/dist/adapters/memory/storage-adapter-memory.plugin.js.map +1 -0
  263. package/dist/adapters/parse-adapter-input.d.ts +22 -0
  264. package/dist/adapters/parse-adapter-input.d.ts.map +1 -0
  265. package/dist/adapters/parse-adapter-input.js +36 -0
  266. package/dist/adapters/parse-adapter-input.js.map +1 -0
  267. package/dist/adapters/select-adapter.d.ts +36 -0
  268. package/dist/adapters/select-adapter.d.ts.map +1 -0
  269. package/dist/adapters/select-adapter.js +88 -0
  270. package/dist/adapters/select-adapter.js.map +1 -0
  271. package/dist/adapters/validate-for-persist.d.ts +21 -0
  272. package/dist/adapters/validate-for-persist.d.ts.map +1 -0
  273. package/dist/adapters/validate-for-persist.js +36 -0
  274. package/dist/adapters/validate-for-persist.js.map +1 -0
  275. package/dist/backup/backup.plugin.d.ts +276 -0
  276. package/dist/backup/backup.plugin.d.ts.map +1 -0
  277. package/dist/backup/backup.plugin.js +72 -0
  278. package/dist/backup/backup.plugin.js.map +1 -0
  279. package/dist/backup/channels/backup.channel.d.ts +21 -0
  280. package/dist/backup/channels/backup.channel.d.ts.map +1 -0
  281. package/dist/backup/channels/backup.channel.js +89 -0
  282. package/dist/backup/channels/backup.channel.js.map +1 -0
  283. package/dist/backup/config/storage.backup.config.descriptor.d.ts +57 -0
  284. package/dist/backup/config/storage.backup.config.descriptor.d.ts.map +1 -0
  285. package/dist/backup/config/storage.backup.config.descriptor.js +53 -0
  286. package/dist/backup/config/storage.backup.config.descriptor.js.map +1 -0
  287. package/dist/backup/core/hash.d.ts +8 -0
  288. package/dist/backup/core/hash.d.ts.map +1 -0
  289. package/dist/backup/core/hash.js +10 -0
  290. package/dist/backup/core/hash.js.map +1 -0
  291. package/dist/backup/core/homes.d.ts +13 -0
  292. package/dist/backup/core/homes.d.ts.map +1 -0
  293. package/dist/backup/core/homes.js +54 -0
  294. package/dist/backup/core/homes.js.map +1 -0
  295. package/dist/backup/core/index.d.ts +17 -0
  296. package/dist/backup/core/index.d.ts.map +1 -0
  297. package/dist/backup/core/index.js +12 -0
  298. package/dist/backup/core/index.js.map +1 -0
  299. package/dist/backup/core/io.d.ts +76 -0
  300. package/dist/backup/core/io.d.ts.map +1 -0
  301. package/dist/backup/core/io.js +177 -0
  302. package/dist/backup/core/io.js.map +1 -0
  303. package/dist/backup/core/paths.d.ts +50 -0
  304. package/dist/backup/core/paths.d.ts.map +1 -0
  305. package/dist/backup/core/paths.js +75 -0
  306. package/dist/backup/core/paths.js.map +1 -0
  307. package/dist/backup/core/readiness.d.ts +9 -0
  308. package/dist/backup/core/readiness.d.ts.map +1 -0
  309. package/dist/backup/core/readiness.js +104 -0
  310. package/dist/backup/core/readiness.js.map +1 -0
  311. package/dist/backup/core/recovery.d.ts +11 -0
  312. package/dist/backup/core/recovery.d.ts.map +1 -0
  313. package/dist/backup/core/recovery.js +75 -0
  314. package/dist/backup/core/recovery.js.map +1 -0
  315. package/dist/backup/core/registry.d.ts +13 -0
  316. package/dist/backup/core/registry.d.ts.map +1 -0
  317. package/dist/backup/core/registry.js +18 -0
  318. package/dist/backup/core/registry.js.map +1 -0
  319. package/dist/backup/core/restore.d.ts +36 -0
  320. package/dist/backup/core/restore.d.ts.map +1 -0
  321. package/dist/backup/core/restore.js +280 -0
  322. package/dist/backup/core/restore.js.map +1 -0
  323. package/dist/backup/core/rotate.d.ts +19 -0
  324. package/dist/backup/core/rotate.d.ts.map +1 -0
  325. package/dist/backup/core/rotate.js +153 -0
  326. package/dist/backup/core/rotate.js.map +1 -0
  327. package/dist/backup/core/rotation.d.ts +19 -0
  328. package/dist/backup/core/rotation.d.ts.map +1 -0
  329. package/dist/backup/core/rotation.js +100 -0
  330. package/dist/backup/core/rotation.js.map +1 -0
  331. package/dist/backup/core/snapshot.d.ts +45 -0
  332. package/dist/backup/core/snapshot.d.ts.map +1 -0
  333. package/dist/backup/core/snapshot.js +217 -0
  334. package/dist/backup/core/snapshot.js.map +1 -0
  335. package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.d.ts +19 -0
  336. package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.d.ts.map +1 -0
  337. package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.js +42 -0
  338. package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.js.map +1 -0
  339. package/dist/backup/index.d.ts +19 -0
  340. package/dist/backup/index.d.ts.map +1 -0
  341. package/dist/backup/index.js +16 -0
  342. package/dist/backup/index.js.map +1 -0
  343. package/dist/backup/jobs/backup.snapshot.descriptor.d.ts +95 -0
  344. package/dist/backup/jobs/backup.snapshot.descriptor.d.ts.map +1 -0
  345. package/dist/backup/jobs/backup.snapshot.descriptor.js +33 -0
  346. package/dist/backup/jobs/backup.snapshot.descriptor.js.map +1 -0
  347. package/dist/backup/jobs/backup.snapshot.impl.d.ts +59 -0
  348. package/dist/backup/jobs/backup.snapshot.impl.d.ts.map +1 -0
  349. package/dist/backup/jobs/backup.snapshot.impl.js +393 -0
  350. package/dist/backup/jobs/backup.snapshot.impl.js.map +1 -0
  351. package/dist/backup/jobs/backup.snapshot.schema.d.ts +3 -0
  352. package/dist/backup/jobs/backup.snapshot.schema.d.ts.map +1 -0
  353. package/dist/backup/jobs/backup.snapshot.schema.js +3 -0
  354. package/dist/backup/jobs/backup.snapshot.schema.js.map +1 -0
  355. package/dist/backup/kinds/backup-preflight.kind.d.ts +16 -0
  356. package/dist/backup/kinds/backup-preflight.kind.d.ts.map +1 -0
  357. package/dist/backup/kinds/backup-preflight.kind.js +27 -0
  358. package/dist/backup/kinds/backup-preflight.kind.js.map +1 -0
  359. package/dist/backup/kinds/backup-recovery-plan.kind.d.ts +11 -0
  360. package/dist/backup/kinds/backup-recovery-plan.kind.d.ts.map +1 -0
  361. package/dist/backup/kinds/backup-recovery-plan.kind.js +16 -0
  362. package/dist/backup/kinds/backup-recovery-plan.kind.js.map +1 -0
  363. package/dist/backup/kinds/backup-target.kind.d.ts +16 -0
  364. package/dist/backup/kinds/backup-target.kind.d.ts.map +1 -0
  365. package/dist/backup/kinds/backup-target.kind.js +21 -0
  366. package/dist/backup/kinds/backup-target.kind.js.map +1 -0
  367. package/dist/backup/schemas/core.d.ts +169 -0
  368. package/dist/backup/schemas/core.d.ts.map +1 -0
  369. package/dist/backup/schemas/core.js +117 -0
  370. package/dist/backup/schemas/core.js.map +1 -0
  371. package/dist/backup/schemas/disaster-recovery.d.ts +512 -0
  372. package/dist/backup/schemas/disaster-recovery.d.ts.map +1 -0
  373. package/dist/backup/schemas/disaster-recovery.js +410 -0
  374. package/dist/backup/schemas/disaster-recovery.js.map +1 -0
  375. package/dist/backup/schemas/index.d.ts +10 -0
  376. package/dist/backup/schemas/index.d.ts.map +1 -0
  377. package/dist/backup/schemas/index.js +10 -0
  378. package/dist/backup/schemas/index.js.map +1 -0
  379. package/dist/backup/schemas/job.d.ts +102 -0
  380. package/dist/backup/schemas/job.d.ts.map +1 -0
  381. package/dist/backup/schemas/job.js +47 -0
  382. package/dist/backup/schemas/job.js.map +1 -0
  383. package/dist/backup/schemas/preflight.d.ts +38 -0
  384. package/dist/backup/schemas/preflight.d.ts.map +1 -0
  385. package/dist/backup/schemas/preflight.js +21 -0
  386. package/dist/backup/schemas/preflight.js.map +1 -0
  387. package/dist/backup/schemas/snapshot.d.ts +110 -0
  388. package/dist/backup/schemas/snapshot.d.ts.map +1 -0
  389. package/dist/backup/schemas/snapshot.js +84 -0
  390. package/dist/backup/schemas/snapshot.js.map +1 -0
  391. package/dist/backup/schemas/target.d.ts +95 -0
  392. package/dist/backup/schemas/target.d.ts.map +1 -0
  393. package/dist/backup/schemas/target.js +105 -0
  394. package/dist/backup/schemas/target.js.map +1 -0
  395. package/dist/backup/storage/snapshot.record.descriptor.d.ts +10 -0
  396. package/dist/backup/storage/snapshot.record.descriptor.d.ts.map +1 -0
  397. package/dist/backup/storage/snapshot.record.descriptor.js +41 -0
  398. package/dist/backup/storage/snapshot.record.descriptor.js.map +1 -0
  399. package/dist/backup/targets/awareness-bus.target.descriptor.d.ts +10 -0
  400. package/dist/backup/targets/awareness-bus.target.descriptor.d.ts.map +1 -0
  401. package/dist/backup/targets/awareness-bus.target.descriptor.js +32 -0
  402. package/dist/backup/targets/awareness-bus.target.descriptor.js.map +1 -0
  403. package/dist/backup/targets/presence-identity.target.descriptor.d.ts +10 -0
  404. package/dist/backup/targets/presence-identity.target.descriptor.d.ts.map +1 -0
  405. package/dist/backup/targets/presence-identity.target.descriptor.js +40 -0
  406. package/dist/backup/targets/presence-identity.target.descriptor.js.map +1 -0
  407. package/dist/backup/targets/presence-inner.target.descriptor.d.ts +10 -0
  408. package/dist/backup/targets/presence-inner.target.descriptor.d.ts.map +1 -0
  409. package/dist/backup/targets/presence-inner.target.descriptor.js +36 -0
  410. package/dist/backup/targets/presence-inner.target.descriptor.js.map +1 -0
  411. package/dist/backup/targets/storage-records.target.descriptor.d.ts +16 -0
  412. package/dist/backup/targets/storage-records.target.descriptor.d.ts.map +1 -0
  413. package/dist/backup/targets/storage-records.target.descriptor.js +38 -0
  414. package/dist/backup/targets/storage-records.target.descriptor.js.map +1 -0
  415. package/dist/bridge/index.d.ts +2 -2
  416. package/dist/bridge/index.d.ts.map +1 -1
  417. package/dist/bridge/index.js +1 -1
  418. package/dist/bridge/index.js.map +1 -1
  419. package/dist/bridge/storage-kind-bridge.d.ts +13 -2
  420. package/dist/bridge/storage-kind-bridge.d.ts.map +1 -1
  421. package/dist/bridge/storage-kind-bridge.js +72 -69
  422. package/dist/bridge/storage-kind-bridge.js.map +1 -1
  423. package/dist/bridge/types.d.ts +4 -3
  424. package/dist/bridge/types.d.ts.map +1 -1
  425. package/dist/cli/backup/backup.cli-group.descriptor.d.ts +9 -0
  426. package/dist/cli/backup/backup.cli-group.descriptor.d.ts.map +1 -0
  427. package/dist/cli/backup/backup.cli-group.descriptor.js +16 -0
  428. package/dist/cli/backup/backup.cli-group.descriptor.js.map +1 -0
  429. package/dist/cli/backup/commands/backup.now.cli-command.descriptor.d.ts +4 -0
  430. package/dist/cli/backup/commands/backup.now.cli-command.descriptor.d.ts.map +1 -0
  431. package/dist/cli/backup/commands/backup.now.cli-command.descriptor.js +24 -0
  432. package/dist/cli/backup/commands/backup.now.cli-command.descriptor.js.map +1 -0
  433. package/dist/cli/backup/commands/backup.now.cli-command.impl.d.ts +26 -0
  434. package/dist/cli/backup/commands/backup.now.cli-command.impl.d.ts.map +1 -0
  435. package/dist/cli/backup/commands/backup.now.cli-command.impl.js +61 -0
  436. package/dist/cli/backup/commands/backup.now.cli-command.impl.js.map +1 -0
  437. package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.d.ts +4 -0
  438. package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.d.ts.map +1 -0
  439. package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.js +24 -0
  440. package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.js.map +1 -0
  441. package/dist/cli/backup/commands/backup.restore.cli-command.impl.d.ts +23 -0
  442. package/dist/cli/backup/commands/backup.restore.cli-command.impl.d.ts.map +1 -0
  443. package/dist/cli/backup/commands/backup.restore.cli-command.impl.js +50 -0
  444. package/dist/cli/backup/commands/backup.restore.cli-command.impl.js.map +1 -0
  445. package/dist/cli/backup/commands/backup.status.cli-command.descriptor.d.ts +4 -0
  446. package/dist/cli/backup/commands/backup.status.cli-command.descriptor.d.ts.map +1 -0
  447. package/dist/cli/backup/commands/backup.status.cli-command.descriptor.js +19 -0
  448. package/dist/cli/backup/commands/backup.status.cli-command.descriptor.js.map +1 -0
  449. package/dist/cli/backup/commands/backup.status.cli-command.impl.d.ts +21 -0
  450. package/dist/cli/backup/commands/backup.status.cli-command.impl.d.ts.map +1 -0
  451. package/dist/cli/backup/commands/backup.status.cli-command.impl.js +76 -0
  452. package/dist/cli/backup/commands/backup.status.cli-command.impl.js.map +1 -0
  453. package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.d.ts +4 -0
  454. package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.d.ts.map +1 -0
  455. package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.js +20 -0
  456. package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.js.map +1 -0
  457. package/dist/cli/backup/commands/backup.verify.cli-command.impl.d.ts +20 -0
  458. package/dist/cli/backup/commands/backup.verify.cli-command.impl.d.ts.map +1 -0
  459. package/dist/cli/backup/commands/backup.verify.cli-command.impl.js +48 -0
  460. package/dist/cli/backup/commands/backup.verify.cli-command.impl.js.map +1 -0
  461. package/dist/cli/backup/plugin.d.ts +5 -0
  462. package/dist/cli/backup/plugin.d.ts.map +1 -0
  463. package/dist/cli/backup/plugin.js +30 -0
  464. package/dist/cli/backup/plugin.js.map +1 -0
  465. package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts +1 -1
  466. package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts.map +1 -1
  467. package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts +8 -1
  468. package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts.map +1 -1
  469. package/dist/cli/commands/list/storage.list.cli-command.impl.js +17 -8
  470. package/dist/cli/commands/list/storage.list.cli-command.impl.js.map +1 -1
  471. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts +1 -1
  472. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts.map +1 -1
  473. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts +9 -1
  474. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts.map +1 -1
  475. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js +110 -76
  476. package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js.map +1 -1
  477. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts +1 -1
  478. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts.map +1 -1
  479. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts +9 -1
  480. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts.map +1 -1
  481. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js +131 -108
  482. package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js.map +1 -1
  483. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts +1 -1
  484. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts.map +1 -1
  485. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts +12 -1
  486. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts.map +1 -1
  487. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js +34 -26
  488. package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js.map +1 -1
  489. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts +1 -1
  490. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts.map +1 -1
  491. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts +11 -1
  492. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts.map +1 -1
  493. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js +89 -42
  494. package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js.map +1 -1
  495. package/dist/cli/commands/sync/sync-command-input.d.ts +20 -0
  496. package/dist/cli/commands/sync/sync-command-input.d.ts.map +1 -0
  497. package/dist/cli/commands/sync/sync-command-input.js +20 -0
  498. package/dist/cli/commands/sync/sync-command-input.js.map +1 -0
  499. package/dist/cli/gc/commands/gc.run.cli-command.descriptor.d.ts +4 -0
  500. package/dist/cli/gc/commands/gc.run.cli-command.descriptor.d.ts.map +1 -0
  501. package/dist/cli/gc/commands/gc.run.cli-command.descriptor.js +20 -0
  502. package/dist/cli/gc/commands/gc.run.cli-command.descriptor.js.map +1 -0
  503. package/dist/cli/gc/commands/gc.run.cli-command.impl.d.ts +24 -0
  504. package/dist/cli/gc/commands/gc.run.cli-command.impl.d.ts.map +1 -0
  505. package/dist/cli/gc/commands/gc.run.cli-command.impl.js +104 -0
  506. package/dist/cli/gc/commands/gc.run.cli-command.impl.js.map +1 -0
  507. package/dist/cli/gc/commands/gc.status.cli-command.descriptor.d.ts +4 -0
  508. package/dist/cli/gc/commands/gc.status.cli-command.descriptor.d.ts.map +1 -0
  509. package/dist/cli/gc/commands/gc.status.cli-command.descriptor.js +19 -0
  510. package/dist/cli/gc/commands/gc.status.cli-command.descriptor.js.map +1 -0
  511. package/dist/cli/gc/commands/gc.status.cli-command.impl.d.ts +21 -0
  512. package/dist/cli/gc/commands/gc.status.cli-command.impl.d.ts.map +1 -0
  513. package/dist/cli/gc/commands/gc.status.cli-command.impl.js +74 -0
  514. package/dist/cli/gc/commands/gc.status.cli-command.impl.js.map +1 -0
  515. package/dist/cli/gc/gc.cli-group.descriptor.d.ts +4 -0
  516. package/dist/cli/gc/gc.cli-group.descriptor.d.ts.map +1 -0
  517. package/dist/cli/gc/gc.cli-group.descriptor.js +11 -0
  518. package/dist/cli/gc/gc.cli-group.descriptor.js.map +1 -0
  519. package/dist/cli/gc/plugin.d.ts +5 -0
  520. package/dist/cli/gc/plugin.d.ts.map +1 -0
  521. package/dist/cli/gc/plugin.js +28 -0
  522. package/dist/cli/gc/plugin.js.map +1 -0
  523. package/dist/cli/plugin.d.ts +17 -0
  524. package/dist/cli/plugin.d.ts.map +1 -0
  525. package/dist/cli/plugin.js +51 -0
  526. package/dist/cli/plugin.js.map +1 -0
  527. package/dist/cli/storage.cli-group.descriptor.d.ts +1 -1
  528. package/dist/cli/storage.cli-group.descriptor.d.ts.map +1 -1
  529. package/dist/cli/storage.sync.cli-group.descriptor.d.ts +1 -1
  530. package/dist/cli/storage.sync.cli-group.descriptor.d.ts.map +1 -1
  531. package/dist/cli/types.d.ts +4 -20
  532. package/dist/cli/types.d.ts.map +1 -1
  533. package/dist/cli/types.js +3 -4
  534. package/dist/cli/types.js.map +1 -1
  535. package/dist/client/browse-adapter.d.ts +49 -0
  536. package/dist/client/browse-adapter.d.ts.map +1 -0
  537. package/dist/client/browse-adapter.js +99 -0
  538. package/dist/client/browse-adapter.js.map +1 -0
  539. package/dist/client/diagnose-adapter.d.ts +9 -0
  540. package/dist/client/diagnose-adapter.d.ts.map +1 -0
  541. package/dist/client/diagnose-adapter.js +9 -0
  542. package/dist/client/diagnose-adapter.js.map +1 -0
  543. package/dist/client/index.d.ts +7 -1
  544. package/dist/client/index.d.ts.map +1 -1
  545. package/dist/client/index.js +5 -1
  546. package/dist/client/index.js.map +1 -1
  547. package/dist/client/list-browsable-adapters.d.ts +4 -3
  548. package/dist/client/list-browsable-adapters.d.ts.map +1 -1
  549. package/dist/client/list-browsable-adapters.js +3 -8
  550. package/dist/client/list-browsable-adapters.js.map +1 -1
  551. package/dist/client/object-adapter.d.ts +33 -0
  552. package/dist/client/object-adapter.d.ts.map +1 -0
  553. package/dist/client/object-adapter.js +45 -0
  554. package/dist/client/object-adapter.js.map +1 -0
  555. package/dist/client/storage-explorer-capability.d.ts +81 -0
  556. package/dist/client/storage-explorer-capability.d.ts.map +1 -0
  557. package/dist/client/storage-explorer-capability.impl.worker.d.ts +23 -0
  558. package/dist/client/storage-explorer-capability.impl.worker.d.ts.map +1 -0
  559. package/dist/client/storage-explorer-capability.impl.worker.js +124 -0
  560. package/dist/client/storage-explorer-capability.impl.worker.js.map +1 -0
  561. package/dist/client/storage-explorer-capability.js +125 -0
  562. package/dist/client/storage-explorer-capability.js.map +1 -0
  563. package/dist/client/storage-failure.d.ts +43 -0
  564. package/dist/client/storage-failure.d.ts.map +1 -0
  565. package/dist/client/storage-failure.js +100 -0
  566. package/dist/client/storage-failure.js.map +1 -0
  567. package/dist/daemon/commands/browse.d.ts +29 -0
  568. package/dist/daemon/commands/browse.d.ts.map +1 -0
  569. package/dist/daemon/commands/browse.js +91 -0
  570. package/dist/daemon/commands/browse.js.map +1 -0
  571. package/dist/daemon/commands/sync.d.ts +1 -1
  572. package/dist/daemon/commands/sync.d.ts.map +1 -1
  573. package/dist/daemon/commands/sync.js +60 -52
  574. package/dist/daemon/commands/sync.js.map +1 -1
  575. package/dist/docs/records.docs.descriptor.d.ts +1 -1
  576. package/dist/docs/records.docs.descriptor.d.ts.map +1 -1
  577. package/dist/docs/records.docs.descriptor.js +136 -151
  578. package/dist/docs/records.docs.descriptor.js.map +1 -1
  579. package/dist/docs/storage.adapters.docs.descriptor.d.ts +4 -0
  580. package/dist/docs/storage.adapters.docs.descriptor.d.ts.map +1 -0
  581. package/dist/docs/storage.adapters.docs.descriptor.js +175 -0
  582. package/dist/docs/storage.adapters.docs.descriptor.js.map +1 -0
  583. package/dist/docs/storage.browse.docs.descriptor.d.ts +4 -0
  584. package/dist/docs/storage.browse.docs.descriptor.d.ts.map +1 -0
  585. package/dist/docs/storage.browse.docs.descriptor.js +74 -0
  586. package/dist/docs/storage.browse.docs.descriptor.js.map +1 -0
  587. package/dist/docs/storage.docs.descriptor.d.ts +4 -0
  588. package/dist/docs/storage.docs.descriptor.d.ts.map +1 -0
  589. package/dist/docs/storage.docs.descriptor.js +51 -0
  590. package/dist/docs/storage.docs.descriptor.js.map +1 -0
  591. package/dist/docs/storage.manifests.docs.descriptor.d.ts +4 -0
  592. package/dist/docs/storage.manifests.docs.descriptor.d.ts.map +1 -0
  593. package/dist/docs/{manifests.docs.descriptor.js → storage.manifests.docs.descriptor.js} +69 -34
  594. package/dist/docs/storage.manifests.docs.descriptor.js.map +1 -0
  595. package/dist/docs/sync.docs.descriptor.d.ts +1 -1
  596. package/dist/docs/sync.docs.descriptor.d.ts.map +1 -1
  597. package/dist/docs/sync.docs.descriptor.js +140 -150
  598. package/dist/docs/sync.docs.descriptor.js.map +1 -1
  599. package/dist/docs/transform.docs.descriptor.d.ts +4 -0
  600. package/dist/docs/transform.docs.descriptor.d.ts.map +1 -0
  601. package/dist/docs/transform.docs.descriptor.js +134 -0
  602. package/dist/docs/transform.docs.descriptor.js.map +1 -0
  603. package/dist/host-files.d.ts +35 -0
  604. package/dist/host-files.d.ts.map +1 -0
  605. package/dist/host-files.js +60 -0
  606. package/dist/host-files.js.map +1 -0
  607. package/dist/index.d.ts +15 -13
  608. package/dist/index.d.ts.map +1 -1
  609. package/dist/index.js +10 -10
  610. package/dist/index.js.map +1 -1
  611. package/dist/interfaces/adapter.d.ts +166 -47
  612. package/dist/interfaces/adapter.d.ts.map +1 -1
  613. package/dist/interfaces/document-store.d.ts +41 -1
  614. package/dist/interfaces/document-store.d.ts.map +1 -1
  615. package/dist/interfaces/index.d.ts +8 -7
  616. package/dist/interfaces/index.d.ts.map +1 -1
  617. package/dist/interfaces/index.js +9 -7
  618. package/dist/interfaces/index.js.map +1 -1
  619. package/dist/interfaces/object-store.d.ts +54 -0
  620. package/dist/interfaces/object-store.d.ts.map +1 -0
  621. package/dist/interfaces/object-store.js +13 -0
  622. package/dist/interfaces/object-store.js.map +1 -0
  623. package/dist/interfaces/query-builder.d.ts +2 -30
  624. package/dist/interfaces/query-builder.d.ts.map +1 -1
  625. package/dist/interfaces/query-builder.js +0 -9
  626. package/dist/interfaces/query-builder.js.map +1 -1
  627. package/dist/interfaces/record/index.d.ts +1 -1
  628. package/dist/interfaces/record/index.d.ts.map +1 -1
  629. package/dist/interfaces/record/index.js +1 -1
  630. package/dist/interfaces/record/index.js.map +1 -1
  631. package/dist/interfaces/record/interface.d.ts +30 -9
  632. package/dist/interfaces/record/interface.d.ts.map +1 -1
  633. package/dist/interfaces/schema/index.d.ts +2 -2
  634. package/dist/interfaces/schema/index.d.ts.map +1 -1
  635. package/dist/interfaces/schema/index.js +2 -2
  636. package/dist/interfaces/schema/index.js.map +1 -1
  637. package/dist/interfaces/schema/schema-interface.d.ts +9 -8
  638. package/dist/interfaces/schema/schema-interface.d.ts.map +1 -1
  639. package/dist/interfaces/schema/table-interface.d.ts +4 -3
  640. package/dist/interfaces/schema/table-interface.d.ts.map +1 -1
  641. package/dist/interfaces/storage-consumer-fs.d.ts +25 -27
  642. package/dist/interfaces/storage-consumer-fs.d.ts.map +1 -1
  643. package/dist/interfaces/storage-consumer-fs.js +29 -30
  644. package/dist/interfaces/storage-consumer-fs.js.map +1 -1
  645. package/dist/manifest/base.d.ts +104 -22
  646. package/dist/manifest/base.d.ts.map +1 -1
  647. package/dist/manifest/base.js +393 -151
  648. package/dist/manifest/base.js.map +1 -1
  649. package/dist/manifest/cloud-sync.browser.d.ts +3 -0
  650. package/dist/manifest/cloud-sync.browser.d.ts.map +1 -0
  651. package/dist/manifest/cloud-sync.browser.js +3 -0
  652. package/dist/manifest/cloud-sync.browser.js.map +1 -0
  653. package/dist/manifest/cloud-sync.consumer.d.ts +2 -6
  654. package/dist/manifest/cloud-sync.consumer.d.ts.map +1 -1
  655. package/dist/manifest/cloud-sync.consumer.js +2 -81
  656. package/dist/manifest/cloud-sync.consumer.js.map +1 -1
  657. package/dist/manifest/cloud-sync.core.d.ts +30 -0
  658. package/dist/manifest/cloud-sync.core.d.ts.map +1 -0
  659. package/dist/manifest/cloud-sync.core.js +67 -0
  660. package/dist/manifest/cloud-sync.core.js.map +1 -0
  661. package/dist/manifest/cloud-sync.d.ts +3 -0
  662. package/dist/manifest/cloud-sync.d.ts.map +1 -0
  663. package/dist/manifest/cloud-sync.js +8 -0
  664. package/dist/manifest/cloud-sync.js.map +1 -0
  665. package/dist/manifest/index.d.ts +1 -1
  666. package/dist/manifest/index.d.ts.map +1 -1
  667. package/dist/manifest/index.js +1 -1
  668. package/dist/manifest/index.js.map +1 -1
  669. package/dist/manifest/source-policy.d.ts +21 -4
  670. package/dist/manifest/source-policy.d.ts.map +1 -1
  671. package/dist/manifest/source-policy.js +48 -50
  672. package/dist/manifest/source-policy.js.map +1 -1
  673. package/dist/migration-format/index.d.ts +3 -0
  674. package/dist/migration-format/index.d.ts.map +1 -0
  675. package/dist/migration-format/index.js +3 -0
  676. package/dist/migration-format/index.js.map +1 -0
  677. package/dist/migration-format/migration-format.kind.d.ts +5 -0
  678. package/dist/migration-format/migration-format.kind.d.ts.map +1 -0
  679. package/dist/migration-format/migration-format.kind.js +18 -0
  680. package/dist/migration-format/migration-format.kind.js.map +1 -0
  681. package/dist/path-format.d.ts +4 -0
  682. package/dist/path-format.d.ts.map +1 -0
  683. package/dist/path-format.js +71 -0
  684. package/dist/path-format.js.map +1 -0
  685. package/dist/path-policy.d.ts +28 -0
  686. package/dist/path-policy.d.ts.map +1 -0
  687. package/dist/path-policy.js +123 -0
  688. package/dist/path-policy.js.map +1 -0
  689. package/dist/paths.d.ts +14 -5
  690. package/dist/paths.d.ts.map +1 -1
  691. package/dist/paths.js +17 -150
  692. package/dist/paths.js.map +1 -1
  693. package/dist/policy/context.d.ts +3 -2
  694. package/dist/policy/context.d.ts.map +1 -1
  695. package/dist/policy/context.js +13 -16
  696. package/dist/policy/context.js.map +1 -1
  697. package/dist/policy/index.d.ts +3 -3
  698. package/dist/policy/index.d.ts.map +1 -1
  699. package/dist/policy/index.js +3 -3
  700. package/dist/policy/index.js.map +1 -1
  701. package/dist/policy/overrides.d.ts +5 -39
  702. package/dist/policy/overrides.d.ts.map +1 -1
  703. package/dist/policy/overrides.js +19 -24
  704. package/dist/policy/overrides.js.map +1 -1
  705. package/dist/policy/persistence.d.ts +2 -35
  706. package/dist/policy/persistence.d.ts.map +1 -1
  707. package/dist/policy/persistence.js +2 -12
  708. package/dist/policy/persistence.js.map +1 -1
  709. package/dist/policy/types.d.ts +5 -5
  710. package/dist/policy/types.d.ts.map +1 -1
  711. package/dist/record/array-fields.d.ts +15 -0
  712. package/dist/record/array-fields.d.ts.map +1 -0
  713. package/dist/record/array-fields.js +80 -0
  714. package/dist/record/array-fields.js.map +1 -0
  715. package/dist/record/atomic.d.ts +5 -0
  716. package/dist/record/atomic.d.ts.map +1 -0
  717. package/dist/record/atomic.js +10 -0
  718. package/dist/record/atomic.js.map +1 -0
  719. package/dist/record/base.d.ts +177 -39
  720. package/dist/record/base.d.ts.map +1 -1
  721. package/dist/record/base.js +1708 -525
  722. package/dist/record/base.js.map +1 -1
  723. package/dist/record/columns.d.ts +23 -0
  724. package/dist/record/columns.d.ts.map +1 -0
  725. package/dist/record/columns.js +161 -0
  726. package/dist/record/columns.js.map +1 -0
  727. package/dist/record/delivery.d.ts +57 -0
  728. package/dist/record/delivery.d.ts.map +1 -0
  729. package/dist/record/delivery.js +262 -0
  730. package/dist/record/delivery.js.map +1 -0
  731. package/dist/record/events.js +1 -1
  732. package/dist/record/events.js.map +1 -1
  733. package/dist/record/extensions.d.ts +17 -14
  734. package/dist/record/extensions.d.ts.map +1 -1
  735. package/dist/record/extensions.js +79 -53
  736. package/dist/record/extensions.js.map +1 -1
  737. package/dist/record/failure-condition.d.ts +14 -0
  738. package/dist/record/failure-condition.d.ts.map +1 -0
  739. package/dist/record/failure-condition.js +17 -0
  740. package/dist/record/failure-condition.js.map +1 -0
  741. package/dist/record/index.d.ts +5 -1
  742. package/dist/record/index.d.ts.map +1 -1
  743. package/dist/record/index.js +5 -1
  744. package/dist/record/index.js.map +1 -1
  745. package/dist/record/merge.d.ts +21 -0
  746. package/dist/record/merge.d.ts.map +1 -0
  747. package/dist/record/merge.js +147 -0
  748. package/dist/record/merge.js.map +1 -0
  749. package/dist/record/relations.d.ts +23 -0
  750. package/dist/record/relations.d.ts.map +1 -0
  751. package/dist/record/relations.js +164 -0
  752. package/dist/record/relations.js.map +1 -0
  753. package/dist/record/revision.d.ts +5 -0
  754. package/dist/record/revision.d.ts.map +1 -0
  755. package/dist/record/revision.js +11 -0
  756. package/dist/record/revision.js.map +1 -0
  757. package/dist/record/schema-coordination.client.d.ts +16 -0
  758. package/dist/record/schema-coordination.client.d.ts.map +1 -0
  759. package/dist/record/schema-coordination.client.js +59 -0
  760. package/dist/record/schema-coordination.client.js.map +1 -0
  761. package/dist/record/storage.record-delivery.reconcile.descriptor.d.ts +74 -0
  762. package/dist/record/storage.record-delivery.reconcile.descriptor.d.ts.map +1 -0
  763. package/dist/record/storage.record-delivery.reconcile.descriptor.js +54 -0
  764. package/dist/record/storage.record-delivery.reconcile.descriptor.js.map +1 -0
  765. package/dist/record/storage.record-delivery.reconcile.impl.d.ts +22 -0
  766. package/dist/record/storage.record-delivery.reconcile.impl.d.ts.map +1 -0
  767. package/dist/record/storage.record-delivery.reconcile.impl.js +52 -0
  768. package/dist/record/storage.record-delivery.reconcile.impl.js.map +1 -0
  769. package/dist/resolver/storage-backed-resolver.d.ts +12 -5
  770. package/dist/resolver/storage-backed-resolver.d.ts.map +1 -1
  771. package/dist/resolver/storage-backed-resolver.js +129 -48
  772. package/dist/resolver/storage-backed-resolver.js.map +1 -1
  773. package/dist/retention/capacity.d.ts +37 -0
  774. package/dist/retention/capacity.d.ts.map +1 -0
  775. package/dist/retention/capacity.js +71 -0
  776. package/dist/retention/capacity.js.map +1 -0
  777. package/dist/retention/catalog-chunks.d.ts +11 -0
  778. package/dist/retention/catalog-chunks.d.ts.map +1 -0
  779. package/dist/retention/catalog-chunks.js +62 -0
  780. package/dist/retention/catalog-chunks.js.map +1 -0
  781. package/dist/retention/reclaim.d.ts +59 -0
  782. package/dist/retention/reclaim.d.ts.map +1 -0
  783. package/dist/retention/reclaim.js +259 -0
  784. package/dist/retention/reclaim.js.map +1 -0
  785. package/dist/retention/roots.d.ts +141 -0
  786. package/dist/retention/roots.d.ts.map +1 -0
  787. package/dist/retention/roots.js +223 -0
  788. package/dist/retention/roots.js.map +1 -0
  789. package/dist/retention/scratch-custody.d.ts +40 -0
  790. package/dist/retention/scratch-custody.d.ts.map +1 -0
  791. package/dist/retention/scratch-custody.js +15 -0
  792. package/dist/retention/scratch-custody.js.map +1 -0
  793. package/dist/retention/startup-sweep.d.ts +57 -0
  794. package/dist/retention/startup-sweep.d.ts.map +1 -0
  795. package/dist/retention/startup-sweep.js +137 -0
  796. package/dist/retention/startup-sweep.js.map +1 -0
  797. package/dist/retention/storage.retention-sweep.descriptor.d.ts +82 -0
  798. package/dist/retention/storage.retention-sweep.descriptor.d.ts.map +1 -0
  799. package/dist/retention/storage.retention-sweep.descriptor.js +42 -0
  800. package/dist/retention/storage.retention-sweep.descriptor.js.map +1 -0
  801. package/dist/retention/storage.retention-sweep.impl.d.ts +22 -0
  802. package/dist/retention/storage.retention-sweep.impl.d.ts.map +1 -0
  803. package/dist/retention/storage.retention-sweep.impl.js +78 -0
  804. package/dist/retention/storage.retention-sweep.impl.js.map +1 -0
  805. package/dist/retention/storage.retention-sweep.schema.d.ts +3 -0
  806. package/dist/retention/storage.retention-sweep.schema.d.ts.map +1 -0
  807. package/dist/retention/storage.retention-sweep.schema.js +3 -0
  808. package/dist/retention/storage.retention-sweep.schema.js.map +1 -0
  809. package/dist/retention/sweep.d.ts +31 -0
  810. package/dist/retention/sweep.d.ts.map +1 -0
  811. package/dist/retention/sweep.js +190 -0
  812. package/dist/retention/sweep.js.map +1 -0
  813. package/dist/retention/tmp-scratch.d.ts +35 -0
  814. package/dist/retention/tmp-scratch.d.ts.map +1 -0
  815. package/dist/retention/tmp-scratch.js +149 -0
  816. package/dist/retention/tmp-scratch.js.map +1 -0
  817. package/dist/schemas/adapter-config.d.ts +42 -0
  818. package/dist/schemas/adapter-config.d.ts.map +1 -0
  819. package/dist/schemas/adapter-config.js +21 -0
  820. package/dist/schemas/adapter-config.js.map +1 -0
  821. package/dist/schemas/adapter-configuration-diagnostic.d.ts +35 -0
  822. package/dist/schemas/adapter-configuration-diagnostic.d.ts.map +1 -0
  823. package/dist/schemas/adapter-configuration-diagnostic.js +30 -0
  824. package/dist/schemas/adapter-configuration-diagnostic.js.map +1 -0
  825. package/dist/schemas/adapter-descriptor.d.ts +215 -5
  826. package/dist/schemas/adapter-descriptor.d.ts.map +1 -1
  827. package/dist/schemas/adapter-descriptor.js +158 -4
  828. package/dist/schemas/adapter-descriptor.js.map +1 -1
  829. package/dist/schemas/cloud-api.d.ts +99 -0
  830. package/dist/schemas/cloud-api.d.ts.map +1 -0
  831. package/dist/schemas/cloud-api.js +55 -0
  832. package/dist/schemas/cloud-api.js.map +1 -0
  833. package/dist/schemas/cloud-endpoints.d.ts +25 -0
  834. package/dist/schemas/cloud-endpoints.d.ts.map +1 -0
  835. package/dist/schemas/cloud-endpoints.js +38 -0
  836. package/dist/schemas/cloud-endpoints.js.map +1 -0
  837. package/dist/schemas/document-identity.d.ts +40 -0
  838. package/dist/schemas/document-identity.d.ts.map +1 -0
  839. package/dist/schemas/document-identity.js +21 -0
  840. package/dist/schemas/document-identity.js.map +1 -0
  841. package/dist/schemas/document-revision.d.ts +37 -0
  842. package/dist/schemas/document-revision.d.ts.map +1 -0
  843. package/dist/schemas/document-revision.js +14 -0
  844. package/dist/schemas/document-revision.js.map +1 -0
  845. package/dist/schemas/drizzle/config.d.ts +83 -0
  846. package/dist/schemas/drizzle/config.d.ts.map +1 -0
  847. package/dist/schemas/drizzle/config.js +55 -0
  848. package/dist/schemas/drizzle/config.js.map +1 -0
  849. package/dist/schemas/drizzle/connection.d.ts +41 -0
  850. package/dist/schemas/drizzle/connection.d.ts.map +1 -0
  851. package/dist/schemas/drizzle/connection.js +23 -0
  852. package/dist/schemas/drizzle/connection.js.map +1 -0
  853. package/dist/schemas/drizzle/journal-read.d.ts +11 -0
  854. package/dist/schemas/drizzle/journal-read.d.ts.map +1 -0
  855. package/dist/schemas/drizzle/journal-read.js +2 -0
  856. package/dist/schemas/drizzle/journal-read.js.map +1 -0
  857. package/dist/schemas/drizzle/persistence-config.d.ts +39 -0
  858. package/dist/schemas/drizzle/persistence-config.d.ts.map +1 -0
  859. package/dist/schemas/drizzle/persistence-config.js +71 -0
  860. package/dist/schemas/drizzle/persistence-config.js.map +1 -0
  861. package/dist/schemas/drizzle/persistence.d.ts +102 -0
  862. package/dist/schemas/drizzle/persistence.d.ts.map +1 -0
  863. package/dist/schemas/drizzle/persistence.js +28 -0
  864. package/dist/schemas/drizzle/persistence.js.map +1 -0
  865. package/dist/schemas/drizzle/ports.d.ts +39 -0
  866. package/dist/schemas/drizzle/ports.d.ts.map +1 -0
  867. package/dist/schemas/drizzle/ports.js +2 -0
  868. package/dist/schemas/drizzle/ports.js.map +1 -0
  869. package/dist/schemas/drizzle/providers.d.ts +64 -0
  870. package/dist/schemas/drizzle/providers.d.ts.map +1 -0
  871. package/dist/schemas/drizzle/providers.js +19 -0
  872. package/dist/schemas/drizzle/providers.js.map +1 -0
  873. package/dist/schemas/drizzle/raw-sql.d.ts +33 -0
  874. package/dist/schemas/drizzle/raw-sql.d.ts.map +1 -0
  875. package/dist/schemas/drizzle/raw-sql.js +34 -0
  876. package/dist/schemas/drizzle/raw-sql.js.map +1 -0
  877. package/dist/schemas/explorer/capability.d.ts +41 -0
  878. package/dist/schemas/explorer/capability.d.ts.map +1 -0
  879. package/dist/schemas/explorer/capability.js +14 -0
  880. package/dist/schemas/explorer/capability.js.map +1 -0
  881. package/dist/schemas/explorer/overview.d.ts +41 -0
  882. package/dist/schemas/explorer/overview.d.ts.map +1 -0
  883. package/dist/schemas/explorer/overview.js +45 -0
  884. package/dist/schemas/explorer/overview.js.map +1 -0
  885. package/dist/schemas/explorer/refs.d.ts +38 -0
  886. package/dist/schemas/explorer/refs.d.ts.map +1 -0
  887. package/dist/schemas/explorer/refs.js +21 -0
  888. package/dist/schemas/explorer/refs.js.map +1 -0
  889. package/dist/schemas/explorer/rpc.d.ts +211 -0
  890. package/dist/schemas/explorer/rpc.d.ts.map +1 -0
  891. package/dist/schemas/explorer/rpc.js +103 -0
  892. package/dist/schemas/explorer/rpc.js.map +1 -0
  893. package/dist/schemas/explorer/views.d.ts +99 -0
  894. package/dist/schemas/explorer/views.d.ts.map +1 -0
  895. package/dist/schemas/explorer/views.js +84 -0
  896. package/dist/schemas/explorer/views.js.map +1 -0
  897. package/dist/schemas/index.d.ts +16 -8
  898. package/dist/schemas/index.d.ts.map +1 -1
  899. package/dist/schemas/index.js +12 -4
  900. package/dist/schemas/index.js.map +1 -1
  901. package/dist/schemas/localdb/inputs.d.ts +80 -0
  902. package/dist/schemas/localdb/inputs.d.ts.map +1 -0
  903. package/dist/schemas/localdb/inputs.js +99 -0
  904. package/dist/schemas/localdb/inputs.js.map +1 -0
  905. package/dist/schemas/localdb/query.d.ts +28 -0
  906. package/dist/schemas/localdb/query.d.ts.map +1 -0
  907. package/dist/schemas/localdb/query.js +27 -0
  908. package/dist/schemas/localdb/query.js.map +1 -0
  909. package/dist/schemas/manifest-descriptor.d.ts +15 -5
  910. package/dist/schemas/manifest-descriptor.d.ts.map +1 -1
  911. package/dist/schemas/manifest-descriptor.js +2 -2
  912. package/dist/schemas/manifest-descriptor.js.map +1 -1
  913. package/dist/schemas/memory-store.d.ts +8 -0
  914. package/dist/schemas/memory-store.d.ts.map +1 -0
  915. package/dist/schemas/memory-store.js +7 -0
  916. package/dist/schemas/memory-store.js.map +1 -0
  917. package/dist/schemas/migration-format.d.ts +50 -0
  918. package/dist/schemas/migration-format.d.ts.map +1 -0
  919. package/dist/schemas/migration-format.js +17 -0
  920. package/dist/schemas/migration-format.js.map +1 -0
  921. package/dist/schemas/policy/overrides.d.ts +41 -0
  922. package/dist/schemas/policy/overrides.d.ts.map +1 -0
  923. package/dist/schemas/policy/overrides.js +14 -0
  924. package/dist/schemas/policy/overrides.js.map +1 -0
  925. package/dist/schemas/policy/persistence.d.ts +62 -0
  926. package/dist/schemas/policy/persistence.d.ts.map +1 -0
  927. package/dist/schemas/policy/persistence.js +24 -0
  928. package/dist/schemas/policy/persistence.js.map +1 -0
  929. package/dist/schemas/record/atomic.d.ts +41 -0
  930. package/dist/schemas/record/atomic.d.ts.map +1 -0
  931. package/dist/schemas/record/atomic.js +12 -0
  932. package/dist/schemas/record/atomic.js.map +1 -0
  933. package/dist/schemas/record/batch.d.ts +53 -0
  934. package/dist/schemas/record/batch.d.ts.map +1 -0
  935. package/dist/schemas/record/batch.js +36 -0
  936. package/dist/schemas/record/batch.js.map +1 -0
  937. package/dist/schemas/record/columns.d.ts +44 -0
  938. package/dist/schemas/record/columns.d.ts.map +1 -0
  939. package/dist/schemas/record/columns.js +25 -0
  940. package/dist/schemas/record/columns.js.map +1 -0
  941. package/dist/schemas/record/delivery.d.ts +54 -0
  942. package/dist/schemas/record/delivery.d.ts.map +1 -0
  943. package/dist/schemas/record/delivery.js +23 -0
  944. package/dist/schemas/record/delivery.js.map +1 -0
  945. package/dist/schemas/record/descriptor.d.ts +153 -51
  946. package/dist/schemas/record/descriptor.d.ts.map +1 -1
  947. package/dist/schemas/record/descriptor.js +61 -11
  948. package/dist/schemas/record/descriptor.js.map +1 -1
  949. package/dist/schemas/record/index.d.ts +8 -2
  950. package/dist/schemas/record/index.d.ts.map +1 -1
  951. package/dist/schemas/record/index.js +5 -1
  952. package/dist/schemas/record/index.js.map +1 -1
  953. package/dist/schemas/record/query-values.d.ts +62 -0
  954. package/dist/schemas/record/query-values.d.ts.map +1 -0
  955. package/dist/schemas/record/query-values.js +33 -0
  956. package/dist/schemas/record/query-values.js.map +1 -0
  957. package/dist/schemas/record/relation.d.ts +1 -1
  958. package/dist/schemas/record/relation.d.ts.map +1 -1
  959. package/dist/schemas/record/relation.js +8 -4
  960. package/dist/schemas/record/relation.js.map +1 -1
  961. package/dist/schemas/record/revision.d.ts +92 -0
  962. package/dist/schemas/record/revision.d.ts.map +1 -0
  963. package/dist/schemas/record/revision.js +39 -0
  964. package/dist/schemas/record/revision.js.map +1 -0
  965. package/dist/schemas/retention/jobs.d.ts +103 -0
  966. package/dist/schemas/retention/jobs.d.ts.map +1 -0
  967. package/dist/schemas/retention/jobs.js +72 -0
  968. package/dist/schemas/retention/jobs.js.map +1 -0
  969. package/dist/schemas/retention/results.d.ts +153 -0
  970. package/dist/schemas/retention/results.d.ts.map +1 -0
  971. package/dist/schemas/retention/results.js +84 -0
  972. package/dist/schemas/retention/results.js.map +1 -0
  973. package/dist/schemas/schema/descriptor.d.ts +14 -4
  974. package/dist/schemas/schema/descriptor.d.ts.map +1 -1
  975. package/dist/schemas/schema/descriptor.js +3 -3
  976. package/dist/schemas/schema/descriptor.js.map +1 -1
  977. package/dist/schemas/schema/index.d.ts +1 -1
  978. package/dist/schemas/schema/index.d.ts.map +1 -1
  979. package/dist/schemas/schema/index.js +1 -1
  980. package/dist/schemas/schema/index.js.map +1 -1
  981. package/dist/schemas/storage-provider.d.ts +79 -0
  982. package/dist/schemas/storage-provider.d.ts.map +1 -0
  983. package/dist/schemas/storage-provider.js +54 -0
  984. package/dist/schemas/storage-provider.js.map +1 -0
  985. package/dist/schemas/storage-ref.d.ts +39 -0
  986. package/dist/schemas/storage-ref.d.ts.map +1 -0
  987. package/dist/schemas/storage-ref.js +64 -0
  988. package/dist/schemas/storage-ref.js.map +1 -0
  989. package/dist/schemas/sync/command.d.ts +15 -0
  990. package/dist/schemas/sync/command.d.ts.map +1 -0
  991. package/dist/schemas/sync/command.js +10 -0
  992. package/dist/schemas/sync/command.js.map +1 -0
  993. package/dist/schemas/sync/crud.d.ts +26 -0
  994. package/dist/schemas/sync/crud.d.ts.map +1 -0
  995. package/dist/schemas/sync/crud.js +16 -0
  996. package/dist/schemas/sync/crud.js.map +1 -0
  997. package/dist/schemas/sync/document.d.ts +4 -0
  998. package/dist/schemas/sync/document.d.ts.map +1 -0
  999. package/dist/schemas/sync/document.js +4 -0
  1000. package/dist/schemas/sync/document.js.map +1 -0
  1001. package/dist/schemas/sync/local-first.d.ts +26 -0
  1002. package/dist/schemas/sync/local-first.d.ts.map +1 -0
  1003. package/dist/schemas/sync/local-first.js +14 -0
  1004. package/dist/schemas/sync/local-first.js.map +1 -0
  1005. package/dist/schemas/sync/results.d.ts +61 -0
  1006. package/dist/schemas/sync/results.d.ts.map +1 -0
  1007. package/dist/schemas/sync/results.js +47 -0
  1008. package/dist/schemas/sync/results.js.map +1 -0
  1009. package/dist/schemas/sync-bridge-descriptor.d.ts +34 -15
  1010. package/dist/schemas/sync-bridge-descriptor.d.ts.map +1 -1
  1011. package/dist/schemas/sync-bridge-descriptor.js +9 -2
  1012. package/dist/schemas/sync-bridge-descriptor.js.map +1 -1
  1013. package/dist/schemas/sync-memory.d.ts +7 -0
  1014. package/dist/schemas/sync-memory.d.ts.map +1 -0
  1015. package/dist/schemas/sync-memory.js +4 -0
  1016. package/dist/schemas/sync-memory.js.map +1 -0
  1017. package/dist/schemas/tools/views.d.ts +83 -0
  1018. package/dist/schemas/tools/views.d.ts.map +1 -0
  1019. package/dist/schemas/tools/views.js +57 -0
  1020. package/dist/schemas/tools/views.js.map +1 -0
  1021. package/dist/schemas/tools/widgets.d.ts +41 -0
  1022. package/dist/schemas/tools/widgets.d.ts.map +1 -0
  1023. package/dist/schemas/tools/widgets.js +13 -0
  1024. package/dist/schemas/tools/widgets.js.map +1 -0
  1025. package/dist/schemas/transform.d.ts +32 -0
  1026. package/dist/schemas/transform.d.ts.map +1 -0
  1027. package/dist/schemas/transform.js +18 -0
  1028. package/dist/schemas/transform.js.map +1 -0
  1029. package/dist/schemas/zod-schema-value.d.ts +8 -0
  1030. package/dist/schemas/zod-schema-value.d.ts.map +1 -0
  1031. package/dist/schemas/zod-schema-value.js +8 -0
  1032. package/dist/schemas/zod-schema-value.js.map +1 -0
  1033. package/dist/server/manifest-route.d.ts +18 -10
  1034. package/dist/server/manifest-route.d.ts.map +1 -1
  1035. package/dist/server/manifest-route.js +88 -90
  1036. package/dist/server/manifest-route.js.map +1 -1
  1037. package/dist/storage-explorer.consumer.plugin.d.ts +10 -0
  1038. package/dist/storage-explorer.consumer.plugin.d.ts.map +1 -0
  1039. package/dist/storage-explorer.consumer.plugin.js +24 -0
  1040. package/dist/storage-explorer.consumer.plugin.js.map +1 -0
  1041. package/dist/storage-policy.context.descriptor.js +1 -1
  1042. package/dist/storage-policy.context.descriptor.js.map +1 -1
  1043. package/dist/storage-policy.context.server.d.ts +7 -9
  1044. package/dist/storage-policy.context.server.d.ts.map +1 -1
  1045. package/dist/storage-policy.context.server.js +7 -20
  1046. package/dist/storage-policy.context.server.js.map +1 -1
  1047. package/dist/storage.consumer.plugin.d.ts +3 -0
  1048. package/dist/storage.consumer.plugin.d.ts.map +1 -0
  1049. package/dist/storage.consumer.plugin.js +15 -0
  1050. package/dist/storage.consumer.plugin.js.map +1 -0
  1051. package/dist/storage.node.plugin.d.ts +3 -0
  1052. package/dist/storage.node.plugin.d.ts.map +1 -0
  1053. package/dist/storage.node.plugin.js +12 -0
  1054. package/dist/storage.node.plugin.js.map +1 -0
  1055. package/dist/storage.plugin.d.ts +10 -16
  1056. package/dist/storage.plugin.d.ts.map +1 -1
  1057. package/dist/storage.plugin.js +150 -91
  1058. package/dist/storage.plugin.js.map +1 -1
  1059. package/dist/svelte/components/ConnectStorageProviderDialog.svelte +345 -0
  1060. package/dist/svelte/components/ConnectStorageProviderDialog.svelte.d.ts +17 -0
  1061. package/dist/svelte/components/ConnectStorageProviderDialog.svelte.d.ts.map +1 -0
  1062. package/dist/svelte/components/PlatformStorageExplorer.svelte +57 -0
  1063. package/dist/svelte/components/PlatformStorageExplorer.svelte.d.ts +23 -0
  1064. package/dist/svelte/components/PlatformStorageExplorer.svelte.d.ts.map +1 -0
  1065. package/dist/svelte/components/StorageBrowser.svelte +436 -0
  1066. package/dist/svelte/components/StorageBrowser.svelte.d.ts +51 -0
  1067. package/dist/svelte/components/StorageBrowser.svelte.d.ts.map +1 -0
  1068. package/dist/svelte/components/StorageBrowserPage.svelte +71 -0
  1069. package/dist/svelte/components/StorageBrowserPage.svelte.d.ts +23 -0
  1070. package/dist/svelte/components/StorageBrowserPage.svelte.d.ts.map +1 -0
  1071. package/dist/svelte/components/StorageCollectionManager.svelte +193 -0
  1072. package/dist/svelte/components/StorageCollectionManager.svelte.d.ts +14 -0
  1073. package/dist/svelte/components/StorageCollectionManager.svelte.d.ts.map +1 -0
  1074. package/dist/svelte/components/StorageDetailsPane.svelte +160 -0
  1075. package/dist/svelte/components/StorageDetailsPane.svelte.d.ts +11 -0
  1076. package/dist/svelte/components/StorageDetailsPane.svelte.d.ts.map +1 -0
  1077. package/dist/svelte/components/StorageDropzone.svelte +76 -0
  1078. package/dist/svelte/components/StorageDropzone.svelte.d.ts +9 -0
  1079. package/dist/svelte/components/StorageDropzone.svelte.d.ts.map +1 -0
  1080. package/dist/svelte/components/StorageExplorer.svelte +954 -0
  1081. package/dist/svelte/components/StorageExplorer.svelte.d.ts +48 -0
  1082. package/dist/svelte/components/StorageExplorer.svelte.d.ts.map +1 -0
  1083. package/dist/svelte/components/StorageFileBrowser.svelte +201 -0
  1084. package/dist/svelte/components/StorageFileBrowser.svelte.d.ts +18 -0
  1085. package/dist/svelte/components/StorageFileBrowser.svelte.d.ts.map +1 -0
  1086. package/dist/svelte/components/StorageFileCard.svelte +162 -0
  1087. package/dist/svelte/components/StorageFileCard.svelte.d.ts +10 -0
  1088. package/dist/svelte/components/StorageFileCard.svelte.d.ts.map +1 -0
  1089. package/dist/svelte/components/StoragePathBar.svelte +104 -0
  1090. package/dist/svelte/components/StoragePathBar.svelte.d.ts +19 -0
  1091. package/dist/svelte/components/StoragePathBar.svelte.d.ts.map +1 -0
  1092. package/dist/svelte/components/StorageProviderSelect.svelte +163 -0
  1093. package/dist/svelte/components/StorageProviderSelect.svelte.d.ts +20 -0
  1094. package/dist/svelte/components/StorageProviderSelect.svelte.d.ts.map +1 -0
  1095. package/dist/svelte/components/StorageProviderSidebar.svelte +187 -0
  1096. package/dist/svelte/components/StorageProviderSidebar.svelte.d.ts +30 -0
  1097. package/dist/svelte/components/StorageProviderSidebar.svelte.d.ts.map +1 -0
  1098. package/dist/svelte/components/StorageReadinessNotice.svelte +181 -0
  1099. package/dist/svelte/components/StorageReadinessNotice.svelte.d.ts +32 -0
  1100. package/dist/svelte/components/StorageReadinessNotice.svelte.d.ts.map +1 -0
  1101. package/dist/svelte/components/StorageSearchBox.svelte +106 -0
  1102. package/dist/svelte/components/StorageSearchBox.svelte.d.ts +19 -0
  1103. package/dist/svelte/components/StorageSearchBox.svelte.d.ts.map +1 -0
  1104. package/dist/svelte/components/StorageToolbar.svelte +160 -0
  1105. package/dist/svelte/components/StorageToolbar.svelte.d.ts +26 -0
  1106. package/dist/svelte/components/StorageToolbar.svelte.d.ts.map +1 -0
  1107. package/dist/svelte/components/StorageUploadChip.svelte +116 -0
  1108. package/dist/svelte/components/StorageUploadChip.svelte.d.ts +13 -0
  1109. package/dist/svelte/components/StorageUploadChip.svelte.d.ts.map +1 -0
  1110. package/dist/svelte/components/index.d.ts +14 -0
  1111. package/dist/svelte/components/index.d.ts.map +1 -0
  1112. package/dist/svelte/components/index.js +12 -0
  1113. package/dist/svelte/components/storage-media.d.ts +14 -0
  1114. package/dist/svelte/components/storage-media.d.ts.map +1 -0
  1115. package/dist/svelte/components/storage-media.js +13 -0
  1116. package/dist/svelte/index.d.ts +14 -0
  1117. package/dist/svelte/index.d.ts.map +1 -0
  1118. package/dist/svelte/index.js +13 -0
  1119. package/dist/svelte/note-store-failure.d.ts +15 -0
  1120. package/dist/svelte/note-store-failure.d.ts.map +1 -0
  1121. package/dist/svelte/note-store-failure.js +21 -0
  1122. package/dist/svelte/platform-storage-port.d.ts +86 -0
  1123. package/dist/svelte/platform-storage-port.d.ts.map +1 -0
  1124. package/dist/svelte/platform-storage-port.js +71 -0
  1125. package/dist/svelte/storage-browse-runtime.d.ts +65 -0
  1126. package/dist/svelte/storage-browse-runtime.d.ts.map +1 -0
  1127. package/dist/svelte/storage-browse-runtime.js +68 -0
  1128. package/dist/svelte/storage-connection.d.ts +23 -0
  1129. package/dist/svelte/storage-connection.d.ts.map +1 -0
  1130. package/dist/svelte/storage-connection.js +40 -0
  1131. package/dist/svelte/storage-display.d.ts +6 -0
  1132. package/dist/svelte/storage-display.d.ts.map +1 -0
  1133. package/dist/svelte/storage-display.js +58 -0
  1134. package/dist/svelte/storage-explorer-runtime.d.ts +120 -0
  1135. package/dist/svelte/storage-explorer-runtime.d.ts.map +1 -0
  1136. package/dist/svelte/storage-explorer-runtime.js +251 -0
  1137. package/dist/svelte/storage-explorer.load.d.ts +22 -0
  1138. package/dist/svelte/storage-explorer.load.d.ts.map +1 -0
  1139. package/dist/svelte/storage-explorer.load.js +37 -0
  1140. package/dist/svelte/storage-refs-runtime.d.ts +36 -0
  1141. package/dist/svelte/storage-refs-runtime.d.ts.map +1 -0
  1142. package/dist/svelte/storage-refs-runtime.js +47 -0
  1143. package/dist/svelte/storage-runtime.d.ts +30 -0
  1144. package/dist/svelte/storage-runtime.d.ts.map +1 -0
  1145. package/dist/svelte/storage-runtime.js +39 -0
  1146. package/dist/svelte/storage-svelte.plugin.d.ts +40 -0
  1147. package/dist/svelte/storage-svelte.plugin.d.ts.map +1 -0
  1148. package/dist/svelte/storage-svelte.plugin.js +50 -0
  1149. package/dist/svelte/storage-upload-runtime.d.ts +8 -0
  1150. package/dist/svelte/storage-upload-runtime.d.ts.map +1 -0
  1151. package/dist/svelte/storage-upload-runtime.js +12 -0
  1152. package/dist/svelte/stores/index.d.ts +4 -0
  1153. package/dist/svelte/stores/index.d.ts.map +1 -0
  1154. package/dist/svelte/stores/index.js +3 -0
  1155. package/dist/svelte/stores/storage-browse.svelte.d.ts +70 -0
  1156. package/dist/svelte/stores/storage-browse.svelte.d.ts.map +1 -0
  1157. package/dist/svelte/stores/storage-browse.svelte.js +133 -0
  1158. package/dist/svelte/stores/storage-providers.svelte.d.ts +32 -0
  1159. package/dist/svelte/stores/storage-providers.svelte.d.ts.map +1 -0
  1160. package/dist/svelte/stores/storage-providers.svelte.js +73 -0
  1161. package/dist/svelte/stores/storage-refs.svelte.d.ts +57 -0
  1162. package/dist/svelte/stores/storage-refs.svelte.d.ts.map +1 -0
  1163. package/dist/svelte/stores/storage-refs.svelte.js +90 -0
  1164. package/dist/svelte/styles.css +14 -0
  1165. package/dist/svelte/test-assets.d.ts +8 -0
  1166. package/dist/svelte/tool-widgets/StorageBrowseToolCard.svelte +109 -0
  1167. package/dist/svelte/tool-widgets/StorageBrowseToolCard.svelte.d.ts +9 -0
  1168. package/dist/svelte/tool-widgets/StorageBrowseToolCard.svelte.d.ts.map +1 -0
  1169. package/dist/svelte/tool-widgets/StorageCopyToolCard.svelte +87 -0
  1170. package/dist/svelte/tool-widgets/StorageCopyToolCard.svelte.d.ts +9 -0
  1171. package/dist/svelte/tool-widgets/StorageCopyToolCard.svelte.d.ts.map +1 -0
  1172. package/dist/svelte/tool-widgets/StorageSearchToolCard.svelte +94 -0
  1173. package/dist/svelte/tool-widgets/StorageSearchToolCard.svelte.d.ts +9 -0
  1174. package/dist/svelte/tool-widgets/StorageSearchToolCard.svelte.d.ts.map +1 -0
  1175. package/dist/svelte/tool-widgets/format.d.ts +15 -0
  1176. package/dist/svelte/tool-widgets/format.d.ts.map +1 -0
  1177. package/dist/svelte/tool-widgets/format.js +32 -0
  1178. package/dist/svelte/tool-widgets/index.d.ts +2 -0
  1179. package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
  1180. package/dist/svelte/tool-widgets/index.js +12 -0
  1181. package/dist/svelte/tool-widgets/runtime.d.ts +9 -0
  1182. package/dist/svelte/tool-widgets/runtime.d.ts.map +1 -0
  1183. package/dist/svelte/tool-widgets/runtime.js +42 -0
  1184. package/dist/sync/cloud-document.d.ts +24 -0
  1185. package/dist/sync/cloud-document.d.ts.map +1 -0
  1186. package/dist/sync/cloud-document.js +47 -0
  1187. package/dist/sync/cloud-document.js.map +1 -0
  1188. package/dist/sync/cloud-pull.d.ts +9 -3
  1189. package/dist/sync/cloud-pull.d.ts.map +1 -1
  1190. package/dist/sync/cloud-pull.js +85 -86
  1191. package/dist/sync/cloud-pull.js.map +1 -1
  1192. package/dist/sync/cloud-record-crud-config.d.ts +7 -17
  1193. package/dist/sync/cloud-record-crud-config.d.ts.map +1 -1
  1194. package/dist/sync/cloud-record-crud-config.js +17 -9
  1195. package/dist/sync/cloud-record-crud-config.js.map +1 -1
  1196. package/dist/sync/local-first.d.ts +61 -0
  1197. package/dist/sync/local-first.d.ts.map +1 -0
  1198. package/dist/sync/local-first.js +121 -0
  1199. package/dist/sync/local-first.js.map +1 -0
  1200. package/dist/sync/record-sync-bridge.d.ts +35 -3
  1201. package/dist/sync/record-sync-bridge.d.ts.map +1 -1
  1202. package/dist/sync/record-sync-bridge.js +50 -46
  1203. package/dist/sync/record-sync-bridge.js.map +1 -1
  1204. package/dist/sync/resolve-sync-target.d.ts +16 -17
  1205. package/dist/sync/resolve-sync-target.d.ts.map +1 -1
  1206. package/dist/sync/resolve-sync-target.js +18 -43
  1207. package/dist/sync/resolve-sync-target.js.map +1 -1
  1208. package/dist/sync/runtime-sync-state.d.ts +18 -0
  1209. package/dist/sync/runtime-sync-state.d.ts.map +1 -0
  1210. package/dist/sync/runtime-sync-state.js +12 -0
  1211. package/dist/sync/runtime-sync-state.js.map +1 -0
  1212. package/dist/sync/schemas/cloud-pull.d.ts +9 -5
  1213. package/dist/sync/schemas/cloud-pull.d.ts.map +1 -1
  1214. package/dist/sync/schemas/index.d.ts +3 -3
  1215. package/dist/sync/schemas/index.d.ts.map +1 -1
  1216. package/dist/sync/schemas/index.js +3 -3
  1217. package/dist/sync/schemas/index.js.map +1 -1
  1218. package/dist/sync/schemas/sync-helpers.d.ts +4 -2
  1219. package/dist/sync/schemas/sync-helpers.d.ts.map +1 -1
  1220. package/dist/sync/schemas/sync-state.d.ts +7 -5
  1221. package/dist/sync/schemas/sync-state.d.ts.map +1 -1
  1222. package/dist/sync/schemas/sync-state.js +1 -0
  1223. package/dist/sync/schemas/sync-state.js.map +1 -1
  1224. package/dist/sync/sync-bridge.d.ts +39 -31
  1225. package/dist/sync/sync-bridge.d.ts.map +1 -1
  1226. package/dist/sync/sync-bridge.js +427 -196
  1227. package/dist/sync/sync-bridge.js.map +1 -1
  1228. package/dist/sync/sync-manifest.d.ts +7 -19
  1229. package/dist/sync/sync-manifest.d.ts.map +1 -1
  1230. package/dist/sync/sync-manifest.js +125 -84
  1231. package/dist/sync/sync-manifest.js.map +1 -1
  1232. package/dist/sync/sync-state.browser.d.ts +37 -0
  1233. package/dist/sync/sync-state.browser.d.ts.map +1 -0
  1234. package/dist/sync/sync-state.browser.js +136 -0
  1235. package/dist/sync/sync-state.browser.js.map +1 -0
  1236. package/dist/sync/sync-state.client.d.ts +71 -0
  1237. package/dist/sync/sync-state.client.d.ts.map +1 -0
  1238. package/dist/sync/sync-state.client.js +78 -0
  1239. package/dist/sync/sync-state.client.js.map +1 -0
  1240. package/dist/sync/sync-state.consumer.d.ts +44 -17
  1241. package/dist/sync/sync-state.consumer.d.ts.map +1 -1
  1242. package/dist/sync/sync-state.consumer.js +161 -87
  1243. package/dist/sync/sync-state.consumer.js.map +1 -1
  1244. package/dist/sync/sync-state.core.d.ts +40 -0
  1245. package/dist/sync/sync-state.core.d.ts.map +1 -0
  1246. package/dist/sync/sync-state.core.js +130 -0
  1247. package/dist/sync/sync-state.core.js.map +1 -0
  1248. package/dist/sync/sync-state.descriptor.d.ts +39 -0
  1249. package/dist/sync/sync-state.descriptor.d.ts.map +1 -0
  1250. package/dist/sync/sync-state.descriptor.js +23 -0
  1251. package/dist/sync/sync-state.descriptor.js.map +1 -0
  1252. package/dist/testing.d.ts +31 -0
  1253. package/dist/testing.d.ts.map +1 -0
  1254. package/dist/testing.js +82 -0
  1255. package/dist/testing.js.map +1 -0
  1256. package/dist/tools/descriptors.d.ts +312 -0
  1257. package/dist/tools/descriptors.d.ts.map +1 -0
  1258. package/dist/tools/descriptors.js +98 -0
  1259. package/dist/tools/descriptors.js.map +1 -0
  1260. package/dist/tools/impl.d.ts +72 -0
  1261. package/dist/tools/impl.d.ts.map +1 -0
  1262. package/dist/tools/impl.js +572 -0
  1263. package/dist/tools/impl.js.map +1 -0
  1264. package/dist/tools/index.d.ts +3 -0
  1265. package/dist/tools/index.d.ts.map +1 -0
  1266. package/dist/tools/index.js +3 -0
  1267. package/dist/tools/index.js.map +1 -0
  1268. package/dist/tools/schemas.d.ts +136 -0
  1269. package/dist/tools/schemas.d.ts.map +1 -0
  1270. package/dist/tools/schemas.js +113 -0
  1271. package/dist/tools/schemas.js.map +1 -0
  1272. package/dist/tools/widget-views.d.ts +9 -0
  1273. package/dist/tools/widget-views.d.ts.map +1 -0
  1274. package/dist/tools/widget-views.js +119 -0
  1275. package/dist/tools/widget-views.js.map +1 -0
  1276. package/dist/transform/index.d.ts +7 -18
  1277. package/dist/transform/index.d.ts.map +1 -1
  1278. package/dist/transform/index.js +16 -14
  1279. package/dist/transform/index.js.map +1 -1
  1280. package/dist/transform/transform-descriptor.d.ts +1 -21
  1281. package/dist/transform/transform-descriptor.d.ts.map +1 -1
  1282. package/dist/transform/transform-descriptor.js +1 -29
  1283. package/dist/transform/transform-descriptor.js.map +1 -1
  1284. package/dist/tui/plugin.d.ts +26 -0
  1285. package/dist/tui/plugin.d.ts.map +1 -0
  1286. package/dist/tui/plugin.js +107 -0
  1287. package/dist/tui/plugin.js.map +1 -0
  1288. package/dist/tui/storage-explorer.descriptor.d.ts +25 -4
  1289. package/dist/tui/storage-explorer.descriptor.d.ts.map +1 -1
  1290. package/dist/tui/storage-explorer.descriptor.js +7 -3
  1291. package/dist/tui/storage-explorer.descriptor.js.map +1 -1
  1292. package/dist/tui/storage-explorer.impl.consumer.d.ts +23 -6
  1293. package/dist/tui/storage-explorer.impl.consumer.d.ts.map +1 -1
  1294. package/dist/tui/storage-explorer.impl.consumer.js +231 -8
  1295. package/dist/tui/storage-explorer.impl.consumer.js.map +1 -1
  1296. package/dist/tui/storage-open.descriptor.d.ts +16 -3
  1297. package/dist/tui/storage-open.descriptor.d.ts.map +1 -1
  1298. package/dist/tui/storage-open.descriptor.js +5 -1
  1299. package/dist/tui/storage-open.descriptor.js.map +1 -1
  1300. package/dist/tui/storage-open.impl.consumer.d.ts +6 -1
  1301. package/dist/tui/storage-open.impl.consumer.d.ts.map +1 -1
  1302. package/dist/tui/storage-open.impl.consumer.js.map +1 -1
  1303. package/dist/tui/storage-signed-out-ui.d.ts +21 -0
  1304. package/dist/tui/storage-signed-out-ui.d.ts.map +1 -0
  1305. package/dist/tui/storage-signed-out-ui.js +34 -0
  1306. package/dist/tui/storage-signed-out-ui.js.map +1 -0
  1307. package/dist/tui/storage.tui-state.descriptor.d.ts +61 -0
  1308. package/dist/tui/storage.tui-state.descriptor.d.ts.map +1 -0
  1309. package/dist/tui/storage.tui-state.descriptor.js +52 -0
  1310. package/dist/tui/storage.tui-state.descriptor.js.map +1 -0
  1311. package/dist/tui/storage.tui-state.impl.consumer.d.ts +29 -0
  1312. package/dist/tui/storage.tui-state.impl.consumer.d.ts.map +1 -0
  1313. package/dist/tui/storage.tui-state.impl.consumer.js +207 -0
  1314. package/dist/tui/storage.tui-state.impl.consumer.js.map +1 -0
  1315. package/dist/tui/storage.tui-state.key.d.ts +27 -0
  1316. package/dist/tui/storage.tui-state.key.d.ts.map +1 -0
  1317. package/dist/tui/storage.tui-state.key.js +12 -0
  1318. package/dist/tui/storage.tui-state.key.js.map +1 -0
  1319. package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.d.ts +14 -0
  1320. package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.d.ts.map +1 -0
  1321. package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.js +28 -0
  1322. package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.js.map +1 -0
  1323. package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.d.ts +14 -0
  1324. package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.d.ts.map +1 -0
  1325. package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.js +21 -0
  1326. package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.js.map +1 -0
  1327. package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.d.ts +14 -0
  1328. package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.d.ts.map +1 -0
  1329. package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.js +22 -0
  1330. package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.js.map +1 -0
  1331. package/dist/tui/tool-widgets/format.d.ts +19 -0
  1332. package/dist/tui/tool-widgets/format.d.ts.map +1 -0
  1333. package/dist/tui/tool-widgets/format.js +53 -0
  1334. package/dist/tui/tool-widgets/format.js.map +1 -0
  1335. package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.d.ts +14 -0
  1336. package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.d.ts.map +1 -0
  1337. package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.js +14 -0
  1338. package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.js.map +1 -0
  1339. package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.d.ts +14 -0
  1340. package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.d.ts.map +1 -0
  1341. package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.js +14 -0
  1342. package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.js.map +1 -0
  1343. package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.d.ts +14 -0
  1344. package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.d.ts.map +1 -0
  1345. package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.js +14 -0
  1346. package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.js.map +1 -0
  1347. package/dist/utils/caller-bearer.d.ts +13 -0
  1348. package/dist/utils/caller-bearer.d.ts.map +1 -0
  1349. package/dist/utils/caller-bearer.js +17 -0
  1350. package/dist/utils/caller-bearer.js.map +1 -0
  1351. package/dist/utils/error-context.d.ts +9 -1
  1352. package/dist/utils/error-context.d.ts.map +1 -1
  1353. package/dist/utils/error-context.js +7 -14
  1354. package/dist/utils/error-context.js.map +1 -1
  1355. package/dist/utils/failure-of.d.ts +20 -0
  1356. package/dist/utils/failure-of.d.ts.map +1 -0
  1357. package/dist/utils/failure-of.js +35 -0
  1358. package/dist/utils/failure-of.js.map +1 -0
  1359. package/dist/workers-port.d.ts +37 -0
  1360. package/dist/workers-port.d.ts.map +1 -0
  1361. package/dist/workers-port.js +60 -0
  1362. package/dist/workers-port.js.map +1 -0
  1363. package/package.json +644 -148
  1364. package/SPEC.md +0 -60
  1365. package/dist/adapters/index.d.ts +0 -14
  1366. package/dist/adapters/index.d.ts.map +0 -1
  1367. package/dist/adapters/index.js +0 -15
  1368. package/dist/adapters/index.js.map +0 -1
  1369. package/dist/cli/context.consumer.d.ts +0 -26
  1370. package/dist/cli/context.consumer.d.ts.map +0 -1
  1371. package/dist/cli/context.consumer.js +0 -164
  1372. package/dist/cli/context.consumer.js.map +0 -1
  1373. package/dist/docs/adapters.docs.descriptor.d.ts +0 -4
  1374. package/dist/docs/adapters.docs.descriptor.d.ts.map +0 -1
  1375. package/dist/docs/adapters.docs.descriptor.js +0 -223
  1376. package/dist/docs/adapters.docs.descriptor.js.map +0 -1
  1377. package/dist/docs/manifests.docs.descriptor.d.ts +0 -4
  1378. package/dist/docs/manifests.docs.descriptor.d.ts.map +0 -1
  1379. package/dist/docs/manifests.docs.descriptor.js.map +0 -1
  1380. package/src/adapters/index.ts +0 -13
  1381. package/src/bridge/index.ts +0 -2
  1382. package/src/bridge/storage-kind-bridge.ts +0 -131
  1383. package/src/bridge/types.ts +0 -46
  1384. package/src/cli/commands/list/storage.list.cli-command.descriptor.ts +0 -20
  1385. package/src/cli/commands/list/storage.list.cli-command.impl.ts +0 -72
  1386. package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.ts +0 -28
  1387. package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.ts +0 -171
  1388. package/src/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.ts +0 -28
  1389. package/src/cli/commands/sync/push/storage.sync.push.cli-command.impl.ts +0 -213
  1390. package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.ts +0 -22
  1391. package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.ts +0 -129
  1392. package/src/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.ts +0 -17
  1393. package/src/cli/commands/sync/status/storage.sync.status.cli-command.impl.ts +0 -192
  1394. package/src/cli/context.consumer.ts +0 -195
  1395. package/src/cli/storage.cli-group.descriptor.ts +0 -13
  1396. package/src/cli/storage.sync.cli-group.descriptor.ts +0 -14
  1397. package/src/cli/types.ts +0 -25
  1398. package/src/client/index.ts +0 -10
  1399. package/src/client/list-browsable-adapters.ts +0 -42
  1400. package/src/daemon/commands/sync.ts +0 -225
  1401. package/src/docs/adapters.docs.descriptor.ts +0 -225
  1402. package/src/docs/manifests.docs.descriptor.ts +0 -318
  1403. package/src/docs/records.docs.descriptor.ts +0 -271
  1404. package/src/docs/sync.docs.descriptor.ts +0 -281
  1405. package/src/index.ts +0 -109
  1406. package/src/interfaces/adapter.ts +0 -451
  1407. package/src/interfaces/document-store.ts +0 -74
  1408. package/src/interfaces/index.ts +0 -117
  1409. package/src/interfaces/key-value.ts +0 -112
  1410. package/src/interfaces/query-builder.ts +0 -31
  1411. package/src/interfaces/record/index.ts +0 -58
  1412. package/src/interfaces/record/interface.ts +0 -723
  1413. package/src/interfaces/repository.ts +0 -300
  1414. package/src/interfaces/schema/index.ts +0 -37
  1415. package/src/interfaces/schema/schema-interface.ts +0 -586
  1416. package/src/interfaces/schema/table-interface.ts +0 -314
  1417. package/src/interfaces/storage-consumer-fs.ts +0 -66
  1418. package/src/manifest/base.ts +0 -594
  1419. package/src/manifest/cloud-sync.consumer.ts +0 -120
  1420. package/src/manifest/index.ts +0 -7
  1421. package/src/manifest/source-policy.ts +0 -74
  1422. package/src/paths.ts +0 -171
  1423. package/src/policy/context.ts +0 -30
  1424. package/src/policy/index.ts +0 -20
  1425. package/src/policy/overrides.ts +0 -46
  1426. package/src/policy/persistence.ts +0 -117
  1427. package/src/policy/types.ts +0 -28
  1428. package/src/record/base.ts +0 -1872
  1429. package/src/record/events.ts +0 -56
  1430. package/src/record/extensions.ts +0 -308
  1431. package/src/record/index.ts +0 -7
  1432. package/src/resolver/storage-backed-resolver.ts +0 -255
  1433. package/src/schemas/adapter-descriptor.ts +0 -128
  1434. package/src/schemas/index.ts +0 -104
  1435. package/src/schemas/manifest-descriptor.ts +0 -143
  1436. package/src/schemas/record/descriptor.ts +0 -621
  1437. package/src/schemas/record/index.ts +0 -60
  1438. package/src/schemas/record/relation.ts +0 -49
  1439. package/src/schemas/schema/descriptor.ts +0 -278
  1440. package/src/schemas/schema/index.ts +0 -14
  1441. package/src/schemas/sync-bridge-descriptor.ts +0 -143
  1442. package/src/server/manifest-route.ts +0 -319
  1443. package/src/storage-policy.context.descriptor.ts +0 -17
  1444. package/src/storage-policy.context.server.ts +0 -34
  1445. package/src/storage.plugin.ts +0 -264
  1446. package/src/sync/cloud-pull.ts +0 -202
  1447. package/src/sync/cloud-record-crud-config.ts +0 -41
  1448. package/src/sync/record-sync-bridge.ts +0 -183
  1449. package/src/sync/resolve-sync-target.ts +0 -57
  1450. package/src/sync/schemas/cloud-pull.ts +0 -26
  1451. package/src/sync/schemas/index.ts +0 -18
  1452. package/src/sync/schemas/sync-helpers.ts +0 -18
  1453. package/src/sync/schemas/sync-state.ts +0 -41
  1454. package/src/sync/sync-bridge.ts +0 -763
  1455. package/src/sync/sync-manifest.ts +0 -212
  1456. package/src/sync/sync-state.consumer.ts +0 -144
  1457. package/src/transform/index.ts +0 -130
  1458. package/src/transform/transform-descriptor.ts +0 -53
  1459. package/src/tui/storage-explorer.descriptor.ts +0 -32
  1460. package/src/tui/storage-explorer.impl.consumer.ts +0 -14
  1461. package/src/tui/storage-open.descriptor.ts +0 -31
  1462. package/src/tui/storage-open.impl.consumer.ts +0 -14
  1463. package/src/utils/error-context.ts +0 -19
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Agent homes a per-home backup target runs for.
3
+ *
4
+ * A home is `<root>/<ownerType>/<ownerId>/agents/<agentId>/` holding the
5
+ * target's marker file (presence keeps each agent's inner world there). The
6
+ * root comes from the target, resolved on the caller's runtime roots; nothing
7
+ * reads the process home or guesses an agent.
8
+ */
9
+ import { CapabilityError, CaughtFailureSchema } from "@vibesdotdev/kernel";
10
+ import { backupEntryKind } from "./io.js";
11
+ /** `<ownerType>/<ownerId>/<agentId>`: how a home is named in results and provenance. */
12
+ export function agentHomeLabel(home) {
13
+ return `${home.ownerType}/${home.ownerId}/${home.agentId}`;
14
+ }
15
+ /** Real subdirectories of `dir`, sorted; links are not homes and are never followed. */
16
+ async function subdirectories(io, dir) {
17
+ const entries = await io.fs.list(dir);
18
+ return entries.filter((entry) => entry.kind === "directory").map((entry) => entry.name).sort();
19
+ }
20
+ /**
21
+ * Every agent home under `root` that holds `marker` (a regular file, not a
22
+ * link). A missing root is no homes; a root or owner directory that cannot be
23
+ * read refuses with `backup-agent-homes-unreadable` rather than backing up a
24
+ * partial set silently.
25
+ */
26
+ export async function listBackupAgentHomes(io, root, marker) {
27
+ if ((await backupEntryKind(io, root)) !== "directory")
28
+ return [];
29
+ const homes = [];
30
+ try {
31
+ for (const ownerType of await subdirectories(io, root)) {
32
+ for (const ownerId of await subdirectories(io, io.path.join(root, ownerType))) {
33
+ const agentsDir = io.path.join(root, ownerType, ownerId, "agents");
34
+ if ((await backupEntryKind(io, agentsDir)) !== "directory")
35
+ continue;
36
+ for (const agentId of await subdirectories(io, agentsDir)) {
37
+ const dir = io.path.join(agentsDir, agentId);
38
+ if ((await backupEntryKind(io, io.path.join(dir, marker))) === "file")
39
+ homes.push({ ownerType, ownerId, agentId, dir });
40
+ }
41
+ }
42
+ }
43
+ }
44
+ catch (error) {
45
+ const failure = CaughtFailureSchema.parse(error);
46
+ throw new CapabilityError("The agent homes for a per-home backup target could not be listed.", "UNAVAILABLE", {
47
+ reason: "backup-agent-homes-unreadable",
48
+ details: { root, marker },
49
+ cause: failure instanceof Error ? failure : undefined,
50
+ });
51
+ }
52
+ return homes;
53
+ }
54
+ //# sourceMappingURL=homes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homes.js","sourceRoot":"","sources":["../../../src/backup/core/homes.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAEzD,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,IAAqB;IAClD,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,cAAc,CAAC,EAAY,EAAE,GAAW;IACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjG,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAY,EAAE,IAAY,EAAE,MAAc;IACnF,IAAI,CAAC,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IACjE,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,KAAK,MAAM,SAAS,IAAI,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,OAAO,IAAI,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,KAAK,WAAW;oBAAE,SAAS;gBACrE,KAAK,MAAM,OAAO,IAAI,MAAM,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC7C,IAAI,CAAC,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1H,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,eAAe,CAAC,mEAAmE,EAAE,aAAa,EAAE;YAC5G,MAAM,EAAE,+BAA+B;YACvC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACzB,KAAK,EAAE,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACtD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Backup core barrel
3
+ */
4
+ export { expandPath, resolveDestinationDir, resolveTargetPaths, backupPathRoots, snapshotPathFor, } from "./paths.ts";
5
+ export { backupIoOf, backupEntryKind, BACKUP_FILE_MODE } from "./io.ts";
6
+ export type { BackupIo, BackupEntryKind } from "./io.ts";
7
+ export type { BackupPathRoots, BackupPathRuntime, ResolvedTargetPaths } from "./paths.ts";
8
+ export { sha256OfFile } from "./hash.ts";
9
+ export type { RotationDecision } from "./rotation.ts";
10
+ export { planRotation } from "./rotation.ts";
11
+ export type { RunSnapshotOptions, SnapshotCoreResult } from "./snapshot.ts";
12
+ export { runSnapshot, BACKUP_TARGET_EMPTY, BACKUP_SOURCE_SYMLINK } from "./snapshot.ts";
13
+ export { listBackupTargets } from "./registry.ts";
14
+ export { verifyRecoveryDrillEvidence } from "./recovery.ts";
15
+ export type { RecoveryDrillVerification } from "./recovery.ts";
16
+ export { evaluateRecoveryReadiness } from "./readiness.ts";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backup/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Backup core barrel
3
+ */
4
+ export { expandPath, resolveDestinationDir, resolveTargetPaths, backupPathRoots, snapshotPathFor, } from "./paths.js";
5
+ export { backupIoOf, backupEntryKind, BACKUP_FILE_MODE } from "./io.js";
6
+ export { sha256OfFile } from "./hash.js";
7
+ export { planRotation } from "./rotation.js";
8
+ export { runSnapshot, BACKUP_TARGET_EMPTY, BACKUP_SOURCE_SYMLINK } from "./snapshot.js";
9
+ export { listBackupTargets } from "./registry.js";
10
+ export { verifyRecoveryDrillEvidence } from "./recovery.js";
11
+ export { evaluateRecoveryReadiness } from "./readiness.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backup/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { HashedFile, CopyExpectation } from '../schemas/core.ts';
2
+ export type { HashedFile, CopyExpectation } from '../schemas/core.ts';
3
+ /**
4
+ * Backup I/O through the runtime's own kinds.
5
+ *
6
+ * Backup reads and writes host files at absolute paths (the Vibes home and
7
+ * its backups directory), so it uses the host filesystem adapter
8
+ * (`filesystem/adapter`, unbound) for bytes and for its path mechanics, and
9
+ * LocalDB's SQLite driver kind (`localdb/sqlite-driver`) for SQLite
10
+ * snapshots. It holds no host API of its own.
11
+ *
12
+ * Files are moved in bounded chunks, never held whole: a snapshot can be
13
+ * gigabytes (awareness.db). A file up to one chunk is read with
14
+ * `readFileNoFollow` (which refuses a final symlink atomically); a larger one
15
+ * is classified with the adapter's no-follow `stat`, read in ranges, and
16
+ * stat'ed again afterwards: a source that became a link, or changed size or
17
+ * time while it was read, refuses and nothing is published (copies go through
18
+ * `writeFileStream`, which renames a finished temporary file into place).
19
+ * Hashes are computed incrementally (`createSha256` from shared).
20
+ *
21
+ * Every link refusal is the typed, value-free `PERMISSION_DENIED
22
+ * backup-source-symlink`.
23
+ */
24
+ import { CapabilityError, type RuntimeRef } from "@vibesdotdev/kernel";
25
+ import { sqliteDriverOf } from "@vibesdotdev/localdb";
26
+ import { type HostEntryKind, type HostFileSystem, type HostPathOps } from "../../host-files.ts";
27
+ /** The runtime backup I/O resolves on. */
28
+ export type BackupIoRuntime = RuntimeRef;
29
+ /** LocalDB's SQLite driver contract, as its kind resolves it. */
30
+ export type BackupSqliteDriver = Awaited<ReturnType<typeof sqliteDriverOf>>;
31
+ /** The host path mechanics backup uses: the filesystem adapter's own. */
32
+ export type BackupPathOps = HostPathOps;
33
+ /** The host capabilities a backup run uses, resolved once per run from its runtime. */
34
+ export interface BackupIo {
35
+ readonly fs: HostFileSystem;
36
+ readonly path: BackupPathOps;
37
+ /** Resolved on first use: only SQLite sources need it. */
38
+ readonly sqlite: () => Promise<BackupSqliteDriver>;
39
+ }
40
+ /** Mode of every file a snapshot or a restore writes: owner read/write only. */
41
+ export declare const BACKUP_FILE_MODE = 384;
42
+ /** Walk bounds for a `directory` source: deeper or larger trees refuse typed. */
43
+ export declare const BACKUP_DIRECTORY_MAX_DEPTH = 32;
44
+ export declare const BACKUP_DIRECTORY_MAX_ENTRIES = 100000;
45
+ /** The largest piece of a file held in memory at once. */
46
+ export declare const BACKUP_CHUNK_BYTES: number;
47
+ /** The unbound host filesystem adapter (absolute host paths, never a workspace binding). */
48
+ export declare function backupFileSystemOf(runtime: RuntimeRef): Promise<HostFileSystem>;
49
+ export declare function backupIoOf(runtime: BackupIoRuntime): Promise<BackupIo>;
50
+ /** What a source path is, read without following a link. */
51
+ export type BackupEntryKind = HostEntryKind;
52
+ /** Classify `path` without following a link; only a confirmed absence is `missing`. */
53
+ export declare function backupEntryKind(io: BackupIo, path: string): Promise<BackupEntryKind>;
54
+ /** The refusal for a link where a backup or restore expects a file or directory. */
55
+ export declare function backupSymlinkRefusal(targetId: string, cause?: Error): CapabilityError;
56
+ /**
57
+ * A regular file's bytes, chunk by chunk (each at most {@link BACKUP_CHUNK_BYTES}),
58
+ * never through a link. A larger file is re-checked after its last chunk:
59
+ * one that became a link or changed while read refuses typed, so a consumer
60
+ * that publishes only after the last chunk never publishes it.
61
+ */
62
+ export declare function readChunksNoFollow(io: BackupIo, path: string, targetId: string): AsyncGenerator<Uint8Array>;
63
+ /** A file's size and SHA-256, read in chunks without following a link. */
64
+ /** Hash a regular file in chunks, never through a link. */
65
+ export declare function hashFileNoFollow(io: BackupIo, path: string, targetId: string): Promise<HashedFile>;
66
+ /** What a copy must match: a mismatch publishes nothing. */
67
+ /** The refusal for a copied file that does not match what was recorded. */
68
+ export declare function backupCopyMismatch(targetId: string): CapabilityError;
69
+ /**
70
+ * Copy a regular file to `destPath` (owner-only, its directory created) in
71
+ * chunks, never through a link, hashing as it goes. The destination appears
72
+ * only once every byte is written and every check passed (the stream write's
73
+ * temporary file is renamed into place); a refusal leaves nothing there.
74
+ */
75
+ export declare function copyFileNoFollow(io: BackupIo, sourcePath: string, destPath: string, targetId: string, expect?: CopyExpectation): Promise<HashedFile>;
76
+ //# sourceMappingURL=io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/backup/core/io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAA0C,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE/G,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAA6C,KAAK,aAAa,EAAsB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE/J,0CAA0C;AAC1C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;AAE5E,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,uFAAuF;AACvF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpD;AAED,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,MAAQ,CAAC;AAEtC,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,4BAA4B,SAAU,CAAC;AAEpD,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,QAAkC,CAAC;AAElE,4FAA4F;AAC5F,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAErF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAI5E;AAED,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC;AAE5C,uFAAuF;AACvF,wBAAsB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAE1F;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,eAAe,CAMrF;AAyCD;;;;;GAKG;AACH,wBAAuB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAkBlH;AAED,0EAA0E;AAG1E,2DAA2D;AAC3D,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAQxG;AAED,4DAA4D;AAG5D,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAMpE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Backup I/O through the runtime's own kinds.
3
+ *
4
+ * Backup reads and writes host files at absolute paths (the Vibes home and
5
+ * its backups directory), so it uses the host filesystem adapter
6
+ * (`filesystem/adapter`, unbound) for bytes and for its path mechanics, and
7
+ * LocalDB's SQLite driver kind (`localdb/sqlite-driver`) for SQLite
8
+ * snapshots. It holds no host API of its own.
9
+ *
10
+ * Files are moved in bounded chunks, never held whole: a snapshot can be
11
+ * gigabytes (awareness.db). A file up to one chunk is read with
12
+ * `readFileNoFollow` (which refuses a final symlink atomically); a larger one
13
+ * is classified with the adapter's no-follow `stat`, read in ranges, and
14
+ * stat'ed again afterwards: a source that became a link, or changed size or
15
+ * time while it was read, refuses and nothing is published (copies go through
16
+ * `writeFileStream`, which renames a finished temporary file into place).
17
+ * Hashes are computed incrementally (`createSha256` from shared).
18
+ *
19
+ * Every link refusal is the typed, value-free `PERMISSION_DENIED
20
+ * backup-source-symlink`.
21
+ */
22
+ import { CapabilityError, CaughtFailureSchema, isCapabilityError } from "@vibesdotdev/kernel";
23
+ import { FILESYSTEM_READ_RANGE_MAX_BYTES, readFileNoFollow, readFileRangeChecked, writeFileStream } from "@vibesdotdev/filesystem";
24
+ import { sqliteDriverOf } from "@vibesdotdev/localdb";
25
+ import { createSha256 } from "@vibesdotdev/shared/hashing";
26
+ import { hostEntryKind, hostFileSystemOf, hostStat } from "../../host-files.js";
27
+ /** Mode of every file a snapshot or a restore writes: owner read/write only. */
28
+ export const BACKUP_FILE_MODE = 0o600;
29
+ /** Walk bounds for a `directory` source: deeper or larger trees refuse typed. */
30
+ export const BACKUP_DIRECTORY_MAX_DEPTH = 32;
31
+ export const BACKUP_DIRECTORY_MAX_ENTRIES = 100_000;
32
+ /** The largest piece of a file held in memory at once. */
33
+ export const BACKUP_CHUNK_BYTES = FILESYSTEM_READ_RANGE_MAX_BYTES;
34
+ /** The unbound host filesystem adapter (absolute host paths, never a workspace binding). */
35
+ export async function backupFileSystemOf(runtime) {
36
+ return hostFileSystemOf(runtime, "backup-filesystem-unavailable");
37
+ }
38
+ export async function backupIoOf(runtime) {
39
+ const fs = await backupFileSystemOf(runtime);
40
+ let driver;
41
+ return { fs, path: fs, sqlite: () => (driver ??= sqliteDriverOf(runtime)) };
42
+ }
43
+ /** Classify `path` without following a link; only a confirmed absence is `missing`. */
44
+ export async function backupEntryKind(io, path) {
45
+ return hostEntryKind(io.fs, path);
46
+ }
47
+ /** The refusal for a link where a backup or restore expects a file or directory. */
48
+ export function backupSymlinkRefusal(targetId, cause) {
49
+ return new CapabilityError("A backup source entry is a symbolic link; links are never followed or copied.", "PERMISSION_DENIED", { reason: "backup-source-symlink", retryable: false, details: { targetId }, cause });
50
+ }
51
+ /** A file that is not there, or not a regular file, where one was expected. */
52
+ function notRegularFile(targetId, found) {
53
+ return new CapabilityError("A backup file is missing or is not a regular file.", found === "missing" ? "NOT_FOUND" : "INVALID_INPUT", {
54
+ reason: found === "missing" ? "backup-file-missing" : "backup-file-not-regular",
55
+ retryable: false,
56
+ details: { targetId, found },
57
+ });
58
+ }
59
+ /** A file whose size or modification time moved while it was read. */
60
+ function changedWhileRead(targetId) {
61
+ return new CapabilityError("A backup file changed while it was being read; nothing was kept from it.", "CONFLICT", {
62
+ reason: "backup-file-changed",
63
+ retryable: true,
64
+ details: { targetId },
65
+ });
66
+ }
67
+ /** The no-follow stat of a regular file at `path`, or the typed refusal for what is there instead. */
68
+ async function regularFileStat(io, path, targetId) {
69
+ const stat = await hostStat(io.fs, path);
70
+ if (stat?.kind === "symlink")
71
+ throw backupSymlinkRefusal(targetId);
72
+ if (!stat || stat.kind !== "file")
73
+ throw notRegularFile(targetId, stat?.kind ?? "missing");
74
+ return stat;
75
+ }
76
+ /** A single-chunk no-follow read; a link found by the atomic read is the backup refusal. */
77
+ async function readSmallNoFollow(io, path, targetId) {
78
+ try {
79
+ return (await readFileNoFollow(io.fs, path)).bytes;
80
+ }
81
+ catch (error) {
82
+ const failure = CaughtFailureSchema.parse(error);
83
+ if (failure instanceof Error && isCapabilityError(failure) && failure.reason === "filesystem-read-symlink") {
84
+ throw backupSymlinkRefusal(targetId, failure);
85
+ }
86
+ throw error;
87
+ }
88
+ }
89
+ /**
90
+ * A regular file's bytes, chunk by chunk (each at most {@link BACKUP_CHUNK_BYTES}),
91
+ * never through a link. A larger file is re-checked after its last chunk:
92
+ * one that became a link or changed while read refuses typed, so a consumer
93
+ * that publishes only after the last chunk never publishes it.
94
+ */
95
+ export async function* readChunksNoFollow(io, path, targetId) {
96
+ const before = await regularFileStat(io, path, targetId);
97
+ if (before.size <= BACKUP_CHUNK_BYTES) {
98
+ yield await readSmallNoFollow(io, path, targetId);
99
+ return;
100
+ }
101
+ let offset = 0;
102
+ for (;;) {
103
+ const chunk = await readFileRangeChecked(io.fs, path, { offset, length: BACKUP_CHUNK_BYTES });
104
+ if (chunk.byteLength > 0)
105
+ yield chunk;
106
+ offset += chunk.byteLength;
107
+ if (chunk.byteLength < BACKUP_CHUNK_BYTES)
108
+ break;
109
+ }
110
+ const after = await hostStat(io.fs, path);
111
+ if (after?.kind === "symlink")
112
+ throw backupSymlinkRefusal(targetId);
113
+ if (!after || after.kind !== "file" || after.size !== before.size || after.mtime !== before.mtime || offset !== before.size) {
114
+ throw changedWhileRead(targetId);
115
+ }
116
+ }
117
+ /** A file's size and SHA-256, read in chunks without following a link. */
118
+ /** Hash a regular file in chunks, never through a link. */
119
+ export async function hashFileNoFollow(io, path, targetId) {
120
+ const hasher = createSha256();
121
+ let bytes = 0;
122
+ for await (const chunk of readChunksNoFollow(io, path, targetId)) {
123
+ hasher.update(chunk);
124
+ bytes += chunk.byteLength;
125
+ }
126
+ return { bytes, sha256: hasher.digestHex() };
127
+ }
128
+ /** What a copy must match: a mismatch publishes nothing. */
129
+ /** The refusal for a copied file that does not match what was recorded. */
130
+ export function backupCopyMismatch(targetId) {
131
+ return new CapabilityError("A backup file does not match its recorded size or hash.", "INTERNAL", {
132
+ reason: "backup-file-corrupt",
133
+ retryable: false,
134
+ details: { targetId },
135
+ });
136
+ }
137
+ /**
138
+ * Copy a regular file to `destPath` (owner-only, its directory created) in
139
+ * chunks, never through a link, hashing as it goes. The destination appears
140
+ * only once every byte is written and every check passed (the stream write's
141
+ * temporary file is renamed into place); a refusal leaves nothing there.
142
+ */
143
+ export async function copyFileNoFollow(io, sourcePath, destPath, targetId, expect) {
144
+ await io.fs.mkdir(io.path.dirname(destPath), { recursive: true, mode: 0o700 });
145
+ const hasher = createSha256();
146
+ let bytes = 0;
147
+ let sha256 = "";
148
+ const chunks = readChunksNoFollow(io, sourcePath, targetId);
149
+ const source = new ReadableStream({
150
+ async pull(controller) {
151
+ try {
152
+ const next = await chunks.next();
153
+ if (next.done) {
154
+ sha256 = hasher.digestHex();
155
+ if (expect && (bytes !== expect.bytes || (expect.sha256 !== undefined && sha256 !== expect.sha256))) {
156
+ controller.error(backupCopyMismatch(targetId));
157
+ return;
158
+ }
159
+ controller.close();
160
+ return;
161
+ }
162
+ hasher.update(next.value);
163
+ bytes += next.value.byteLength;
164
+ controller.enqueue(next.value);
165
+ }
166
+ catch (error) {
167
+ controller.error(CaughtFailureSchema.parse(error));
168
+ }
169
+ },
170
+ async cancel() {
171
+ await chunks.return(undefined);
172
+ },
173
+ });
174
+ await writeFileStream(io.fs, destPath, source, { mode: BACKUP_FILE_MODE });
175
+ return { bytes, sha256 };
176
+ }
177
+ //# sourceMappingURL=io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../../src/backup/core/io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { ResolvedTargetPaths } from '../schemas/core.ts';
2
+ export type { ResolvedTargetPaths } from '../schemas/core.ts';
3
+ /**
4
+ * Path interpolation + destination resolution for backup targets.
5
+ *
6
+ * Every root comes from the runtime the caller was handed; nothing reads the
7
+ * process home or the environment, and no agent is guessed.
8
+ *
9
+ * Source and destination paths support:
10
+ * - absolute paths
11
+ * - `{vibesHome}/...` — the runtime's Vibes home (`paths/roots`)
12
+ * - `~/...` and `{userHome}/...` — the runtime's user home (`paths/roots`)
13
+ * - `{agentId}` — the agent the invocation acts as (`agent/identity`). A
14
+ * target that names it on an invocation with no agent fails with the
15
+ * context's typed `AUTH_REQUIRED` error instead of backing up someone
16
+ * else's state.
17
+ * - `{agentHome}` — the agent home a per-home target is running for
18
+ * (`source.agentHomes`). It is bound only by that run; elsewhere (e.g. a
19
+ * status listing) it stays literal, and resolving a target's paths without
20
+ * it refuses `backup-agent-home-unbound`.
21
+ *
22
+ * Destinations default to `{vibesHome}/backups/{targetId}/`, and to
23
+ * `{vibesHome}/backups/{targetId}/<ownerType>/<ownerId>/<agentId>/` for a
24
+ * per-home run, so each home keeps its own snapshots.
25
+ */
26
+ import { type VibesRuntime } from "@vibesdotdev/kernel";
27
+ import { getPathRoots } from "@vibesdotdev/paths";
28
+ import { backupFileSystemOf, type BackupPathOps } from "./io.ts";
29
+ import type { BackupTargetDescriptor } from "../schemas/target.ts";
30
+ import type { BackupAgentHome } from "./homes.ts";
31
+ /** The runtime a backup path resolves on: its path roots, path mechanics and its invocation's agent. */
32
+ export type BackupPathRuntime = Parameters<typeof getPathRoots>[0] & Parameters<typeof backupFileSystemOf>[0] & Pick<VibesRuntime, "context">;
33
+ export interface BackupPathRoots {
34
+ userHome: string;
35
+ vibesHome: string;
36
+ /** The host path mechanics (the filesystem adapter's). */
37
+ path: BackupPathOps;
38
+ /** Resolved only when a path names `{agentId}`. */
39
+ agentId: () => Promise<string>;
40
+ /** The agent home a per-home run is bound to; `{agentHome}` stays literal without one. */
41
+ agentHome?: BackupAgentHome;
42
+ }
43
+ export declare function backupPathRoots(runtime: BackupPathRuntime): Promise<BackupPathRoots>;
44
+ export declare function expandPath(input: string, roots: BackupPathRoots): Promise<string>;
45
+ export declare function resolveDestinationDir(targetId: string, overrideDir: string | undefined, roots: BackupPathRoots): Promise<string>;
46
+ /** A target's resolved source file and destination directory. */
47
+ export declare function resolveTargetPaths(target: BackupTargetDescriptor, roots: BackupPathRoots): Promise<ResolvedTargetPaths>;
48
+ /** Where one source file lands in a run: `<destDir>/<name>.<timestamp>`. */
49
+ export declare function snapshotPathFor(path: Pick<BackupPathOps, "join" | "basename">, destDir: string, sourceName: string, timestamp: string): string;
50
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/backup/core/paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wGAAwG;AACxG,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,GAChE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACxC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,EAAE,aAAa,CAAC;IACpB,mDAAmD;IACnD,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAa1F;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAWvF;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,iEAAiE;AAGjE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAY9B;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,EAC9C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Path interpolation + destination resolution for backup targets.
3
+ *
4
+ * Every root comes from the runtime the caller was handed; nothing reads the
5
+ * process home or the environment, and no agent is guessed.
6
+ *
7
+ * Source and destination paths support:
8
+ * - absolute paths
9
+ * - `{vibesHome}/...` — the runtime's Vibes home (`paths/roots`)
10
+ * - `~/...` and `{userHome}/...` — the runtime's user home (`paths/roots`)
11
+ * - `{agentId}` — the agent the invocation acts as (`agent/identity`). A
12
+ * target that names it on an invocation with no agent fails with the
13
+ * context's typed `AUTH_REQUIRED` error instead of backing up someone
14
+ * else's state.
15
+ * - `{agentHome}` — the agent home a per-home target is running for
16
+ * (`source.agentHomes`). It is bound only by that run; elsewhere (e.g. a
17
+ * status listing) it stays literal, and resolving a target's paths without
18
+ * it refuses `backup-agent-home-unbound`.
19
+ *
20
+ * Destinations default to `{vibesHome}/backups/{targetId}/`, and to
21
+ * `{vibesHome}/backups/{targetId}/<ownerType>/<ownerId>/<agentId>/` for a
22
+ * per-home run, so each home keeps its own snapshots.
23
+ */
24
+ import { CapabilityError } from "@vibesdotdev/kernel";
25
+ import { AGENT_IDENTITY_CONTEXT_ID } from "@vibesdotdev/kernel/schemas/agent-identity";
26
+ import { getPathRoots } from "@vibesdotdev/paths";
27
+ import { backupFileSystemOf } from "./io.js";
28
+ export async function backupPathRoots(runtime) {
29
+ const roots = getPathRoots(runtime);
30
+ const path = await backupFileSystemOf(runtime);
31
+ let agent;
32
+ return {
33
+ userHome: roots.userHome,
34
+ vibesHome: roots.vibesHome,
35
+ path,
36
+ agentId: () => (agent ??= runtime
37
+ .context(AGENT_IDENTITY_CONTEXT_ID)
38
+ .then((identity) => identity.agentId)),
39
+ };
40
+ }
41
+ export async function expandPath(input, roots) {
42
+ let p = input;
43
+ if (p.startsWith("~/"))
44
+ p = roots.path.join(roots.userHome, p.slice(2));
45
+ p = p.replace(/\{vibesHome\}/g, roots.vibesHome).replace(/\{userHome\}/g, roots.userHome);
46
+ if (roots.agentHome) {
47
+ p = p.replace(/\{agentHome\}/g, roots.agentHome.dir);
48
+ // A per-home run acts for that home's agent, not the invocation's.
49
+ p = p.replace(/\{agentId\}/g, roots.agentHome.agentId);
50
+ }
51
+ if (p.includes("{agentId}"))
52
+ p = p.replace(/\{agentId\}/g, await roots.agentId());
53
+ return p;
54
+ }
55
+ export async function resolveDestinationDir(targetId, overrideDir, roots) {
56
+ const base = overrideDir ? await expandPath(overrideDir, roots) : roots.path.join(roots.vibesHome, "backups", targetId);
57
+ const home = roots.agentHome;
58
+ return home ? roots.path.join(base, home.ownerType, home.ownerId, home.agentId) : base;
59
+ }
60
+ /** A target's resolved source file and destination directory. */
61
+ export async function resolveTargetPaths(target, roots) {
62
+ if (target.source.path.includes("{agentHome}") && !roots.agentHome) {
63
+ throw new CapabilityError(`Backup target '${target.id}' runs per agent home; its paths resolve only for one home.`, "INVALID_INPUT", { reason: "backup-agent-home-unbound", details: { targetId: target.id } });
64
+ }
65
+ return {
66
+ sourcePath: await expandPath(target.source.path, roots),
67
+ destDir: await resolveDestinationDir(target.id, target.destinationDir, roots),
68
+ };
69
+ }
70
+ /** Where one source file lands in a run: `<destDir>/<name>.<timestamp>`. */
71
+ export function snapshotPathFor(path, destDir, sourceName, timestamp) {
72
+ const safeTs = timestamp.replace(/[:.]/g, "-");
73
+ return path.join(destDir, `${path.basename(sourceName)}.${safeTs}`);
74
+ }
75
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/backup/core/paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { RecoveryReadinessReport } from '../schemas/core.ts';
2
+ export type { RecoveryReadinessPredicate, RecoveryReadinessReport } from '../schemas/core.ts';
3
+ import type { JsonValue } from "@vibesdotdev/kernel/schemas/json";
4
+ export declare function evaluateRecoveryReadiness(planInput: JsonValue, attestationInput: JsonValue, options?: {
5
+ now?: Date;
6
+ planFile?: string;
7
+ attestationFile?: string;
8
+ }): RecoveryReadinessReport;
9
+ //# sourceMappingURL=readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/backup/core/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,SAAS,EAC3B,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,uBAAuB,CA6LzB"}
@@ -0,0 +1,104 @@
1
+ import { RecoveryPlanDescriptorSchema, RecoveryReadinessAttestationSchema } from "../schemas/disaster-recovery.js";
2
+ import { verifyRecoveryDrillEvidence } from "./recovery.js";
3
+ export function evaluateRecoveryReadiness(planInput, attestationInput, options = {}) {
4
+ const now = options.now ?? new Date();
5
+ const planFile = options.planFile ?? "<plan.json>";
6
+ const attestationFile = options.attestationFile ?? "<attestation.json>";
7
+ const rerun = `vibes infra recovery readiness --plan-file ${planFile} --attestation-file ${attestationFile} --output json`;
8
+ const parsedPlan = RecoveryPlanDescriptorSchema.safeParse(planInput);
9
+ if (!parsedPlan.success) {
10
+ return {
11
+ ok: false,
12
+ planId: "invalid",
13
+ generatedAt: now.toISOString(),
14
+ predicates: parsedPlan.error.issues.map((issue) => ({
15
+ id: "valid-plan",
16
+ pass: false,
17
+ summary: `${issue.path.join(".") || "<root>"}: ${issue.message}`,
18
+ evidenceRefs: [],
19
+ action: `Fix ${planFile}, then run: ${rerun}`,
20
+ })),
21
+ };
22
+ }
23
+ const plan = parsedPlan.data;
24
+ const parsedAttestation = RecoveryReadinessAttestationSchema.safeParse(attestationInput);
25
+ if (!parsedAttestation.success) {
26
+ const action = `Produce a sanitized provider attestation at ${attestationFile} without reading secret values, then run: ${rerun}`;
27
+ const predicates = [];
28
+ for (const plane of plan.authorityPlanes.filter((candidate) => candidate.authority === "authoritative")) {
29
+ for (const id of [
30
+ "snapshot-present", "provider-owned", "off-account", "immutable",
31
+ "cross-provider", "retention", "snapshot-rpo", "checksums",
32
+ ]) {
33
+ predicates.push({
34
+ id,
35
+ planeId: plane.id,
36
+ pass: false,
37
+ summary: `Provider could not attest '${id}' for ${plane.id}.`,
38
+ evidenceRefs: [],
39
+ action,
40
+ });
41
+ }
42
+ }
43
+ predicates.push({
44
+ id: "restore-drill",
45
+ pass: false,
46
+ summary: "Provider could not attest a successful isolated restore drill.",
47
+ evidenceRefs: parsedAttestation.error.issues.map((issue) => `${issue.path.join(".") || "<root>"}: ${issue.message}`),
48
+ action: `vibes infra recovery restore-drill --plan-file ${planFile} --evidence-file <drill-evidence.json> --output json`,
49
+ });
50
+ return { ok: false, planId: plan.id, generatedAt: now.toISOString(), predicates };
51
+ }
52
+ const attestation = parsedAttestation.data;
53
+ const predicates = [];
54
+ const add = (id, pass, summary, action, planeId, evidenceRefs = []) => {
55
+ const predicate = { id, pass, summary, action, evidenceRefs };
56
+ if (planeId)
57
+ predicate.planeId = planeId;
58
+ predicates.push(predicate);
59
+ };
60
+ add("plan-identity", attestation.planId === plan.id && attestation.planVersion === plan.version, `Attestation targets ${attestation.planId}@${attestation.planVersion}; plan is ${plan.id}@${plan.version}.`, rerun);
61
+ const snapshots = new Map(attestation.snapshots.map((snapshot) => [snapshot.planeId, snapshot]));
62
+ for (const plane of plan.authorityPlanes.filter((candidate) => candidate.authority === "authoritative")) {
63
+ add("implemented-coverage", plane.backup.coverage.status === "implemented" ||
64
+ plane.backup.coverage.status === "verified" ||
65
+ plane.backup.coverage.status === "drill-verified", `Tracked recovery coverage is ${plane.backup.coverage.status}.`, rerun, plane.id, plane.backup.coverage.evidenceRefs);
66
+ const snapshot = snapshots.get(plane.id);
67
+ if (!snapshot) {
68
+ add("snapshot-present", false, "Provider did not attest a successful snapshot.", rerun, plane.id);
69
+ continue;
70
+ }
71
+ const refs = [snapshot.lastSuccessfulSnapshot.evidenceRef];
72
+ add("single-epoch-watermark", snapshot.epoch === attestation.epoch &&
73
+ snapshot.consistencyWatermark === attestation.consistencyWatermark &&
74
+ snapshot.lastSuccessfulSnapshot.manifestSha256 === attestation.manifestSha256, `Plane epoch ${snapshot.epoch} at watermark ${snapshot.consistencyWatermark}.`, rerun, plane.id, [...refs, attestation.manifestKey]);
75
+ add("provider-owned", snapshot.producer.provider === snapshot.sourceProvider, `Snapshot was produced by ${snapshot.producer.provider} job ${snapshot.producer.executionRef}.`, rerun, plane.id, [...refs, snapshot.producer.executionRef]);
76
+ add("off-account", snapshot.sourceAccountRef !== snapshot.destinationAccountRef, `${snapshot.sourceAccountRef} -> ${snapshot.destinationAccountRef}`, rerun, plane.id, refs);
77
+ add("immutable", snapshot.immutability.locked && new Date(snapshot.immutability.until).getTime() > now.getTime(), `Immutable lock ends ${snapshot.immutability.until}.`, rerun, plane.id, [...refs, snapshot.immutability.evidenceRef]);
78
+ add("cross-provider", snapshot.sourceProvider === plane.sourceProvider &&
79
+ snapshot.destinationProvider === plane.backup.destinationProvider &&
80
+ snapshot.sourceProvider !== snapshot.destinationProvider, `${snapshot.sourceProvider} -> ${snapshot.destinationProvider}`, rerun, plane.id, refs);
81
+ add("retention", JSON.stringify(snapshot.retention) === JSON.stringify(plane.backup.retention), "Attested retention matches the recovery plan.", rerun, plane.id, [...refs, snapshot.retentionEvidenceRef]);
82
+ const ageMinutes = (now.getTime() - new Date(snapshot.lastSuccessfulSnapshot.createdAt).getTime()) / 60_000;
83
+ add("snapshot-rpo", ageMinutes >= 0 && ageMinutes <= plane.objectives.rpoMinutes, `Latest successful snapshot is ${Math.max(0, Math.round(ageMinutes))} minute(s) old; RPO is ${plane.objectives.rpoMinutes}.`, rerun, plane.id, refs);
84
+ add("checksums", snapshot.lastSuccessfulSnapshot.checksumsVerified, "Snapshot manifest and artifacts passed checksum verification.", rerun, plane.id, refs);
85
+ }
86
+ if (!attestation.latestDrill) {
87
+ add("restore-drill", false, "No isolated restore-drill evidence is attested.", `vibes infra recovery restore-drill --plan-file ${planFile} --evidence-file <drill-evidence.json> --output json`);
88
+ }
89
+ else {
90
+ const verification = verifyRecoveryDrillEvidence(plan, attestation.latestDrill);
91
+ const ageDays = (now.getTime() - new Date(attestation.latestDrill.finishedAt).getTime()) / 86_400_000;
92
+ const pass = verification.ok && ageDays >= 0 && ageDays <= plan.drillPolicy.intervalDays;
93
+ add("restore-drill", pass, pass
94
+ ? `Latest isolated restore drill passed ${Math.round(ageDays)} day(s) ago.`
95
+ : verification.failures.join("; ") || "Restore-drill evidence is stale.", `vibes infra recovery restore-drill --plan-file ${planFile} --evidence-file <drill-evidence.json> --output json`, undefined, [attestation.latestDrill.cleanup.evidenceRef]);
96
+ }
97
+ return {
98
+ ok: predicates.every((predicate) => predicate.pass),
99
+ planId: plan.id,
100
+ generatedAt: now.toISOString(),
101
+ predicates,
102
+ };
103
+ }
104
+ //# sourceMappingURL=readiness.js.map