@vibesdotdev/storage 0.0.2 → 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.
- package/LICENSE +18 -0
- package/README.md +78 -1
- package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.d.ts +10 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.js +40 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.descriptor.js.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.impl.d.ts +93 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.impl.js +437 -0
- package/dist/adapters/cloud-api/cloud-api.adapter.impl.js.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.fetch-client.d.ts +59 -0
- package/dist/adapters/cloud-api/cloud-api.fetch-client.d.ts.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.fetch-client.js +357 -0
- package/dist/adapters/cloud-api/cloud-api.fetch-client.js.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.record.d.ts +85 -0
- package/dist/adapters/cloud-api/cloud-api.record.d.ts.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.record.helpers.d.ts +71 -0
- package/dist/adapters/cloud-api/cloud-api.record.helpers.d.ts.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.record.helpers.js +270 -0
- package/dist/adapters/cloud-api/cloud-api.record.helpers.js.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.record.js +351 -0
- package/dist/adapters/cloud-api/cloud-api.record.js.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.test-utils.d.ts +38 -0
- package/dist/adapters/cloud-api/cloud-api.test-utils.d.ts.map +1 -0
- package/dist/adapters/cloud-api/cloud-api.test-utils.js +139 -0
- package/dist/adapters/cloud-api/cloud-api.test-utils.js.map +1 -0
- package/dist/adapters/cloud-api/index.d.ts +10 -0
- package/dist/adapters/cloud-api/index.d.ts.map +1 -0
- package/dist/adapters/cloud-api/index.js +10 -0
- package/dist/adapters/cloud-api/index.js.map +1 -0
- package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.d.ts +9 -0
- package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.d.ts.map +1 -0
- package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.js +21 -0
- package/dist/adapters/cloud-api/storage-adapter-cloud-api.plugin.js.map +1 -0
- package/dist/adapters/drizzle/batch-type-proof.d.ts +21 -0
- package/dist/adapters/drizzle/batch-type-proof.d.ts.map +1 -0
- package/dist/adapters/drizzle/batch-type-proof.js +2 -0
- package/dist/adapters/drizzle/batch-type-proof.js.map +1 -0
- package/dist/adapters/drizzle/canonical.adapter.descriptor.d.ts +4 -0
- package/dist/adapters/drizzle/canonical.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/drizzle/canonical.adapter.descriptor.js +29 -0
- package/dist/adapters/drizzle/canonical.adapter.descriptor.js.map +1 -0
- package/dist/adapters/drizzle/contracts.d.ts +24 -0
- package/dist/adapters/drizzle/contracts.d.ts.map +1 -0
- package/dist/adapters/drizzle/contracts.js +5 -0
- package/dist/adapters/drizzle/contracts.js.map +1 -0
- package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.d.ts +4 -0
- package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.d.ts.map +1 -0
- package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.js +187 -0
- package/dist/adapters/drizzle/docs/storage.adapters.drizzle.docs.descriptor.js.map +1 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.d.ts +15 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.d.ts.map +1 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.js +59 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.impl.js.map +1 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.d.ts +5 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.d.ts.map +1 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.js +27 -0
- package/dist/adapters/drizzle/drizzle-journal.migration-format.plugin.js.map +1 -0
- package/dist/adapters/drizzle/drizzle.adapter.descriptor.d.ts +2 -0
- package/dist/adapters/drizzle/drizzle.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/drizzle/drizzle.adapter.descriptor.js +3 -0
- package/dist/adapters/drizzle/drizzle.adapter.descriptor.js.map +1 -0
- package/dist/adapters/drizzle/drizzle.adapter.impl.d.ts +37 -0
- package/dist/adapters/drizzle/drizzle.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/drizzle/drizzle.adapter.impl.js +1163 -0
- package/dist/adapters/drizzle/drizzle.adapter.impl.js.map +1 -0
- package/dist/adapters/drizzle/extensions.d.ts +5 -0
- package/dist/adapters/drizzle/extensions.d.ts.map +1 -0
- package/dist/adapters/drizzle/extensions.js +30 -0
- package/dist/adapters/drizzle/extensions.js.map +1 -0
- package/dist/adapters/drizzle/index.d.ts +12 -0
- package/dist/adapters/drizzle/index.d.ts.map +1 -0
- package/dist/adapters/drizzle/index.js +12 -0
- package/dist/adapters/drizzle/index.js.map +1 -0
- package/dist/adapters/drizzle/libsql-migrator.d.ts +23 -0
- package/dist/adapters/drizzle/libsql-migrator.d.ts.map +1 -0
- package/dist/adapters/drizzle/libsql-migrator.js +67 -0
- package/dist/adapters/drizzle/libsql-migrator.js.map +1 -0
- package/dist/adapters/drizzle/libsql.d.ts +15 -0
- package/dist/adapters/drizzle/libsql.d.ts.map +1 -0
- package/dist/adapters/drizzle/libsql.js +19 -0
- package/dist/adapters/drizzle/libsql.js.map +1 -0
- package/dist/adapters/drizzle/migration-files.d.ts +15 -0
- package/dist/adapters/drizzle/migration-files.d.ts.map +1 -0
- package/dist/adapters/drizzle/migration-files.js +54 -0
- package/dist/adapters/drizzle/migration-files.js.map +1 -0
- package/dist/adapters/drizzle/migration-statements.d.ts +7 -0
- package/dist/adapters/drizzle/migration-statements.d.ts.map +1 -0
- package/dist/adapters/drizzle/migration-statements.js +14 -0
- package/dist/adapters/drizzle/migration-statements.js.map +1 -0
- package/dist/adapters/drizzle/persistence-errors.d.ts +33 -0
- package/dist/adapters/drizzle/persistence-errors.d.ts.map +1 -0
- package/dist/adapters/drizzle/persistence-errors.js +75 -0
- package/dist/adapters/drizzle/persistence-errors.js.map +1 -0
- package/dist/adapters/drizzle/persistence-factory.d.ts +100 -0
- package/dist/adapters/drizzle/persistence-factory.d.ts.map +1 -0
- package/dist/adapters/drizzle/persistence-factory.js +391 -0
- package/dist/adapters/drizzle/persistence-factory.js.map +1 -0
- package/dist/adapters/drizzle/persistence.client.d.ts +73 -0
- package/dist/adapters/drizzle/persistence.client.d.ts.map +1 -0
- package/dist/adapters/drizzle/persistence.client.js +238 -0
- package/dist/adapters/drizzle/persistence.client.js.map +1 -0
- package/dist/adapters/drizzle/providers.d.ts +19 -0
- package/dist/adapters/drizzle/providers.d.ts.map +1 -0
- package/dist/adapters/drizzle/providers.js +62 -0
- package/dist/adapters/drizzle/providers.js.map +1 -0
- package/dist/adapters/drizzle/record-ddl.d.ts +13 -0
- package/dist/adapters/drizzle/record-ddl.d.ts.map +1 -0
- package/dist/adapters/drizzle/record-ddl.js +70 -0
- package/dist/adapters/drizzle/record-ddl.js.map +1 -0
- package/dist/adapters/drizzle/record-table.d.ts +59 -0
- package/dist/adapters/drizzle/record-table.d.ts.map +1 -0
- package/dist/adapters/drizzle/record-table.js +87 -0
- package/dist/adapters/drizzle/record-table.js.map +1 -0
- package/dist/adapters/drizzle/schemas/record-migration.d.ts +30 -0
- package/dist/adapters/drizzle/schemas/record-migration.d.ts.map +1 -0
- package/dist/adapters/drizzle/schemas/record-migration.js +12 -0
- package/dist/adapters/drizzle/schemas/record-migration.js.map +1 -0
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.d.ts +26 -0
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.d.ts.map +1 -0
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.js +90 -0
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.js.map +1 -0
- package/dist/adapters/drizzle/storage-drizzle-db.context.d.ts +53 -0
- package/dist/adapters/drizzle/storage-drizzle-db.context.d.ts.map +1 -0
- package/dist/adapters/drizzle/storage-drizzle-db.context.js +8 -0
- package/dist/adapters/drizzle/storage-drizzle-db.context.js.map +1 -0
- package/dist/adapters/drizzle/test.d.ts +60 -0
- package/dist/adapters/drizzle/test.d.ts.map +1 -0
- package/dist/adapters/drizzle/test.js +49 -0
- package/dist/adapters/drizzle/test.js.map +1 -0
- package/dist/adapters/drizzle/transforms.d.ts +42 -0
- package/dist/adapters/drizzle/transforms.d.ts.map +1 -0
- package/dist/adapters/drizzle/transforms.js +147 -0
- package/dist/adapters/drizzle/transforms.js.map +1 -0
- package/dist/adapters/filesystem/filesystem.adapter.descriptor.d.ts +13 -0
- package/dist/adapters/filesystem/filesystem.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/filesystem/filesystem.adapter.descriptor.js +34 -0
- package/dist/adapters/filesystem/filesystem.adapter.descriptor.js.map +1 -0
- package/dist/adapters/filesystem/filesystem.adapter.impl.d.ts +57 -0
- package/dist/adapters/filesystem/filesystem.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/filesystem/filesystem.adapter.impl.js +257 -0
- package/dist/adapters/filesystem/filesystem.adapter.impl.js.map +1 -0
- package/dist/adapters/filesystem/index.d.ts +10 -0
- package/dist/adapters/filesystem/index.d.ts.map +1 -0
- package/dist/adapters/filesystem/index.js +10 -0
- package/dist/adapters/filesystem/index.js.map +1 -0
- package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.d.ts +11 -0
- package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.d.ts.map +1 -0
- package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.js +25 -0
- package/dist/adapters/filesystem/storage-adapter-filesystem.plugin.js.map +1 -0
- package/dist/adapters/fixture/fixture.adapter.descriptor.d.ts +14 -0
- package/dist/adapters/fixture/fixture.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/fixture/fixture.adapter.descriptor.js +35 -0
- package/dist/adapters/fixture/fixture.adapter.descriptor.js.map +1 -0
- package/dist/adapters/fixture/fixture.adapter.impl.d.ts +41 -0
- package/dist/adapters/fixture/fixture.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/fixture/fixture.adapter.impl.js +162 -0
- package/dist/adapters/fixture/fixture.adapter.impl.js.map +1 -0
- package/dist/adapters/fixture/index.d.ts +9 -0
- package/dist/adapters/fixture/index.d.ts.map +1 -0
- package/dist/adapters/fixture/index.js +9 -0
- package/dist/adapters/fixture/index.js.map +1 -0
- package/dist/adapters/fixture/storage-adapter-fixture.plugin.d.ts +10 -0
- package/dist/adapters/fixture/storage-adapter-fixture.plugin.d.ts.map +1 -0
- package/dist/adapters/fixture/storage-adapter-fixture.plugin.js +21 -0
- package/dist/adapters/fixture/storage-adapter-fixture.plugin.js.map +1 -0
- package/dist/adapters/idb/idb-backend.d.ts +33 -0
- package/dist/adapters/idb/idb-backend.d.ts.map +1 -0
- package/dist/adapters/idb/idb-backend.js +217 -0
- package/dist/adapters/idb/idb-backend.js.map +1 -0
- package/dist/adapters/idb/idb.adapter.descriptor.d.ts +14 -0
- package/dist/adapters/idb/idb.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/idb/idb.adapter.descriptor.js +35 -0
- package/dist/adapters/idb/idb.adapter.descriptor.js.map +1 -0
- package/dist/adapters/idb/idb.adapter.impl.d.ts +56 -0
- package/dist/adapters/idb/idb.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/idb/idb.adapter.impl.js +227 -0
- package/dist/adapters/idb/idb.adapter.impl.js.map +1 -0
- package/dist/adapters/idb/index.d.ts +10 -0
- package/dist/adapters/idb/index.d.ts.map +1 -0
- package/dist/adapters/idb/index.js +10 -0
- package/dist/adapters/idb/index.js.map +1 -0
- package/dist/adapters/idb/storage-adapter-idb.plugin.d.ts +11 -0
- package/dist/adapters/idb/storage-adapter-idb.plugin.d.ts.map +1 -0
- package/dist/adapters/idb/storage-adapter-idb.plugin.js +22 -0
- package/dist/adapters/idb/storage-adapter-idb.plugin.js.map +1 -0
- package/dist/adapters/json/filesystem-binding.d.ts +14 -0
- package/dist/adapters/json/filesystem-binding.d.ts.map +1 -0
- package/dist/adapters/json/filesystem-binding.js +7 -0
- package/dist/adapters/json/filesystem-binding.js.map +1 -0
- package/dist/adapters/json/index.d.ts +10 -0
- package/dist/adapters/json/index.d.ts.map +1 -0
- package/dist/adapters/json/index.js +10 -0
- package/dist/adapters/json/index.js.map +1 -0
- package/dist/adapters/json/json.adapter.descriptor.d.ts +10 -0
- package/dist/adapters/json/json.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/json/json.adapter.descriptor.js +38 -0
- package/dist/adapters/json/json.adapter.descriptor.js.map +1 -0
- package/dist/adapters/json/json.adapter.impl.d.ts +59 -0
- package/dist/adapters/json/json.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/json/json.adapter.impl.js +395 -0
- package/dist/adapters/json/json.adapter.impl.js.map +1 -0
- package/dist/adapters/json/storage-adapter-json.plugin.d.ts +9 -0
- package/dist/adapters/json/storage-adapter-json.plugin.d.ts.map +1 -0
- package/dist/adapters/json/storage-adapter-json.plugin.js +21 -0
- package/dist/adapters/json/storage-adapter-json.plugin.js.map +1 -0
- package/dist/adapters/localdb/index.d.ts +9 -0
- package/dist/adapters/localdb/index.d.ts.map +1 -0
- package/dist/adapters/localdb/index.js +9 -0
- package/dist/adapters/localdb/index.js.map +1 -0
- package/dist/adapters/localdb/localdb.adapter.descriptor.d.ts +10 -0
- package/dist/adapters/localdb/localdb.adapter.descriptor.d.ts.map +1 -0
- package/dist/adapters/localdb/localdb.adapter.descriptor.js +37 -0
- package/dist/adapters/localdb/localdb.adapter.descriptor.js.map +1 -0
- package/dist/adapters/localdb/localdb.adapter.impl.d.ts +237 -0
- package/dist/adapters/localdb/localdb.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/localdb/localdb.adapter.impl.js +1370 -0
- package/dist/adapters/localdb/localdb.adapter.impl.js.map +1 -0
- package/dist/adapters/localdb/localdb.adapter.loader.consumer.d.ts +2 -0
- package/dist/adapters/localdb/localdb.adapter.loader.consumer.d.ts.map +1 -0
- package/dist/adapters/localdb/localdb.adapter.loader.consumer.js +2 -0
- package/dist/adapters/localdb/localdb.adapter.loader.consumer.js.map +1 -0
- package/dist/adapters/localdb/localdb.inputs.d.ts +3 -0
- package/dist/adapters/localdb/localdb.inputs.d.ts.map +1 -0
- package/dist/adapters/localdb/localdb.inputs.js +3 -0
- package/dist/adapters/localdb/localdb.inputs.js.map +1 -0
- package/dist/adapters/localdb/migration-failure.d.ts +3 -0
- package/dist/adapters/localdb/migration-failure.d.ts.map +1 -0
- package/dist/adapters/localdb/migration-failure.js +16 -0
- package/dist/adapters/localdb/migration-failure.js.map +1 -0
- package/dist/adapters/localdb/outcome.d.ts +13 -0
- package/dist/adapters/localdb/outcome.d.ts.map +1 -0
- package/dist/adapters/localdb/outcome.js +12 -0
- package/dist/adapters/localdb/outcome.js.map +1 -0
- package/dist/adapters/localdb/repository-query.d.ts +19 -0
- package/dist/adapters/localdb/repository-query.d.ts.map +1 -0
- package/dist/adapters/localdb/repository-query.js +127 -0
- package/dist/adapters/localdb/repository-query.js.map +1 -0
- package/dist/adapters/localdb/storage-adapter-localdb.plugin.d.ts +14 -0
- package/dist/adapters/localdb/storage-adapter-localdb.plugin.d.ts.map +1 -0
- package/dist/adapters/localdb/storage-adapter-localdb.plugin.js +30 -0
- package/dist/adapters/localdb/storage-adapter-localdb.plugin.js.map +1 -0
- package/dist/adapters/memory/index.d.ts +9 -0
- package/dist/adapters/memory/index.d.ts.map +1 -0
- package/dist/adapters/memory/index.js +9 -0
- package/dist/adapters/memory/index.js.map +1 -0
- package/dist/adapters/memory/memory-root-store.d.ts +20 -0
- package/dist/adapters/memory/memory-root-store.d.ts.map +1 -0
- package/dist/adapters/memory/memory-root-store.js +49 -0
- package/dist/adapters/memory/memory-root-store.js.map +1 -0
- package/dist/adapters/memory/memory.adapter.impl.d.ts +61 -0
- package/dist/adapters/memory/memory.adapter.impl.d.ts.map +1 -0
- package/dist/adapters/memory/memory.adapter.impl.js +718 -0
- package/dist/adapters/memory/memory.adapter.impl.js.map +1 -0
- package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.d.ts +10 -0
- package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.d.ts.map +1 -0
- package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.js +37 -0
- package/dist/adapters/memory/memory.adapter.storage-adapter-memory.descriptor.js.map +1 -0
- package/dist/adapters/memory/storage-adapter-memory.plugin.d.ts +9 -0
- package/dist/adapters/memory/storage-adapter-memory.plugin.d.ts.map +1 -0
- package/dist/adapters/memory/storage-adapter-memory.plugin.js +44 -0
- package/dist/adapters/memory/storage-adapter-memory.plugin.js.map +1 -0
- package/dist/adapters/parse-adapter-input.d.ts +22 -0
- package/dist/adapters/parse-adapter-input.d.ts.map +1 -0
- package/dist/adapters/parse-adapter-input.js +36 -0
- package/dist/adapters/parse-adapter-input.js.map +1 -0
- package/dist/adapters/select-adapter.d.ts +36 -0
- package/dist/adapters/select-adapter.d.ts.map +1 -0
- package/dist/adapters/select-adapter.js +88 -0
- package/dist/adapters/select-adapter.js.map +1 -0
- package/dist/adapters/validate-for-persist.d.ts +21 -0
- package/dist/adapters/validate-for-persist.d.ts.map +1 -0
- package/dist/adapters/validate-for-persist.js +36 -0
- package/dist/adapters/validate-for-persist.js.map +1 -0
- package/dist/backup/backup.plugin.d.ts +276 -0
- package/dist/backup/backup.plugin.d.ts.map +1 -0
- package/dist/backup/backup.plugin.js +72 -0
- package/dist/backup/backup.plugin.js.map +1 -0
- package/dist/backup/channels/backup.channel.d.ts +21 -0
- package/dist/backup/channels/backup.channel.d.ts.map +1 -0
- package/dist/backup/channels/backup.channel.js +89 -0
- package/dist/backup/channels/backup.channel.js.map +1 -0
- package/dist/backup/config/storage.backup.config.descriptor.d.ts +57 -0
- package/dist/backup/config/storage.backup.config.descriptor.d.ts.map +1 -0
- package/dist/backup/config/storage.backup.config.descriptor.js +53 -0
- package/dist/backup/config/storage.backup.config.descriptor.js.map +1 -0
- package/dist/backup/core/hash.d.ts +8 -0
- package/dist/backup/core/hash.d.ts.map +1 -0
- package/dist/backup/core/hash.js +10 -0
- package/dist/backup/core/hash.js.map +1 -0
- package/dist/backup/core/homes.d.ts +13 -0
- package/dist/backup/core/homes.d.ts.map +1 -0
- package/dist/backup/core/homes.js +54 -0
- package/dist/backup/core/homes.js.map +1 -0
- package/dist/backup/core/index.d.ts +17 -0
- package/dist/backup/core/index.d.ts.map +1 -0
- package/dist/backup/core/index.js +12 -0
- package/dist/backup/core/index.js.map +1 -0
- package/dist/backup/core/io.d.ts +76 -0
- package/dist/backup/core/io.d.ts.map +1 -0
- package/dist/backup/core/io.js +177 -0
- package/dist/backup/core/io.js.map +1 -0
- package/dist/backup/core/paths.d.ts +50 -0
- package/dist/backup/core/paths.d.ts.map +1 -0
- package/dist/backup/core/paths.js +75 -0
- package/dist/backup/core/paths.js.map +1 -0
- package/dist/backup/core/readiness.d.ts +9 -0
- package/dist/backup/core/readiness.d.ts.map +1 -0
- package/dist/backup/core/readiness.js +104 -0
- package/dist/backup/core/readiness.js.map +1 -0
- package/dist/backup/core/recovery.d.ts +11 -0
- package/dist/backup/core/recovery.d.ts.map +1 -0
- package/dist/backup/core/recovery.js +75 -0
- package/dist/backup/core/recovery.js.map +1 -0
- package/dist/backup/core/registry.d.ts +13 -0
- package/dist/backup/core/registry.d.ts.map +1 -0
- package/dist/backup/core/registry.js +18 -0
- package/dist/backup/core/registry.js.map +1 -0
- package/dist/backup/core/restore.d.ts +36 -0
- package/dist/backup/core/restore.d.ts.map +1 -0
- package/dist/backup/core/restore.js +280 -0
- package/dist/backup/core/restore.js.map +1 -0
- package/dist/backup/core/rotate.d.ts +19 -0
- package/dist/backup/core/rotate.d.ts.map +1 -0
- package/dist/backup/core/rotate.js +153 -0
- package/dist/backup/core/rotate.js.map +1 -0
- package/dist/backup/core/rotation.d.ts +19 -0
- package/dist/backup/core/rotation.d.ts.map +1 -0
- package/dist/backup/core/rotation.js +100 -0
- package/dist/backup/core/rotation.js.map +1 -0
- package/dist/backup/core/snapshot.d.ts +45 -0
- package/dist/backup/core/snapshot.d.ts.map +1 -0
- package/dist/backup/core/snapshot.js +217 -0
- package/dist/backup/core/snapshot.js.map +1 -0
- package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.d.ts +19 -0
- package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.d.ts.map +1 -0
- package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.js +42 -0
- package/dist/backup/docs/backup.disaster-recovery.docs.descriptor.js.map +1 -0
- package/dist/backup/index.d.ts +19 -0
- package/dist/backup/index.d.ts.map +1 -0
- package/dist/backup/index.js +16 -0
- package/dist/backup/index.js.map +1 -0
- package/dist/backup/jobs/backup.snapshot.descriptor.d.ts +95 -0
- package/dist/backup/jobs/backup.snapshot.descriptor.d.ts.map +1 -0
- package/dist/backup/jobs/backup.snapshot.descriptor.js +33 -0
- package/dist/backup/jobs/backup.snapshot.descriptor.js.map +1 -0
- package/dist/backup/jobs/backup.snapshot.impl.d.ts +59 -0
- package/dist/backup/jobs/backup.snapshot.impl.d.ts.map +1 -0
- package/dist/backup/jobs/backup.snapshot.impl.js +393 -0
- package/dist/backup/jobs/backup.snapshot.impl.js.map +1 -0
- package/dist/backup/jobs/backup.snapshot.schema.d.ts +3 -0
- package/dist/backup/jobs/backup.snapshot.schema.d.ts.map +1 -0
- package/dist/backup/jobs/backup.snapshot.schema.js +3 -0
- package/dist/backup/jobs/backup.snapshot.schema.js.map +1 -0
- package/dist/backup/kinds/backup-preflight.kind.d.ts +16 -0
- package/dist/backup/kinds/backup-preflight.kind.d.ts.map +1 -0
- package/dist/backup/kinds/backup-preflight.kind.js +27 -0
- package/dist/backup/kinds/backup-preflight.kind.js.map +1 -0
- package/dist/backup/kinds/backup-recovery-plan.kind.d.ts +11 -0
- package/dist/backup/kinds/backup-recovery-plan.kind.d.ts.map +1 -0
- package/dist/backup/kinds/backup-recovery-plan.kind.js +16 -0
- package/dist/backup/kinds/backup-recovery-plan.kind.js.map +1 -0
- package/dist/backup/kinds/backup-target.kind.d.ts +16 -0
- package/dist/backup/kinds/backup-target.kind.d.ts.map +1 -0
- package/dist/backup/kinds/backup-target.kind.js +21 -0
- package/dist/backup/kinds/backup-target.kind.js.map +1 -0
- package/dist/backup/schemas/core.d.ts +169 -0
- package/dist/backup/schemas/core.d.ts.map +1 -0
- package/dist/backup/schemas/core.js +117 -0
- package/dist/backup/schemas/core.js.map +1 -0
- package/dist/backup/schemas/disaster-recovery.d.ts +512 -0
- package/dist/backup/schemas/disaster-recovery.d.ts.map +1 -0
- package/dist/backup/schemas/disaster-recovery.js +410 -0
- package/dist/backup/schemas/disaster-recovery.js.map +1 -0
- package/dist/backup/schemas/index.d.ts +10 -0
- package/dist/backup/schemas/index.d.ts.map +1 -0
- package/dist/backup/schemas/index.js +10 -0
- package/dist/backup/schemas/index.js.map +1 -0
- package/dist/backup/schemas/job.d.ts +102 -0
- package/dist/backup/schemas/job.d.ts.map +1 -0
- package/dist/backup/schemas/job.js +47 -0
- package/dist/backup/schemas/job.js.map +1 -0
- package/dist/backup/schemas/preflight.d.ts +38 -0
- package/dist/backup/schemas/preflight.d.ts.map +1 -0
- package/dist/backup/schemas/preflight.js +21 -0
- package/dist/backup/schemas/preflight.js.map +1 -0
- package/dist/backup/schemas/snapshot.d.ts +110 -0
- package/dist/backup/schemas/snapshot.d.ts.map +1 -0
- package/dist/backup/schemas/snapshot.js +84 -0
- package/dist/backup/schemas/snapshot.js.map +1 -0
- package/dist/backup/schemas/target.d.ts +95 -0
- package/dist/backup/schemas/target.d.ts.map +1 -0
- package/dist/backup/schemas/target.js +105 -0
- package/dist/backup/schemas/target.js.map +1 -0
- package/dist/backup/storage/snapshot.record.descriptor.d.ts +10 -0
- package/dist/backup/storage/snapshot.record.descriptor.d.ts.map +1 -0
- package/dist/backup/storage/snapshot.record.descriptor.js +41 -0
- package/dist/backup/storage/snapshot.record.descriptor.js.map +1 -0
- package/dist/backup/targets/awareness-bus.target.descriptor.d.ts +10 -0
- package/dist/backup/targets/awareness-bus.target.descriptor.d.ts.map +1 -0
- package/dist/backup/targets/awareness-bus.target.descriptor.js +32 -0
- package/dist/backup/targets/awareness-bus.target.descriptor.js.map +1 -0
- package/dist/backup/targets/presence-identity.target.descriptor.d.ts +10 -0
- package/dist/backup/targets/presence-identity.target.descriptor.d.ts.map +1 -0
- package/dist/backup/targets/presence-identity.target.descriptor.js +40 -0
- package/dist/backup/targets/presence-identity.target.descriptor.js.map +1 -0
- package/dist/backup/targets/presence-inner.target.descriptor.d.ts +10 -0
- package/dist/backup/targets/presence-inner.target.descriptor.d.ts.map +1 -0
- package/dist/backup/targets/presence-inner.target.descriptor.js +36 -0
- package/dist/backup/targets/presence-inner.target.descriptor.js.map +1 -0
- package/dist/backup/targets/storage-records.target.descriptor.d.ts +16 -0
- package/dist/backup/targets/storage-records.target.descriptor.d.ts.map +1 -0
- package/dist/backup/targets/storage-records.target.descriptor.js +38 -0
- package/dist/backup/targets/storage-records.target.descriptor.js.map +1 -0
- package/dist/bridge/index.d.ts +2 -2
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +1 -1
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/storage-kind-bridge.d.ts +13 -2
- package/dist/bridge/storage-kind-bridge.d.ts.map +1 -1
- package/dist/bridge/storage-kind-bridge.js +72 -69
- package/dist/bridge/storage-kind-bridge.js.map +1 -1
- package/dist/bridge/types.d.ts +4 -3
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/cli/backup/backup.cli-group.descriptor.d.ts +9 -0
- package/dist/cli/backup/backup.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/backup/backup.cli-group.descriptor.js +16 -0
- package/dist/cli/backup/backup.cli-group.descriptor.js.map +1 -0
- package/dist/cli/backup/commands/backup.now.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/backup/commands/backup.now.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.now.cli-command.descriptor.js +24 -0
- package/dist/cli/backup/commands/backup.now.cli-command.descriptor.js.map +1 -0
- package/dist/cli/backup/commands/backup.now.cli-command.impl.d.ts +26 -0
- package/dist/cli/backup/commands/backup.now.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.now.cli-command.impl.js +61 -0
- package/dist/cli/backup/commands/backup.now.cli-command.impl.js.map +1 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.js +24 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.descriptor.js.map +1 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.impl.d.ts +23 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.impl.js +50 -0
- package/dist/cli/backup/commands/backup.restore.cli-command.impl.js.map +1 -0
- package/dist/cli/backup/commands/backup.status.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/backup/commands/backup.status.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.status.cli-command.descriptor.js +19 -0
- package/dist/cli/backup/commands/backup.status.cli-command.descriptor.js.map +1 -0
- package/dist/cli/backup/commands/backup.status.cli-command.impl.d.ts +21 -0
- package/dist/cli/backup/commands/backup.status.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.status.cli-command.impl.js +76 -0
- package/dist/cli/backup/commands/backup.status.cli-command.impl.js.map +1 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.js +20 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.descriptor.js.map +1 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.impl.d.ts +20 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.impl.js +48 -0
- package/dist/cli/backup/commands/backup.verify.cli-command.impl.js.map +1 -0
- package/dist/cli/backup/plugin.d.ts +5 -0
- package/dist/cli/backup/plugin.d.ts.map +1 -0
- package/dist/cli/backup/plugin.js +30 -0
- package/dist/cli/backup/plugin.js.map +1 -0
- package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts +1 -1
- package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts.map +1 -1
- package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts +8 -1
- package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts.map +1 -1
- package/dist/cli/commands/list/storage.list.cli-command.impl.js +17 -8
- package/dist/cli/commands/list/storage.list.cli-command.impl.js.map +1 -1
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts +1 -1
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts.map +1 -1
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts +9 -1
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts.map +1 -1
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js +110 -76
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js.map +1 -1
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts +1 -1
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts.map +1 -1
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts +9 -1
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts.map +1 -1
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js +131 -108
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js.map +1 -1
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts +1 -1
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts.map +1 -1
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts +12 -1
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts.map +1 -1
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js +34 -26
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js.map +1 -1
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts +1 -1
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts.map +1 -1
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts +11 -1
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts.map +1 -1
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js +89 -42
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js.map +1 -1
- package/dist/cli/commands/sync/sync-command-input.d.ts +20 -0
- package/dist/cli/commands/sync/sync-command-input.d.ts.map +1 -0
- package/dist/cli/commands/sync/sync-command-input.js +20 -0
- package/dist/cli/commands/sync/sync-command-input.js.map +1 -0
- package/dist/cli/gc/commands/gc.run.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/gc/commands/gc.run.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/gc/commands/gc.run.cli-command.descriptor.js +20 -0
- package/dist/cli/gc/commands/gc.run.cli-command.descriptor.js.map +1 -0
- package/dist/cli/gc/commands/gc.run.cli-command.impl.d.ts +24 -0
- package/dist/cli/gc/commands/gc.run.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/gc/commands/gc.run.cli-command.impl.js +104 -0
- package/dist/cli/gc/commands/gc.run.cli-command.impl.js.map +1 -0
- package/dist/cli/gc/commands/gc.status.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/gc/commands/gc.status.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/gc/commands/gc.status.cli-command.descriptor.js +19 -0
- package/dist/cli/gc/commands/gc.status.cli-command.descriptor.js.map +1 -0
- package/dist/cli/gc/commands/gc.status.cli-command.impl.d.ts +21 -0
- package/dist/cli/gc/commands/gc.status.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/gc/commands/gc.status.cli-command.impl.js +74 -0
- package/dist/cli/gc/commands/gc.status.cli-command.impl.js.map +1 -0
- package/dist/cli/gc/gc.cli-group.descriptor.d.ts +4 -0
- package/dist/cli/gc/gc.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/gc/gc.cli-group.descriptor.js +11 -0
- package/dist/cli/gc/gc.cli-group.descriptor.js.map +1 -0
- package/dist/cli/gc/plugin.d.ts +5 -0
- package/dist/cli/gc/plugin.d.ts.map +1 -0
- package/dist/cli/gc/plugin.js +28 -0
- package/dist/cli/gc/plugin.js.map +1 -0
- package/dist/cli/plugin.d.ts +17 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +51 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/storage.cli-group.descriptor.d.ts +1 -1
- package/dist/cli/storage.cli-group.descriptor.d.ts.map +1 -1
- package/dist/cli/storage.sync.cli-group.descriptor.d.ts +1 -1
- package/dist/cli/storage.sync.cli-group.descriptor.d.ts.map +1 -1
- package/dist/cli/types.d.ts +4 -20
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +3 -4
- package/dist/cli/types.js.map +1 -1
- package/dist/client/browse-adapter.d.ts +49 -0
- package/dist/client/browse-adapter.d.ts.map +1 -0
- package/dist/client/browse-adapter.js +99 -0
- package/dist/client/browse-adapter.js.map +1 -0
- package/dist/client/diagnose-adapter.d.ts +9 -0
- package/dist/client/diagnose-adapter.d.ts.map +1 -0
- package/dist/client/diagnose-adapter.js +9 -0
- package/dist/client/diagnose-adapter.js.map +1 -0
- package/dist/client/index.d.ts +7 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +5 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/list-browsable-adapters.d.ts +4 -3
- package/dist/client/list-browsable-adapters.d.ts.map +1 -1
- package/dist/client/list-browsable-adapters.js +3 -8
- package/dist/client/list-browsable-adapters.js.map +1 -1
- package/dist/client/object-adapter.d.ts +33 -0
- package/dist/client/object-adapter.d.ts.map +1 -0
- package/dist/client/object-adapter.js +45 -0
- package/dist/client/object-adapter.js.map +1 -0
- package/dist/client/storage-explorer-capability.d.ts +81 -0
- package/dist/client/storage-explorer-capability.d.ts.map +1 -0
- package/dist/client/storage-explorer-capability.impl.worker.d.ts +23 -0
- package/dist/client/storage-explorer-capability.impl.worker.d.ts.map +1 -0
- package/dist/client/storage-explorer-capability.impl.worker.js +124 -0
- package/dist/client/storage-explorer-capability.impl.worker.js.map +1 -0
- package/dist/client/storage-explorer-capability.js +125 -0
- package/dist/client/storage-explorer-capability.js.map +1 -0
- package/dist/client/storage-failure.d.ts +43 -0
- package/dist/client/storage-failure.d.ts.map +1 -0
- package/dist/client/storage-failure.js +100 -0
- package/dist/client/storage-failure.js.map +1 -0
- package/dist/daemon/commands/browse.d.ts +29 -0
- package/dist/daemon/commands/browse.d.ts.map +1 -0
- package/dist/daemon/commands/browse.js +91 -0
- package/dist/daemon/commands/browse.js.map +1 -0
- package/dist/daemon/commands/sync.d.ts +1 -1
- package/dist/daemon/commands/sync.d.ts.map +1 -1
- package/dist/daemon/commands/sync.js +60 -52
- package/dist/daemon/commands/sync.js.map +1 -1
- package/dist/docs/records.docs.descriptor.d.ts +1 -1
- package/dist/docs/records.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/records.docs.descriptor.js +136 -151
- package/dist/docs/records.docs.descriptor.js.map +1 -1
- package/dist/docs/storage.adapters.docs.descriptor.d.ts +4 -0
- package/dist/docs/storage.adapters.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/storage.adapters.docs.descriptor.js +175 -0
- package/dist/docs/storage.adapters.docs.descriptor.js.map +1 -0
- package/dist/docs/storage.browse.docs.descriptor.d.ts +4 -0
- package/dist/docs/storage.browse.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/storage.browse.docs.descriptor.js +74 -0
- package/dist/docs/storage.browse.docs.descriptor.js.map +1 -0
- package/dist/docs/storage.docs.descriptor.d.ts +4 -0
- package/dist/docs/storage.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/storage.docs.descriptor.js +51 -0
- package/dist/docs/storage.docs.descriptor.js.map +1 -0
- package/dist/docs/storage.manifests.docs.descriptor.d.ts +4 -0
- package/dist/docs/storage.manifests.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/{manifests.docs.descriptor.js → storage.manifests.docs.descriptor.js} +69 -34
- package/dist/docs/storage.manifests.docs.descriptor.js.map +1 -0
- package/dist/docs/sync.docs.descriptor.d.ts +1 -1
- package/dist/docs/sync.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/sync.docs.descriptor.js +140 -150
- package/dist/docs/sync.docs.descriptor.js.map +1 -1
- package/dist/docs/transform.docs.descriptor.d.ts +4 -0
- package/dist/docs/transform.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/transform.docs.descriptor.js +134 -0
- package/dist/docs/transform.docs.descriptor.js.map +1 -0
- package/dist/host-files.d.ts +35 -0
- package/dist/host-files.d.ts.map +1 -0
- package/dist/host-files.js +60 -0
- package/dist/host-files.js.map +1 -0
- package/dist/index.d.ts +15 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/interfaces/adapter.d.ts +166 -47
- package/dist/interfaces/adapter.d.ts.map +1 -1
- package/dist/interfaces/document-store.d.ts +41 -1
- package/dist/interfaces/document-store.d.ts.map +1 -1
- package/dist/interfaces/index.d.ts +8 -7
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +9 -7
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/object-store.d.ts +54 -0
- package/dist/interfaces/object-store.d.ts.map +1 -0
- package/dist/interfaces/object-store.js +13 -0
- package/dist/interfaces/object-store.js.map +1 -0
- package/dist/interfaces/query-builder.d.ts +2 -30
- package/dist/interfaces/query-builder.d.ts.map +1 -1
- package/dist/interfaces/query-builder.js +0 -9
- package/dist/interfaces/query-builder.js.map +1 -1
- package/dist/interfaces/record/index.d.ts +1 -1
- package/dist/interfaces/record/index.d.ts.map +1 -1
- package/dist/interfaces/record/index.js +1 -1
- package/dist/interfaces/record/index.js.map +1 -1
- package/dist/interfaces/record/interface.d.ts +30 -9
- package/dist/interfaces/record/interface.d.ts.map +1 -1
- package/dist/interfaces/schema/index.d.ts +2 -2
- package/dist/interfaces/schema/index.d.ts.map +1 -1
- package/dist/interfaces/schema/index.js +2 -2
- package/dist/interfaces/schema/index.js.map +1 -1
- package/dist/interfaces/schema/schema-interface.d.ts +9 -8
- package/dist/interfaces/schema/schema-interface.d.ts.map +1 -1
- package/dist/interfaces/schema/table-interface.d.ts +4 -3
- package/dist/interfaces/schema/table-interface.d.ts.map +1 -1
- package/dist/interfaces/storage-consumer-fs.d.ts +25 -27
- package/dist/interfaces/storage-consumer-fs.d.ts.map +1 -1
- package/dist/interfaces/storage-consumer-fs.js +29 -30
- package/dist/interfaces/storage-consumer-fs.js.map +1 -1
- package/dist/manifest/base.d.ts +104 -22
- package/dist/manifest/base.d.ts.map +1 -1
- package/dist/manifest/base.js +393 -151
- package/dist/manifest/base.js.map +1 -1
- package/dist/manifest/cloud-sync.browser.d.ts +3 -0
- package/dist/manifest/cloud-sync.browser.d.ts.map +1 -0
- package/dist/manifest/cloud-sync.browser.js +3 -0
- package/dist/manifest/cloud-sync.browser.js.map +1 -0
- package/dist/manifest/cloud-sync.consumer.d.ts +2 -6
- package/dist/manifest/cloud-sync.consumer.d.ts.map +1 -1
- package/dist/manifest/cloud-sync.consumer.js +2 -81
- package/dist/manifest/cloud-sync.consumer.js.map +1 -1
- package/dist/manifest/cloud-sync.core.d.ts +30 -0
- package/dist/manifest/cloud-sync.core.d.ts.map +1 -0
- package/dist/manifest/cloud-sync.core.js +67 -0
- package/dist/manifest/cloud-sync.core.js.map +1 -0
- package/dist/manifest/cloud-sync.d.ts +3 -0
- package/dist/manifest/cloud-sync.d.ts.map +1 -0
- package/dist/manifest/cloud-sync.js +8 -0
- package/dist/manifest/cloud-sync.js.map +1 -0
- package/dist/manifest/index.d.ts +1 -1
- package/dist/manifest/index.d.ts.map +1 -1
- package/dist/manifest/index.js +1 -1
- package/dist/manifest/index.js.map +1 -1
- package/dist/manifest/source-policy.d.ts +21 -4
- package/dist/manifest/source-policy.d.ts.map +1 -1
- package/dist/manifest/source-policy.js +48 -50
- package/dist/manifest/source-policy.js.map +1 -1
- package/dist/migration-format/index.d.ts +3 -0
- package/dist/migration-format/index.d.ts.map +1 -0
- package/dist/migration-format/index.js +3 -0
- package/dist/migration-format/index.js.map +1 -0
- package/dist/migration-format/migration-format.kind.d.ts +5 -0
- package/dist/migration-format/migration-format.kind.d.ts.map +1 -0
- package/dist/migration-format/migration-format.kind.js +18 -0
- package/dist/migration-format/migration-format.kind.js.map +1 -0
- package/dist/path-format.d.ts +4 -0
- package/dist/path-format.d.ts.map +1 -0
- package/dist/path-format.js +71 -0
- package/dist/path-format.js.map +1 -0
- package/dist/path-policy.d.ts +28 -0
- package/dist/path-policy.d.ts.map +1 -0
- package/dist/path-policy.js +123 -0
- package/dist/path-policy.js.map +1 -0
- package/dist/paths.d.ts +14 -5
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +17 -150
- package/dist/paths.js.map +1 -1
- package/dist/policy/context.d.ts +3 -2
- package/dist/policy/context.d.ts.map +1 -1
- package/dist/policy/context.js +13 -16
- package/dist/policy/context.js.map +1 -1
- package/dist/policy/index.d.ts +3 -3
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +3 -3
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/overrides.d.ts +5 -39
- package/dist/policy/overrides.d.ts.map +1 -1
- package/dist/policy/overrides.js +19 -24
- package/dist/policy/overrides.js.map +1 -1
- package/dist/policy/persistence.d.ts +2 -35
- package/dist/policy/persistence.d.ts.map +1 -1
- package/dist/policy/persistence.js +2 -12
- package/dist/policy/persistence.js.map +1 -1
- package/dist/policy/types.d.ts +5 -5
- package/dist/policy/types.d.ts.map +1 -1
- package/dist/record/array-fields.d.ts +15 -0
- package/dist/record/array-fields.d.ts.map +1 -0
- package/dist/record/array-fields.js +80 -0
- package/dist/record/array-fields.js.map +1 -0
- package/dist/record/atomic.d.ts +5 -0
- package/dist/record/atomic.d.ts.map +1 -0
- package/dist/record/atomic.js +10 -0
- package/dist/record/atomic.js.map +1 -0
- package/dist/record/base.d.ts +177 -39
- package/dist/record/base.d.ts.map +1 -1
- package/dist/record/base.js +1708 -525
- package/dist/record/base.js.map +1 -1
- package/dist/record/columns.d.ts +23 -0
- package/dist/record/columns.d.ts.map +1 -0
- package/dist/record/columns.js +161 -0
- package/dist/record/columns.js.map +1 -0
- package/dist/record/delivery.d.ts +57 -0
- package/dist/record/delivery.d.ts.map +1 -0
- package/dist/record/delivery.js +262 -0
- package/dist/record/delivery.js.map +1 -0
- package/dist/record/events.js +1 -1
- package/dist/record/events.js.map +1 -1
- package/dist/record/extensions.d.ts +17 -14
- package/dist/record/extensions.d.ts.map +1 -1
- package/dist/record/extensions.js +79 -53
- package/dist/record/extensions.js.map +1 -1
- package/dist/record/failure-condition.d.ts +14 -0
- package/dist/record/failure-condition.d.ts.map +1 -0
- package/dist/record/failure-condition.js +17 -0
- package/dist/record/failure-condition.js.map +1 -0
- package/dist/record/index.d.ts +5 -1
- package/dist/record/index.d.ts.map +1 -1
- package/dist/record/index.js +5 -1
- package/dist/record/index.js.map +1 -1
- package/dist/record/merge.d.ts +21 -0
- package/dist/record/merge.d.ts.map +1 -0
- package/dist/record/merge.js +147 -0
- package/dist/record/merge.js.map +1 -0
- package/dist/record/relations.d.ts +23 -0
- package/dist/record/relations.d.ts.map +1 -0
- package/dist/record/relations.js +164 -0
- package/dist/record/relations.js.map +1 -0
- package/dist/record/revision.d.ts +5 -0
- package/dist/record/revision.d.ts.map +1 -0
- package/dist/record/revision.js +11 -0
- package/dist/record/revision.js.map +1 -0
- package/dist/record/schema-coordination.client.d.ts +16 -0
- package/dist/record/schema-coordination.client.d.ts.map +1 -0
- package/dist/record/schema-coordination.client.js +59 -0
- package/dist/record/schema-coordination.client.js.map +1 -0
- package/dist/record/storage.record-delivery.reconcile.descriptor.d.ts +74 -0
- package/dist/record/storage.record-delivery.reconcile.descriptor.d.ts.map +1 -0
- package/dist/record/storage.record-delivery.reconcile.descriptor.js +54 -0
- package/dist/record/storage.record-delivery.reconcile.descriptor.js.map +1 -0
- package/dist/record/storage.record-delivery.reconcile.impl.d.ts +22 -0
- package/dist/record/storage.record-delivery.reconcile.impl.d.ts.map +1 -0
- package/dist/record/storage.record-delivery.reconcile.impl.js +52 -0
- package/dist/record/storage.record-delivery.reconcile.impl.js.map +1 -0
- package/dist/resolver/storage-backed-resolver.d.ts +12 -5
- package/dist/resolver/storage-backed-resolver.d.ts.map +1 -1
- package/dist/resolver/storage-backed-resolver.js +129 -48
- package/dist/resolver/storage-backed-resolver.js.map +1 -1
- package/dist/retention/capacity.d.ts +37 -0
- package/dist/retention/capacity.d.ts.map +1 -0
- package/dist/retention/capacity.js +71 -0
- package/dist/retention/capacity.js.map +1 -0
- package/dist/retention/catalog-chunks.d.ts +11 -0
- package/dist/retention/catalog-chunks.d.ts.map +1 -0
- package/dist/retention/catalog-chunks.js +62 -0
- package/dist/retention/catalog-chunks.js.map +1 -0
- package/dist/retention/reclaim.d.ts +59 -0
- package/dist/retention/reclaim.d.ts.map +1 -0
- package/dist/retention/reclaim.js +259 -0
- package/dist/retention/reclaim.js.map +1 -0
- package/dist/retention/roots.d.ts +141 -0
- package/dist/retention/roots.d.ts.map +1 -0
- package/dist/retention/roots.js +223 -0
- package/dist/retention/roots.js.map +1 -0
- package/dist/retention/scratch-custody.d.ts +40 -0
- package/dist/retention/scratch-custody.d.ts.map +1 -0
- package/dist/retention/scratch-custody.js +15 -0
- package/dist/retention/scratch-custody.js.map +1 -0
- package/dist/retention/startup-sweep.d.ts +57 -0
- package/dist/retention/startup-sweep.d.ts.map +1 -0
- package/dist/retention/startup-sweep.js +137 -0
- package/dist/retention/startup-sweep.js.map +1 -0
- package/dist/retention/storage.retention-sweep.descriptor.d.ts +82 -0
- package/dist/retention/storage.retention-sweep.descriptor.d.ts.map +1 -0
- package/dist/retention/storage.retention-sweep.descriptor.js +42 -0
- package/dist/retention/storage.retention-sweep.descriptor.js.map +1 -0
- package/dist/retention/storage.retention-sweep.impl.d.ts +22 -0
- package/dist/retention/storage.retention-sweep.impl.d.ts.map +1 -0
- package/dist/retention/storage.retention-sweep.impl.js +78 -0
- package/dist/retention/storage.retention-sweep.impl.js.map +1 -0
- package/dist/retention/storage.retention-sweep.schema.d.ts +3 -0
- package/dist/retention/storage.retention-sweep.schema.d.ts.map +1 -0
- package/dist/retention/storage.retention-sweep.schema.js +3 -0
- package/dist/retention/storage.retention-sweep.schema.js.map +1 -0
- package/dist/retention/sweep.d.ts +31 -0
- package/dist/retention/sweep.d.ts.map +1 -0
- package/dist/retention/sweep.js +190 -0
- package/dist/retention/sweep.js.map +1 -0
- package/dist/retention/tmp-scratch.d.ts +35 -0
- package/dist/retention/tmp-scratch.d.ts.map +1 -0
- package/dist/retention/tmp-scratch.js +149 -0
- package/dist/retention/tmp-scratch.js.map +1 -0
- package/dist/schemas/adapter-config.d.ts +42 -0
- package/dist/schemas/adapter-config.d.ts.map +1 -0
- package/dist/schemas/adapter-config.js +21 -0
- package/dist/schemas/adapter-config.js.map +1 -0
- package/dist/schemas/adapter-configuration-diagnostic.d.ts +35 -0
- package/dist/schemas/adapter-configuration-diagnostic.d.ts.map +1 -0
- package/dist/schemas/adapter-configuration-diagnostic.js +30 -0
- package/dist/schemas/adapter-configuration-diagnostic.js.map +1 -0
- package/dist/schemas/adapter-descriptor.d.ts +215 -5
- package/dist/schemas/adapter-descriptor.d.ts.map +1 -1
- package/dist/schemas/adapter-descriptor.js +158 -4
- package/dist/schemas/adapter-descriptor.js.map +1 -1
- package/dist/schemas/cloud-api.d.ts +99 -0
- package/dist/schemas/cloud-api.d.ts.map +1 -0
- package/dist/schemas/cloud-api.js +55 -0
- package/dist/schemas/cloud-api.js.map +1 -0
- package/dist/schemas/cloud-endpoints.d.ts +25 -0
- package/dist/schemas/cloud-endpoints.d.ts.map +1 -0
- package/dist/schemas/cloud-endpoints.js +38 -0
- package/dist/schemas/cloud-endpoints.js.map +1 -0
- package/dist/schemas/document-identity.d.ts +40 -0
- package/dist/schemas/document-identity.d.ts.map +1 -0
- package/dist/schemas/document-identity.js +21 -0
- package/dist/schemas/document-identity.js.map +1 -0
- package/dist/schemas/document-revision.d.ts +37 -0
- package/dist/schemas/document-revision.d.ts.map +1 -0
- package/dist/schemas/document-revision.js +14 -0
- package/dist/schemas/document-revision.js.map +1 -0
- package/dist/schemas/drizzle/config.d.ts +83 -0
- package/dist/schemas/drizzle/config.d.ts.map +1 -0
- package/dist/schemas/drizzle/config.js +55 -0
- package/dist/schemas/drizzle/config.js.map +1 -0
- package/dist/schemas/drizzle/connection.d.ts +41 -0
- package/dist/schemas/drizzle/connection.d.ts.map +1 -0
- package/dist/schemas/drizzle/connection.js +23 -0
- package/dist/schemas/drizzle/connection.js.map +1 -0
- package/dist/schemas/drizzle/journal-read.d.ts +11 -0
- package/dist/schemas/drizzle/journal-read.d.ts.map +1 -0
- package/dist/schemas/drizzle/journal-read.js +2 -0
- package/dist/schemas/drizzle/journal-read.js.map +1 -0
- package/dist/schemas/drizzle/persistence-config.d.ts +39 -0
- package/dist/schemas/drizzle/persistence-config.d.ts.map +1 -0
- package/dist/schemas/drizzle/persistence-config.js +71 -0
- package/dist/schemas/drizzle/persistence-config.js.map +1 -0
- package/dist/schemas/drizzle/persistence.d.ts +102 -0
- package/dist/schemas/drizzle/persistence.d.ts.map +1 -0
- package/dist/schemas/drizzle/persistence.js +28 -0
- package/dist/schemas/drizzle/persistence.js.map +1 -0
- package/dist/schemas/drizzle/ports.d.ts +39 -0
- package/dist/schemas/drizzle/ports.d.ts.map +1 -0
- package/dist/schemas/drizzle/ports.js +2 -0
- package/dist/schemas/drizzle/ports.js.map +1 -0
- package/dist/schemas/drizzle/providers.d.ts +64 -0
- package/dist/schemas/drizzle/providers.d.ts.map +1 -0
- package/dist/schemas/drizzle/providers.js +19 -0
- package/dist/schemas/drizzle/providers.js.map +1 -0
- package/dist/schemas/drizzle/raw-sql.d.ts +33 -0
- package/dist/schemas/drizzle/raw-sql.d.ts.map +1 -0
- package/dist/schemas/drizzle/raw-sql.js +34 -0
- package/dist/schemas/drizzle/raw-sql.js.map +1 -0
- package/dist/schemas/explorer/capability.d.ts +41 -0
- package/dist/schemas/explorer/capability.d.ts.map +1 -0
- package/dist/schemas/explorer/capability.js +14 -0
- package/dist/schemas/explorer/capability.js.map +1 -0
- package/dist/schemas/explorer/overview.d.ts +41 -0
- package/dist/schemas/explorer/overview.d.ts.map +1 -0
- package/dist/schemas/explorer/overview.js +45 -0
- package/dist/schemas/explorer/overview.js.map +1 -0
- package/dist/schemas/explorer/refs.d.ts +38 -0
- package/dist/schemas/explorer/refs.d.ts.map +1 -0
- package/dist/schemas/explorer/refs.js +21 -0
- package/dist/schemas/explorer/refs.js.map +1 -0
- package/dist/schemas/explorer/rpc.d.ts +211 -0
- package/dist/schemas/explorer/rpc.d.ts.map +1 -0
- package/dist/schemas/explorer/rpc.js +103 -0
- package/dist/schemas/explorer/rpc.js.map +1 -0
- package/dist/schemas/explorer/views.d.ts +99 -0
- package/dist/schemas/explorer/views.d.ts.map +1 -0
- package/dist/schemas/explorer/views.js +84 -0
- package/dist/schemas/explorer/views.js.map +1 -0
- package/dist/schemas/index.d.ts +16 -8
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +12 -4
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/localdb/inputs.d.ts +80 -0
- package/dist/schemas/localdb/inputs.d.ts.map +1 -0
- package/dist/schemas/localdb/inputs.js +99 -0
- package/dist/schemas/localdb/inputs.js.map +1 -0
- package/dist/schemas/localdb/query.d.ts +28 -0
- package/dist/schemas/localdb/query.d.ts.map +1 -0
- package/dist/schemas/localdb/query.js +27 -0
- package/dist/schemas/localdb/query.js.map +1 -0
- package/dist/schemas/manifest-descriptor.d.ts +15 -5
- package/dist/schemas/manifest-descriptor.d.ts.map +1 -1
- package/dist/schemas/manifest-descriptor.js +2 -2
- package/dist/schemas/manifest-descriptor.js.map +1 -1
- package/dist/schemas/memory-store.d.ts +8 -0
- package/dist/schemas/memory-store.d.ts.map +1 -0
- package/dist/schemas/memory-store.js +7 -0
- package/dist/schemas/memory-store.js.map +1 -0
- package/dist/schemas/migration-format.d.ts +50 -0
- package/dist/schemas/migration-format.d.ts.map +1 -0
- package/dist/schemas/migration-format.js +17 -0
- package/dist/schemas/migration-format.js.map +1 -0
- package/dist/schemas/policy/overrides.d.ts +41 -0
- package/dist/schemas/policy/overrides.d.ts.map +1 -0
- package/dist/schemas/policy/overrides.js +14 -0
- package/dist/schemas/policy/overrides.js.map +1 -0
- package/dist/schemas/policy/persistence.d.ts +62 -0
- package/dist/schemas/policy/persistence.d.ts.map +1 -0
- package/dist/schemas/policy/persistence.js +24 -0
- package/dist/schemas/policy/persistence.js.map +1 -0
- package/dist/schemas/record/atomic.d.ts +41 -0
- package/dist/schemas/record/atomic.d.ts.map +1 -0
- package/dist/schemas/record/atomic.js +12 -0
- package/dist/schemas/record/atomic.js.map +1 -0
- package/dist/schemas/record/batch.d.ts +53 -0
- package/dist/schemas/record/batch.d.ts.map +1 -0
- package/dist/schemas/record/batch.js +36 -0
- package/dist/schemas/record/batch.js.map +1 -0
- package/dist/schemas/record/columns.d.ts +44 -0
- package/dist/schemas/record/columns.d.ts.map +1 -0
- package/dist/schemas/record/columns.js +25 -0
- package/dist/schemas/record/columns.js.map +1 -0
- package/dist/schemas/record/delivery.d.ts +54 -0
- package/dist/schemas/record/delivery.d.ts.map +1 -0
- package/dist/schemas/record/delivery.js +23 -0
- package/dist/schemas/record/delivery.js.map +1 -0
- package/dist/schemas/record/descriptor.d.ts +153 -51
- package/dist/schemas/record/descriptor.d.ts.map +1 -1
- package/dist/schemas/record/descriptor.js +61 -11
- package/dist/schemas/record/descriptor.js.map +1 -1
- package/dist/schemas/record/index.d.ts +8 -2
- package/dist/schemas/record/index.d.ts.map +1 -1
- package/dist/schemas/record/index.js +5 -1
- package/dist/schemas/record/index.js.map +1 -1
- package/dist/schemas/record/query-values.d.ts +62 -0
- package/dist/schemas/record/query-values.d.ts.map +1 -0
- package/dist/schemas/record/query-values.js +33 -0
- package/dist/schemas/record/query-values.js.map +1 -0
- package/dist/schemas/record/relation.d.ts +1 -1
- package/dist/schemas/record/relation.d.ts.map +1 -1
- package/dist/schemas/record/relation.js +8 -4
- package/dist/schemas/record/relation.js.map +1 -1
- package/dist/schemas/record/revision.d.ts +92 -0
- package/dist/schemas/record/revision.d.ts.map +1 -0
- package/dist/schemas/record/revision.js +39 -0
- package/dist/schemas/record/revision.js.map +1 -0
- package/dist/schemas/retention/jobs.d.ts +103 -0
- package/dist/schemas/retention/jobs.d.ts.map +1 -0
- package/dist/schemas/retention/jobs.js +72 -0
- package/dist/schemas/retention/jobs.js.map +1 -0
- package/dist/schemas/retention/results.d.ts +153 -0
- package/dist/schemas/retention/results.d.ts.map +1 -0
- package/dist/schemas/retention/results.js +84 -0
- package/dist/schemas/retention/results.js.map +1 -0
- package/dist/schemas/schema/descriptor.d.ts +14 -4
- package/dist/schemas/schema/descriptor.d.ts.map +1 -1
- package/dist/schemas/schema/descriptor.js +3 -3
- package/dist/schemas/schema/descriptor.js.map +1 -1
- package/dist/schemas/schema/index.d.ts +1 -1
- package/dist/schemas/schema/index.d.ts.map +1 -1
- package/dist/schemas/schema/index.js +1 -1
- package/dist/schemas/schema/index.js.map +1 -1
- package/dist/schemas/storage-provider.d.ts +79 -0
- package/dist/schemas/storage-provider.d.ts.map +1 -0
- package/dist/schemas/storage-provider.js +54 -0
- package/dist/schemas/storage-provider.js.map +1 -0
- package/dist/schemas/storage-ref.d.ts +39 -0
- package/dist/schemas/storage-ref.d.ts.map +1 -0
- package/dist/schemas/storage-ref.js +64 -0
- package/dist/schemas/storage-ref.js.map +1 -0
- package/dist/schemas/sync/command.d.ts +15 -0
- package/dist/schemas/sync/command.d.ts.map +1 -0
- package/dist/schemas/sync/command.js +10 -0
- package/dist/schemas/sync/command.js.map +1 -0
- package/dist/schemas/sync/crud.d.ts +26 -0
- package/dist/schemas/sync/crud.d.ts.map +1 -0
- package/dist/schemas/sync/crud.js +16 -0
- package/dist/schemas/sync/crud.js.map +1 -0
- package/dist/schemas/sync/document.d.ts +4 -0
- package/dist/schemas/sync/document.d.ts.map +1 -0
- package/dist/schemas/sync/document.js +4 -0
- package/dist/schemas/sync/document.js.map +1 -0
- package/dist/schemas/sync/local-first.d.ts +26 -0
- package/dist/schemas/sync/local-first.d.ts.map +1 -0
- package/dist/schemas/sync/local-first.js +14 -0
- package/dist/schemas/sync/local-first.js.map +1 -0
- package/dist/schemas/sync/results.d.ts +61 -0
- package/dist/schemas/sync/results.d.ts.map +1 -0
- package/dist/schemas/sync/results.js +47 -0
- package/dist/schemas/sync/results.js.map +1 -0
- package/dist/schemas/sync-bridge-descriptor.d.ts +34 -15
- package/dist/schemas/sync-bridge-descriptor.d.ts.map +1 -1
- package/dist/schemas/sync-bridge-descriptor.js +9 -2
- package/dist/schemas/sync-bridge-descriptor.js.map +1 -1
- package/dist/schemas/sync-memory.d.ts +7 -0
- package/dist/schemas/sync-memory.d.ts.map +1 -0
- package/dist/schemas/sync-memory.js +4 -0
- package/dist/schemas/sync-memory.js.map +1 -0
- package/dist/schemas/tools/views.d.ts +83 -0
- package/dist/schemas/tools/views.d.ts.map +1 -0
- package/dist/schemas/tools/views.js +57 -0
- package/dist/schemas/tools/views.js.map +1 -0
- package/dist/schemas/tools/widgets.d.ts +41 -0
- package/dist/schemas/tools/widgets.d.ts.map +1 -0
- package/dist/schemas/tools/widgets.js +13 -0
- package/dist/schemas/tools/widgets.js.map +1 -0
- package/dist/schemas/transform.d.ts +32 -0
- package/dist/schemas/transform.d.ts.map +1 -0
- package/dist/schemas/transform.js +18 -0
- package/dist/schemas/transform.js.map +1 -0
- package/dist/schemas/zod-schema-value.d.ts +8 -0
- package/dist/schemas/zod-schema-value.d.ts.map +1 -0
- package/dist/schemas/zod-schema-value.js +8 -0
- package/dist/schemas/zod-schema-value.js.map +1 -0
- package/dist/server/manifest-route.d.ts +18 -10
- package/dist/server/manifest-route.d.ts.map +1 -1
- package/dist/server/manifest-route.js +88 -90
- package/dist/server/manifest-route.js.map +1 -1
- package/dist/storage-explorer.consumer.plugin.d.ts +10 -0
- package/dist/storage-explorer.consumer.plugin.d.ts.map +1 -0
- package/dist/storage-explorer.consumer.plugin.js +24 -0
- package/dist/storage-explorer.consumer.plugin.js.map +1 -0
- package/dist/storage-policy.context.descriptor.js +1 -1
- package/dist/storage-policy.context.descriptor.js.map +1 -1
- package/dist/storage-policy.context.server.d.ts +7 -9
- package/dist/storage-policy.context.server.d.ts.map +1 -1
- package/dist/storage-policy.context.server.js +7 -20
- package/dist/storage-policy.context.server.js.map +1 -1
- package/dist/storage.consumer.plugin.d.ts +3 -0
- package/dist/storage.consumer.plugin.d.ts.map +1 -0
- package/dist/storage.consumer.plugin.js +15 -0
- package/dist/storage.consumer.plugin.js.map +1 -0
- package/dist/storage.node.plugin.d.ts +3 -0
- package/dist/storage.node.plugin.d.ts.map +1 -0
- package/dist/storage.node.plugin.js +12 -0
- package/dist/storage.node.plugin.js.map +1 -0
- package/dist/storage.plugin.d.ts +10 -16
- package/dist/storage.plugin.d.ts.map +1 -1
- package/dist/storage.plugin.js +150 -91
- package/dist/storage.plugin.js.map +1 -1
- package/dist/svelte/components/ConnectStorageProviderDialog.svelte +345 -0
- package/dist/svelte/components/ConnectStorageProviderDialog.svelte.d.ts +17 -0
- package/dist/svelte/components/ConnectStorageProviderDialog.svelte.d.ts.map +1 -0
- package/dist/svelte/components/PlatformStorageExplorer.svelte +57 -0
- package/dist/svelte/components/PlatformStorageExplorer.svelte.d.ts +23 -0
- package/dist/svelte/components/PlatformStorageExplorer.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageBrowser.svelte +436 -0
- package/dist/svelte/components/StorageBrowser.svelte.d.ts +51 -0
- package/dist/svelte/components/StorageBrowser.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageBrowserPage.svelte +71 -0
- package/dist/svelte/components/StorageBrowserPage.svelte.d.ts +23 -0
- package/dist/svelte/components/StorageBrowserPage.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageCollectionManager.svelte +193 -0
- package/dist/svelte/components/StorageCollectionManager.svelte.d.ts +14 -0
- package/dist/svelte/components/StorageCollectionManager.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageDetailsPane.svelte +160 -0
- package/dist/svelte/components/StorageDetailsPane.svelte.d.ts +11 -0
- package/dist/svelte/components/StorageDetailsPane.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageDropzone.svelte +76 -0
- package/dist/svelte/components/StorageDropzone.svelte.d.ts +9 -0
- package/dist/svelte/components/StorageDropzone.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageExplorer.svelte +954 -0
- package/dist/svelte/components/StorageExplorer.svelte.d.ts +48 -0
- package/dist/svelte/components/StorageExplorer.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageFileBrowser.svelte +201 -0
- package/dist/svelte/components/StorageFileBrowser.svelte.d.ts +18 -0
- package/dist/svelte/components/StorageFileBrowser.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageFileCard.svelte +162 -0
- package/dist/svelte/components/StorageFileCard.svelte.d.ts +10 -0
- package/dist/svelte/components/StorageFileCard.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StoragePathBar.svelte +104 -0
- package/dist/svelte/components/StoragePathBar.svelte.d.ts +19 -0
- package/dist/svelte/components/StoragePathBar.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageProviderSelect.svelte +163 -0
- package/dist/svelte/components/StorageProviderSelect.svelte.d.ts +20 -0
- package/dist/svelte/components/StorageProviderSelect.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageProviderSidebar.svelte +187 -0
- package/dist/svelte/components/StorageProviderSidebar.svelte.d.ts +30 -0
- package/dist/svelte/components/StorageProviderSidebar.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageReadinessNotice.svelte +181 -0
- package/dist/svelte/components/StorageReadinessNotice.svelte.d.ts +32 -0
- package/dist/svelte/components/StorageReadinessNotice.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageSearchBox.svelte +106 -0
- package/dist/svelte/components/StorageSearchBox.svelte.d.ts +19 -0
- package/dist/svelte/components/StorageSearchBox.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageToolbar.svelte +160 -0
- package/dist/svelte/components/StorageToolbar.svelte.d.ts +26 -0
- package/dist/svelte/components/StorageToolbar.svelte.d.ts.map +1 -0
- package/dist/svelte/components/StorageUploadChip.svelte +116 -0
- package/dist/svelte/components/StorageUploadChip.svelte.d.ts +13 -0
- package/dist/svelte/components/StorageUploadChip.svelte.d.ts.map +1 -0
- package/dist/svelte/components/index.d.ts +14 -0
- package/dist/svelte/components/index.d.ts.map +1 -0
- package/dist/svelte/components/index.js +12 -0
- package/dist/svelte/components/storage-media.d.ts +14 -0
- package/dist/svelte/components/storage-media.d.ts.map +1 -0
- package/dist/svelte/components/storage-media.js +13 -0
- package/dist/svelte/index.d.ts +14 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +13 -0
- package/dist/svelte/note-store-failure.d.ts +15 -0
- package/dist/svelte/note-store-failure.d.ts.map +1 -0
- package/dist/svelte/note-store-failure.js +21 -0
- package/dist/svelte/platform-storage-port.d.ts +86 -0
- package/dist/svelte/platform-storage-port.d.ts.map +1 -0
- package/dist/svelte/platform-storage-port.js +71 -0
- package/dist/svelte/storage-browse-runtime.d.ts +65 -0
- package/dist/svelte/storage-browse-runtime.d.ts.map +1 -0
- package/dist/svelte/storage-browse-runtime.js +68 -0
- package/dist/svelte/storage-connection.d.ts +23 -0
- package/dist/svelte/storage-connection.d.ts.map +1 -0
- package/dist/svelte/storage-connection.js +40 -0
- package/dist/svelte/storage-display.d.ts +6 -0
- package/dist/svelte/storage-display.d.ts.map +1 -0
- package/dist/svelte/storage-display.js +58 -0
- package/dist/svelte/storage-explorer-runtime.d.ts +120 -0
- package/dist/svelte/storage-explorer-runtime.d.ts.map +1 -0
- package/dist/svelte/storage-explorer-runtime.js +251 -0
- package/dist/svelte/storage-explorer.load.d.ts +22 -0
- package/dist/svelte/storage-explorer.load.d.ts.map +1 -0
- package/dist/svelte/storage-explorer.load.js +37 -0
- package/dist/svelte/storage-refs-runtime.d.ts +36 -0
- package/dist/svelte/storage-refs-runtime.d.ts.map +1 -0
- package/dist/svelte/storage-refs-runtime.js +47 -0
- package/dist/svelte/storage-runtime.d.ts +30 -0
- package/dist/svelte/storage-runtime.d.ts.map +1 -0
- package/dist/svelte/storage-runtime.js +39 -0
- package/dist/svelte/storage-svelte.plugin.d.ts +40 -0
- package/dist/svelte/storage-svelte.plugin.d.ts.map +1 -0
- package/dist/svelte/storage-svelte.plugin.js +50 -0
- package/dist/svelte/storage-upload-runtime.d.ts +8 -0
- package/dist/svelte/storage-upload-runtime.d.ts.map +1 -0
- package/dist/svelte/storage-upload-runtime.js +12 -0
- package/dist/svelte/stores/index.d.ts +4 -0
- package/dist/svelte/stores/index.d.ts.map +1 -0
- package/dist/svelte/stores/index.js +3 -0
- package/dist/svelte/stores/storage-browse.svelte.d.ts +70 -0
- package/dist/svelte/stores/storage-browse.svelte.d.ts.map +1 -0
- package/dist/svelte/stores/storage-browse.svelte.js +133 -0
- package/dist/svelte/stores/storage-providers.svelte.d.ts +32 -0
- package/dist/svelte/stores/storage-providers.svelte.d.ts.map +1 -0
- package/dist/svelte/stores/storage-providers.svelte.js +73 -0
- package/dist/svelte/stores/storage-refs.svelte.d.ts +57 -0
- package/dist/svelte/stores/storage-refs.svelte.d.ts.map +1 -0
- package/dist/svelte/stores/storage-refs.svelte.js +90 -0
- package/dist/svelte/styles.css +14 -0
- package/dist/svelte/test-assets.d.ts +8 -0
- package/dist/svelte/tool-widgets/StorageBrowseToolCard.svelte +109 -0
- package/dist/svelte/tool-widgets/StorageBrowseToolCard.svelte.d.ts +9 -0
- package/dist/svelte/tool-widgets/StorageBrowseToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/StorageCopyToolCard.svelte +87 -0
- package/dist/svelte/tool-widgets/StorageCopyToolCard.svelte.d.ts +9 -0
- package/dist/svelte/tool-widgets/StorageCopyToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/StorageSearchToolCard.svelte +94 -0
- package/dist/svelte/tool-widgets/StorageSearchToolCard.svelte.d.ts +9 -0
- package/dist/svelte/tool-widgets/StorageSearchToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/format.d.ts +15 -0
- package/dist/svelte/tool-widgets/format.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/format.js +32 -0
- package/dist/svelte/tool-widgets/index.d.ts +2 -0
- package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.js +12 -0
- package/dist/svelte/tool-widgets/runtime.d.ts +9 -0
- package/dist/svelte/tool-widgets/runtime.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/runtime.js +42 -0
- package/dist/sync/cloud-document.d.ts +24 -0
- package/dist/sync/cloud-document.d.ts.map +1 -0
- package/dist/sync/cloud-document.js +47 -0
- package/dist/sync/cloud-document.js.map +1 -0
- package/dist/sync/cloud-pull.d.ts +9 -3
- package/dist/sync/cloud-pull.d.ts.map +1 -1
- package/dist/sync/cloud-pull.js +85 -86
- package/dist/sync/cloud-pull.js.map +1 -1
- package/dist/sync/cloud-record-crud-config.d.ts +7 -17
- package/dist/sync/cloud-record-crud-config.d.ts.map +1 -1
- package/dist/sync/cloud-record-crud-config.js +17 -9
- package/dist/sync/cloud-record-crud-config.js.map +1 -1
- package/dist/sync/local-first.d.ts +61 -0
- package/dist/sync/local-first.d.ts.map +1 -0
- package/dist/sync/local-first.js +121 -0
- package/dist/sync/local-first.js.map +1 -0
- package/dist/sync/record-sync-bridge.d.ts +35 -3
- package/dist/sync/record-sync-bridge.d.ts.map +1 -1
- package/dist/sync/record-sync-bridge.js +50 -46
- package/dist/sync/record-sync-bridge.js.map +1 -1
- package/dist/sync/resolve-sync-target.d.ts +16 -17
- package/dist/sync/resolve-sync-target.d.ts.map +1 -1
- package/dist/sync/resolve-sync-target.js +18 -43
- package/dist/sync/resolve-sync-target.js.map +1 -1
- package/dist/sync/runtime-sync-state.d.ts +18 -0
- package/dist/sync/runtime-sync-state.d.ts.map +1 -0
- package/dist/sync/runtime-sync-state.js +12 -0
- package/dist/sync/runtime-sync-state.js.map +1 -0
- package/dist/sync/schemas/cloud-pull.d.ts +9 -5
- package/dist/sync/schemas/cloud-pull.d.ts.map +1 -1
- package/dist/sync/schemas/index.d.ts +3 -3
- package/dist/sync/schemas/index.d.ts.map +1 -1
- package/dist/sync/schemas/index.js +3 -3
- package/dist/sync/schemas/index.js.map +1 -1
- package/dist/sync/schemas/sync-helpers.d.ts +4 -2
- package/dist/sync/schemas/sync-helpers.d.ts.map +1 -1
- package/dist/sync/schemas/sync-state.d.ts +7 -5
- package/dist/sync/schemas/sync-state.d.ts.map +1 -1
- package/dist/sync/schemas/sync-state.js +1 -0
- package/dist/sync/schemas/sync-state.js.map +1 -1
- package/dist/sync/sync-bridge.d.ts +39 -31
- package/dist/sync/sync-bridge.d.ts.map +1 -1
- package/dist/sync/sync-bridge.js +427 -196
- package/dist/sync/sync-bridge.js.map +1 -1
- package/dist/sync/sync-manifest.d.ts +7 -19
- package/dist/sync/sync-manifest.d.ts.map +1 -1
- package/dist/sync/sync-manifest.js +125 -84
- package/dist/sync/sync-manifest.js.map +1 -1
- package/dist/sync/sync-state.browser.d.ts +37 -0
- package/dist/sync/sync-state.browser.d.ts.map +1 -0
- package/dist/sync/sync-state.browser.js +136 -0
- package/dist/sync/sync-state.browser.js.map +1 -0
- package/dist/sync/sync-state.client.d.ts +71 -0
- package/dist/sync/sync-state.client.d.ts.map +1 -0
- package/dist/sync/sync-state.client.js +78 -0
- package/dist/sync/sync-state.client.js.map +1 -0
- package/dist/sync/sync-state.consumer.d.ts +44 -17
- package/dist/sync/sync-state.consumer.d.ts.map +1 -1
- package/dist/sync/sync-state.consumer.js +161 -87
- package/dist/sync/sync-state.consumer.js.map +1 -1
- package/dist/sync/sync-state.core.d.ts +40 -0
- package/dist/sync/sync-state.core.d.ts.map +1 -0
- package/dist/sync/sync-state.core.js +130 -0
- package/dist/sync/sync-state.core.js.map +1 -0
- package/dist/sync/sync-state.descriptor.d.ts +39 -0
- package/dist/sync/sync-state.descriptor.d.ts.map +1 -0
- package/dist/sync/sync-state.descriptor.js +23 -0
- package/dist/sync/sync-state.descriptor.js.map +1 -0
- package/dist/testing.d.ts +31 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +82 -0
- package/dist/testing.js.map +1 -0
- package/dist/tools/descriptors.d.ts +312 -0
- package/dist/tools/descriptors.d.ts.map +1 -0
- package/dist/tools/descriptors.js +98 -0
- package/dist/tools/descriptors.js.map +1 -0
- package/dist/tools/impl.d.ts +72 -0
- package/dist/tools/impl.d.ts.map +1 -0
- package/dist/tools/impl.js +572 -0
- package/dist/tools/impl.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/schemas.d.ts +136 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +113 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/widget-views.d.ts +9 -0
- package/dist/tools/widget-views.d.ts.map +1 -0
- package/dist/tools/widget-views.js +119 -0
- package/dist/tools/widget-views.js.map +1 -0
- package/dist/transform/index.d.ts +7 -18
- package/dist/transform/index.d.ts.map +1 -1
- package/dist/transform/index.js +16 -14
- package/dist/transform/index.js.map +1 -1
- package/dist/transform/transform-descriptor.d.ts +1 -21
- package/dist/transform/transform-descriptor.d.ts.map +1 -1
- package/dist/transform/transform-descriptor.js +1 -29
- package/dist/transform/transform-descriptor.js.map +1 -1
- package/dist/tui/plugin.d.ts +26 -0
- package/dist/tui/plugin.d.ts.map +1 -0
- package/dist/tui/plugin.js +107 -0
- package/dist/tui/plugin.js.map +1 -0
- package/dist/tui/storage-explorer.descriptor.d.ts +25 -4
- package/dist/tui/storage-explorer.descriptor.d.ts.map +1 -1
- package/dist/tui/storage-explorer.descriptor.js +7 -3
- package/dist/tui/storage-explorer.descriptor.js.map +1 -1
- package/dist/tui/storage-explorer.impl.consumer.d.ts +23 -6
- package/dist/tui/storage-explorer.impl.consumer.d.ts.map +1 -1
- package/dist/tui/storage-explorer.impl.consumer.js +231 -8
- package/dist/tui/storage-explorer.impl.consumer.js.map +1 -1
- package/dist/tui/storage-open.descriptor.d.ts +16 -3
- package/dist/tui/storage-open.descriptor.d.ts.map +1 -1
- package/dist/tui/storage-open.descriptor.js +5 -1
- package/dist/tui/storage-open.descriptor.js.map +1 -1
- package/dist/tui/storage-open.impl.consumer.d.ts +6 -1
- package/dist/tui/storage-open.impl.consumer.d.ts.map +1 -1
- package/dist/tui/storage-open.impl.consumer.js.map +1 -1
- package/dist/tui/storage-signed-out-ui.d.ts +21 -0
- package/dist/tui/storage-signed-out-ui.d.ts.map +1 -0
- package/dist/tui/storage-signed-out-ui.js +34 -0
- package/dist/tui/storage-signed-out-ui.js.map +1 -0
- package/dist/tui/storage.tui-state.descriptor.d.ts +61 -0
- package/dist/tui/storage.tui-state.descriptor.d.ts.map +1 -0
- package/dist/tui/storage.tui-state.descriptor.js +52 -0
- package/dist/tui/storage.tui-state.descriptor.js.map +1 -0
- package/dist/tui/storage.tui-state.impl.consumer.d.ts +29 -0
- package/dist/tui/storage.tui-state.impl.consumer.d.ts.map +1 -0
- package/dist/tui/storage.tui-state.impl.consumer.js +207 -0
- package/dist/tui/storage.tui-state.impl.consumer.js.map +1 -0
- package/dist/tui/storage.tui-state.key.d.ts +27 -0
- package/dist/tui/storage.tui-state.key.d.ts.map +1 -0
- package/dist/tui/storage.tui-state.key.js +12 -0
- package/dist/tui/storage.tui-state.key.js.map +1 -0
- package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.d.ts +14 -0
- package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.d.ts.map +1 -0
- package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.js +28 -0
- package/dist/tui/tool-widgets/StorageBrowseToolWidget.impl.consumer.js.map +1 -0
- package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.d.ts +14 -0
- package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.d.ts.map +1 -0
- package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.js +21 -0
- package/dist/tui/tool-widgets/StorageCopyToolWidget.impl.consumer.js.map +1 -0
- package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.d.ts +14 -0
- package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.d.ts.map +1 -0
- package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.js +22 -0
- package/dist/tui/tool-widgets/StorageSearchToolWidget.impl.consumer.js.map +1 -0
- package/dist/tui/tool-widgets/format.d.ts +19 -0
- package/dist/tui/tool-widgets/format.d.ts.map +1 -0
- package/dist/tui/tool-widgets/format.js +53 -0
- package/dist/tui/tool-widgets/format.js.map +1 -0
- package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.d.ts +14 -0
- package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.d.ts.map +1 -0
- package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.js +14 -0
- package/dist/tui/tool-widgets/storage.browse.tool-widget.descriptor.js.map +1 -0
- package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.d.ts +14 -0
- package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.d.ts.map +1 -0
- package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.js +14 -0
- package/dist/tui/tool-widgets/storage.copy.tool-widget.descriptor.js.map +1 -0
- package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.d.ts +14 -0
- package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.d.ts.map +1 -0
- package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.js +14 -0
- package/dist/tui/tool-widgets/storage.search.tool-widget.descriptor.js.map +1 -0
- package/dist/utils/caller-bearer.d.ts +13 -0
- package/dist/utils/caller-bearer.d.ts.map +1 -0
- package/dist/utils/caller-bearer.js +17 -0
- package/dist/utils/caller-bearer.js.map +1 -0
- package/dist/utils/error-context.d.ts +9 -1
- package/dist/utils/error-context.d.ts.map +1 -1
- package/dist/utils/error-context.js +7 -14
- package/dist/utils/error-context.js.map +1 -1
- package/dist/utils/failure-of.d.ts +20 -0
- package/dist/utils/failure-of.d.ts.map +1 -0
- package/dist/utils/failure-of.js +35 -0
- package/dist/utils/failure-of.js.map +1 -0
- package/dist/workers-port.d.ts +37 -0
- package/dist/workers-port.d.ts.map +1 -0
- package/dist/workers-port.js +60 -0
- package/dist/workers-port.js.map +1 -0
- package/package.json +641 -144
- package/dist/adapters/index.d.ts +0 -14
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -15
- package/dist/adapters/index.js.map +0 -1
- package/dist/cli/context.consumer.d.ts +0 -26
- package/dist/cli/context.consumer.d.ts.map +0 -1
- package/dist/cli/context.consumer.js +0 -164
- package/dist/cli/context.consumer.js.map +0 -1
- package/dist/docs/adapters.docs.descriptor.d.ts +0 -4
- package/dist/docs/adapters.docs.descriptor.d.ts.map +0 -1
- package/dist/docs/adapters.docs.descriptor.js +0 -223
- package/dist/docs/adapters.docs.descriptor.js.map +0 -1
- package/dist/docs/manifests.docs.descriptor.d.ts +0 -4
- package/dist/docs/manifests.docs.descriptor.d.ts.map +0 -1
- package/dist/docs/manifests.docs.descriptor.js.map +0 -1
- package/src/adapters/index.ts +0 -13
- package/src/bridge/index.ts +0 -2
- package/src/bridge/storage-kind-bridge.ts +0 -131
- package/src/bridge/types.ts +0 -46
- package/src/cli/commands/list/storage.list.cli-command.descriptor.ts +0 -20
- package/src/cli/commands/list/storage.list.cli-command.impl.ts +0 -72
- package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.ts +0 -28
- package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.ts +0 -171
- package/src/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.ts +0 -28
- package/src/cli/commands/sync/push/storage.sync.push.cli-command.impl.ts +0 -213
- package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.ts +0 -22
- package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.ts +0 -129
- package/src/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.ts +0 -17
- package/src/cli/commands/sync/status/storage.sync.status.cli-command.impl.ts +0 -192
- package/src/cli/context.consumer.ts +0 -195
- package/src/cli/storage.cli-group.descriptor.ts +0 -13
- package/src/cli/storage.sync.cli-group.descriptor.ts +0 -14
- package/src/cli/types.ts +0 -25
- package/src/client/index.ts +0 -10
- package/src/client/list-browsable-adapters.ts +0 -42
- package/src/daemon/commands/sync.ts +0 -225
- package/src/docs/adapters.docs.descriptor.ts +0 -225
- package/src/docs/manifests.docs.descriptor.ts +0 -318
- package/src/docs/records.docs.descriptor.ts +0 -271
- package/src/docs/sync.docs.descriptor.ts +0 -281
- package/src/index.ts +0 -109
- package/src/interfaces/adapter.ts +0 -451
- package/src/interfaces/document-store.ts +0 -74
- package/src/interfaces/index.ts +0 -117
- package/src/interfaces/key-value.ts +0 -112
- package/src/interfaces/query-builder.ts +0 -31
- package/src/interfaces/record/index.ts +0 -58
- package/src/interfaces/record/interface.ts +0 -723
- package/src/interfaces/repository.ts +0 -300
- package/src/interfaces/schema/index.ts +0 -37
- package/src/interfaces/schema/schema-interface.ts +0 -586
- package/src/interfaces/schema/table-interface.ts +0 -314
- package/src/interfaces/storage-consumer-fs.ts +0 -66
- package/src/manifest/base.ts +0 -594
- package/src/manifest/cloud-sync.consumer.ts +0 -120
- package/src/manifest/index.ts +0 -7
- package/src/manifest/source-policy.ts +0 -74
- package/src/paths.ts +0 -171
- package/src/policy/context.ts +0 -30
- package/src/policy/index.ts +0 -20
- package/src/policy/overrides.ts +0 -46
- package/src/policy/persistence.ts +0 -117
- package/src/policy/types.ts +0 -28
- package/src/record/base.ts +0 -1872
- package/src/record/events.ts +0 -56
- package/src/record/extensions.ts +0 -308
- package/src/record/index.ts +0 -7
- package/src/resolver/storage-backed-resolver.ts +0 -255
- package/src/schemas/adapter-descriptor.ts +0 -128
- package/src/schemas/index.ts +0 -104
- package/src/schemas/manifest-descriptor.ts +0 -143
- package/src/schemas/record/descriptor.ts +0 -621
- package/src/schemas/record/index.ts +0 -60
- package/src/schemas/record/relation.ts +0 -49
- package/src/schemas/schema/descriptor.ts +0 -278
- package/src/schemas/schema/index.ts +0 -14
- package/src/schemas/sync-bridge-descriptor.ts +0 -143
- package/src/server/manifest-route.ts +0 -319
- package/src/storage-policy.context.descriptor.ts +0 -17
- package/src/storage-policy.context.server.ts +0 -34
- package/src/storage.plugin.ts +0 -264
- package/src/sync/cloud-pull.ts +0 -202
- package/src/sync/cloud-record-crud-config.ts +0 -41
- package/src/sync/record-sync-bridge.ts +0 -183
- package/src/sync/resolve-sync-target.ts +0 -57
- package/src/sync/schemas/cloud-pull.ts +0 -26
- package/src/sync/schemas/index.ts +0 -18
- package/src/sync/schemas/sync-helpers.ts +0 -18
- package/src/sync/schemas/sync-state.ts +0 -41
- package/src/sync/sync-bridge.ts +0 -763
- package/src/sync/sync-manifest.ts +0 -212
- package/src/sync/sync-state.consumer.ts +0 -144
- package/src/transform/index.ts +0 -130
- package/src/transform/transform-descriptor.ts +0 -53
- package/src/tui/storage-explorer.descriptor.ts +0 -32
- package/src/tui/storage-explorer.impl.consumer.ts +0 -14
- package/src/tui/storage-open.descriptor.ts +0 -31
- package/src/tui/storage-open.impl.consumer.ts +0 -14
- package/src/utils/error-context.ts +0 -19
package/dist/sync/sync-bridge.js
CHANGED
|
@@ -11,61 +11,175 @@
|
|
|
11
11
|
* 4. Push new/updated local items, pull new/updated remote items
|
|
12
12
|
* 5. Track state in sync-state.json alongside storage manifests
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import { CapabilityError, CaughtFailureSchema, valueFreeFailure } from '@vibesdotdev/kernel';
|
|
15
|
+
import { SyncEntitySchema } from "../schemas/sync-bridge-descriptor.js";
|
|
16
|
+
import * as z from 'zod/v4';
|
|
17
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
18
|
+
import { loadSyncState, saveSyncState, getManifestSyncState, markSynced, markLocalAhead, markConflict, markError, markRemoteAhead, computeHash, HASH_VERSION } from "./sync-state.consumer.js";
|
|
19
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
20
|
+
const DEFAULT_REMOTE_PAGE_SIZE = 100;
|
|
21
|
+
const MAX_REMOTE_PAGES = 10_000;
|
|
22
|
+
/** The longest one remote request may take before it is refused `TIMEOUT sync-remote-timeout`. */
|
|
23
|
+
export const SYNC_REMOTE_REQUEST_TIMEOUT_MS = 30_000;
|
|
24
|
+
/** The code an HTTP failure status projects to. */
|
|
25
|
+
function codeForStatus(status) {
|
|
26
|
+
if (status === 401)
|
|
27
|
+
return 'AUTH_REQUIRED';
|
|
28
|
+
if (status === 403)
|
|
29
|
+
return 'PERMISSION_DENIED';
|
|
30
|
+
if (status === 404 || status === 410)
|
|
31
|
+
return 'NOT_FOUND';
|
|
32
|
+
if (status === 408 || status === 504)
|
|
33
|
+
return 'TIMEOUT';
|
|
34
|
+
if (status === 409 || status === 412)
|
|
35
|
+
return 'CONFLICT';
|
|
36
|
+
if (status === 429)
|
|
37
|
+
return 'RATE_LIMITED';
|
|
38
|
+
return status >= 500 ? 'UNAVAILABLE' : 'INVALID_INPUT';
|
|
39
|
+
}
|
|
40
|
+
/** A remote answer that is not a success: status-classified, value-free (no body, reason phrase or URL). */
|
|
41
|
+
function remoteStatusFailure(operation, status) {
|
|
42
|
+
return new CapabilityError(`The sync remote refused the ${operation} request (HTTP ${status}).`, codeForStatus(status), {
|
|
43
|
+
reason: 'sync-remote-status',
|
|
44
|
+
retryable: status >= 500 || status === 429,
|
|
45
|
+
details: { operation, status }
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/** A remote page: a bare entity array, or an envelope object holding one. */
|
|
49
|
+
const RemotePageSchema = z.union([z.array(z.unknown()), z.record(z.string(), z.unknown())]);
|
|
50
|
+
/** A remote page's entity list: every item a record. */
|
|
51
|
+
const RemoteEntityListSchema = z.array(SyncEntitySchema);
|
|
52
|
+
/** An envelope's declared page count, number or numeric string; anything else is undeclared. */
|
|
53
|
+
const PaginationSchema = z.object({
|
|
54
|
+
pagination: z.object({ totalPages: z.union([z.number(), z.string()]).optional().catch(undefined) }).optional().catch(undefined)
|
|
55
|
+
});
|
|
56
|
+
/** An entity's timestamps, each read on its own (a non-string field is absent, never a failure). */
|
|
57
|
+
const EntityTimestampsSchema = z.object({
|
|
58
|
+
deletedAt: z.string().optional().catch(undefined),
|
|
59
|
+
updatedAt: z.string().optional().catch(undefined),
|
|
60
|
+
createdAt: z.string().optional().catch(undefined)
|
|
61
|
+
});
|
|
62
|
+
/** An entity's id under the bridge's id field: a string or a number; anything else refuses typed. */
|
|
63
|
+
function entityIdOf(entity, idField) {
|
|
64
|
+
const parsed = z.union([z.string().min(1), z.number()]).safeParse(entity[idField]);
|
|
65
|
+
if (!parsed.success) {
|
|
66
|
+
throw new CapabilityError('A sync entity has no usable id.', 'INVALID_INPUT', {
|
|
67
|
+
reason: 'sync-entity-id-invalid',
|
|
68
|
+
retryable: false,
|
|
69
|
+
details: { idField }
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return String(parsed.data);
|
|
73
|
+
}
|
|
74
|
+
/** A remote whose pagination cannot be trusted (it ignores pages, or never ends): typed, value-free. */
|
|
75
|
+
function paginationRefusal(message) {
|
|
76
|
+
return new CapabilityError(message, 'INVALID_INPUT', { reason: 'sync-remote-pagination-invalid', retryable: false });
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* What a sync failure is recorded as (the sync-state file, `vibes storage sync
|
|
80
|
+
* status`, result details): the job's prefix and the failure's value-free
|
|
81
|
+
* facts (class, code, reason), never a thrown text that may echo a body, URL
|
|
82
|
+
* or token.
|
|
83
|
+
*/
|
|
84
|
+
function syncFailureText(prefix, failure) {
|
|
85
|
+
const facts = valueFreeFailure(failure);
|
|
86
|
+
return [prefix, facts.name, facts.code, facts.reason].filter((part) => part !== undefined).join(' ');
|
|
87
|
+
}
|
|
88
|
+
/** Run `work`; its failure's value-free facts, or undefined when it succeeded. */
|
|
89
|
+
async function failureOf(work) {
|
|
90
|
+
try {
|
|
91
|
+
await work();
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
return valueFreeFailure(CaughtFailureSchema.parse(error));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** A sync failure's recorded line from its value-free facts. */
|
|
99
|
+
function syncFailureLine(prefix, facts) {
|
|
100
|
+
return [prefix, facts.name, facts.code, facts.reason].filter((part) => part !== undefined).join(' ');
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Register one pulled descriptor with the runtime. A pulled item that is not
|
|
104
|
+
* a descriptor, or that the runtime refuses (already registered, invalid), is
|
|
105
|
+
* skipped and reported once with its value-free facts, never thrown over the
|
|
106
|
+
* rest of the pull.
|
|
107
|
+
*/
|
|
108
|
+
function registerPulledDescriptor(runtime, kindId, item) {
|
|
109
|
+
const logger = getLogger('storage:sync-bridge', runtime);
|
|
110
|
+
try {
|
|
111
|
+
runtime.registerDescriptor(kindId, RuntimeDescriptorSchema.loose().parse(item));
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
logger.warn('Skipped pulled descriptor that could not be registered', {
|
|
115
|
+
kindId,
|
|
116
|
+
error: valueFreeFailure(CaughtFailureSchema.parse(error))
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
16
120
|
/**
|
|
17
121
|
* Default SyncBridge implementation.
|
|
18
122
|
* Constructed by the runtime with (descriptor, context).
|
|
19
123
|
*/
|
|
20
124
|
export class SyncBridge {
|
|
21
125
|
descriptor;
|
|
22
|
-
|
|
126
|
+
/** The runtime that constructed this bridge (`context.runtime`); every read goes through it. */
|
|
127
|
+
runtime;
|
|
128
|
+
constructor(descriptor, context) {
|
|
23
129
|
this.descriptor = descriptor;
|
|
130
|
+
this.runtime = context.runtime;
|
|
24
131
|
}
|
|
25
132
|
get id() {
|
|
26
133
|
return this.descriptor.id;
|
|
27
134
|
}
|
|
28
|
-
/** Cached h2 fetch for HTTPS local endpoints */
|
|
29
|
-
_h2Fetch = null;
|
|
30
135
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
136
|
+
* One remote request, bounded: the runtime lifecycle's deadline
|
|
137
|
+
* ({@link SYNC_REMOTE_REQUEST_TIMEOUT_MS}) and its disposal abort it. A
|
|
138
|
+
* transport failure refuses `UNAVAILABLE sync-remote-unreachable` (its
|
|
139
|
+
* cause kept, its message naming no URL); the deadline refuses
|
|
140
|
+
* `TIMEOUT sync-remote-timeout`. Certificate verification is never
|
|
141
|
+
* switched off here: a local endpoint with a self-signed certificate is
|
|
142
|
+
* trusted by the host, not by this bridge.
|
|
33
143
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
144
|
+
/** The descriptor's per-request deadline, or the default. */
|
|
145
|
+
get requestTimeoutMs() {
|
|
146
|
+
return this.descriptor.target.requestTimeoutMs ?? SYNC_REMOTE_REQUEST_TIMEOUT_MS;
|
|
147
|
+
}
|
|
148
|
+
boundedFetch = async (input, init) => {
|
|
149
|
+
try {
|
|
150
|
+
return await this.runtime.lifecycle.wait((signal) => fetch(input, { ...init, signal }), {
|
|
151
|
+
timeoutMs: this.requestTimeoutMs,
|
|
152
|
+
reason: 'storage-sync-remote-request'
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
const failure = CaughtFailureSchema.parse(error);
|
|
157
|
+
if (failure instanceof Error && 'code' in failure && failure.code === 'TIMEOUT') {
|
|
158
|
+
throw new CapabilityError('The sync remote did not answer within its deadline.', 'TIMEOUT', {
|
|
159
|
+
reason: 'sync-remote-timeout',
|
|
160
|
+
retryable: true,
|
|
161
|
+
details: { timeoutMs: this.requestTimeoutMs },
|
|
162
|
+
cause: failure
|
|
163
|
+
});
|
|
51
164
|
}
|
|
165
|
+
throw new CapabilityError('The sync remote could not be reached.', 'UNAVAILABLE', {
|
|
166
|
+
reason: 'sync-remote-unreachable',
|
|
167
|
+
retryable: true,
|
|
168
|
+
cause: failure
|
|
169
|
+
});
|
|
52
170
|
}
|
|
53
|
-
|
|
54
|
-
return this._h2Fetch;
|
|
55
|
-
}
|
|
171
|
+
};
|
|
56
172
|
/**
|
|
57
173
|
* Collect local descriptors from the runtime.
|
|
58
174
|
*/
|
|
59
175
|
async collectLocal() {
|
|
60
176
|
if (this.descriptor.collect) {
|
|
61
|
-
return this.descriptor.collect();
|
|
177
|
+
return this.descriptor.collect({ runtime: this.runtime });
|
|
62
178
|
}
|
|
63
|
-
|
|
64
|
-
const runtime = getVibesRuntime();
|
|
65
|
-
const descriptors = runtime
|
|
179
|
+
return this.runtime
|
|
66
180
|
.query(this.descriptor.source.runtimeKind)
|
|
67
|
-
.descriptors()
|
|
68
|
-
|
|
181
|
+
.descriptors()
|
|
182
|
+
.map((descriptor) => SyncEntitySchema.parse(descriptor));
|
|
69
183
|
}
|
|
70
184
|
stripSensitiveFields(entity) {
|
|
71
185
|
const sanitized = { ...entity };
|
|
@@ -74,24 +188,19 @@ export class SyncBridge {
|
|
|
74
188
|
}
|
|
75
189
|
return sanitized;
|
|
76
190
|
}
|
|
77
|
-
|
|
191
|
+
toPushedEntity(entity) {
|
|
78
192
|
const transformed = this.descriptor.toRemote ? this.descriptor.toRemote(entity) : entity;
|
|
79
193
|
return this.stripSensitiveFields(transformed);
|
|
80
194
|
}
|
|
81
195
|
buildComparableRemote(entity) {
|
|
82
|
-
const
|
|
83
|
-
return this.
|
|
196
|
+
const asLocal = this.descriptor.fromRemote ? this.descriptor.fromRemote(entity) : entity;
|
|
197
|
+
return this.toPushedEntity(asLocal);
|
|
84
198
|
}
|
|
85
199
|
getEntityTimestamp(entity) {
|
|
86
200
|
if (!entity)
|
|
87
201
|
return null;
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
: typeof entity.updatedAt === 'string'
|
|
91
|
-
? entity.updatedAt
|
|
92
|
-
: typeof entity.createdAt === 'string'
|
|
93
|
-
? entity.createdAt
|
|
94
|
-
: null;
|
|
202
|
+
const stamps = EntityTimestampsSchema.parse(entity);
|
|
203
|
+
const value = stamps.deletedAt ?? stamps.updatedAt ?? stamps.createdAt;
|
|
95
204
|
if (!value)
|
|
96
205
|
return null;
|
|
97
206
|
const timestamp = new Date(value).getTime();
|
|
@@ -121,24 +230,30 @@ export class SyncBridge {
|
|
|
121
230
|
}
|
|
122
231
|
return direction === 'push' ? 'conflict' : 'pull';
|
|
123
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* The entity list of a remote page: the bare array, else the declared list
|
|
235
|
+
* field, else a known envelope field. Every item must be an object: a page
|
|
236
|
+
* whose list holds anything else refuses `sync-remote-body-invalid`
|
|
237
|
+
* (a malformed answer from the remote is a failure, never absence).
|
|
238
|
+
*/
|
|
124
239
|
extractList(data) {
|
|
125
|
-
|
|
240
|
+
const candidates = Array.isArray(data)
|
|
241
|
+
? [data]
|
|
242
|
+
: [this.descriptor.target.listField, 'items', 'data', 'results', 'benchmarks', 'scenarios']
|
|
243
|
+
.filter((key) => key !== undefined)
|
|
244
|
+
.map((key) => data[key]);
|
|
245
|
+
const list = candidates.find((candidate) => Array.isArray(candidate));
|
|
246
|
+
if (list === undefined)
|
|
126
247
|
return [];
|
|
248
|
+
const parsed = RemoteEntityListSchema.safeParse(list);
|
|
249
|
+
if (!parsed.success) {
|
|
250
|
+
throw new CapabilityError('The sync remote answered with a list whose items are not records.', 'INTERNAL', {
|
|
251
|
+
reason: 'sync-remote-body-invalid',
|
|
252
|
+
retryable: false,
|
|
253
|
+
cause: parsed.error
|
|
254
|
+
});
|
|
127
255
|
}
|
|
128
|
-
|
|
129
|
-
const listField = this.descriptor.target.listField;
|
|
130
|
-
if (listField && Array.isArray(record[listField])) {
|
|
131
|
-
return record[listField];
|
|
132
|
-
}
|
|
133
|
-
if (Array.isArray(data)) {
|
|
134
|
-
return data;
|
|
135
|
-
}
|
|
136
|
-
for (const key of ['items', 'data', 'results', 'benchmarks', 'scenarios']) {
|
|
137
|
-
if (Array.isArray(record[key])) {
|
|
138
|
-
return record[key];
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return [];
|
|
256
|
+
return parsed.data;
|
|
142
257
|
}
|
|
143
258
|
/**
|
|
144
259
|
* Fetch remote entities from the cloud CRUD API.
|
|
@@ -147,18 +262,19 @@ export class SyncBridge {
|
|
|
147
262
|
const { target } = this.descriptor;
|
|
148
263
|
const url = `${apiEndpoint}${target.apiPath}`;
|
|
149
264
|
try {
|
|
150
|
-
const headers = {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
265
|
+
const headers = new Headers({ 'Content-Type': 'application/json' });
|
|
266
|
+
if (apiToken)
|
|
267
|
+
headers.set('Authorization', `Bearer ${apiToken}`);
|
|
268
|
+
const doFetch = this.boundedFetch;
|
|
269
|
+
const configuredPageSize = Number.parseInt(new URL(url).searchParams.get('perPage') ?? String(DEFAULT_REMOTE_PAGE_SIZE), 10);
|
|
270
|
+
const pageSize = Number.isFinite(configuredPageSize) && configuredPageSize > 0
|
|
271
|
+
? configuredPageSize
|
|
272
|
+
: DEFAULT_REMOTE_PAGE_SIZE;
|
|
157
273
|
const fetchPage = async (page) => {
|
|
158
274
|
const pageUrl = new URL(url);
|
|
159
275
|
pageUrl.searchParams.set('page', String(page));
|
|
160
276
|
if (!pageUrl.searchParams.has('perPage')) {
|
|
161
|
-
pageUrl.searchParams.set('perPage',
|
|
277
|
+
pageUrl.searchParams.set('perPage', String(pageSize));
|
|
162
278
|
}
|
|
163
279
|
if (target.includeDeleted && !pageUrl.searchParams.has('includeDeleted')) {
|
|
164
280
|
pageUrl.searchParams.set('includeDeleted', 'true');
|
|
@@ -168,33 +284,58 @@ export class SyncBridge {
|
|
|
168
284
|
if (response.status === 404) {
|
|
169
285
|
return { items: [], totalPages: 0 };
|
|
170
286
|
}
|
|
171
|
-
throw
|
|
287
|
+
throw remoteStatusFailure('fetch', response.status);
|
|
172
288
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
289
|
+
let body;
|
|
290
|
+
try {
|
|
291
|
+
body = RemotePageSchema.parse(await response.json());
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
throw new CapabilityError('The sync remote answered with a body that is not a JSON page.', 'INTERNAL', {
|
|
295
|
+
reason: 'sync-remote-body-invalid',
|
|
296
|
+
retryable: false,
|
|
297
|
+
cause: CaughtFailureSchema.parse(error)
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
const items = this.extractList(body);
|
|
301
|
+
const declared = Array.isArray(body) ? undefined : PaginationSchema.parse(body).pagination?.totalPages;
|
|
302
|
+
const totalPages = declared === undefined ? null : Number.parseInt(String(declared), 10);
|
|
303
|
+
return { items, totalPages: totalPages === null || Number.isNaN(totalPages) ? null : totalPages };
|
|
184
304
|
};
|
|
185
305
|
const firstPage = await fetchPage(1);
|
|
186
|
-
if (firstPage.totalPages <= 1) {
|
|
187
|
-
return firstPage.items;
|
|
188
|
-
}
|
|
189
306
|
const items = [...firstPage.items];
|
|
190
|
-
|
|
307
|
+
if (firstPage.totalPages !== null) {
|
|
308
|
+
if (firstPage.totalPages > MAX_REMOTE_PAGES) {
|
|
309
|
+
throw paginationRefusal(`Remote pagination exceeds the ${MAX_REMOTE_PAGES}-page safety limit`);
|
|
310
|
+
}
|
|
311
|
+
for (let page = 2; page <= firstPage.totalPages; page++) {
|
|
312
|
+
const nextPage = await fetchPage(page);
|
|
313
|
+
items.push(...nextPage.items);
|
|
314
|
+
}
|
|
315
|
+
return items;
|
|
316
|
+
}
|
|
317
|
+
let previousPageFirstId = firstPage.items[0]?.[this.descriptor.sync.idField] ?? firstPage.items[0]?.id;
|
|
318
|
+
for (let page = 2; items.length >= pageSize * (page - 1); page++) {
|
|
319
|
+
if (page > MAX_REMOTE_PAGES) {
|
|
320
|
+
throw paginationRefusal(`Remote pagination reached the ${MAX_REMOTE_PAGES}-page safety limit without a short page`);
|
|
321
|
+
}
|
|
191
322
|
const nextPage = await fetchPage(page);
|
|
323
|
+
const nextPageFirstId = nextPage.items[0]?.[this.descriptor.sync.idField] ?? nextPage.items[0]?.id;
|
|
324
|
+
if (previousPageFirstId !== undefined &&
|
|
325
|
+
nextPageFirstId !== undefined &&
|
|
326
|
+
nextPageFirstId === previousPageFirstId) {
|
|
327
|
+
throw paginationRefusal(`Remote pagination repeated the first item on page ${page}`);
|
|
328
|
+
}
|
|
192
329
|
items.push(...nextPage.items);
|
|
330
|
+
if (nextPage.items.length < pageSize)
|
|
331
|
+
return items;
|
|
332
|
+
previousPageFirstId = nextPageFirstId;
|
|
193
333
|
}
|
|
194
334
|
return items;
|
|
195
335
|
}
|
|
196
336
|
catch (error) {
|
|
197
|
-
|
|
337
|
+
// Typed failures pass through; anything else is carried, never echoed (the URL can hold a token).
|
|
338
|
+
throw CapabilityError.from(CaughtFailureSchema.parse(error));
|
|
198
339
|
}
|
|
199
340
|
}
|
|
200
341
|
/**
|
|
@@ -202,16 +343,13 @@ export class SyncBridge {
|
|
|
202
343
|
*/
|
|
203
344
|
async pushEntity(entity, apiEndpoint, apiToken) {
|
|
204
345
|
const { target, sync } = this.descriptor;
|
|
205
|
-
const entityId = entity
|
|
346
|
+
const entityId = entityIdOf(entity, sync.idField);
|
|
206
347
|
const entityPath = target.entityPath ?? `${target.apiPath}/:id`;
|
|
207
348
|
const url = `${apiEndpoint}${entityPath.replace(':id', encodeURIComponent(entityId))}`;
|
|
208
|
-
const headers = {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
headers['Authorization'] = `Bearer ${apiToken}`;
|
|
213
|
-
}
|
|
214
|
-
const doFetch = await this.getFetch(apiEndpoint);
|
|
349
|
+
const headers = new Headers({ 'Content-Type': 'application/json' });
|
|
350
|
+
if (apiToken)
|
|
351
|
+
headers.set('Authorization', `Bearer ${apiToken}`);
|
|
352
|
+
const doFetch = this.boundedFetch;
|
|
215
353
|
// Try PUT first (upsert), fall back to POST
|
|
216
354
|
let response = await doFetch(url, {
|
|
217
355
|
method: 'PUT',
|
|
@@ -226,23 +364,21 @@ export class SyncBridge {
|
|
|
226
364
|
body: JSON.stringify(entity)
|
|
227
365
|
});
|
|
228
366
|
}
|
|
229
|
-
if (!response.ok)
|
|
230
|
-
|
|
231
|
-
throw new Error(`Push failed (${response.status}): ${body}`);
|
|
232
|
-
}
|
|
367
|
+
if (!response.ok)
|
|
368
|
+
throw remoteStatusFailure('push', response.status);
|
|
233
369
|
}
|
|
234
370
|
async deleteEntity(entity, apiEndpoint, apiToken) {
|
|
235
371
|
const { target, sync } = this.descriptor;
|
|
236
|
-
const entityId = entity
|
|
372
|
+
const entityId = entityIdOf(entity, sync.idField);
|
|
237
373
|
const entityPath = target.entityPath ?? `${target.apiPath}/:id`;
|
|
238
374
|
const url = `${apiEndpoint}${entityPath.replace(':id', encodeURIComponent(entityId))}`;
|
|
239
|
-
const headers =
|
|
240
|
-
if (apiToken)
|
|
241
|
-
headers
|
|
242
|
-
|
|
243
|
-
const doFetch = await this.getFetch(apiEndpoint);
|
|
375
|
+
const headers = new Headers();
|
|
376
|
+
if (apiToken)
|
|
377
|
+
headers.set('Authorization', `Bearer ${apiToken}`);
|
|
378
|
+
const doFetch = this.boundedFetch;
|
|
244
379
|
if (this.descriptor.deleteRemote) {
|
|
245
380
|
await this.descriptor.deleteRemote(entity, {
|
|
381
|
+
runtime: this.runtime,
|
|
246
382
|
apiEndpoint,
|
|
247
383
|
apiToken,
|
|
248
384
|
fetch: doFetch
|
|
@@ -256,10 +392,8 @@ export class SyncBridge {
|
|
|
256
392
|
if (response.status === 404) {
|
|
257
393
|
return;
|
|
258
394
|
}
|
|
259
|
-
if (!response.ok)
|
|
260
|
-
|
|
261
|
-
throw new Error(`Delete failed (${response.status}): ${body}`);
|
|
262
|
-
}
|
|
395
|
+
if (!response.ok)
|
|
396
|
+
throw remoteStatusFailure('delete', response.status);
|
|
263
397
|
}
|
|
264
398
|
/**
|
|
265
399
|
* Persist pulled items locally.
|
|
@@ -269,12 +403,12 @@ export class SyncBridge {
|
|
|
269
403
|
async persistPulledItems(newItems, existingLocalItems, idField) {
|
|
270
404
|
const { writePulled, storageManifestId } = this.descriptor;
|
|
271
405
|
if (writePulled) {
|
|
272
|
-
await writePulled(newItems);
|
|
406
|
+
await writePulled(newItems, { runtime: this.runtime });
|
|
273
407
|
return;
|
|
274
408
|
}
|
|
275
409
|
if (storageManifestId) {
|
|
276
|
-
const { StorageManifest } = await import(
|
|
277
|
-
const manifest = StorageManifest.fromId(storageManifestId);
|
|
410
|
+
const { StorageManifest } = await import("../manifest/base.js");
|
|
411
|
+
const manifest = StorageManifest.fromId(storageManifestId, this.runtime);
|
|
278
412
|
const existing = (await manifest.load()) ?? [];
|
|
279
413
|
if (newItems.length > 0) {
|
|
280
414
|
const merged = new Map(existing.map((item) => [String(item[idField]), item]));
|
|
@@ -286,23 +420,48 @@ export class SyncBridge {
|
|
|
286
420
|
return;
|
|
287
421
|
}
|
|
288
422
|
// Descriptor-only: register with runtime
|
|
289
|
-
const
|
|
290
|
-
const runtime = getVibesRuntime();
|
|
423
|
+
const runtime = this.runtime;
|
|
291
424
|
const kindId = this.descriptor.source.runtimeKind;
|
|
292
425
|
if (!runtime.hasKind(kindId))
|
|
293
426
|
return;
|
|
294
|
-
for (const item of newItems)
|
|
295
|
-
|
|
296
|
-
runtime.registerDescriptor(kindId, item);
|
|
297
|
-
}
|
|
298
|
-
catch {
|
|
299
|
-
// Descriptor already registered or invalid — skip
|
|
300
|
-
}
|
|
301
|
-
}
|
|
427
|
+
for (const item of newItems)
|
|
428
|
+
registerPulledDescriptor(runtime, kindId, item);
|
|
302
429
|
}
|
|
303
430
|
/**
|
|
304
431
|
* Execute a full sync cycle.
|
|
305
432
|
*/
|
|
433
|
+
/**
|
|
434
|
+
* Push one local entity: the durable delivery of a single created record
|
|
435
|
+
* (D-RC11). Same `beforePush` hook, push shape and upsert as `execute`, and
|
|
436
|
+
* the same sync-state entry, without collecting or fetching the whole
|
|
437
|
+
* collection. A failure is recorded on the entity's sync state and thrown,
|
|
438
|
+
* so the delivering Workers job retries it.
|
|
439
|
+
*/
|
|
440
|
+
async pushOne(localItem, apiEndpoint, apiToken) {
|
|
441
|
+
const entityId = String(localItem[this.descriptor.sync.idField]);
|
|
442
|
+
const stateKey = `${this.id}:${entityId}`;
|
|
443
|
+
const syncState = await loadSyncState(this.runtime);
|
|
444
|
+
const pushItem = this.toPushedEntity(localItem);
|
|
445
|
+
try {
|
|
446
|
+
if (this.descriptor.beforePush) {
|
|
447
|
+
await this.descriptor.beforePush(localItem, {
|
|
448
|
+
runtime: this.runtime,
|
|
449
|
+
apiEndpoint,
|
|
450
|
+
apiToken,
|
|
451
|
+
fetch: this.boundedFetch
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
await this.pushEntity(pushItem, apiEndpoint, apiToken);
|
|
455
|
+
markSynced(syncState, stateKey, computeHash(pushItem), 'push');
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
const failure = CaughtFailureSchema.parse(error);
|
|
459
|
+
markError(syncState, stateKey, syncFailureText('Push failed:', failure));
|
|
460
|
+
await saveSyncState(syncState, this.runtime);
|
|
461
|
+
throw failure;
|
|
462
|
+
}
|
|
463
|
+
await saveSyncState(syncState, this.runtime);
|
|
464
|
+
}
|
|
306
465
|
async execute(apiEndpoint, options = {}, apiToken) {
|
|
307
466
|
const { sync } = this.descriptor;
|
|
308
467
|
const { dryRun = false, force = false, direction = 'both' } = options;
|
|
@@ -316,7 +475,7 @@ export class SyncBridge {
|
|
|
316
475
|
errors: 0,
|
|
317
476
|
details: []
|
|
318
477
|
};
|
|
319
|
-
const syncState = await loadSyncState();
|
|
478
|
+
const syncState = await loadSyncState(this.runtime);
|
|
320
479
|
try {
|
|
321
480
|
let localItems = await this.collectLocal();
|
|
322
481
|
if (sync.ownershipFilter !== 'all' && this.descriptor.source.sourceTypeField) {
|
|
@@ -330,31 +489,33 @@ export class SyncBridge {
|
|
|
330
489
|
return true;
|
|
331
490
|
});
|
|
332
491
|
}
|
|
333
|
-
let remoteItems
|
|
492
|
+
let remoteItems;
|
|
334
493
|
try {
|
|
335
494
|
remoteItems = await this.fetchRemote(apiEndpoint, apiToken);
|
|
336
495
|
}
|
|
337
496
|
catch (error) {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
497
|
+
// A remote that cannot be read is never treated as empty: pushing
|
|
498
|
+
// against an unknown remote would skip conflict detection.
|
|
499
|
+
const failure = CaughtFailureSchema.parse(error);
|
|
500
|
+
return {
|
|
501
|
+
...result,
|
|
502
|
+
errors: result.errors + 1,
|
|
503
|
+
details: [
|
|
504
|
+
...result.details,
|
|
505
|
+
{ entityId: '*', action: 'error', message: syncFailureText('Remote unreachable:', failure), failure: valueFreeFailure(failure) }
|
|
506
|
+
]
|
|
507
|
+
};
|
|
347
508
|
}
|
|
348
509
|
const pushAllowed = direction === 'push' || direction === 'both';
|
|
349
510
|
const pullAllowed = direction === 'pull' || direction === 'both';
|
|
350
|
-
const doFetch =
|
|
511
|
+
const doFetch = this.boundedFetch;
|
|
351
512
|
const localMap = new Map(localItems.map((item) => [String(item[idField]), item]));
|
|
352
513
|
const remoteMap = new Map(remoteItems.map((item) => [String(item[idField] ?? item.id), item]));
|
|
353
514
|
const allEntityIds = new Set([...localMap.keys(), ...remoteMap.keys()]);
|
|
354
515
|
const pulledItems = [];
|
|
355
516
|
const pushLocal = async (entityId, localItem, localHash) => {
|
|
356
517
|
const stateKey = `${this.id}:${entityId}`;
|
|
357
|
-
const pushItem = this.
|
|
518
|
+
const pushItem = this.toPushedEntity(localItem);
|
|
358
519
|
if (dryRun) {
|
|
359
520
|
result.pushed++;
|
|
360
521
|
result.details.push({
|
|
@@ -364,27 +525,21 @@ export class SyncBridge {
|
|
|
364
525
|
});
|
|
365
526
|
return;
|
|
366
527
|
}
|
|
367
|
-
|
|
528
|
+
const failure = await failureOf(async () => {
|
|
368
529
|
if (this.descriptor.beforePush) {
|
|
369
|
-
await this.descriptor.beforePush(localItem, {
|
|
370
|
-
apiEndpoint,
|
|
371
|
-
apiToken,
|
|
372
|
-
fetch: doFetch
|
|
373
|
-
});
|
|
530
|
+
await this.descriptor.beforePush(localItem, { runtime: this.runtime, apiEndpoint, apiToken, fetch: doFetch });
|
|
374
531
|
}
|
|
375
532
|
await this.pushEntity(pushItem, apiEndpoint, apiToken);
|
|
533
|
+
});
|
|
534
|
+
if (failure === undefined) {
|
|
376
535
|
result.pushed++;
|
|
377
536
|
result.details.push({ entityId, action: 'pushed' });
|
|
378
537
|
markSynced(syncState, stateKey, localHash, 'push');
|
|
379
538
|
}
|
|
380
|
-
|
|
539
|
+
else {
|
|
381
540
|
result.errors++;
|
|
382
|
-
result.details.push({
|
|
383
|
-
|
|
384
|
-
action: 'error',
|
|
385
|
-
message: `Push failed: ${error.message}`
|
|
386
|
-
});
|
|
387
|
-
markError(syncState, stateKey, error.message);
|
|
541
|
+
result.details.push({ entityId, action: 'error', message: syncFailureLine('Push failed:', failure), failure });
|
|
542
|
+
markError(syncState, stateKey, syncFailureLine('Push failed:', failure));
|
|
388
543
|
}
|
|
389
544
|
};
|
|
390
545
|
const deleteRemote = async (entityId, localItem, localHash) => {
|
|
@@ -398,24 +553,16 @@ export class SyncBridge {
|
|
|
398
553
|
});
|
|
399
554
|
return;
|
|
400
555
|
}
|
|
401
|
-
|
|
402
|
-
|
|
556
|
+
const failure = await failureOf(() => this.deleteEntity(localItem, apiEndpoint, apiToken));
|
|
557
|
+
if (failure === undefined) {
|
|
403
558
|
result.pushed++;
|
|
404
|
-
result.details.push({
|
|
405
|
-
entityId,
|
|
406
|
-
action: 'pushed',
|
|
407
|
-
message: 'Deleted remote via tombstone'
|
|
408
|
-
});
|
|
559
|
+
result.details.push({ entityId, action: 'pushed', message: 'Deleted remote via tombstone' });
|
|
409
560
|
markSynced(syncState, stateKey, localHash, 'push');
|
|
410
561
|
}
|
|
411
|
-
|
|
562
|
+
else {
|
|
412
563
|
result.errors++;
|
|
413
|
-
result.details.push({
|
|
414
|
-
|
|
415
|
-
action: 'error',
|
|
416
|
-
message: `Delete failed: ${error.message}`
|
|
417
|
-
});
|
|
418
|
-
markError(syncState, stateKey, error.message);
|
|
564
|
+
result.details.push({ entityId, action: 'error', message: syncFailureLine('Delete failed:', failure), failure });
|
|
565
|
+
markError(syncState, stateKey, syncFailureLine('Delete failed:', failure));
|
|
419
566
|
}
|
|
420
567
|
};
|
|
421
568
|
const pullRemote = (entityId, remoteItem, remoteHash) => {
|
|
@@ -446,19 +593,97 @@ export class SyncBridge {
|
|
|
446
593
|
? this.descriptor.fromRemote(remoteItem)
|
|
447
594
|
: remoteItem
|
|
448
595
|
: null;
|
|
449
|
-
const localHash = localItem ? computeHash(this.
|
|
596
|
+
const localHash = localItem ? computeHash(this.toPushedEntity(localItem)) : null;
|
|
450
597
|
const remoteHash = comparableRemote
|
|
451
|
-
? computeHash(this.
|
|
598
|
+
? computeHash(this.toPushedEntity(comparableRemote))
|
|
452
599
|
: null;
|
|
453
600
|
const prev = getManifestSyncState(syncState, stateKey);
|
|
601
|
+
const hasLegacyHashState = (prev.localHash !== null || prev.remoteHash !== null) &&
|
|
602
|
+
prev.hashVersion !== HASH_VERSION;
|
|
454
603
|
const localDeleted = this.isDeleted(localItem);
|
|
455
604
|
const remoteDeleted = this.isDeleted(comparableRemote ?? undefined);
|
|
605
|
+
if (localItem &&
|
|
606
|
+
remoteItem &&
|
|
607
|
+
localHash &&
|
|
608
|
+
remoteHash &&
|
|
609
|
+
localDeleted !== remoteDeleted) {
|
|
610
|
+
if (localDeleted) {
|
|
611
|
+
if (pushAllowed) {
|
|
612
|
+
await deleteRemote(entityId, localItem, localHash);
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
result.skipped++;
|
|
616
|
+
result.details.push({
|
|
617
|
+
entityId,
|
|
618
|
+
action: 'skipped',
|
|
619
|
+
message: 'Local tombstone pending remote delete'
|
|
620
|
+
});
|
|
621
|
+
markLocalAhead(syncState, stateKey, localHash);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
else if (pullAllowed) {
|
|
625
|
+
pullRemote(entityId, remoteItem, remoteHash);
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
result.skipped++;
|
|
629
|
+
result.details.push({
|
|
630
|
+
entityId,
|
|
631
|
+
action: 'skipped',
|
|
632
|
+
message: 'Remote tombstone pending local pull'
|
|
633
|
+
});
|
|
634
|
+
markRemoteAhead(syncState, stateKey, remoteHash);
|
|
635
|
+
}
|
|
636
|
+
continue;
|
|
637
|
+
}
|
|
638
|
+
if (localItem && remoteItem && localDeleted && remoteDeleted) {
|
|
639
|
+
// Both sides tombstoned: content hashes are irrelevant (servers bump
|
|
640
|
+
// updatedAt on delete, so they never re-equalize) — the pair is
|
|
641
|
+
// converged by deletion state alone. Without this, tombstone pairs
|
|
642
|
+
// sit in a permanent changed-classification standoff.
|
|
643
|
+
result.skipped++;
|
|
644
|
+
result.details.push({ entityId, action: 'skipped', message: 'In sync (tombstone)' });
|
|
645
|
+
markSynced(syncState, stateKey, localHash ?? remoteHash ?? '', direction === 'pull' ? 'pull' : 'push');
|
|
646
|
+
continue;
|
|
647
|
+
}
|
|
456
648
|
if (localItem && remoteItem && localHash === remoteHash) {
|
|
649
|
+
// Equal current-format hashes prove convergence regardless of the
|
|
650
|
+
// persisted hash format — this MUST precede the legacy-hash guard,
|
|
651
|
+
// or the first post-upgrade sync re-uploads every unchanged record
|
|
652
|
+
// (and 'newest' strategies raise spurious conflict waves).
|
|
457
653
|
result.skipped++;
|
|
458
654
|
result.details.push({ entityId, action: 'skipped', message: 'In sync' });
|
|
459
655
|
markSynced(syncState, stateKey, localHash ?? remoteHash ?? '', direction === 'pull' ? 'pull' : 'push');
|
|
460
656
|
continue;
|
|
461
657
|
}
|
|
658
|
+
if (hasLegacyHashState && localItem && remoteItem && localHash && remoteHash) {
|
|
659
|
+
if (!pushAllowed) {
|
|
660
|
+
result.skipped++;
|
|
661
|
+
result.details.push({
|
|
662
|
+
entityId,
|
|
663
|
+
action: 'skipped',
|
|
664
|
+
message: 'Sync state predates hash upgrade; push required'
|
|
665
|
+
});
|
|
666
|
+
markLocalAhead(syncState, stateKey, localHash);
|
|
667
|
+
continue;
|
|
668
|
+
}
|
|
669
|
+
const conflictAction = this.resolveConflictAction(localItem, remoteItem, direction);
|
|
670
|
+
if (conflictAction === 'push') {
|
|
671
|
+
await pushLocal(entityId, localItem, localHash);
|
|
672
|
+
continue;
|
|
673
|
+
}
|
|
674
|
+
if (conflictAction === 'pull') {
|
|
675
|
+
pullRemote(entityId, remoteItem, remoteHash);
|
|
676
|
+
continue;
|
|
677
|
+
}
|
|
678
|
+
result.conflicts++;
|
|
679
|
+
result.details.push({
|
|
680
|
+
entityId,
|
|
681
|
+
action: 'conflict',
|
|
682
|
+
message: 'Both local and remote changed'
|
|
683
|
+
});
|
|
684
|
+
markConflict(syncState, stateKey, localHash, remoteHash);
|
|
685
|
+
continue;
|
|
686
|
+
}
|
|
462
687
|
if (localItem && !remoteItem) {
|
|
463
688
|
if (localDeleted) {
|
|
464
689
|
result.skipped++;
|
|
@@ -508,35 +733,6 @@ export class SyncBridge {
|
|
|
508
733
|
if (!localItem || !remoteItem || !localHash || !remoteHash) {
|
|
509
734
|
continue;
|
|
510
735
|
}
|
|
511
|
-
if (localDeleted !== remoteDeleted) {
|
|
512
|
-
if (localDeleted) {
|
|
513
|
-
if (pushAllowed) {
|
|
514
|
-
await deleteRemote(entityId, localItem, localHash);
|
|
515
|
-
}
|
|
516
|
-
else {
|
|
517
|
-
result.skipped++;
|
|
518
|
-
result.details.push({
|
|
519
|
-
entityId,
|
|
520
|
-
action: 'skipped',
|
|
521
|
-
message: 'Local tombstone pending remote delete'
|
|
522
|
-
});
|
|
523
|
-
markLocalAhead(syncState, stateKey, localHash);
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
else if (pullAllowed) {
|
|
527
|
-
pullRemote(entityId, remoteItem, remoteHash);
|
|
528
|
-
}
|
|
529
|
-
else {
|
|
530
|
-
result.skipped++;
|
|
531
|
-
result.details.push({
|
|
532
|
-
entityId,
|
|
533
|
-
action: 'skipped',
|
|
534
|
-
message: 'Remote tombstone pending local pull'
|
|
535
|
-
});
|
|
536
|
-
markRemoteAhead(syncState, stateKey, remoteHash);
|
|
537
|
-
}
|
|
538
|
-
continue;
|
|
539
|
-
}
|
|
540
736
|
const localChanged = force || localHash !== prev.localHash;
|
|
541
737
|
const remoteChanged = force || remoteHash !== prev.remoteHash;
|
|
542
738
|
if (pushAllowed && pullAllowed) {
|
|
@@ -550,6 +746,22 @@ export class SyncBridge {
|
|
|
550
746
|
}
|
|
551
747
|
}
|
|
552
748
|
if (pushAllowed && !pullAllowed) {
|
|
749
|
+
if (localChanged && remoteChanged) {
|
|
750
|
+
const conflictAction = this.resolveConflictAction(localItem, remoteItem, direction);
|
|
751
|
+
if (conflictAction === 'push') {
|
|
752
|
+
await pushLocal(entityId, localItem, localHash);
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
result.conflicts++;
|
|
756
|
+
result.details.push({
|
|
757
|
+
entityId,
|
|
758
|
+
action: 'conflict',
|
|
759
|
+
message: 'Remote record wins; pull before pushing'
|
|
760
|
+
});
|
|
761
|
+
markConflict(syncState, stateKey, localHash, remoteHash);
|
|
762
|
+
}
|
|
763
|
+
continue;
|
|
764
|
+
}
|
|
553
765
|
if (localChanged) {
|
|
554
766
|
await pushLocal(entityId, localItem, localHash);
|
|
555
767
|
}
|
|
@@ -565,6 +777,22 @@ export class SyncBridge {
|
|
|
565
777
|
continue;
|
|
566
778
|
}
|
|
567
779
|
if (pullAllowed && !pushAllowed) {
|
|
780
|
+
if (localChanged && remoteChanged) {
|
|
781
|
+
const conflictAction = this.resolveConflictAction(localItem, remoteItem, direction);
|
|
782
|
+
if (conflictAction === 'pull') {
|
|
783
|
+
pullRemote(entityId, remoteItem, remoteHash);
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
result.conflicts++;
|
|
787
|
+
result.details.push({
|
|
788
|
+
entityId,
|
|
789
|
+
action: 'conflict',
|
|
790
|
+
message: 'Local record wins; push before pulling'
|
|
791
|
+
});
|
|
792
|
+
markConflict(syncState, stateKey, localHash, remoteHash);
|
|
793
|
+
}
|
|
794
|
+
continue;
|
|
795
|
+
}
|
|
568
796
|
if (remoteChanged) {
|
|
569
797
|
pullRemote(entityId, remoteItem, remoteHash);
|
|
570
798
|
}
|
|
@@ -600,16 +828,19 @@ export class SyncBridge {
|
|
|
600
828
|
await this.persistPulledItems(pulledItems, localItems, idField);
|
|
601
829
|
}
|
|
602
830
|
if (!dryRun) {
|
|
603
|
-
await saveSyncState(syncState);
|
|
831
|
+
await saveSyncState(syncState, this.runtime);
|
|
604
832
|
}
|
|
605
833
|
}
|
|
606
834
|
catch (error) {
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
835
|
+
const failure = CaughtFailureSchema.parse(error);
|
|
836
|
+
return {
|
|
837
|
+
...result,
|
|
838
|
+
errors: result.errors + 1,
|
|
839
|
+
details: [
|
|
840
|
+
...result.details,
|
|
841
|
+
{ entityId: '*', action: 'error', message: syncFailureText('Bridge sync failed:', failure), failure: valueFreeFailure(failure) }
|
|
842
|
+
]
|
|
843
|
+
};
|
|
613
844
|
}
|
|
614
845
|
return result;
|
|
615
846
|
}
|